This is an automated email from the ASF dual-hosted git repository.
pinal pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/atlas.git
The following commit(s) were added to refs/heads/master by this push:
new 926fb29 ATLAS-4426:UI:#1 In search results page, user should not be
able to access the option for applying term or classification for historical
entity, fixed
926fb29 is described below
commit 926fb297c13574e761db4798763780715af2477e
Author: prasad pawar <[email protected]>
AuthorDate: Fri Sep 17 11:55:49 2021 +0530
ATLAS-4426:UI:#1 In search results page, user should not be able to access
the option for applying term or classification for historical entity, fixed
Signed-off-by: Pinal Shah <[email protected]>
---
.../js/views/glossary/AssignTermLayoutView.js | 10 +++++++---
.../js/views/search/SearchResultLayoutView.js | 22 ++++++++++++++--------
dashboardv2/public/js/views/tag/AddTagModalView.js | 9 ++++++---
.../js/views/glossary/AssignTermLayoutView.js | 11 +++++++----
.../js/views/search/SearchResultLayoutView.js | 22 ++++++++++++++--------
dashboardv3/public/js/views/tag/AddTagModalView.js | 9 ++++++---
6 files changed, 54 insertions(+), 29 deletions(-)
diff --git a/dashboardv2/public/js/views/glossary/AssignTermLayoutView.js
b/dashboardv2/public/js/views/glossary/AssignTermLayoutView.js
index e9c4a71..b4e6a48 100644
--- a/dashboardv2/public/js/views/glossary/AssignTermLayoutView.js
+++ b/dashboardv2/public/js/views/glossary/AssignTermLayoutView.js
@@ -138,9 +138,9 @@ define(['require',
},
onFinished: function(event, currentIndex) {
var $assignBtn = $(this).find('a[href="#finish"]');
- if(!$assignBtn.attr('disabled')){
+ if (!$assignBtn.attr('disabled')) {
$assignBtn.attr('disabled',
true).showButtonLoader();
-
$assignBtn.parent().attr('aria-disabled','true').addClass('disabled');
+ $assignBtn.parent().attr('aria-disabled',
'true').addClass('disabled');
that.assignTerm();
}
},
@@ -171,8 +171,11 @@ define(['require',
cust_error: function() {
var $assignBtn =
that.$el.find('a[href="#finish"]');
$assignBtn.removeAttr('disabled').hideButtonLoader();
-
$assignBtn.parent().attr('aria-disabled','false').removeClass('disabled');
+ $assignBtn.parent().attr('aria-disabled',
'false').removeClass('disabled');
that.assignTermError = true;
+ },
+ complete: function() {
+ that.modal.trigger('closeModal');
}
},
model = new this.glossaryCollection.model();
@@ -228,6 +231,7 @@ define(['require',
"</b> " + (deletedEntity.length === 1 ?
"entity " : "entities ") +
Messages.assignTermDeletedEntity
});
+ that.modal.close();
}
} else {
data.push({ "guid": that.guid });
diff --git a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
index 74dc58d..04e6856 100644
--- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
@@ -154,6 +154,7 @@ define(['require',
this.offset = 0;
this.bindEvents();
this.multiSelectEntity = [];
+ this.activeEntityCountSelected = 0;
this.searchType = 'Basic Search';
this.columnOrder = null;
this.defaultColumns = ["selected", "name", "description",
"typeName", "owner", "tag", "term"];
@@ -189,6 +190,7 @@ define(['require',
this.onClickLoadMore();
this.listenTo(this.searchCollection, 'backgrid:selected',
function(model, checked) {
this.multiSelectEntity = [];
+ that.activeEntityCountSelected = 0;
if (checked === true) {
model.set("isEnable", true);
} else {
@@ -197,6 +199,9 @@ define(['require',
this.searchCollection.find(function(item) {
if (item.get('isEnable')) {
var obj = item.toJSON();
+ if (item.get('status') === 'ACTIVE') {
+ that.activeEntityCountSelected++;
+ }
that.multiSelectEntity.push({
id: obj.guid,
model: obj
@@ -342,10 +347,11 @@ define(['require',
}, options));
},
updateMultiSelect: function() {
- if (this.multiSelectEntity.length > 0) {
- this.$('.multiSelectTag,.multiSelectTerm').show();
+ var addTermTagButton =
this.$('.multiSelectTag,.multiSelectTerm');
+ if (this.activeEntityCountSelected > 0) {
+ addTermTagButton.show();
} else {
- this.$('.multiSelectTag,.multiSelectTerm').hide();
+ addTermTagButton.hide();
}
},
updateColumnList: function(updatedList) {
@@ -372,6 +378,8 @@ define(['require',
isSearchTab = Utils.getUrlState.isSearchTab(),
tagFilters = null,
entityFilters = null;
+ that.activeEntityCountSelected = 0;
+ that.updateMultiSelect();
if (isSearchTab) {
tagFilters =
CommonViewFunction.attributeFilter.generateAPIObj(this.value.tagFilters);
entityFilters =
CommonViewFunction.attributeFilter.generateAPIObj(this.value.entityFilters);
@@ -485,7 +493,6 @@ define(['require',
that.ui.activePage.text(that.activePage);
that.renderTableLayoutView();
that.multiSelectEntity = [];
- that.updateMultiSelect();
if (dataLength > 0) {
that.$('.searchTable').removeClass('noData')
@@ -1057,15 +1064,15 @@ define(['require',
};
}
},
- addTagModalView: function(guid, multiple) {
+ addTagModalView: function(guid, multiple, entityCount) {
var that = this;
require(['views/tag/AddTagModalView'],
function(AddTagModalView) {
var view = new AddTagModalView({
guid: guid,
multiple: multiple,
+ entityCount: entityCount,
callback: function() {
that.multiSelectEntity = [];
- that.$('.multiSelectTag,.multiSelectTerm').hide();
that.fetchCollection();
if (that.searchVent) {
that.searchVent.trigger('entityList:refresh');
@@ -1116,7 +1123,7 @@ define(['require',
that = this,
isTagMultiSelect =
$(e.currentTarget).hasClass('multiSelectTag');
if (isTagMultiSelect && this.multiSelectEntity &&
this.multiSelectEntity.length) {
- that.addTagModalView(guid, this.multiSelectEntity);
+ that.addTagModalView(guid, this.multiSelectEntity,
this.activeEntityCountSelected);
} else {
guid = that.$(e.currentTarget).data("guid");
that.addTagModalView(guid);
@@ -1139,7 +1146,6 @@ define(['require',
associatedTerms: obj.associatedTerms,
callback: function() {
that.multiSelectEntity = [];
-
that.$('.multiSelectTag,.multiSelectTerm').hide();
that.fetchCollection();
},
glossaryCollection: glossaryCollection,
diff --git a/dashboardv2/public/js/views/tag/AddTagModalView.js
b/dashboardv2/public/js/views/tag/AddTagModalView.js
index 5c5581b..da70dc4 100644
--- a/dashboardv2/public/js/views/tag/AddTagModalView.js
+++ b/dashboardv2/public/js/views/tag/AddTagModalView.js
@@ -110,7 +110,7 @@ define(['require',
* @constructs
*/
initialize: function(options) {
- _.extend(this, _.pick(options, 'modalCollection', 'guid',
'callback', 'multiple', 'showLoader', 'hideLoader', 'tagList', 'tagModel',
'enumDefCollection'));
+ _.extend(this, _.pick(options, 'modalCollection', 'guid',
'callback', 'multiple', 'entityCount', 'showLoader', 'hideLoader', 'tagList',
'tagModel', 'enumDefCollection'));
this.commonCollection = new VTagList();
if (this.tagModel) {
this.collection = new
Backbone.Collection(this.tagModel.validityPeriods);
@@ -185,6 +185,7 @@ define(['require',
"</b> " + (obj.deletedEntity.length === 1 ?
"entity " : "entities ") +
Messages.assignDeletedEntity
});
+ that.modal.close();
}
if (obj.skipEntity.length) {
var text = "<b>" + obj.skipEntity.length + " of " +
that.multiple.length +
@@ -486,7 +487,7 @@ define(['require',
success: function(data) {
var addupdatetext = that.tagModel ? 'updated successfully
to ' : 'added to ';
Utils.notifySuccess({
- content: "Classification " + tagName + " has been " +
addupdatetext + (that.multiple ? "entities" : "entity")
+ content: "Classification " + tagName + " has been " +
addupdatetext + (that.entityCount > 1 ? "entities" : "entity")
});
if (options.modalCollection) {
options.modalCollection.fetch({ reset: true });
@@ -494,13 +495,15 @@ define(['require',
if (that.callback) {
that.callback();
}
- that.modal.close();
},
cust_error: function(model, response) {
that.modal.$el.find('button.ok').hideButtonLoader();
if (that.hideLoader) {
that.hideLoader();
}
+ },
+ complete: function() {
+ that.modal.close();
}
});
},
diff --git a/dashboardv3/public/js/views/glossary/AssignTermLayoutView.js
b/dashboardv3/public/js/views/glossary/AssignTermLayoutView.js
index e9c4a71..a88b57c 100644
--- a/dashboardv3/public/js/views/glossary/AssignTermLayoutView.js
+++ b/dashboardv3/public/js/views/glossary/AssignTermLayoutView.js
@@ -138,9 +138,9 @@ define(['require',
},
onFinished: function(event, currentIndex) {
var $assignBtn = $(this).find('a[href="#finish"]');
- if(!$assignBtn.attr('disabled')){
+ if (!$assignBtn.attr('disabled')) {
$assignBtn.attr('disabled',
true).showButtonLoader();
-
$assignBtn.parent().attr('aria-disabled','true').addClass('disabled');
+ $assignBtn.parent().attr('aria-disabled',
'true').addClass('disabled');
that.assignTerm();
}
},
@@ -163,7 +163,6 @@ define(['require',
Utils.notifySuccess({
content: (that.isCategoryView ||
that.isEntityView || that.isAttributeRelationView ? "Term" : "Category") + " is
associated successfully "
});
- that.modal.trigger('closeModal');
if (that.callback) {
that.callback();
}
@@ -171,8 +170,11 @@ define(['require',
cust_error: function() {
var $assignBtn =
that.$el.find('a[href="#finish"]');
$assignBtn.removeAttr('disabled').hideButtonLoader();
-
$assignBtn.parent().attr('aria-disabled','false').removeClass('disabled');
+ $assignBtn.parent().attr('aria-disabled',
'false').removeClass('disabled');
that.assignTermError = true;
+ },
+ complete: function() {
+ that.modal.trigger('closeModal');
}
},
model = new this.glossaryCollection.model();
@@ -228,6 +230,7 @@ define(['require',
"</b> " + (deletedEntity.length === 1 ?
"entity " : "entities ") +
Messages.assignTermDeletedEntity
});
+ that.modal.close();
}
} else {
data.push({ "guid": that.guid });
diff --git a/dashboardv3/public/js/views/search/SearchResultLayoutView.js
b/dashboardv3/public/js/views/search/SearchResultLayoutView.js
index 26bd969..c31db48 100644
--- a/dashboardv3/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv3/public/js/views/search/SearchResultLayoutView.js
@@ -161,6 +161,7 @@ define(['require',
this.offset = 0;
this.bindEvents();
this.multiSelectEntity = [];
+ this.activeEntityCountSelected = 0;
this.searchType = 'Basic Search';
this.columnOrder = null;
this.defaultColumns = ["selected", "name", "description",
"typeName", "owner", "tag", "term"];
@@ -196,6 +197,7 @@ define(['require',
this.onClickLoadMore();
this.listenTo(this.searchCollection, 'backgrid:selected',
function(model, checked) {
this.multiSelectEntity = [];
+ that.activeEntityCountSelected = 0;
if (checked === true) {
model.set("isEnable", true);
} else {
@@ -204,6 +206,9 @@ define(['require',
this.searchCollection.find(function(item) {
if (item.get('isEnable')) {
var obj = item.toJSON();
+ if (item.get('status') === 'ACTIVE') {
+ that.activeEntityCountSelected++;
+ }
that.multiSelectEntity.push({
id: obj.guid,
model: obj
@@ -356,10 +361,11 @@ define(['require',
}, options));
},
updateMultiSelect: function() {
- if (this.multiSelectEntity.length > 0) {
- this.$('.multiSelectTag,.multiSelectTerm').show();
+ var addTermTagButton =
this.$('.multiSelectTag,.multiSelectTerm');
+ if (this.activeEntityCountSelected > 0) {
+ addTermTagButton.show();
} else {
- this.$('.multiSelectTag,.multiSelectTerm').hide();
+ addTermTagButton.hide();
}
},
updateColumnList: function(updatedList) {
@@ -386,6 +392,8 @@ define(['require',
isSearchTab = Utils.getUrlState.isSearchTab(),
tagFilters = null,
entityFilters = null;
+ that.activeEntityCountSelected = 0;
+ that.updateMultiSelect();
if (isSearchTab) {
tagFilters =
CommonViewFunction.attributeFilter.generateAPIObj(this.value.tagFilters);
entityFilters =
CommonViewFunction.attributeFilter.generateAPIObj(this.value.entityFilters);
@@ -499,7 +507,6 @@ define(['require',
that.ui.activePage.text(that.activePage);
that.renderTableLayoutView();
that.multiSelectEntity = [];
- that.updateMultiSelect();
if (dataLength > 0) {
that.$('.searchTable').removeClass('noData')
@@ -1072,18 +1079,18 @@ define(['require',
};
}
},
- addTagModalView: function(guid, multiple) {
+ addTagModalView: function(guid, multiple, entityCount) {
var that = this;
require(['views/tag/AddTagModalView'],
function(AddTagModalView) {
var view = new AddTagModalView({
guid: guid,
multiple: multiple,
+ entityCount: entityCount,
callback: function() {
if (that.searchVent) {
that.searchVent.trigger("Classification:Count:Update");
}
that.multiSelectEntity = [];
- that.$('.multiSelectTag,.multiSelectTerm').hide();
that.fetchCollection();
},
tagList: that.getTagList(guid, multiple),
@@ -1132,7 +1139,7 @@ define(['require',
that = this,
isTagMultiSelect =
$(e.currentTarget).hasClass('multiSelectTag');
if (isTagMultiSelect && this.multiSelectEntity &&
this.multiSelectEntity.length) {
- that.addTagModalView(guid, this.multiSelectEntity);
+ that.addTagModalView(guid, this.multiSelectEntity,
this.activeEntityCountSelected);
} else {
guid = that.$(e.currentTarget).data("guid");
that.addTagModalView(guid);
@@ -1155,7 +1162,6 @@ define(['require',
associatedTerms: obj.associatedTerms,
callback: function() {
that.multiSelectEntity = [];
-
that.$('.multiSelectTag,.multiSelectTerm').hide();
that.fetchCollection();
},
glossaryCollection: glossaryCollection,
diff --git a/dashboardv3/public/js/views/tag/AddTagModalView.js
b/dashboardv3/public/js/views/tag/AddTagModalView.js
index 5c5581b..da70dc4 100644
--- a/dashboardv3/public/js/views/tag/AddTagModalView.js
+++ b/dashboardv3/public/js/views/tag/AddTagModalView.js
@@ -110,7 +110,7 @@ define(['require',
* @constructs
*/
initialize: function(options) {
- _.extend(this, _.pick(options, 'modalCollection', 'guid',
'callback', 'multiple', 'showLoader', 'hideLoader', 'tagList', 'tagModel',
'enumDefCollection'));
+ _.extend(this, _.pick(options, 'modalCollection', 'guid',
'callback', 'multiple', 'entityCount', 'showLoader', 'hideLoader', 'tagList',
'tagModel', 'enumDefCollection'));
this.commonCollection = new VTagList();
if (this.tagModel) {
this.collection = new
Backbone.Collection(this.tagModel.validityPeriods);
@@ -185,6 +185,7 @@ define(['require',
"</b> " + (obj.deletedEntity.length === 1 ?
"entity " : "entities ") +
Messages.assignDeletedEntity
});
+ that.modal.close();
}
if (obj.skipEntity.length) {
var text = "<b>" + obj.skipEntity.length + " of " +
that.multiple.length +
@@ -486,7 +487,7 @@ define(['require',
success: function(data) {
var addupdatetext = that.tagModel ? 'updated successfully
to ' : 'added to ';
Utils.notifySuccess({
- content: "Classification " + tagName + " has been " +
addupdatetext + (that.multiple ? "entities" : "entity")
+ content: "Classification " + tagName + " has been " +
addupdatetext + (that.entityCount > 1 ? "entities" : "entity")
});
if (options.modalCollection) {
options.modalCollection.fetch({ reset: true });
@@ -494,13 +495,15 @@ define(['require',
if (that.callback) {
that.callback();
}
- that.modal.close();
},
cust_error: function(model, response) {
that.modal.$el.find('button.ok').hideButtonLoader();
if (that.hideLoader) {
that.hideLoader();
}
+ },
+ complete: function() {
+ that.modal.close();
}
});
},