Repository: atlas
Updated Branches:
  refs/heads/master 4c901bd07 -> 1099f1ba1


ATLAS-2819: UI: Re-evaluate classification propagation during entity delete

Signed-off-by: Sarath Subramanian <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/1099f1ba
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/1099f1ba
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/1099f1ba

Branch: refs/heads/master
Commit: 1099f1ba1169ce670fbdcf29803f8169f2ca9df4
Parents: 4c901bd
Author: Abhishek Kadam <[email protected]>
Authored: Mon Aug 13 12:24:54 2018 -0700
Committer: Sarath Subramanian <[email protected]>
Committed: Mon Aug 13 12:24:54 2018 -0700

----------------------------------------------------------------------
 dashboardv2/public/js/models/VTag.js                  |  4 ++--
 dashboardv2/public/js/utils/CommonViewFunction.js     |  2 +-
 dashboardv2/public/js/utils/UrlLinks.js               |  8 ++++----
 .../public/js/views/tag/TagDetailTableLayoutView.js   | 14 ++++++++------
 4 files changed, 15 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/1099f1ba/dashboardv2/public/js/models/VTag.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/models/VTag.js 
b/dashboardv2/public/js/models/VTag.js
index fc5a97f..384bcc3 100644
--- a/dashboardv2/public/js/models/VTag.js
+++ b/dashboardv2/public/js/models/VTag.js
@@ -40,8 +40,8 @@ define(['require',
         /*************************
          * Non - CRUD operations
          *************************/
-        deleteAssociation: function(guid, name, options) {
-            var url = UrlLinks.entitiesApiUrl({ guid: guid, name: name });
+        deleteAssociation: function(guid, name, associatedGuid, options) {
+            var url = UrlLinks.entitiesApiUrl({ guid: guid, name: name, 
associatedGuid: associatedGuid });
             options = _.extend({
                 contentType: 'application/json',
                 dataType: 'json'

http://git-wip-us.apache.org/repos/asf/atlas/blob/1099f1ba/dashboardv2/public/js/utils/CommonViewFunction.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js 
b/dashboardv2/public/js/utils/CommonViewFunction.js
index bbe39e5..412fc2a 100644
--- a/dashboardv2/public/js/utils/CommonViewFunction.js
+++ b/dashboardv2/public/js/utils/CommonViewFunction.js
@@ -33,7 +33,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Enum
                             if (options.showLoader) {
                                 options.showLoader();
                             }
-                            tagModel.deleteAssociation(options.guid, 
options.tagName, {
+                            tagModel.deleteAssociation(options.guid, 
options.tagName, options.associatedGuid, {
                                 skipDefaultError: true,
                                 success: function(data) {
                                     Utils.notifySuccess({

http://git-wip-us.apache.org/repos/asf/atlas/blob/1099f1ba/dashboardv2/public/js/utils/UrlLinks.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/UrlLinks.js 
b/dashboardv2/public/js/utils/UrlLinks.js
index 09cf2c0..66f2ebe 100644
--- a/dashboardv2/public/js/utils/UrlLinks.js
+++ b/dashboardv2/public/js/utils/UrlLinks.js
@@ -52,9 +52,12 @@ define(['require', 'utils/Enums', 'utils/Utils', 
'underscore'], function(require
             var entitiesUrl = this.baseUrlV2 + '/entity';
             if (options) {
                 var guid = options.guid,
+                    associatedGuid = options.associatedGuid,
                     name = options.name,
                     minExtInfo = options.minExtInfo;
-                if (guid && name) {
+                if (guid && name && associatedGuid) {
+                    return entitiesUrl + '/guid/' + guid + '/classification/' 
+ name + '?associatedEntityGuid=' + associatedGuid;
+                } else if (guid && name) {
                     entitiesUrl += '/guid/' + guid + '/classification/' + name;
                 } else if (guid && !name) {
                     entitiesUrl += '/guid/' + guid;
@@ -81,9 +84,6 @@ define(['require', 'utils/Enums', 'utils/Utils', 
'underscore'], function(require
         entityCollectionaudit: function(guid) {
             return this.baseUrlV2 + '/entity/' + guid + '/audit';
         },
-        replicationCollectionaudit: function(name) {
-            return this.baseUrl + '/admin/cluster/audit/' + name;
-        },
         classicationApiUrl: function(name, guid) {
             var typeUrl = this.typedefsUrl();
             if (name) {

http://git-wip-us.apache.org/repos/asf/atlas/blob/1099f1ba/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 07f9b70..6d8c416 100644
--- a/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
+++ b/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
@@ -151,12 +151,12 @@ define(['require',
                                             var val = 
_.isNull(values[sortedObj.name]) ? "-" : values[sortedObj.name],
                                                 key = sortedObj.name;
                                             if (_.isObject(val)) {
-                                                val = JSON.stringify(val); 
+                                                val = JSON.stringify(val);
                                             }
                                             if (sortedObj.typeName === "date") 
{
                                                 val = new Date(val)
                                             }
-                                            stringValue += "<tr><td 
class='html-cell string-cell renderable'>" + _.escape(key) + "</td><td 
class='html-cell string-cell renderable' data-type='"+sortedObj.typeName+"'>" + 
_.escape(val) + "</td>";
+                                            stringValue += "<tr><td 
class='html-cell string-cell renderable'>" + _.escape(key) + "</td><td 
class='html-cell string-cell renderable' data-type='" + sortedObj.typeName + 
"'>" + _.escape(val) + "</td>";
                                         });
                                         tagValue = "<div 
class='mainAttrTable'><table class='attriTable'><tr><th class='html-cell 
string-cell renderable'>Name</th><th class='html-cell string-cell 
renderable'>Value</th>" + stringValue + "</table></div>";
                                     }
@@ -171,13 +171,13 @@ define(['require',
                             sortable: false,
                             formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
                                 fromRaw: function(rawValue, model) {
-                                    var deleteData = '<button title="Delete" 
class="btn btn-action btn-sm" data-id="delete" data-name="' + 
model.get('typeName') + '"><i class="fa fa-trash"></i></button>',
+                                    var deleteData = '<button title="Delete" 
class="btn btn-action btn-sm" data-id="delete" data-entityguid="' + 
model.get('entityGuid') + '" data-name="' + model.get('typeName') + '"><i 
class="fa fa-trash"></i></button>',
                                         editData = '<button title="Edit" 
class="btn btn-action btn-sm" data-id="edit" data-name="' + 
model.get('typeName') + '"><i class="fa fa-pencil"></i></button>',
                                         btnObj = null;
                                     if (that.guid === model.get('entityGuid')) 
{
                                         return '<div class="btn-inline">' + 
deleteData + editData + '</div>'
-                                    } else {
-                                        return;
+                                    } else if (that.guid !== 
model.get('entityGuid') && model.get('entityStatus') === "DELETED") {
+                                        return '<div class="btn-inline">' + 
deleteData + '</div>';
                                     }
                                 }
                             })
@@ -198,10 +198,12 @@ define(['require',
             },
             onClickTagCross: function(e) {
                 var that = this,
-                    tagName = $(e.currentTarget).data("name");
+                    tagName = $(e.currentTarget).data("name"),
+                    entityGuid = $(e.currentTarget).data("entityguid");
                 CommonViewFunction.deleteTag({
                     tagName: tagName,
                     guid: that.guid,
+                    associatedGuid: that.guid != entityGuid ? entityGuid : 
null,
                     msg: "<div class='ellipsis'>Remove: " + "<b>" + 
_.escape(tagName) + "</b> assignment from" + " " + "<b>" + this.entityName + 
"?</b></div>",
                     titleMessage: Messages.removeTag,
                     okText: "Remove",

Reply via email to