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) {

Reply via email to