ATLAS-1658: UI updates to fix incorrect terms display in search results and detail pages
Signed-off-by: Madhan Neethiraj <madhan@apache.org>
(cherry picked from commit 9ca6136e2e6e431b0f463344e7e3a731af69646b)
diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js b/dashboardv2/public/js/utils/CommonViewFunction.js
index e1c22a1..a601d81 100644
--- a/dashboardv2/public/js/utils/CommonViewFunction.js
+++ b/dashboardv2/public/js/utils/CommonViewFunction.js
@@ -307,7 +307,8 @@
entityName = Utils.getName(obj);
if (traits) {
traits.map(function(term) {
- if (term.split(".").length > 1) {
+ var checkTagOrTerm = Utils.checkTagOrTerm(term);
+ if (checkTagOrTerm.term) {
terms.push({
deleteHtml: '<a class="pull-left" title="Remove Term"><i class="fa fa-trash" data-id="tagClick" data-type="term" data-assetname="' + entityName + '" data-name="' + term + '" data-guid="' + obj.guid + '" ></i></a>',
url: _.unescape(term).split(".").join("/"),
@@ -322,7 +323,7 @@
className += "showHideDiv hide";
}
obj['valueUrl'] = CommonViewFunction.breadcrumbUrlMaker(obj.url);
- html += '<div class="' + className + '" dataterm-name="' + entityName + '"><div class="liContent"></div>' + obj.deleteHtml + '</div>';
+ html += '<div class="' + className + '" dataterm-name="' + obj.name + '"><div class="liContent"></div>' + obj.deleteHtml + '</div>';
})
if (terms.length > 1) {
html += '<div><a href="javascript:void(0)" data-id="showMoreLessTerm" class="inputTag inputTagGreen"><span>Show More </span><i class="fa fa-angle-right"></i></a></div>'
@@ -349,7 +350,8 @@
entityName = Utils.getName(obj);
if (traits) {
traits.map(function(tag) {
- if (tag.split(".").length === 1) {
+ var checkTagOrTerm = Utils.checkTagOrTerm(tag);
+ if (checkTagOrTerm.tag) {
var className = "inputTag";
if (count >= 1) {
popTag += '<a class="' + className + '" data-id="tagClick"><span class="inputValue">' + tag + '</span><i class="fa fa-times" data-id="delete" data-assetname="' + entityName + '"data-name="' + tag + '" data-type="tag" data-guid="' + obj.guid + '" ></i></a>';
diff --git a/dashboardv2/public/js/utils/Utils.js b/dashboardv2/public/js/utils/Utils.js
index f214c50..b96bc9b 100644
--- a/dashboardv2/public/js/utils/Utils.js
+++ b/dashboardv2/public/js/utils/Utils.js
@@ -295,6 +295,11 @@
fullName: value
}
}
+ if (value && _.isString(value)) {
+ value = {
+ typeName: value
+ }
+ }
if (_.isObject(value)) {
var name = "";
if (value && value.$typeName$) {
@@ -306,11 +311,14 @@
return {}
}
name = _.escape(name).split('.');
+
var trem = false;
if (value['taxonomy.namespace']) {
trem = true;
} else if (value.values && value.values['taxonomy.namespace']) {
trem = true;
+ } else if (name.length > 1) {
+ trem = true; // Temp fix
}
if (trem) {
diff --git a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
index 41be98d..49953fd 100644
--- a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
+++ b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
@@ -247,12 +247,11 @@
termData = "";
_.each(tagObject, function(val) {
- //var isTerm = Utils.checkTagOrTerm(val);
- if (val.typeName && val.typeName.split('.').length === 1) {
- tagData += '<span class="inputTag" data-id="tagClick"><span class="inputValue">' + val.typeName + '</span><i class="fa fa-close" data-id="deleteTag" data-type="tag"></i></span>';
- }
- if (val.typeName && val.typeName.split('.').length > 1) {
+ var checkTagOrTerm = Utils.checkTagOrTerm(val);
+ if (checkTagOrTerm.term) {
termData += '<span class="inputTag term" data-id="tagClick" data-href="' + val.typeName + '"><span class="inputValue">' + val.typeName + '</span><i class="fa fa-close" data-id="deleteTag" data-type="term"></i></span>';
+ } else {
+ tagData += '<span class="inputTag" data-id="tagClick"><span class="inputValue">' + val.typeName + '</span><i class="fa fa-close" data-id="deleteTag" data-type="tag"></i></span>';
}
});
this.ui.tagList.find("span.inputTag").remove();