This is an automated email from the ASF dual-hosted git repository. nbonte pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/atlas.git
commit 122be98b6f2348951e860aead8d7e0bf1b88de79 Author: prasad pawar <[email protected]> AuthorDate: Tue Mar 9 09:58:59 2021 +0530 ATLAS-4178:UI:V1 Save and Cancel buttons do not disappear after closing their respective sections in Entity Details page fixed. Signed-off-by: Nikhil Bonte <[email protected]> --- .../entity/EntityBusinessMetaDataView_tmpl.html | 4 ++-- .../entity/EntityLabelDefineView_tmpl.html | 6 +++--- .../templates/entity/EntityUserDefineView_tmpl.html | 6 +++--- .../js/views/entity/EntityBusinessMetaDataView.js | 21 ++++++++++++++++++++- .../public/js/views/entity/EntityLabelDefineView.js | 17 ++++++++++++++++- .../public/js/views/entity/EntityUserDefineView.js | 17 ++++++++++++++++- .../entity/EntityBusinessMetaDataView_tmpl.html | 4 ++-- .../entity/EntityLabelDefineView_tmpl.html | 6 +++--- .../templates/entity/EntityUserDefineView_tmpl.html | 6 +++--- .../js/views/entity/EntityBusinessMetaDataView.js | 21 ++++++++++++++++++++- .../public/js/views/entity/EntityLabelDefineView.js | 17 ++++++++++++++++- .../public/js/views/entity/EntityUserDefineView.js | 17 ++++++++++++++++- 12 files changed, 120 insertions(+), 22 deletions(-) diff --git a/dashboardv2/public/js/templates/entity/EntityBusinessMetaDataView_tmpl.html b/dashboardv2/public/js/templates/entity/EntityBusinessMetaDataView_tmpl.html index 1d0ccb0..4904c28 100644 --- a/dashboardv2/public/js/templates/entity/EntityBusinessMetaDataView_tmpl.html +++ b/dashboardv2/public/js/templates/entity/EntityBusinessMetaDataView_tmpl.html @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<div class="panel panel-default custom-panel expand_collapse_panel-icon"> +<div class="panel panel-default custom-panel expand_collapse_panel-icon businessMetaDataPanel" style="position:relative;"> <div class="panel-heading main-parent collapsed" data-toggle="collapse" href="#businessMetadataCollapse" aria-expanded="false" style="width: 70%;"> <h4 class="panel-title"> <a>Business Metadata</a> @@ -24,7 +24,7 @@ </div> </div> {{#ifCond readOnlyEntity "===" false}} - <div class="panel-actions"> + <div class="panel-actions detailpage-panel-button"> <button class="btn btn-action btn-sm" data-id="addBusinessMetadata">Add</button> <button class="btn btn-action btn-sm" style="display: none;" data-id="saveBusinessMetadata">Save</button> <button class="btn btn-action btn-sm" style="display: none;" data-id="cancel">Cancel</button> diff --git a/dashboardv2/public/js/templates/entity/EntityLabelDefineView_tmpl.html b/dashboardv2/public/js/templates/entity/EntityLabelDefineView_tmpl.html index a6fe8e0..0b54481 100644 --- a/dashboardv2/public/js/templates/entity/EntityLabelDefineView_tmpl.html +++ b/dashboardv2/public/js/templates/entity/EntityLabelDefineView_tmpl.html @@ -15,9 +15,9 @@ * limitations under the License. --> <div class="panel-group" id="accordion"> - <div class="panel panel-default custom-panel expand_collapse_panel-icon" data-id="userDefineLabel"> + <div class="panel panel-default custom-panel expand_collapse_panel-icon labelsPanel" data-id="userDefineLabel" style="position:relative;"> {{#ifCond labels.length "===" 0}} - <div class="panel-heading collapsed" data-toggle="collapse" href={{div_1.anchor}} {{#ifCond swapItem "===" true}} aria-expanded="true" {{else}} aria-expanded="false" {{/ifCond}} style="width: 70%"> + <div class="panel-heading" data-toggle="collapse" href={{div_1.anchor}} {{#ifCond swapItem "===" true}} aria-expanded="true" {{else}} aria-expanded="false" {{/ifCond}} style="width: 70%"> <h4 class="panel-title"> <a>Labels </a> </h4> @@ -36,7 +36,7 @@ </div> {{/ifCond}} {{#ifCond readOnlyEntity "===" false}} - <div class="panel-actions"> + <div class="panel-actions detailpage-panel-button"> {{#ifCond swapItem "!==" true}} <button class="btn btn-action btn-sm" data-id="addLabels"> {{#ifCond labels.length "===" 0}} Add {{else}} Edit {{/ifCond}} diff --git a/dashboardv2/public/js/templates/entity/EntityUserDefineView_tmpl.html b/dashboardv2/public/js/templates/entity/EntityUserDefineView_tmpl.html index d1a9128..c0fd384 100644 --- a/dashboardv2/public/js/templates/entity/EntityUserDefineView_tmpl.html +++ b/dashboardv2/public/js/templates/entity/EntityUserDefineView_tmpl.html @@ -15,9 +15,9 @@ * limitations under the License. --> <div class="panel-group" id="accordion"> - <div class="panel panel-default custom-panel expand_collapse_panel-icon" data-id="userDefine"> + <div class="panel panel-default custom-panel expand_collapse_panel-icon userDefinePanel" data-id="userDefine" style="position:relative;"> {{#ifCond customAttibutes.length "===" 0}} - <div class="panel-heading collapsed" data-toggle="collapse" href={{divId_1.anchor}} {{#ifCond swapItem "===" true}} aria-expanded="true" {{else}} aria-expanded="false" {{/ifCond}} style="width: 70%"> + <div class="panel-heading" data-toggle="collapse" href={{divId_1.anchor}} {{#ifCond swapItem "===" true}} aria-expanded="true" {{else}} aria-expanded="false" {{/ifCond}} style="width: 70%"> <h4 class="panel-title"> <a>User-defined properties </a> </h4> @@ -36,7 +36,7 @@ </div> {{/ifCond}} {{#ifCond readOnlyEntity "===" false}} - <div class="panel-actions"> + <div class="panel-actions detailpage-panel-button"> {{#ifCond swapItem "!==" true}} <button class="btn btn-action btn-sm" data-id="addAttr"> {{#ifCond customAttibutes.length "===" 0}} Add {{else}} Edit {{/ifCond}} diff --git a/dashboardv2/public/js/views/entity/EntityBusinessMetaDataView.js b/dashboardv2/public/js/views/entity/EntityBusinessMetaDataView.js index a61772f..3e61f3a 100644 --- a/dashboardv2/public/js/views/entity/EntityBusinessMetaDataView.js +++ b/dashboardv2/public/js/views/entity/EntityBusinessMetaDataView.js @@ -55,7 +55,8 @@ define([ addBusinessMetadata: "[data-id='addBusinessMetadata']", saveBusinessMetadata: "[data-id='saveBusinessMetadata']", businessMetadataTree: "[data-id='businessMetadataTree']", - cancel: "[data-id='cancel']" + cancel: "[data-id='cancel']", + businessMetadataHeader: ".businessMetaDataPanel .panel-heading.main-parent" }, events: function() { var events = {}; @@ -63,6 +64,7 @@ define([ events["click " + this.ui.addBusinessMetadata] = "onAddBusinessMetadata"; events["click " + this.ui.saveBusinessMetadata] = "onSaveBusinessMetadata"; events["click " + this.ui.cancel] = "onCancel"; + events["click " + this.ui.businessMetadataHeader] = "onHeaderClick"; return events; }, initialize: function(options) { @@ -89,6 +91,23 @@ define([ this.collection = new Backbone.Collection(); this.entityModel = new VEntity(); }, + onHeaderClick: function() { + var that = this; + $('.businessMetaDataPanel').on("hidden.bs.collapse", function(e) { + that.ui.cancel.hide(); + that.ui.saveBusinessMetadata.hide(); + that.ui.addBusinessMetadata.show(); + that.editMode = false; + that.ui.businessMetadataTree.show(); + that.$(".editBox").hide(); + that.updateToActualData(); + if (that.collection && that.collection.length === 0) { + that.ui.addBusinessMetadata.text("Add"); + } else { + that.ui.addBusinessMetadata.text("Edit"); + } + }); + }, updateToActualData: function(options) { var silent = options && options.silent || false; this.collection.reset($.extend(true, [], this.actualCollection.toJSON()), { silent: silent }); diff --git a/dashboardv2/public/js/views/entity/EntityLabelDefineView.js b/dashboardv2/public/js/views/entity/EntityLabelDefineView.js index 39b5775..4cb4891 100644 --- a/dashboardv2/public/js/views/entity/EntityLabelDefineView.js +++ b/dashboardv2/public/js/views/entity/EntityLabelDefineView.js @@ -45,7 +45,8 @@ define(['require', addLabelOptions: "[data-id='addLabelOptions']", addLabels: "[data-id='addLabels']", saveLabels: "[data-id='saveLabels']", - cancel: "[data-id='cancel']" + cancel: "[data-id='cancel']", + labelsHeader: ".labelsPanel .panel-heading" }, events: function() { var events = {}; @@ -53,6 +54,7 @@ define(['require', events["click " + this.ui.addLabels] = 'handleBtnClick'; events["click " + this.ui.saveLabels] = 'saveUserDefinedLabels'; events["click " + this.ui.cancel] = 'onCancelClick'; + events["click " + this.ui.labelsHeader] = 'onHeaderClick'; return events; }, initialize: function(options) { @@ -69,6 +71,19 @@ define(['require', this.populateLabelOptions(); }, bindEvents: function() {}, + onHeaderClick: function() { + var that = this; + $(".labelsPanel").on("hidden.bs.collapse", function() { + that.labels = that.entityModel.get("labels") || []; + that.swapItem = false; + that.saveLabels = false; + that.render(); + if (that.labels.length > 0) { + $('.labelsPanel').find(that.ui.labelsHeader.attr('href')).removeClass('in'); + that.ui.labelsHeader.addClass('collapsed').attr('aria-expanded', false); + } + }); + }, populateLabelOptions: function() { var that = this, str = this.labels.map(function(label) { diff --git a/dashboardv2/public/js/views/entity/EntityUserDefineView.js b/dashboardv2/public/js/views/entity/EntityUserDefineView.js index c76000b..311fbe5 100644 --- a/dashboardv2/public/js/views/entity/EntityUserDefineView.js +++ b/dashboardv2/public/js/views/entity/EntityUserDefineView.js @@ -44,7 +44,8 @@ define(['require', addAttr: "[data-id='addAttr']", saveAttrItems: "[data-id='saveAttrItems']", cancel: "[data-id='cancel']", - addItem: "[data-id='addItem']" + addItem: "[data-id='addItem']", + userDefineHeader: ".userDefinePanel .panel-heading" }, events: function() { var events = {}; @@ -52,6 +53,7 @@ define(['require', events["click " + this.ui.addItem] = 'onAddAttrClick'; events["click " + this.ui.saveAttrItems] = 'onEditAttrClick'; events["click " + this.ui.cancel] = 'onCancelClick'; + events["click " + this.ui.userDefineHeader] = 'onHeaderClick'; return events; }, initialize: function(options) { @@ -80,6 +82,19 @@ define(['require', }); this.renderEntityUserDefinedItems(); }, + onHeaderClick: function() { + var that = this; + $(".userDefinePanel").on("hidden.bs.collapse", function() { + that.swapItem = false; + that.saveAttrItems = false; + that.initialCall = false; + that.render(); + if (that.customAttibutes.length > 0) { + $('.userDefinePanel').find(that.ui.userDefineHeader.attr('href')).removeClass('in'); + that.ui.userDefineHeader.addClass('collapsed').attr('aria-expanded', false); + } + }); + }, onAddAttrClick: function() { this.swapItem = !this.swapItem; if (this.customFilter === undefined) { diff --git a/dashboardv3/public/js/templates/entity/EntityBusinessMetaDataView_tmpl.html b/dashboardv3/public/js/templates/entity/EntityBusinessMetaDataView_tmpl.html index 1d0ccb0..4904c28 100644 --- a/dashboardv3/public/js/templates/entity/EntityBusinessMetaDataView_tmpl.html +++ b/dashboardv3/public/js/templates/entity/EntityBusinessMetaDataView_tmpl.html @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. --> -<div class="panel panel-default custom-panel expand_collapse_panel-icon"> +<div class="panel panel-default custom-panel expand_collapse_panel-icon businessMetaDataPanel" style="position:relative;"> <div class="panel-heading main-parent collapsed" data-toggle="collapse" href="#businessMetadataCollapse" aria-expanded="false" style="width: 70%;"> <h4 class="panel-title"> <a>Business Metadata</a> @@ -24,7 +24,7 @@ </div> </div> {{#ifCond readOnlyEntity "===" false}} - <div class="panel-actions"> + <div class="panel-actions detailpage-panel-button"> <button class="btn btn-action btn-sm" data-id="addBusinessMetadata">Add</button> <button class="btn btn-action btn-sm" style="display: none;" data-id="saveBusinessMetadata">Save</button> <button class="btn btn-action btn-sm" style="display: none;" data-id="cancel">Cancel</button> diff --git a/dashboardv3/public/js/templates/entity/EntityLabelDefineView_tmpl.html b/dashboardv3/public/js/templates/entity/EntityLabelDefineView_tmpl.html index a6fe8e0..0b54481 100644 --- a/dashboardv3/public/js/templates/entity/EntityLabelDefineView_tmpl.html +++ b/dashboardv3/public/js/templates/entity/EntityLabelDefineView_tmpl.html @@ -15,9 +15,9 @@ * limitations under the License. --> <div class="panel-group" id="accordion"> - <div class="panel panel-default custom-panel expand_collapse_panel-icon" data-id="userDefineLabel"> + <div class="panel panel-default custom-panel expand_collapse_panel-icon labelsPanel" data-id="userDefineLabel" style="position:relative;"> {{#ifCond labels.length "===" 0}} - <div class="panel-heading collapsed" data-toggle="collapse" href={{div_1.anchor}} {{#ifCond swapItem "===" true}} aria-expanded="true" {{else}} aria-expanded="false" {{/ifCond}} style="width: 70%"> + <div class="panel-heading" data-toggle="collapse" href={{div_1.anchor}} {{#ifCond swapItem "===" true}} aria-expanded="true" {{else}} aria-expanded="false" {{/ifCond}} style="width: 70%"> <h4 class="panel-title"> <a>Labels </a> </h4> @@ -36,7 +36,7 @@ </div> {{/ifCond}} {{#ifCond readOnlyEntity "===" false}} - <div class="panel-actions"> + <div class="panel-actions detailpage-panel-button"> {{#ifCond swapItem "!==" true}} <button class="btn btn-action btn-sm" data-id="addLabels"> {{#ifCond labels.length "===" 0}} Add {{else}} Edit {{/ifCond}} diff --git a/dashboardv3/public/js/templates/entity/EntityUserDefineView_tmpl.html b/dashboardv3/public/js/templates/entity/EntityUserDefineView_tmpl.html index d1a9128..c0fd384 100644 --- a/dashboardv3/public/js/templates/entity/EntityUserDefineView_tmpl.html +++ b/dashboardv3/public/js/templates/entity/EntityUserDefineView_tmpl.html @@ -15,9 +15,9 @@ * limitations under the License. --> <div class="panel-group" id="accordion"> - <div class="panel panel-default custom-panel expand_collapse_panel-icon" data-id="userDefine"> + <div class="panel panel-default custom-panel expand_collapse_panel-icon userDefinePanel" data-id="userDefine" style="position:relative;"> {{#ifCond customAttibutes.length "===" 0}} - <div class="panel-heading collapsed" data-toggle="collapse" href={{divId_1.anchor}} {{#ifCond swapItem "===" true}} aria-expanded="true" {{else}} aria-expanded="false" {{/ifCond}} style="width: 70%"> + <div class="panel-heading" data-toggle="collapse" href={{divId_1.anchor}} {{#ifCond swapItem "===" true}} aria-expanded="true" {{else}} aria-expanded="false" {{/ifCond}} style="width: 70%"> <h4 class="panel-title"> <a>User-defined properties </a> </h4> @@ -36,7 +36,7 @@ </div> {{/ifCond}} {{#ifCond readOnlyEntity "===" false}} - <div class="panel-actions"> + <div class="panel-actions detailpage-panel-button"> {{#ifCond swapItem "!==" true}} <button class="btn btn-action btn-sm" data-id="addAttr"> {{#ifCond customAttibutes.length "===" 0}} Add {{else}} Edit {{/ifCond}} diff --git a/dashboardv3/public/js/views/entity/EntityBusinessMetaDataView.js b/dashboardv3/public/js/views/entity/EntityBusinessMetaDataView.js index cbc0320..0735cf4 100644 --- a/dashboardv3/public/js/views/entity/EntityBusinessMetaDataView.js +++ b/dashboardv3/public/js/views/entity/EntityBusinessMetaDataView.js @@ -55,7 +55,8 @@ define([ addBusinessMetadata: "[data-id='addBusinessMetadata']", saveBusinessMetadata: "[data-id='saveBusinessMetadata']", businessMetadataTree: "[data-id='businessMetadataTree']", - cancel: "[data-id='cancel']" + cancel: "[data-id='cancel']", + businessMetadataHeader: ".businessMetaDataPanel .panel-heading.main-parent" }, events: function() { var events = {}; @@ -63,6 +64,7 @@ define([ events["click " + this.ui.addBusinessMetadata] = "onAddBusinessMetadata"; events["click " + this.ui.saveBusinessMetadata] = "onSaveBusinessMetadata"; events["click " + this.ui.cancel] = "onCancel"; + events["click " + this.ui.businessMetadataHeader] = "onHeaderClick"; return events; }, initialize: function(options) { @@ -89,6 +91,23 @@ define([ this.collection = new Backbone.Collection(); this.entityModel = new VEntity(); }, + onHeaderClick: function() { + var that = this; + $('.businessMetaDataPanel').on("hidden.bs.collapse", function(e) { + that.ui.cancel.hide(); + that.ui.saveBusinessMetadata.hide(); + that.ui.addBusinessMetadata.show(); + that.editMode = false; + that.ui.businessMetadataTree.show(); + that.$(".editBox").hide(); + that.updateToActualData(); + if (that.collection && that.collection.length === 0) { + that.ui.addBusinessMetadata.text("Add"); + } else { + that.ui.addBusinessMetadata.text("Edit"); + } + }); + }, updateToActualData: function(options) { var silent = options && options.silent || false; this.collection.reset($.extend(true, [], this.actualCollection.toJSON()), { silent: silent }); diff --git a/dashboardv3/public/js/views/entity/EntityLabelDefineView.js b/dashboardv3/public/js/views/entity/EntityLabelDefineView.js index 9dee7d7..c9c26ab 100644 --- a/dashboardv3/public/js/views/entity/EntityLabelDefineView.js +++ b/dashboardv3/public/js/views/entity/EntityLabelDefineView.js @@ -45,7 +45,8 @@ define(['require', addLabelOptions: "[data-id='addLabelOptions']", addLabels: "[data-id='addLabels']", saveLabels: "[data-id='saveLabels']", - cancel: "[data-id='cancel']" + cancel: "[data-id='cancel']", + labelsHeader: ".labelsPanel .panel-heading" }, events: function() { var events = {}; @@ -53,6 +54,7 @@ define(['require', events["click " + this.ui.addLabels] = 'handleBtnClick'; events["click " + this.ui.saveLabels] = 'saveUserDefinedLabels'; events["click " + this.ui.cancel] = 'onCancelClick'; + events["click " + this.ui.labelsHeader] = 'onHeaderClick'; return events; }, initialize: function(options) { @@ -69,6 +71,19 @@ define(['require', this.populateLabelOptions(); }, bindEvents: function() {}, + onHeaderClick: function() { + var that = this; + $(".labelsPanel").on("hidden.bs.collapse", function() { + that.labels = that.entityModel.get("labels") || []; + that.swapItem = false; + that.saveLabels = false; + that.render(); + if (that.labels.length > 0) { + $('.labelsPanel').find(that.ui.labelsHeader.attr('href')).removeClass('in'); + that.ui.labelsHeader.addClass('collapsed').attr('aria-expanded', false); + } + }); + }, populateLabelOptions: function() { var that = this, str = this.labels.map(function(label) { diff --git a/dashboardv3/public/js/views/entity/EntityUserDefineView.js b/dashboardv3/public/js/views/entity/EntityUserDefineView.js index c76000b..311fbe5 100644 --- a/dashboardv3/public/js/views/entity/EntityUserDefineView.js +++ b/dashboardv3/public/js/views/entity/EntityUserDefineView.js @@ -44,7 +44,8 @@ define(['require', addAttr: "[data-id='addAttr']", saveAttrItems: "[data-id='saveAttrItems']", cancel: "[data-id='cancel']", - addItem: "[data-id='addItem']" + addItem: "[data-id='addItem']", + userDefineHeader: ".userDefinePanel .panel-heading" }, events: function() { var events = {}; @@ -52,6 +53,7 @@ define(['require', events["click " + this.ui.addItem] = 'onAddAttrClick'; events["click " + this.ui.saveAttrItems] = 'onEditAttrClick'; events["click " + this.ui.cancel] = 'onCancelClick'; + events["click " + this.ui.userDefineHeader] = 'onHeaderClick'; return events; }, initialize: function(options) { @@ -80,6 +82,19 @@ define(['require', }); this.renderEntityUserDefinedItems(); }, + onHeaderClick: function() { + var that = this; + $(".userDefinePanel").on("hidden.bs.collapse", function() { + that.swapItem = false; + that.saveAttrItems = false; + that.initialCall = false; + that.render(); + if (that.customAttibutes.length > 0) { + $('.userDefinePanel').find(that.ui.userDefineHeader.attr('href')).removeClass('in'); + that.ui.userDefineHeader.addClass('collapsed').attr('aria-expanded', false); + } + }); + }, onAddAttrClick: function() { this.swapItem = !this.swapItem; if (this.customFilter === undefined) {
