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 efdd1d311b77ae2ab12106c172fc94dd6cbcc6a8
Author: kevalbhatt <[email protected]>
AuthorDate: Fri Feb 14 17:37:33 2020 +0530

    ATLAS-3617 : Labels , UI : Attempting to add duplicate label removes both 
the duplicate and already existing label with same name.
    
    (cherry picked from commit 695480e9367ef6cb86fb18cb552e94b82f106b45)
---
 dashboardv2/public/js/views/entity/EntityLabelDefineView.js | 11 +++++++++--
 dashboardv3/public/js/views/entity/EntityLabelDefineView.js | 11 +++++++++--
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/dashboardv2/public/js/views/entity/EntityLabelDefineView.js 
b/dashboardv2/public/js/views/entity/EntityLabelDefineView.js
index 62c3ef9..b4f4a51 100644
--- a/dashboardv2/public/js/views/entity/EntityLabelDefineView.js
+++ b/dashboardv2/public/js/views/entity/EntityLabelDefineView.js
@@ -74,7 +74,7 @@ define(['require',
                 });
             this.ui.addLabelOptions.html(str);
             var getLabelData = function(data, selectedData) {
-                if (data.suggestions) {
+                if (data.suggestions.length) {
                     return _.map(data.suggestions, function(name, index) {
                         var findValue = _.find(selectedData, { id: name })
                         if (findValue) {
@@ -87,7 +87,8 @@ define(['require',
                         }
                     });
                 } else {
-                    return [];
+                    var findValue = _.find(selectedData, { id: 
data.prefixString })
+                    return findValue ? [findValue] : [];
                 }
             };
             this.ui.addLabelOptions.select2({
@@ -110,6 +111,12 @@ define(['require',
                     },
                     cache: true
                 },
+                createTag: function(data) {
+                    var found = _.find(this.$element.select2("data"), { id: 
data.term });
+                    if (!found) {
+                        return { id: data.term, text: data.term };
+                    }
+                },
                 templateResult: this.formatResultSearch
             });
         },
diff --git a/dashboardv3/public/js/views/entity/EntityLabelDefineView.js 
b/dashboardv3/public/js/views/entity/EntityLabelDefineView.js
index be12f57..19c3e7e 100644
--- a/dashboardv3/public/js/views/entity/EntityLabelDefineView.js
+++ b/dashboardv3/public/js/views/entity/EntityLabelDefineView.js
@@ -74,7 +74,7 @@ define(['require',
                 });
             this.ui.addLabelOptions.html(str);
             var getLabelData = function(data, selectedData) {
-                if (data.suggestions) {
+                if (data.suggestions.length) {
                     return _.map(data.suggestions, function(name, index) {
                         var findValue = _.find(selectedData, { id: name })
                         if (findValue) {
@@ -87,7 +87,8 @@ define(['require',
                         }
                     });
                 } else {
-                    return [];
+                    var findValue = _.find(selectedData, { id: 
data.prefixString })
+                    return findValue ? [findValue] : [];
                 }
             };
             this.ui.addLabelOptions.select2({
@@ -110,6 +111,12 @@ define(['require',
                     },
                     cache: true
                 },
+                createTag: function(data) {
+                    var found = _.find(this.$element.select2("data"), { id: 
data.term });
+                    if (!found) {
+                        return { id: data.term, text: data.term };
+                    }
+                },
                 templateResult: this.formatResultSearch
             });
         },

Reply via email to