You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by su...@apache.org on 2016/07/27 00:45:30 UTC
incubator-atlas git commit: ATLAS-1056 : Differentiate between tag
and term using attribute "taxonomy.namespace"
Repository: incubator-atlas
Updated Branches:
refs/heads/master 5de10081c -> 425237d59
ATLAS-1056 : Differentiate between tag and term using attribute "taxonomy.namespace"
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/425237d5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/425237d5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/425237d5
Branch: refs/heads/master
Commit: 425237d59cc0344abfa74819f6e16f7214a59945
Parents: 5de1008
Author: keval <ke...@gmail.com>
Authored: Wed Jul 27 00:31:18 2016 +0530
Committer: Suma Shivaprasad <su...@gmail.com>
Committed: Tue Jul 26 17:44:57 2016 -0700
----------------------------------------------------------------------
dashboardv2/public/css/scss/breadcrumb.scss | 4 +-
dashboardv2/public/css/scss/theme.scss | 42 ++++++++++++++------
.../business_catalog/BusinessCatalogHeader.html | 8 ++--
.../public/js/templates/site/header.html | 8 ++--
.../public/js/utils/CommonViewFunction.js | 38 ++++++------------
dashboardv2/public/js/utils/Messages.js | 4 +-
dashboardv2/public/js/utils/Utils.js | 41 ++++++++++++++++---
.../BusinessCatalogDetailLayoutView.js | 2 +-
.../js/views/business_catalog/TreeLayoutView.js | 25 +++++++-----
.../views/detail_page/DetailPageLayoutView.js | 33 +++++++--------
.../public/js/views/schema/SchemaLayoutView.js | 29 ++++++++------
.../public/js/views/search/SearchLayoutView.js | 4 --
.../js/views/search/SearchResultLayoutView.js | 25 +++++++-----
.../public/js/views/tag/CreateTagLayoutView.js | 6 +--
.../js/views/tag/TagDetailTableLayoutView.js | 7 ++--
.../public/js/views/tag/TagLayoutView.js | 18 ++++-----
.../public/js/views/tag/addTagModalView.js | 7 +---
release-log.txt | 1 +
18 files changed, 166 insertions(+), 136 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/css/scss/breadcrumb.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/breadcrumb.scss b/dashboardv2/public/css/scss/breadcrumb.scss
index cf3324e..dbd17b4 100644
--- a/dashboardv2/public/css/scss/breadcrumb.scss
+++ b/dashboardv2/public/css/scss/breadcrumb.scss
@@ -53,8 +53,8 @@
display: none !important;
}
-.breadcrumb-dropdown .popover.bottom {
- margin-top: 45px;
+#new-header .breadcrumb-dropdown .popover.bottom {
+ margin-top: 45px !important;
}
.breadcrumb>li:last-child a {
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/css/scss/theme.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/theme.scss b/dashboardv2/public/css/scss/theme.scss
index 80ed9f2..2874e23 100644
--- a/dashboardv2/public/css/scss/theme.scss
+++ b/dashboardv2/public/css/scss/theme.scss
@@ -19,15 +19,32 @@
/* theme.scss */
-.user-dropdown {
- display: inline-block;
- padding: 14px;
- color: $color_ironside_gray_approx;
- .user-circle {
- padding: 8px 10px;
- border: 1px solid $color_ironside_gray_approx;
- border-radius: 20px;
- margin: 0px 4px;
+.header-menu {
+ .dropdown-menu > li > a {
+ color: $color_ironside_gray_approx;
+ &:hover {
+ color: $color_jungle_green_approx;
+ }
+ i {
+ padding-right: 3px;
+ }
+ }
+ >a {
+ display: inline-block;
+ color: $color_ironside_gray_approx;
+ padding: 16px 14px;
+ &:hover {
+ border-bottom: 2px solid $color_jungle_green_approx;
+ padding: 14px 14px;
+ color: $color_jungle_green_approx;
+ }
+ span {
+ padding: 5px;
+ }
+ i {
+ margin-top: 7px;
+ font-size: 18px;
+ }
}
}
@@ -132,6 +149,7 @@
color: $color_jungle_green_approx;
}
}
-.position-relative{
- position:relative;
-}
\ No newline at end of file
+
+.position-relative {
+ position: relative;
+}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/templates/business_catalog/BusinessCatalogHeader.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/business_catalog/BusinessCatalogHeader.html b/dashboardv2/public/js/templates/business_catalog/BusinessCatalogHeader.html
index 9798b2c..99cf5cf 100644
--- a/dashboardv2/public/js/templates/business_catalog/BusinessCatalogHeader.html
+++ b/dashboardv2/public/js/templates/business_catalog/BusinessCatalogHeader.html
@@ -17,15 +17,15 @@
<ol class="breadcrumb col-md-6">
</ol>
<header class="clearfix">
- <div class="btn-group pull-right">
- <a href="javascript:void(0);" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="user-dropdown"><span class="userName"></span><i class="fa fa-user user-circle"></i></a>
+ <div class="btn-group pull-right header-menu">
+ <a target="_blank" href="https://cwiki.apache.org/confluence/display/ATLAS/Atlas+Home" title="Help"><i class="fa fa-question-circle"></i></a>
+ <a href="javascript:void(0);" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user user-circle"></i><span class="userName"></span></a>
<ul class="dropdown-menu">
<!-- <li><a href="#">Edit Profile</a></li>
<li><a href="#">Change Password</a></li> -->
<li class="aboutAtlas"><a href="javascript:void(0)">About</a></li>
- <li><a target="_blank" href="https://cwiki.apache.org/confluence/display/ATLAS/Atlas+Home">Help</a></li>
<li role="separator" class="divider"></li>
- <li><a href="logout.html">Logout</a></li>
+ <li><a href="logout.html"><i class="fa fa-sign-out"></i>Logout</a></li>
</ul>
</div>
</header>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/templates/site/header.html
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/templates/site/header.html b/dashboardv2/public/js/templates/site/header.html
index 9f8a1ea..272e81c 100644
--- a/dashboardv2/public/js/templates/site/header.html
+++ b/dashboardv2/public/js/templates/site/header.html
@@ -15,16 +15,16 @@
* limitations under the License.
-->
<header class="clearfix">
- <div class="btn-group pull-right">
- <a href="javascript:void(0);" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="user-dropdown"><span class="userName"></span><i class="fa fa-user user-circle "></i></a>
+ <div class="btn-group pull-right header-menu ">
+ <a target="_blank" href="https://cwiki.apache.org/confluence/display/ATLAS/Atlas+Home" title="Help"><i class="fa fa-question-circle"></i></a>
+ <a href="javascript:void(0);" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="user-dropdown"><i class="fa fa-user user-circle "></i><span class="userName"></span></a>
<ul class="dropdown-menu">
<!-- <li><a href="#">Edit Profile</a></li>
<li><a href="#">Change Password</a></li> -->
<li class="aboutAtlas"><a href="javascript:void(0)">About</a></li>
- <li><a target="_blank" href="https://cwiki.apache.org/confluence/display/ATLAS/Atlas+Home">Help</a></li>
<li role="separator" class="divider"></li>
<li>
- <a href="logout.html"> <i class="fa fa-sign-out"></i> Logout</a>
+ <a href="logout.html"><i class="fa fa-sign-out"></i>Logout</a>
</li>
</ul>
</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/utils/CommonViewFunction.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js b/dashboardv2/public/js/utils/CommonViewFunction.js
index 997060f..79e50b7 100644
--- a/dashboardv2/public/js/utils/CommonViewFunction.js
+++ b/dashboardv2/public/js/utils/CommonViewFunction.js
@@ -39,20 +39,10 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob
tagModel.deleteTag(options.guid, options.tagName, {
success: function(data) {
var msg = "Tag " + name.name + Messages.removeSuccessMessage;
- if (data.traitName) {
- var tagOrTerm = Utils.checkTagOrTerm(data.traitName);
- if (tagOrTerm.term) {
- msg = "Term " + data.traitName + Messages.removeSuccessMessage;
- } else {
- msg = "Tag " + data.traitName + Messages.removeSuccessMessage;
- }
- } else {
- var tagOrTerm = Utils.checkTagOrTerm(options.tagName);
- if (tagOrTerm.term) {
- msg = "Term " + data.traitName + Messages.removeSuccessMessage;
- } else {
- msg = "Tag " + data.traitName + Messages.removeSuccessMessage;
- }
+ if (options.tagOrTerm === "term") {
+ msg = "Term " + options.tagName + Messages.removeSuccessMessage;
+ } else if (options.tagOrTerm === "tag") {
+ msg = "Tag " + options.tagName + Messages.removeSuccessMessage;
}
Utils.notifySuccess({
content: msg
@@ -405,14 +395,12 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob
id = model.get('$id$').id,
terms = [];
_.keys(traits).map(function(key) {
- if (traits[key].$typeName$) {
- var tagName = Utils.checkTagOrTerm(traits[key].$typeName$);
- } else {
- var tagName = Utils.checkTagOrTerm(traits[key].typeName);
+ if (traits[key]) {
+ var tagName = Utils.checkTagOrTerm(traits[key]);
}
if (tagName.term) {
terms.push({
- deleteHtml: '<a class="pull-left" title="Remove Term"><i class="fa fa-trash" data-id="tagClick" data-assetname="' + model.get("name") + '" data-name="' + tagName.fullName+ '" data-guid="' + model.get('$id$').id + '" ></i></a>',
+ deleteHtml: '<a class="pull-left" title="Remove Term"><i class="fa fa-trash" data-id="tagClick" data-type="term" data-assetname="' + model.get("name") + '" data-name="' + tagName.fullName + '" data-guid="' + model.get('$id$').id + '" ></i></a>',
url: tagName.fullName.split(".").join("/"),
name: tagName.fullName
});
@@ -447,17 +435,15 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob
popTag = "",
count = 0;
_.keys(model.get('$traits$')).map(function(key) {
- if (traits[key].$typeName$) {
- var tagName = Utils.checkTagOrTerm(traits[key].$typeName$);
- } else {
- var tagName = Utils.checkTagOrTerm(traits[key].typeName);
+ if (traits[key]) {
+ var tagName = Utils.checkTagOrTerm(traits[key]);
}
var className = "inputTag";
- if (!tagName.term) {
+ if (tagName.tag) {
if (count >= 1) {
- popTag += '<a class="' + className + '" data-id="tagClick"><span class="inputValue">' + tagName.name + '</span><i class="fa fa-times" data-id="delete" data-assetname="' + model.get("name") + '"data-name="' + tagName.name + '" data-guid="' + model.get('$id$').id + '" ></i></a>';
+ popTag += '<a class="' + className + '" data-id="tagClick"><span class="inputValue">' + tagName.fullName + '</span><i class="fa fa-times" data-id="delete" data-assetname="' + model.get("name") + '"data-name="' + tagName.fullName + '" data-type="tag" data-guid="' + model.get('$id$').id + '" ></i></a>';
} else {
- atags += '<a class="' + className + '" data-id="tagClick"><span class="inputValue">' + tagName.name + '</span><i class="fa fa-times" data-id="delete" data-assetname="' + model.get("name") + '" data-name="' + tagName.name + '" data-guid="' + model.get('$id$').id + '" ></i></a>';
+ atags += '<a class="' + className + '" data-id="tagClick"><span class="inputValue">' + tagName.fullName + '</span><i class="fa fa-times" data-id="delete" data-assetname="' + model.get("name") + '" data-name="' + tagName.fullName + '" data-type="tag" data-guid="' + model.get('$id$').id + '" ></i></a>';
}
++count;
}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/utils/Messages.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/Messages.js b/dashboardv2/public/js/utils/Messages.js
index 6bb8453..9ecdc67 100644
--- a/dashboardv2/public/js/utils/Messages.js
+++ b/dashboardv2/public/js/utils/Messages.js
@@ -24,8 +24,8 @@ define(['require'], function(require) {
addErrorMessage: " could not be Created",
addTermToEntitySuccessMessage: " has been added to entity",
deleteTerm: "Delete Term",
- removeTag: "Remove Tag",
- removeTerm: "Remove Term",
+ removeTag: "Remove Tag Assignment",
+ removeTerm: "Remove Term Assignment",
deleteSuccessMessage: " has been deleted successfully",
deleteErrorMessage: " could not be deleted",
removeSuccessMessage: " has been removed successfully",
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/utils/Utils.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/Utils.js b/dashboardv2/public/js/utils/Utils.js
index 7ddae5b..7fcde19 100644
--- a/dashboardv2/public/js/utils/Utils.js
+++ b/dashboardv2/public/js/utils/Utils.js
@@ -233,20 +233,51 @@ define(['require', 'utils/Globals'], function(require, Globals) {
}
}
}
- Utils.checkTagOrTerm = function(value) {
- if (value && _.isString(value)) {
+ Utils.checkTagOrTerm = function(value, isTermView) {
+ if (value && _.isString(value) && isTermView) {
+ // For string break
+ if (value == "TaxonomyTerm") {
+ return {}
+ }
var name = value.split('.');
- if (name.length > 1) {
+ return {
+ term: true,
+ tag: false,
+ name: name[name.length - 1],
+ fullName: value
+ }
+ }
+ if (_.isObject(value)) {
+ var name = "";
+ if (value && value.$typeName$) {
+ name = value.$typeName$;
+ } else if (value && value.typeName) {
+ name = value.typeName;
+ }
+ if (name === "TaxonomyTerm") {
+ return {}
+ }
+ name = name.split('.');
+ var trem = false;
+ if (value['taxonomy.namespace']) {
+ trem = true;
+ } else if (value.values && value.values['taxonomy.namespace']) {
+ trem = true;
+ }
+
+ if (trem) {
return {
term: true,
+ tag: false,
name: name[name.length - 1],
- fullName: value
+ fullName: name.join('.')
}
} else {
return {
term: false,
+ tag: true,
name: name[name.length - 1],
- fullName: value
+ fullName: name.join('.')
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/views/business_catalog/BusinessCatalogDetailLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/business_catalog/BusinessCatalogDetailLayoutView.js b/dashboardv2/public/js/views/business_catalog/BusinessCatalogDetailLayoutView.js
index c73a2ea..d592d1e 100644
--- a/dashboardv2/public/js/views/business_catalog/BusinessCatalogDetailLayoutView.js
+++ b/dashboardv2/public/js/views/business_catalog/BusinessCatalogDetailLayoutView.js
@@ -97,7 +97,7 @@ define(['require',
createdDate = this.model.get('creation_time');
if (name) {
this.ui.title.show();
- this.termName = Utils.checkTagOrTerm(name);
+ this.termName = Utils.checkTagOrTerm(name, true);
this.ui.title.html('<span>' + this.termName.name + '</span>');
} else {
this.ui.title.hide();
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js b/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js
index 3cf14d7..616e40f 100644
--- a/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js
+++ b/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js
@@ -382,13 +382,14 @@ define(['require',
}
}
}
- var name = Utils.checkTagOrTerm(model.get('name'));
- 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 {
- parentLi = '<div class="tools"><i class="fa fa-refresh fa-spin-custom taxanomyloader"></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>';
+ var name = Utils.checkTagOrTerm(model.get('name'), true);
+ if (name.name) {
+ 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 {
+ parentLi = '<div class="tools"><i class="fa fa-refresh fa-spin-custom taxanomyloader"></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>';
+ }
}
-
});
if (href) {
var hrefUrl = "/api" + href.split("/api")[1];
@@ -401,12 +402,14 @@ define(['require',
function createTerm() {
_.each(that.childCollection.fullCollection.models, function(model, key) {
- var name = Utils.checkTagOrTerm(model.get('name'));
+ var name = Utils.checkTagOrTerm(model.get('name'), true);
var hrefUrl = "/api" + model.get('href').split("/api")[1];
- if (that.viewBased) {
- childLi += '<li class="children"><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></li>';
- } else {
- childLi += '<li class="children"><div class="tools"><i class="fa fa-refresh fa-spin-custom taxanomyloader"></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></li>';
+ if (name.name) {
+ if (that.viewBased) {
+ childLi += '<li class="children"><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></li>';
+ } else {
+ childLi += '<li class="children"><div class="tools"><i class="fa fa-refresh fa-spin-custom taxanomyloader"></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></li>';
+ }
}
});
that.ui.childList.html(childLi);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
index 4546bb4..35f5811 100644
--- a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
+++ b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
@@ -167,8 +167,7 @@ define(['require',
}
}
if (collectionJSON[0].traits) {
- this.tagElement = _.keys(collectionJSON[0].traits);
- this.addTagToTerms(this.tagElement);
+ this.addTagToTerms(collectionJSON[0].traits);
}
}
@@ -194,34 +193,37 @@ define(['require',
},
onClickTagCross: function(e) {
var tagName = $(e.currentTarget).parent().text(),
+ tagOrTerm = $(e.target).data("type"),
that = this;
- var tagOrTerm = Utils.checkTagOrTerm(tagName);
- if (tagOrTerm.term) {
+ if (tagOrTerm === "term") {
var modal = CommonViewFunction.deleteTagModel({
msg: "<div class='ellipsis'>Remove: " + "<b>" + tagName + "</b> assignment from" + " " + "<b>" + this.name + "?</b></div>",
titleMessage: Messages.removeTerm,
buttonText: "Remove"
});
- } else {
+ } else if (tagOrTerm === "tag") {
var modal = CommonViewFunction.deleteTagModel({
msg: "<div class='ellipsis'>Remove: " + "<b>" + tagName + "</b> assignment from" + " " + "<b>" + this.name + "?</b></div>",
titleMessage: Messages.removeTag,
buttonText: "Remove"
});
}
- modal.on('ok', function() {
- that.deleteTagData(e);
- });
- modal.on('closeModal', function() {
- modal.trigger('cancel');
- });
+ if (modal) {
+ modal.on('ok', function() {
+ that.deleteTagData(e, tagOrTerm);
+ });
+ modal.on('closeModal', function() {
+ modal.trigger('cancel');
+ });
+ }
},
- deleteTagData: function(e) {
+ deleteTagData: function(e, tagOrTerm) {
var that = this,
tagName = $(e.currentTarget).text();
CommonViewFunction.deleteTag({
'tagName': tagName,
'guid': that.id,
+ 'tagOrTerm': tagOrTerm,
callback: function() {
that.fetchCollection();
}
@@ -234,13 +236,12 @@ define(['require',
_.each(tagObject, function(val) {
var isTerm = Utils.checkTagOrTerm(val);
- if (!isTerm.term) {
- tagData += '<span class="inputTag" data-id="tagClick"><span class="inputValue">' + val + '</span><i class="fa fa-close" data-id="deleteTag"></i></span>';
+ if (isTerm.tag) {
+ tagData += '<span class="inputTag" data-id="tagClick"><span class="inputValue">' + isTerm.fullName + '</span><i class="fa fa-close" data-id="deleteTag" data-type="tag"></i></span>';
}
if (isTerm.term) {
- termData += '<span class="inputTag term" data-id="tagClick" data-href="' + val + '"><span class="inputValue">' + val + '</span><i class="fa fa-close" data-id="deleteTag"></i></span>';
+ termData += '<span class="inputTag term" data-id="tagClick" data-href="' + isTerm.fullName + '"><span class="inputValue">' + isTerm.fullName + '</span><i class="fa fa-close" data-id="deleteTag" data-type="term"></i></span>';
}
-
});
this.ui.tagList.find("span.inputTag").remove();
this.ui.termList.find("span.inputTag").remove();
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/views/schema/SchemaLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/schema/SchemaLayoutView.js b/dashboardv2/public/js/views/schema/SchemaLayoutView.js
index c22c5fb..13896ab 100644
--- a/dashboardv2/public/js/views/schema/SchemaLayoutView.js
+++ b/dashboardv2/public/js/views/schema/SchemaLayoutView.js
@@ -321,37 +321,40 @@ define(['require',
},
onClickTagCross: function(e) {
var tagName = $(e.target).data("name"),
+ guid = $(e.target).data("guid"),
assetName = $(e.target).data("assetname"),
+ tagOrTerm = $(e.target).data("type"),
that = this;
- var tagOrTerm = Utils.checkTagOrTerm(tagName);
- if (tagOrTerm.term) {
+ if (tagOrTerm === "term") {
var modal = CommonViewFunction.deleteTagModel({
- msg: "<div class='ellipsis'>Remove: " + "<b>" + tagName + "</b> assignment from" + " " + "<b>" + assetName + "?</b></div>",
+ msg: "<div class='ellipsis'>Remove: " + "<b>" + tagName + "</b> assignment from" + " " + "<b>" + assetName + " ?</b></div>",
titleMessage: Messages.removeTerm,
buttonText: "Remove"
});
- } else {
+ } else if (tagOrTerm === "tag") {
var modal = CommonViewFunction.deleteTagModel({
- msg: "<div class='ellipsis'>Remove: " + "<b>" + tagName + "</b> assignment from" + " " + "<b>" + assetName + "?</b></div>",
+ msg: "<div class='ellipsis'>Remove: " + "<b>" + tagName + "</b> assignment from" + " " + "<b>" + assetName + " ?</b></div>",
titleMessage: Messages.removeTag,
buttonText: "Remove"
});
}
-
- modal.on('ok', function() {
- that.deleteTagData(e);
- });
- modal.on('closeModal', function() {
- modal.trigger('cancel');
- });
+ if (modal) {
+ modal.on('ok', function() {
+ that.deleteTagData(e, tagOrTerm);
+ });
+ modal.on('closeModal', function() {
+ modal.trigger('cancel');
+ });
+ }
},
- deleteTagData: function(e) {
+ deleteTagData: function(e, tagOrTerm) {
var that = this,
tagName = $(e.target).data("name"),
guid = $(e.target).data("guid");
CommonViewFunction.deleteTag({
'tagName': tagName,
'guid': guid,
+ 'tagOrTerm': tagOrTerm,
callback: function() {
that.fetchCollection();
}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/views/search/SearchLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/search/SearchLayoutView.js b/dashboardv2/public/js/views/search/SearchLayoutView.js
index 730c451..625f90d 100644
--- a/dashboardv2/public/js/views/search/SearchLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchLayoutView.js
@@ -79,10 +79,6 @@ define(['require',
}
});
this.type = "fulltext";
- this.tagCollection = new VTagList();
- $.extend(this.tagCollection.queryParams, { type: 'TRAIT' });
- this.typeCollection = new VTagList();
- $.extend(this.typeCollection.queryParams, { type: 'CLASS' });
this.bindEvents();
},
bindEvents: function(param) {
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/views/search/SearchResultLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/search/SearchResultLayoutView.js b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
index b30de40..964bb8a 100644
--- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
@@ -545,35 +545,38 @@ define(['require',
var tagName = $(e.target).data("name"),
guid = $(e.target).data("guid"),
assetName = $(e.target).data("assetname"),
- that = this,
- tagOrTerm = Utils.checkTagOrTerm(tagName);
- if (tagOrTerm.term) {
+ tagOrTerm = $(e.target).data("type"),
+ that = this;
+ if (tagOrTerm === "term") {
var modal = CommonViewFunction.deleteTagModel({
msg: "<div class='ellipsis'>Remove: " + "<b>" + tagName + "</b> assignment from" + " " + "<b>" + assetName + " ?</b></div>",
titleMessage: Messages.removeTerm,
buttonText: "Remove"
});
- } else {
+ } else if (tagOrTerm === "tag") {
var modal = CommonViewFunction.deleteTagModel({
msg: "<div class='ellipsis'>Remove: " + "<b>" + tagName + "</b> assignment from" + " " + "<b>" + assetName + " ?</b></div>",
titleMessage: Messages.removeTag,
buttonText: "Remove"
});
}
- modal.on('ok', function() {
- that.deleteTagData(e);
- });
- modal.on('closeModal', function() {
- modal.trigger('cancel');
- });
+ if (modal) {
+ modal.on('ok', function() {
+ that.deleteTagData(e, tagOrTerm);
+ });
+ modal.on('closeModal', function() {
+ modal.trigger('cancel');
+ });
+ }
},
- deleteTagData: function(e) {
+ deleteTagData: function(e, tagOrTerm) {
var that = this,
tagName = $(e.target).data("name"),
guid = $(e.target).data("guid");
CommonViewFunction.deleteTag({
'tagName': tagName,
'guid': guid,
+ 'tagOrTerm': tagOrTerm,
callback: function() {
that.fetchCollection();
}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/views/tag/CreateTagLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/tag/CreateTagLayoutView.js b/dashboardv2/public/js/views/tag/CreateTagLayoutView.js
index 2930ac3..fa16de4 100644
--- a/dashboardv2/public/js/views/tag/CreateTagLayoutView.js
+++ b/dashboardv2/public/js/views/tag/CreateTagLayoutView.js
@@ -85,11 +85,7 @@ define(['require',
placeholder: "Search Tags",
allowClear: true
});
- },
- fetchCollection: function() {
- $.extend(this.tagCollection.queryParams, { type: 'TRAIT' });
- this.tagCollection.fetch({ reset: true });
- },
+ }
});
return CreateTagLayoutView;
});
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js b/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
index 51d644e..283b889 100644
--- a/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
+++ b/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
@@ -67,14 +67,13 @@ define(['require',
tagTermList = [],
that = this;
_.each(tagorterm, function(object) {
+ var checkTagOrTerm = Utils.checkTagOrTerm(object);
if (that.term) {
- var checkTagOrTerm = Utils.checkTagOrTerm(object.typeName);
if (checkTagOrTerm.term) {
tagTermList.push(object);
}
} else {
- var checkTagOrTerm = Utils.checkTagOrTerm(object.typeName);
- if (!checkTagOrTerm.term) {
+ if (checkTagOrTerm.tag) {
tagTermList.push(object);
}
}
@@ -191,7 +190,6 @@ define(['require',
});
}
-
modal.on('ok', function() {
that.deleteTagData(e);
});
@@ -205,6 +203,7 @@ define(['require',
CommonViewFunction.deleteTag({
'tagName': tagName,
'guid': that.guid,
+ 'tagOrTerm': (that.term ? "term" : "tag"),
callback: function() {
that.$('.fontLoader').show();
that.collection.fetch({ reset: true });
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/views/tag/TagLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/tag/TagLayoutView.js b/dashboardv2/public/js/views/tag/TagLayoutView.js
index 3a05167..5304737 100644
--- a/dashboardv2/public/js/views/tag/TagLayoutView.js
+++ b/dashboardv2/public/js/views/tag/TagLayoutView.js
@@ -103,7 +103,7 @@ define(['require',
});
},
fetchCollections: function() {
- $.extend(this.tagCollection.queryParams, { type: 'TRAIT', });
+ $.extend(this.tagCollection.queryParams, { type: 'TRAIT', notsupertype: 'TaxonomyTerm' });
this.tagCollection.fetch({ reset: true });
this.ui.offLineSearchTag.val("");
},
@@ -159,18 +159,14 @@ define(['require',
str = '';
_.each(this[collection].fullCollection.models, function(model) {
var tagName = model.get("tags");
- var tagOrTerm = Utils.checkTagOrTerm(tagName);
- if (!tagOrTerm.term) {
- if (searchString) {
- if (tagName.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/' + tagName + '" data-name="`' + tagName + '`" >' + tagName + '</a></li>' + str;
- } else {
- return;
- }
+ if (searchString) {
+ if (tagName.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/' + tagName + '" data-name="`' + tagName + '`" >' + tagName + '</a></li>' + str;
} else {
- //str = '<li class="parent-node" data-id="tags"><div class="tools"><i class="fa fa-trash-o" data-id="deleteTerm"></i></div><a href="#!/tag/tagAttribute/' + tagName + '">' + tagName + '</a></li>' + str;
- str = '<li class="parent-node" data-id="tags"><div class="tools"><i class="fa fa-ellipsis-h tagPopover"></i></div><a href="#!/tag/tagAttribute/' + tagName + '" data-name="`' + tagName + '`">' + tagName + '</a></li>' + str;
+ return;
}
+ } 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/' + tagName + '" data-name="`' + tagName + '`">' + tagName + '</a></li>' + str;
}
});
this.ui.tagsParent.empty().html(str);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/dashboardv2/public/js/views/tag/addTagModalView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/tag/addTagModalView.js b/dashboardv2/public/js/views/tag/addTagModalView.js
index d51be9f..877c64d 100644
--- a/dashboardv2/public/js/views/tag/addTagModalView.js
+++ b/dashboardv2/public/js/views/tag/addTagModalView.js
@@ -67,7 +67,7 @@ define(['require',
},
onRender: function() {
- $.extend(this.collection.queryParams, { type: 'TRAIT' });
+ $.extend(this.collection.queryParams, { type: 'TRAIT', notsupertype: 'TaxonomyTerm' });
this.collection.fetch({ reset: true });
},
bindEvents: function() {
@@ -81,10 +81,7 @@ define(['require',
tagsCollection: function() {
var str = '<option selected="selected" disabled="disabled">-- Select a tag from the dropdown list --</option>';
_.each(this.collection.fullCollection.models, function(obj, key) {
- var tagOrTerm = Utils.checkTagOrTerm(obj.get('tags'));
- if (!tagOrTerm.term) {
- str += '<option>' + obj.get('tags') + '</option>';
- }
+ str += '<option>' + obj.get('tags') + '</option>';
});
this.ui.addTagOptions.html(str);
this.ui.addTagOptions.select2({
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/425237d5/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 3c5db92..20accdd 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -6,6 +6,7 @@ INCOMPATIBLE CHANGES:
ALL CHANGES:
+ATLAS-1056 Differentiate between tag and term using attribute "taxonomy.namespace" (kevalbhat18 via sumasai)
ATLAS-1059 Change log level to debug for search APIs(sumasai)
ATLAS-1049 Fix validation while filtering by supertypes(mneethiraj via sumasai)
ATLAS-1053 Fix issues flagged by Coverity scan - potential NPE (mneethiraj via sumasai)