You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by kb...@apache.org on 2019/05/28 12:33:27 UTC
[atlas] 03/04: ATLAS-3218 : UI - entity detail page columns sorting
empty value check
This is an automated email from the ASF dual-hosted git repository.
kbhatt pushed a commit to branch branch-1.0
in repository https://gitbox.apache.org/repos/asf/atlas.git
commit 3883b363b5267c892294cc97c55576feaefe8788
Author: kevalbhatt <kb...@apache.org>
AuthorDate: Mon May 20 20:58:21 2019 +0530
ATLAS-3218 : UI - entity detail page columns sorting empty value check
Signed-off-by: Sarath Subramanian <ss...@cloudera.com>
(cherry picked from commit 4e4038f6e1dff1e5900a14cf306ea64817647b0a)
---
dashboardv2/public/js/utils/CommonViewFunction.js | 8 +++----
dashboardv2/public/js/utils/Utils.js | 28 ++++++++++++++++++++++
.../js/views/detail_page/DetailPageLayoutView.js | 7 +++++-
3 files changed, 38 insertions(+), 5 deletions(-)
diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js b/dashboardv2/public/js/utils/CommonViewFunction.js
index 6741e3b..38a1467 100644
--- a/dashboardv2/public/js/utils/CommonViewFunction.js
+++ b/dashboardv2/public/js/utils/CommonViewFunction.js
@@ -104,7 +104,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
value = Utils.getName(data);
var id = "";
if (data.guid) {
- if (Enums.entityStateReadOnly[data.status]) {
+ if (Enums.entityStateReadOnly[data.status || data.entityStatus]) {
deleteButton += '<button title="Deleted" class="btn btn-action btn-md deleteBtn"><i class="fa fa-trash"></i></button>';
}
id = data.guid;
@@ -144,7 +144,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
var inputOutputField = keyValue[i],
id = inputOutputField.guid || (_.isObject(inputOutputField.id) ? inputOutputField.id.id : inputOutputField.id),
tempLink = "",
- status = inputOutputField.status || (_.isObject(inputOutputField.id) ? inputOutputField.id.state : inputOutputField.state),
+ status = (inputOutputField.status || inputOutputField.entityStatus) || (_.isObject(inputOutputField.id) ? inputOutputField.id.state : inputOutputField.state),
readOnly = Enums.entityStateReadOnly[status];
if (!inputOutputField.attributes && inputOutputField.values) {
inputOutputField['attributes'] = inputOutputField.values;
@@ -301,7 +301,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
++count;
});
}
- if (!Enums.entityStateReadOnly[obj.status]) {
+ if (!Enums.entityStateReadOnly[obj.status || obj.entityStatus]) {
if (obj.guid) {
addTag += '<a href="javascript:void(0)" data-id="addTag" class="btn btn-action btn-sm assignTag" data-guid="' + obj.guid + '" ><i class="fa fa-plus"></i></a>';
} else {
@@ -333,7 +333,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
++count;
});
}
- if (!Enums.entityStateReadOnly[obj.status]) {
+ if (!Enums.entityStateReadOnly[obj.status || obj.entityStatus]) {
if (obj.guid) {
addTerm += '<a href="javascript:void(0)" data-id="addTerm" class="btn btn-action btn-sm assignTag" data-guid="' + obj.guid + '" ><i class="fa fa-plus"></i></a>';
} else {
diff --git a/dashboardv2/public/js/utils/Utils.js b/dashboardv2/public/js/utils/Utils.js
index 43b18d8..8655830 100644
--- a/dashboardv2/public/js/utils/Utils.js
+++ b/dashboardv2/public/js/utils/Utils.js
@@ -576,6 +576,34 @@ define(['require', 'utils/Globals', 'pnotify', 'utils/Messages', 'utils/Enums',
});
}
}
+
+ Utils.findAndMergeRelationShipEntity = function(options) {
+ var attributeObject = options.attributeObject,
+ relationshipAttributes = options.relationshipAttributes;
+ _.each(attributeObject, function(val, key) {
+ var attributVal = val;
+ if (relationshipAttributes && relationshipAttributes[key]) {
+ var relationShipVal = relationshipAttributes[key];
+ if (_.isObject(val)) {
+ if (_.isArray(val)) {
+ _.each(val, function(attr) {
+ if (attr && attr.attributes === undefined) {
+ var entityFound = _.find(relationShipVal, { guid: attr.guid });
+ if (entityFound) {
+ attr.attributes = _.omit(entityFound, 'typeName', 'guid', 'entityStatus');
+ attr.status = entityFound.entityStatus;
+ }
+ }
+ });
+ } else if (relationShipVal && val.attributes === undefined) {
+ val.attributes = _.omit(relationShipVal, 'typeName', 'guid', 'entityStatus');
+ val.status = relationShipVal.entityStatus;
+ }
+ }
+ }
+ })
+ }
+
Utils.getNestedSuperTypes = function(options) {
var data = options.data,
collection = options.collection,
diff --git a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
index aa6dc5b..d5c4d63 100644
--- a/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
+++ b/dashboardv2/public/js/views/detail_page/DetailPageLayoutView.js
@@ -141,6 +141,11 @@ define(['require',
referredEntities: this.entityObject.referredEntities
});
+ Utils.findAndMergeRelationShipEntity({
+ attributeObject: collectionJSON.attributes,
+ relationshipAttributes: collectionJSON.relationshipAttributes
+ });
+
// check if entity is process
var isProcess = false,
superTypes = Utils.getNestedSuperTypes({ data: this.activeEntityDef.toJSON(), collection: this.entityDefCollection }),
@@ -217,7 +222,7 @@ define(['require',
}
if (collectionJSON.attributes && collectionJSON.attributes.columns) {
var valueSorted = _.sortBy(collectionJSON.attributes.columns, function(val) {
- return val.attributes.position
+ return val.attributes && val.attributes.position
});
collectionJSON.attributes.columns = valueSorted;
}