From 6bae6a39dfb85e5b9e862f424c0b06d2d76b2a6e Mon Sep 17 00:00:00 2001 From: Tobias Johansson Date: Wed, 20 Mar 2019 15:14:50 +0100 Subject: [PATCH] Mark pillar table rows as corrupt if init fails --- .../common/vuecomponents/table/rows/RowObjectBase.js | 12 ++++++++++-- .../common/vuecomponents/table/rows/renderer/Row.js | 4 +--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/scripts/js/es6/common/vuecomponents/table/rows/RowObjectBase.js b/src/scripts/js/es6/common/vuecomponents/table/rows/RowObjectBase.js index 02394e43..e1e12ad7 100644 --- a/src/scripts/js/es6/common/vuecomponents/table/rows/RowObjectBase.js +++ b/src/scripts/js/es6/common/vuecomponents/table/rows/RowObjectBase.js @@ -5,6 +5,7 @@ class RowBase { constructor(underlyingObject) { this.underlyingObject = underlyingObject; this.isInitialized = false; + this.isCorrupt = false; this.isSelected = false; } @@ -14,7 +15,12 @@ class RowBase { thenInit() { return this._thenInitImpl() .then(() => { - this.isInitialized = true + this.isInitialized = true; + }) + .catch((err) => { + console.warn(err); + this.isCorrupt = true; + throw err; }) } @@ -42,7 +48,9 @@ class RowBase { */ getRowClasses() { return { - "is-busy": !this.isInitialized + "active": this.isSelected, + "is-busy": !this.isInitialized, + "is-corrupt": this.isCorrupt } } diff --git a/src/scripts/js/es6/common/vuecomponents/table/rows/renderer/Row.js b/src/scripts/js/es6/common/vuecomponents/table/rows/renderer/Row.js index 7f2e0e31..660fd745 100644 --- a/src/scripts/js/es6/common/vuecomponents/table/rows/renderer/Row.js +++ b/src/scripts/js/es6/common/vuecomponents/table/rows/renderer/Row.js @@ -26,9 +26,7 @@ Vue.component('pillar-table-row', { }, computed: { rowClasses() { - let classes = this.rowObject.getRowClasses() - classes['active'] = this.rowObject.isSelected; - return classes; + return this.rowObject.getRowClasses(); } }, });