This is an automated email from the ASF dual-hosted git repository. kbhatt pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/atlas.git
commit 003bdb5e9bfbddd5f2021b5d8bdafe824d9e730e Author: kevalbhatt <[email protected]> AuthorDate: Wed Apr 1 14:51:55 2020 +0530 ATLAS-3706 : UI: Audit change for Business metadata/labels/user-define property (cherry picked from commit 95923fba04e99c9bcf4af70fe8faf834c802fdf9) --- .../audit/CreateAuditTableLayoutView_tmpl.html | 2 +- dashboardv2/public/js/utils/Enums.js | 6 +- .../js/views/audit/CreateAuditTableLayoutView.js | 138 ++++++++++---------- .../js/views/detail_page/DetailPageLayoutView.js | 6 + .../js/views/entity/EntityLabelDefineView.js | 5 +- .../public/js/views/entity/EntityUserDefineView.js | 5 +- dashboardv3/public/css/scss/table.scss | 1 + .../audit/CreateAuditTableLayoutView_tmpl.html | 2 +- dashboardv3/public/js/utils/Enums.js | 4 +- .../js/views/audit/CreateAuditTableLayoutView.js | 139 +++++++++++---------- .../js/views/detail_page/DetailPageLayoutView.js | 6 + .../js/views/entity/EntityLabelDefineView.js | 5 +- .../public/js/views/entity/EntityUserDefineView.js | 5 +- 13 files changed, 188 insertions(+), 136 deletions(-) diff --git a/dashboardv2/public/js/templates/audit/CreateAuditTableLayoutView_tmpl.html b/dashboardv2/public/js/templates/audit/CreateAuditTableLayoutView_tmpl.html index 1934339..c496f21 100644 --- a/dashboardv2/public/js/templates/audit/CreateAuditTableLayoutView_tmpl.html +++ b/dashboardv2/public/js/templates/audit/CreateAuditTableLayoutView_tmpl.html @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<h4 style="word-break: break-word;">Name: <span data-id="name"></span></h4> +<h4 style="word-break: break-word;" data-id="name"></h4> <div class="panel-group server-stats-container statsContainer " id="accordion"> <div class="panel panel-default custom-panel expand_collapse_panel-icon hide" data-id="detailsAttribute"> <div class="panel-heading" data-toggle="collapse" href="#detailAttributeTableCollapse" aria-expanded="true"> diff --git a/dashboardv2/public/js/utils/Enums.js b/dashboardv2/public/js/utils/Enums.js index e5cba08..e2d8cd2 100644 --- a/dashboardv2/public/js/utils/Enums.js +++ b/dashboardv2/public/js/utils/Enums.js @@ -38,7 +38,9 @@ define(['require'], function(require) { TERM_DELETE: "Term Deleted", LABEL_ADD: "Label(s) Added", LABEL_DELETE: "Label(s) Deleted", - ENTITY_PURGE: "Entity Purged" + ENTITY_PURGE: "Entity Purged", + BUSINESS_ATTRIBUTE_ADD: "Business Attribute(s) Added", + BUSINESS_ATTRIBUTE_DELETE: "Business Attribute(s) Deleted" } Enums.entityStateReadOnly = { @@ -212,4 +214,4 @@ define(['require'], function(require) { 1: "true" }; return Enums; -}); +}); \ No newline at end of file diff --git a/dashboardv2/public/js/views/audit/CreateAuditTableLayoutView.js b/dashboardv2/public/js/views/audit/CreateAuditTableLayoutView.js index 43fb114..a820616 100644 --- a/dashboardv2/public/js/views/audit/CreateAuditTableLayoutView.js +++ b/dashboardv2/public/js/views/audit/CreateAuditTableLayoutView.js @@ -82,7 +82,7 @@ define(['require', }, updateName: function(name) { - this.ui.name.text(name); + this.ui.name.html("<span>Name: </span><span>" + name + "</span>"); }, noDetailsShow: function() { this.ui.noData.removeClass('hide'); @@ -91,73 +91,85 @@ define(['require', var that = this, table = ""; var detailObj = this.entityModel.get('details'); - if (detailObj && detailObj.search(':') >= 0) { - var parseDetailsObject = detailObj.split(':'); - if (parseDetailsObject.length > 1) { - parseDetailsObject.shift(); - var auditData = parseDetailsObject.join(":"); - } - try { - parseDetailsObject = JSON.parse(auditData); - var skipAttribute = parseDetailsObject.typeName ? "guid" : null, - name = Utils.getName(parseDetailsObject, null, skipAttribute); - if (name == "-") { - name = _.escape(parseDetailsObject.typeName); + if (detailObj) { + if (detailObj.search(':') >= 0) { + var parseDetailsObject = detailObj.split(':'), + type = "", + auditData = ""; + if (parseDetailsObject.length > 1) { + type = parseDetailsObject[0]; + parseDetailsObject.shift(); + auditData = parseDetailsObject.join(":"); } - var name = ((name ? name : this.entityName)); - that.updateName(name); - if (parseDetailsObject) { - var attributesDetails = parseDetailsObject.attributes, - customAttr = parseDetailsObject.customAttributes, - labelsDetails = parseDetailsObject.labels, - relationshipAttributes = parseDetailsObject.relationshipAttributes; - if (attributesDetails) { - that.ui.attributeDetails.removeClass('hide'); - that.action.indexOf("Classification") === -1 ? that.ui.panelAttrHeading.html("Technical properties ") : that.ui.panelAttrHeading.html("Properties "); - var attrTable = that.createTableWithValues(attributesDetails); - that.ui.attributeCard.html( - attrTable); - } - if (!_.isEmpty(customAttr)) { - that.ui.customAttributeDetails.removeClass('hide'); - var customAttrTable = that.createTableWithValues(customAttr); - that.ui.customAttrCard.html( - customAttrTable); - } - if (!_.isEmpty(labelsDetails)) { - this.ui.labelsDetailsTable.removeClass('hide'); - var labelsTable = ''; - _.each(labelsDetails, function(value, key, list) { - labelsTable += "<label class='label badge-default'>" + value + "</label>"; - }); - that.ui.labelCard.html( - labelsTable); - } - if (!_.isEmpty(relationshipAttributes)) { - that.ui.relationShipAttributeDetails.removeClass('hide'); - var relationshipAttrTable = that.createTableWithValues(relationshipAttributes); - that.ui.relationshipAttrCard.html( - relationshipAttrTable); - } - if (!attributesDetails && !customAttr && !labelsDetails && !relationshipAttributes) { - that.ui.detailsAttribute.removeClass('hide'); - var attrDetailTable = that.createTableWithValues(parseDetailsObject); - that.ui.attributeDetailCard.html( - attrDetailTable); + if (auditData.search('{') === -1) { + if (type.trim() === "Added labels" || type.trim() === "Deleted labels") { + this.updateName(auditData.trim().split(" ").join(",")); + } else { + this.updateName(auditData); } } else { - that.noDetailsShow(); - } - } catch (err) { - if (_.isArray(parseDetailsObject)) { - var name = _.escape(parseDetailsObject[0]); + try { + parseDetailsObject = JSON.parse(auditData); + var skipAttribute = parseDetailsObject.typeName ? "guid" : null, + name = Utils.getName(parseDetailsObject, null, skipAttribute); + if (name == "-") { + name = _.escape(parseDetailsObject.typeName); + } + var name = ((name ? name : this.entityName)); + that.updateName(name); + if (parseDetailsObject) { + var attributesDetails = parseDetailsObject.attributes, + customAttr = parseDetailsObject.customAttributes, + labelsDetails = parseDetailsObject.labels, + relationshipAttributes = parseDetailsObject.relationshipAttributes; + if (attributesDetails) { + that.ui.attributeDetails.removeClass('hide'); + that.action.indexOf("Classification") === -1 ? that.ui.panelAttrHeading.html("Technical properties ") : that.ui.panelAttrHeading.html("Properties "); + var attrTable = that.createTableWithValues(attributesDetails); + that.ui.attributeCard.html( + attrTable); + } + if (!_.isEmpty(customAttr)) { + that.ui.customAttributeDetails.removeClass('hide'); + var customAttrTable = that.createTableWithValues(customAttr); + that.ui.customAttrCard.html( + customAttrTable); + } + if (!_.isEmpty(labelsDetails)) { + this.ui.labelsDetailsTable.removeClass('hide'); + var labelsTable = ''; + _.each(labelsDetails, function(value, key, list) { + labelsTable += "<label class='label badge-default'>" + value + "</label>"; + }); + that.ui.labelCard.html( + labelsTable); + } + if (!_.isEmpty(relationshipAttributes)) { + that.ui.relationShipAttributeDetails.removeClass('hide'); + var relationshipAttrTable = that.createTableWithValues(relationshipAttributes); + that.ui.relationshipAttrCard.html( + relationshipAttrTable); + } + if (!attributesDetails && !customAttr && !labelsDetails && !relationshipAttributes) { + that.ui.detailsAttribute.removeClass('hide'); + var attrDetailTable = that.createTableWithValues(parseDetailsObject); + that.ui.attributeDetailCard.html( + attrDetailTable); + } + } else { + that.noDetailsShow(); + } + } catch (err) { + if (_.isArray(parseDetailsObject)) { + var name = _.escape(parseDetailsObject[0]); + } + that.updateName(name); + that.noDetailsShow(); + } } - that.updateName(name); - that.noDetailsShow(); + } else if (detailObj == "Deleted entity" || detailObj == "Purged entity") { + this.entityName ? this.updateName(this.entityName) : (this.ui.name.hide() && this.ui.noData.removeClass("hide")); } - - } else if (detailObj == "Deleted entity") { - that.updateName(this.entityName); } } }); diff --git a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js index eca3b55..ccb8fad 100644 --- a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js +++ b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js @@ -170,6 +170,9 @@ define(['require', if (collectionJSON) { this.name = Utils.getName(collectionJSON); if (collectionJSON.attributes) { + if (collectionJSON.typeName) { + collectionJSON.attributes.typeName = _.escape(collectionJSON.typeName); + } if (this.name && collectionJSON.typeName) { this.name = this.name + ' (' + _.escape(collectionJSON.typeName) + ')'; } @@ -244,6 +247,9 @@ define(['require', })(), editEntity: this.editEntity || false } + obj["renderAuditTableLayoutView"] = function() { + that.renderAuditTableLayoutView(obj); + }; this.renderEntityDetailTableLayoutView(obj); this.renderEntityUserDefineView(obj); this.renderEntityLabelDefineView(obj); diff --git a/dashboardv2/public/js/views/entity/EntityLabelDefineView.js b/dashboardv2/public/js/views/entity/EntityLabelDefineView.js index b4f4a51..678a039 100644 --- a/dashboardv2/public/js/views/entity/EntityLabelDefineView.js +++ b/dashboardv2/public/js/views/entity/EntityLabelDefineView.js @@ -55,7 +55,7 @@ define(['require', }, initialize: function(options) { var self = this; - _.extend(this, _.pick(options, 'entity', 'customFilter')); + _.extend(this, _.pick(options, 'entity', 'customFilter', 'renderAuditTableLayoutView')); this.swapItem = false, this.saveLabels = false; this.readOnlyEntity = this.customFilter === undefined ? Enums.entityStateReadOnly[this.entity.status] : this.customFilter; this.entityModel = new VEntity(this.entity); @@ -164,6 +164,9 @@ define(['require', that.swapItem = false; that.saveLabels = false; that.render(); + if (that.renderAuditTableLayoutView) { + that.renderAuditTableLayoutView(); + } }, error: function(e) { that.ui.saveLabels && that.ui.saveLabels.length > 0 && that.ui.saveLabels[0].setAttribute("disabled", false); diff --git a/dashboardv2/public/js/views/entity/EntityUserDefineView.js b/dashboardv2/public/js/views/entity/EntityUserDefineView.js index 1cb0d8c..38d32c2 100644 --- a/dashboardv2/public/js/views/entity/EntityUserDefineView.js +++ b/dashboardv2/public/js/views/entity/EntityUserDefineView.js @@ -53,7 +53,7 @@ define(['require', return events; }, initialize: function(options) { - _.extend(this, _.pick(options, 'entity', 'customFilter')); + _.extend(this, _.pick(options, 'entity', 'customFilter', 'renderAuditTableLayoutView')); this.userDefineAttr = this.entity && this.entity.customAttributes || []; this.initialCall = false; this.swapItem = false, this.saveAttrItems = false; @@ -136,6 +136,9 @@ define(['require', that.swapItem = false; that.saveAttrItems = false; that.render(); + if (that.renderAuditTableLayoutView) { + that.renderAuditTableLayoutView(); + } }, error: function(e) { that.initialCall = false; diff --git a/dashboardv3/public/css/scss/table.scss b/dashboardv3/public/css/scss/table.scss index 5f49be2..a294102 100644 --- a/dashboardv3/public/css/scss/table.scss +++ b/dashboardv3/public/css/scss/table.scss @@ -254,6 +254,7 @@ td { .auditStatusContainer { display: flex; + flex-wrap: wrap; justify-content: center; } diff --git a/dashboardv3/public/js/templates/audit/CreateAuditTableLayoutView_tmpl.html b/dashboardv3/public/js/templates/audit/CreateAuditTableLayoutView_tmpl.html index 10cc697..3cdbc7f 100644 --- a/dashboardv3/public/js/templates/audit/CreateAuditTableLayoutView_tmpl.html +++ b/dashboardv3/public/js/templates/audit/CreateAuditTableLayoutView_tmpl.html @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<h4 class="entity-name" style="word-break: break-word;" data-id="nameContainer">Name: <span data-id="name"></span></h4> +<h4 style="word-break: break-word;" data-id="name"></h4> <div class="panel-group server-stats-container auditStatusContainer clearfix" id="accordion"> <div class="panel panel-default custom-panel expand_collapse_panel-icon hide col-sm-5" data-id="detailsAttribute"> <div class="panel-heading" data-toggle="collapse" href="#detailAttributeTableCollapse" aria-expanded="true"> diff --git a/dashboardv3/public/js/utils/Enums.js b/dashboardv3/public/js/utils/Enums.js index ef93b77..e2d8cd2 100644 --- a/dashboardv3/public/js/utils/Enums.js +++ b/dashboardv3/public/js/utils/Enums.js @@ -38,7 +38,9 @@ define(['require'], function(require) { TERM_DELETE: "Term Deleted", LABEL_ADD: "Label(s) Added", LABEL_DELETE: "Label(s) Deleted", - ENTITY_PURGE: "Entity Purged" + ENTITY_PURGE: "Entity Purged", + BUSINESS_ATTRIBUTE_ADD: "Business Attribute(s) Added", + BUSINESS_ATTRIBUTE_DELETE: "Business Attribute(s) Deleted" } Enums.entityStateReadOnly = { diff --git a/dashboardv3/public/js/views/audit/CreateAuditTableLayoutView.js b/dashboardv3/public/js/views/audit/CreateAuditTableLayoutView.js index f7db536..a820616 100644 --- a/dashboardv3/public/js/views/audit/CreateAuditTableLayoutView.js +++ b/dashboardv3/public/js/views/audit/CreateAuditTableLayoutView.js @@ -39,7 +39,6 @@ define(['require', ui: { auditValue: "[data-id='auditValue']", name: "[data-id='name']", - nameContainer: "[data-id='nameContainer']", noData: "[data-id='noData']", tableAudit: "[data-id='tableAudit']", auditHeaderValue: "[data-id='auditHeaderValue']", @@ -83,7 +82,7 @@ define(['require', }, updateName: function(name) { - this.ui.name.text(name); + this.ui.name.html("<span>Name: </span><span>" + name + "</span>"); }, noDetailsShow: function() { this.ui.noData.removeClass('hide'); @@ -92,73 +91,85 @@ define(['require', var that = this, table = ""; var detailObj = this.entityModel.get('details'); - if (detailObj && detailObj.search(':') >= 0) { - var parseDetailsObject = detailObj.split(':'); - if (parseDetailsObject.length > 1) { - parseDetailsObject.shift(); - var auditData = parseDetailsObject.join(":"); - } - try { - parseDetailsObject = JSON.parse(auditData); - var skipAttribute = parseDetailsObject.typeName ? "guid" : null, - name = Utils.getName(parseDetailsObject, null, skipAttribute); - if (name == "-") { - name = _.escape(parseDetailsObject.typeName); + if (detailObj) { + if (detailObj.search(':') >= 0) { + var parseDetailsObject = detailObj.split(':'), + type = "", + auditData = ""; + if (parseDetailsObject.length > 1) { + type = parseDetailsObject[0]; + parseDetailsObject.shift(); + auditData = parseDetailsObject.join(":"); } - var name = ((name ? name : this.entityName)); - that.updateName(name); - if (parseDetailsObject) { - var attributesDetails = parseDetailsObject.attributes, - customAttr = parseDetailsObject.customAttributes, - labelsDetails = parseDetailsObject.labels, - relationshipAttributes = parseDetailsObject.relationshipAttributes; - if (attributesDetails) { - that.ui.attributeDetails.removeClass('hide'); - that.action.indexOf("Classification") === -1 ? that.ui.panelAttrHeading.html("Technical properties ") : that.ui.panelAttrHeading.html("Properties "); - var attrTable = that.createTableWithValues(attributesDetails); - that.ui.attributeCard.html( - attrTable); - } - if (!_.isEmpty(customAttr)) { - that.ui.customAttributeDetails.removeClass('hide'); - var customAttrTable = that.createTableWithValues(customAttr); - that.ui.customAttrCard.html( - customAttrTable); - } - if (!_.isEmpty(labelsDetails)) { - this.ui.labelsDetailsTable.removeClass('hide'); - var labelsTable = ''; - _.each(labelsDetails, function(value, key, list) { - labelsTable += "<label class='label badge-default'>" + value + "</label>"; - }); - that.ui.labelCard.html( - labelsTable); - } - if (!_.isEmpty(relationshipAttributes)) { - that.ui.relationShipAttributeDetails.removeClass('hide'); - var relationshipAttrTable = that.createTableWithValues(relationshipAttributes); - that.ui.relationshipAttrCard.html( - relationshipAttrTable); - } - if (!attributesDetails && !customAttr && !labelsDetails && !relationshipAttributes) { - that.ui.detailsAttribute.removeClass('hide'); - var attrDetailTable = that.createTableWithValues(parseDetailsObject); - that.ui.attributeDetailCard.html( - attrDetailTable); + if (auditData.search('{') === -1) { + if (type.trim() === "Added labels" || type.trim() === "Deleted labels") { + this.updateName(auditData.trim().split(" ").join(",")); + } else { + this.updateName(auditData); } } else { - that.noDetailsShow(); - } - } catch (err) { - if (_.isArray(parseDetailsObject)) { - var name = _.escape(parseDetailsObject[0]); + try { + parseDetailsObject = JSON.parse(auditData); + var skipAttribute = parseDetailsObject.typeName ? "guid" : null, + name = Utils.getName(parseDetailsObject, null, skipAttribute); + if (name == "-") { + name = _.escape(parseDetailsObject.typeName); + } + var name = ((name ? name : this.entityName)); + that.updateName(name); + if (parseDetailsObject) { + var attributesDetails = parseDetailsObject.attributes, + customAttr = parseDetailsObject.customAttributes, + labelsDetails = parseDetailsObject.labels, + relationshipAttributes = parseDetailsObject.relationshipAttributes; + if (attributesDetails) { + that.ui.attributeDetails.removeClass('hide'); + that.action.indexOf("Classification") === -1 ? that.ui.panelAttrHeading.html("Technical properties ") : that.ui.panelAttrHeading.html("Properties "); + var attrTable = that.createTableWithValues(attributesDetails); + that.ui.attributeCard.html( + attrTable); + } + if (!_.isEmpty(customAttr)) { + that.ui.customAttributeDetails.removeClass('hide'); + var customAttrTable = that.createTableWithValues(customAttr); + that.ui.customAttrCard.html( + customAttrTable); + } + if (!_.isEmpty(labelsDetails)) { + this.ui.labelsDetailsTable.removeClass('hide'); + var labelsTable = ''; + _.each(labelsDetails, function(value, key, list) { + labelsTable += "<label class='label badge-default'>" + value + "</label>"; + }); + that.ui.labelCard.html( + labelsTable); + } + if (!_.isEmpty(relationshipAttributes)) { + that.ui.relationShipAttributeDetails.removeClass('hide'); + var relationshipAttrTable = that.createTableWithValues(relationshipAttributes); + that.ui.relationshipAttrCard.html( + relationshipAttrTable); + } + if (!attributesDetails && !customAttr && !labelsDetails && !relationshipAttributes) { + that.ui.detailsAttribute.removeClass('hide'); + var attrDetailTable = that.createTableWithValues(parseDetailsObject); + that.ui.attributeDetailCard.html( + attrDetailTable); + } + } else { + that.noDetailsShow(); + } + } catch (err) { + if (_.isArray(parseDetailsObject)) { + var name = _.escape(parseDetailsObject[0]); + } + that.updateName(name); + that.noDetailsShow(); + } } - that.updateName(name); - that.noDetailsShow(); + } else if (detailObj == "Deleted entity" || detailObj == "Purged entity") { + this.entityName ? this.updateName(this.entityName) : (this.ui.name.hide() && this.ui.noData.removeClass("hide")); } - - } else if (detailObj == "Deleted entity" || detailObj == "Purged entity") { - this.entityName ? that.updateName(this.entityName) : this.ui.nameContainer.empty().append("<h4 class='text-center'><i>No Records Found!</i></h4>"); } } }); diff --git a/dashboardv3/public/js/views/detail_page/DetailPageLayoutView.js b/dashboardv3/public/js/views/detail_page/DetailPageLayoutView.js index 37bfc0e..9863962 100644 --- a/dashboardv3/public/js/views/detail_page/DetailPageLayoutView.js +++ b/dashboardv3/public/js/views/detail_page/DetailPageLayoutView.js @@ -176,6 +176,9 @@ define(['require', if (collectionJSON) { this.name = Utils.getName(collectionJSON); if (collectionJSON.attributes) { + if (collectionJSON.typeName) { + collectionJSON.attributes.typeName = _.escape(collectionJSON.typeName); + } if (this.name && collectionJSON.typeName) { this.name = this.name + ' (' + _.escape(collectionJSON.typeName) + ')'; } @@ -252,6 +255,9 @@ define(['require', })(), editEntity: this.editEntity || false } + obj["renderAuditTableLayoutView"] = function() { + that.renderAuditTableLayoutView(obj); + }; this.renderEntityDetailTableLayoutView(obj); this.renderEntityUserDefineView(obj); this.renderEntityLabelDefineView(obj); diff --git a/dashboardv3/public/js/views/entity/EntityLabelDefineView.js b/dashboardv3/public/js/views/entity/EntityLabelDefineView.js index 19c3e7e..a3e864d 100644 --- a/dashboardv3/public/js/views/entity/EntityLabelDefineView.js +++ b/dashboardv3/public/js/views/entity/EntityLabelDefineView.js @@ -55,7 +55,7 @@ define(['require', }, initialize: function(options) { var self = this; - _.extend(this, _.pick(options, 'entity', 'customFilter')); + _.extend(this, _.pick(options, 'entity', 'customFilter', 'renderAuditTableLayoutView')); this.swapItem = false, this.saveLabels = false; this.readOnlyEntity = this.customFilter === undefined ? Enums.entityStateReadOnly[this.entity.status] : this.customFilter; this.entityModel = new VEntity(this.entity); @@ -164,6 +164,9 @@ define(['require', that.swapItem = false; that.saveLabels = false; that.render(); + if (that.renderAuditTableLayoutView) { + that.renderAuditTableLayoutView(); + } }, error: function(e) { that.ui.saveLabels.attr("disabled", false); diff --git a/dashboardv3/public/js/views/entity/EntityUserDefineView.js b/dashboardv3/public/js/views/entity/EntityUserDefineView.js index 1cb0d8c..38d32c2 100644 --- a/dashboardv3/public/js/views/entity/EntityUserDefineView.js +++ b/dashboardv3/public/js/views/entity/EntityUserDefineView.js @@ -53,7 +53,7 @@ define(['require', return events; }, initialize: function(options) { - _.extend(this, _.pick(options, 'entity', 'customFilter')); + _.extend(this, _.pick(options, 'entity', 'customFilter', 'renderAuditTableLayoutView')); this.userDefineAttr = this.entity && this.entity.customAttributes || []; this.initialCall = false; this.swapItem = false, this.saveAttrItems = false; @@ -136,6 +136,9 @@ define(['require', that.swapItem = false; that.saveAttrItems = false; that.render(); + if (that.renderAuditTableLayoutView) { + that.renderAuditTableLayoutView(); + } }, error: function(e) { that.initialCall = false;
