From 46485ba13cf8dce280389ba872d357b23ffcebd6 Mon Sep 17 00:00:00 2001
From: kevalbhatt <kbhatt@apache.org>
Date: Fri, 10 Mar 2017 18:14:02 +0530
Subject: [PATCH] ATLAS-1668: updated UI to exclude terms from tag UI elements

Signed-off-by: Madhan Neethiraj <madhan@apache.org>
(cherry picked from commit e0145ffd40c08054cea7073239541879447794b4)
---
 .../business_catalog/AddTermToEntityLayoutView.js     |  6 +++---
 .../js/views/business_catalog/TreeLayoutView.js       |  1 -
 .../public/js/views/search/SearchLayoutView.js        |  8 ++++++--
 .../public/js/views/search/SearchResultLayoutView.js  |  2 +-
 .../public/js/views/tag/CreateTagLayoutView.js        |  6 +++++-
 dashboardv2/public/js/views/tag/TagLayoutView.js      | 19 +++++++++----------
 dashboardv2/public/js/views/tag/addTagModalView.js    |  3 +++
 7 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/dashboardv2/public/js/views/business_catalog/AddTermToEntityLayoutView.js b/dashboardv2/public/js/views/business_catalog/AddTermToEntityLayoutView.js
index dd45e488..0212efe1 100644
--- a/dashboardv2/public/js/views/business_catalog/AddTermToEntityLayoutView.js
+++ b/dashboardv2/public/js/views/business_catalog/AddTermToEntityLayoutView.js
@@ -74,9 +74,9 @@ define(['require',
                             }
                             var obj = {
                                 termName: termName,
-                                guid: that.multiple[i].id.id,
-                                deletedEntity: Enums.entityStateReadOnly[that.multiple[i].id.state],
-                                entityName: that.multiple[i].model.get('name')
+                                guid: that.multiple[i].id,
+                                deletedEntity: Enums.entityStateReadOnly[that.multiple[i].model.status],
+                                entityName: Utils.getName(that.multiple[i].model)
                             };
                             if (obj.deletedEntity) {
                                 Utils.notifyError({
diff --git a/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js b/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js
index 0bca0df7..998c8f42 100644
--- a/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js
+++ b/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js
@@ -377,7 +377,6 @@ define(['require',
                         }
                         var name = Utils.checkTagOrTerm(model.get('name'), true);
                         if (name.name) {
-                            // data-name="<space>'<tagName>'"  Space is required for DSL search Input 
                             if (that.viewBased) {
                                 parentLi = '<div class="tools"><i class="fa fa-refresh fa-spin-custom taxanomyloader"></i><i class="fa fa-ellipsis-h termPopover"></i></div><i class="fa fa-angle-right toggleArrow" data-id="expandArrow" data-href="' + hrefUrl + '"></i><a href="javascript:void(0)" data-href="' + hrefUrl + '" data-name="`' + model.get('name') + '`">' + name.name + '</a>';
                             } else {
diff --git a/dashboardv2/public/js/views/search/SearchLayoutView.js b/dashboardv2/public/js/views/search/SearchLayoutView.js
index d3a90305..e68f8c06 100644
--- a/dashboardv2/public/js/views/search/SearchLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchLayoutView.js
@@ -172,11 +172,15 @@ define(['require',
                     return Utils.getName(model.toJSON(), 'name').toLowerCase();
                 }
                 this.typeHeaders.fullCollection.sort().each(function(model) {
+                    var name = Utils.getName(model.toJSON(), 'name');
                     if (model.get('category') == 'ENTITY') {
-                        typeStr += '<option>' + (Utils.getName(model.toJSON(), 'name')) + '</option>';
+                        typeStr += '<option>' + (name) + '</option>';
                     }
                     if (model.get('category') == 'CLASSIFICATION') {
-                        tagStr += '<option>' + (Utils.getName(model.toJSON(), 'name')) + '</option>';
+                        var checkTagOrTerm = Utils.checkTagOrTerm(name);
+                        if (checkTagOrTerm.tag) {
+                            tagStr += '<option>' + (name) + '</option>';
+                        }
                     }
                 });
                 that.ui.typeLov.html(typeStr);
diff --git a/dashboardv2/public/js/views/search/SearchResultLayoutView.js b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
index d2a3b51d..3446a670 100644
--- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
@@ -294,7 +294,7 @@ define(['require',
                         if (Globals.entityCreate && Globals.entityTypeConfList && Utils.getUrlState.isSearchTab()) {
                             createEntityTag = "<p>If you do not find the entity in search result below then you can" + '<a href="javascript:void(0)" data-id="createEntity"> create new entity</a></p>';
                         }
-                        that.$('.searchResult').html(resultData + multiAssignDataTag + multiAssignDataTerm + createEntityTag);
+                        that.$('.searchResult').html(resultData + multiAssignDataTerm + multiAssignDataTag + createEntityTag);
                     },
                     silent: true,
                     reset: true
diff --git a/dashboardv2/public/js/views/tag/CreateTagLayoutView.js b/dashboardv2/public/js/views/tag/CreateTagLayoutView.js
index 957a056e..34fa1147 100644
--- a/dashboardv2/public/js/views/tag/CreateTagLayoutView.js
+++ b/dashboardv2/public/js/views/tag/CreateTagLayoutView.js
@@ -98,7 +98,11 @@ define(['require',
                     that = this;
                 this.ui.parentTag.empty();
                 this.tagCollection.fullCollection.each(function(val) {
-                    str += '<option>' + (Utils.getName(val.toJSON())) + '</option>';
+                    var name = Utils.getName(val.toJSON()),
+                        checkTagOrTerm = Utils.checkTagOrTerm(name);
+                    if (checkTagOrTerm.tag) {
+                        str += '<option>' + (name) + '</option>';
+                    }
                 });
                 that.ui.parentTag.html(str);
                 // IE9 support
diff --git a/dashboardv2/public/js/views/tag/TagLayoutView.js b/dashboardv2/public/js/views/tag/TagLayoutView.js
index e6b20655..5311ad1b 100644
--- a/dashboardv2/public/js/views/tag/TagLayoutView.js
+++ b/dashboardv2/public/js/views/tag/TagLayoutView.js
@@ -144,18 +144,17 @@ define(['require',
                 };
                 that.collection.fullCollection.sort().each(function(model) {
                     var name = Utils.getName(model.toJSON(), 'name');
-                    if (name.indexOf(".") > -1) {
-                        return;
-                    }
-                    if (searchString) {
-                        if (name.search(new RegExp(searchString, "i")) != -1) {
-                            // data-name="<space>'<tagName>'"  Space is required for DSL search Input 
-                            str += '<li class="parent-node" data-id="tags"><div class="tools"><i class="fa fa-ellipsis-h tagPopover"></i></div><a href="#!/tag/tagAttribute/' + name + '"  data-name=" `' + name + '`" >' + name + '</a></li>';
+                    var checkTagOrTerm = Utils.checkTagOrTerm(name);
+                    if (checkTagOrTerm.tag) {
+                        if (searchString) {
+                            if (name.search(new RegExp(searchString, "i")) != -1) {
+                                str += '<li class="parent-node" data-id="tags"><div class="tools"><i class="fa fa-ellipsis-h tagPopover"></i></div><a href="#!/tag/tagAttribute/' + name + '"  data-name="`' + name + '`" >' + name + '</a></li>';
+                            } else {
+                                return;
+                            }
                         } else {
-                            return;
+                            str += '<li class="parent-node" data-id="tags"><div class="tools"><i class="fa fa-ellipsis-h tagPopover"></i></div><a href="#!/tag/tagAttribute/' + name + '"  data-name="`' + name + '`">' + name + '</a></li>';
                         }
-                    } else {
-                        str += '<li class="parent-node" data-id="tags"><div class="tools"><i class="fa fa-ellipsis-h tagPopover"></i></div><a href="#!/tag/tagAttribute/' + name + '"  data-name=" `' + name + '`">' + name + '</a></li>';
                     }
                 });
                 this.ui.tagsParent.empty().html(str);
diff --git a/dashboardv2/public/js/views/tag/addTagModalView.js b/dashboardv2/public/js/views/tag/addTagModalView.js
index 559b2d57..cda5cf6c 100644
--- a/dashboardv2/public/js/views/tag/addTagModalView.js
+++ b/dashboardv2/public/js/views/tag/addTagModalView.js
@@ -193,6 +193,9 @@ define(['require',
             var str = '<option selected="selected" disabled="disabled">-- Select a tag from the dropdown list --</option>';
             this.collection.fullCollection.sort().each(function(obj, key) {
                 var name = Utils.getName(obj.toJSON(), 'name');
+                if (name === "TaxonomyTerm") {
+                    return;
+                }
                 // using obj.get('name') insted of name variable because if html is presen in name then escaped name will not found in tagList.
                 if (_.indexOf(that.tagList, obj.get('name')) === -1) {
                     str += '<option>' + name + '</option>';
-- 
2.11.0 (Apple Git-81)

