Commit f6ea040a by kevalbhatt Committed by Madhan Neethiraj

ATLAS-1760: UI update to render property value per attribute type in entity definition

parent e8a73821
...@@ -88,13 +88,10 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum ...@@ -88,13 +88,10 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
} }
}); });
} }
CommonViewFunction.propertyTable = function(valueObject, scope, searchTable) { CommonViewFunction.propertyTable = function(scope, valueObject, entityDef) {
var table = "", var table = "",
fetchInputOutputValue = function(id) { fetchInputOutputValue = function(id) {
var that = this; var that = this;
if (searchTable) {
++scope.fetchList
}
scope.entityModel.getEntity(id, { scope.entityModel.getEntity(id, {
success: function(serverData) { success: function(serverData) {
var value = "", var value = "",
...@@ -118,113 +115,92 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum ...@@ -118,113 +115,92 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum
scope.$('td div[data-id="' + id + '"]').append(deleteButton); scope.$('td div[data-id="' + id + '"]').append(deleteButton);
} }
}, },
complete: function() { complete: function() {}
if (searchTable) {
--scope.fetchList;
scope.checkTableFetch();
}
}
}); });
} }
_.sortBy(_.keys(valueObject)).map(function(key) { _.sortBy(_.keys(valueObject)).map(function(key) {
key = _.escape(key) key = _.escape(key)
var keyValue = valueObject[key], var keyValue = valueObject[key],
valueOfArray = []; valueOfArray = [];
if (_.isObject(keyValue)) { var defEntity = _.find(entityDef, { name: key });
if (!_.isArray(keyValue) && _.isObject(keyValue)) { if (defEntity) {
keyValue = [keyValue]; var defEntityType = defEntity.typeName.toLocaleLowerCase();
} if (defEntityType === 'date' || defEntityType === 'time') {
var subLink = ""; table += '<tr><td>' + _.escape(key) + '</td><td>' + new Date(keyValue) + '</td></tr>';
for (var i = 0; i < keyValue.length; i++) { } else if (_.isObject(keyValue)) {
var inputOutputField = keyValue[i], if (!_.isArray(keyValue) && _.isObject(keyValue)) {
id = inputOutputField.guid || (_.isObject(inputOutputField.id) ? inputOutputField.id.id : inputOutputField.id), keyValue = [keyValue];
tempLink = "",
status = inputOutputField.status || (_.isObject(inputOutputField.id) ? inputOutputField.id.state : inputOutputField.state),
readOnly = Enums.entityStateReadOnly[status];
if (!inputOutputField.attributes && inputOutputField.values) {
inputOutputField['attributes'] = inputOutputField.values;
} }
if (_.isString(inputOutputField) || _.isBoolean(inputOutputField) || _.isNumber(inputOutputField)) { var subLink = "";
var tempVarfor$check = inputOutputField.toString(); for (var i = 0; i < keyValue.length; i++) {
if (tempVarfor$check.indexOf("$") == -1) { var inputOutputField = keyValue[i],
valueOfArray.push('<span>' + _.escape(inputOutputField) + '</span>'); id = inputOutputField.guid || (_.isObject(inputOutputField.id) ? inputOutputField.id.id : inputOutputField.id),
tempLink = "",
status = inputOutputField.status || (_.isObject(inputOutputField.id) ? inputOutputField.id.state : inputOutputField.state),
readOnly = Enums.entityStateReadOnly[status];
if (!inputOutputField.attributes && inputOutputField.values) {
inputOutputField['attributes'] = inputOutputField.values;
} }
} else if (_.isObject(inputOutputField) && !id) { if (_.isString(inputOutputField) || _.isBoolean(inputOutputField) || _.isNumber(inputOutputField)) {
var attributesList = inputOutputField; var tempVarfor$check = inputOutputField.toString();
if (scope.typeHeaders && inputOutputField.typeName) {
var typeNameCategory = scope.typeHeaders.fullCollection.findWhere({ name: inputOutputField.typeName });
if (attributesList.attributes && typeNameCategory && typeNameCategory.get('category') === 'STRUCT') {
attributesList = attributesList.attributes;
}
}
_.each(attributesList, function(objValue, objKey) {
var value = objValue,
tempVarfor$check = objKey.toString();
if (tempVarfor$check.indexOf("$") == -1) { if (tempVarfor$check.indexOf("$") == -1) {
if (_.isObject(value)) { valueOfArray.push('<span>' + _.escape(inputOutputField) + '</span>');
value = JSON.stringify(value); }
} else if (_.isObject(inputOutputField) && !id) {
var attributesList = inputOutputField;
if (scope.typeHeaders && inputOutputField.typeName) {
var typeNameCategory = scope.typeHeaders.fullCollection.findWhere({ name: inputOutputField.typeName });
if (attributesList.attributes && typeNameCategory && typeNameCategory.get('category') === 'STRUCT') {
attributesList = attributesList.attributes;
} }
valueOfArray.push('<span>' + _.escape(objKey) + ':' + _.escape(value) + '</span>');
} }
}); _.each(attributesList, function(objValue, objKey) {
} var value = objValue,
tempVarfor$check = objKey.toString();
if (id && inputOutputField) { if (tempVarfor$check.indexOf("$") == -1) {
var name = Utils.getName(inputOutputField); if (_.isObject(value)) {
if (name === "-" || name === id) { value = JSON.stringify(value);
var fetch = true; }
var fetchId = (_.isObject(id) ? id.id : id); valueOfArray.push('<span>' + _.escape(objKey) + ':' + _.escape(value) + '</span>');
fetchInputOutputValue(fetchId); }
tempLink += '<div data-id="' + fetchId + '"></div>'; });
} else {
tempLink += '<a href="#!/detailPage/' + id + '">' + name + '</a>'
}
}
if (readOnly) {
if (!fetch) {
tempLink += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>';
subLink += '<div class="block readOnlyLink">' + tempLink + '</div>';
} else {
fetch = false;
subLink += tempLink;
} }
} else { if (id && inputOutputField) {
if (tempLink.search('href') != -1) { var name = Utils.getName(inputOutputField);
subLink += '<div>' + tempLink + '</div>' if (name === "-" || name === id) {
} else if (tempLink.length) { var fetch = true;
subLink += tempLink var fetchId = (_.isObject(id) ? id.id : id);
} fetchInputOutputValue(fetchId);
} tempLink += '<div data-id="' + fetchId + '"></div>';
} } else {
if (valueOfArray.length) { tempLink += '<a href="#!/detailPage/' + id + '">' + name + '</a>'
subLink = valueOfArray.join(', '); }
}
if (searchTable) {
table = subLink;
} else {
table += '<tr><td>' + _.escape(key) + '</td><td>' + subLink + '</td></tr>';
}
} else {
var tempVarfor$check = key.toString();
if (tempVarfor$check.indexOf("$") == -1) {
if (key.indexOf("Time") !== -1 || key == "retention") {
if (searchTable) {
table = new Date(valueObject[key]);
} else {
table += '<tr><td>' + _.escape(key) + '</td><td>' + new Date(valueObject[key]) + '</td></tr>';
} }
} else { if (readOnly) {
if (searchTable) { if (!fetch) {
if (_.isBoolean(valueObject[key])) { tempLink += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>';
table = valueObject[key].toString(); subLink += '<div class="block readOnlyLink">' + tempLink + '</div>';
} else { } else {
table = valueObject[key]; fetch = false;
subLink += tempLink;
} }
} else { } else {
table += '<tr><td>' + _.escape(key) + '</td><td>' + _.escape(valueObject[key]) + '</td></tr>'; if (tempLink.search('href') != -1) {
subLink += '<div>' + tempLink + '</div>'
} else if (tempLink.length) {
subLink += tempLink
}
} }
} }
if (valueOfArray.length) {
subLink = valueOfArray.join(', ');
}
table += '<tr><td>' + _.escape(key) + '</td><td>' + subLink + '</td></tr>';
} else {
table += '<tr><td>' + _.escape(key) + '</td><td>' + _.escape(valueObject[key]) + '</td></tr>';
} }
} }
}); });
......
...@@ -57,7 +57,7 @@ define(['require', ...@@ -57,7 +57,7 @@ define(['require',
* @constructs * @constructs
*/ */
initialize: function(options) { initialize: function(options) {
_.extend(this, _.pick(options, 'guid', 'entity', 'entityName')); _.extend(this, _.pick(options, 'guid', 'entity', 'entityName', 'entityDef'));
this.entityCollection = new VEntityList(); this.entityCollection = new VEntityList();
this.count = 26; this.count = 26;
this.entityCollection.url = UrlLinks.entityCollectionaudit(this.guid); this.entityCollection.url = UrlLinks.entityCollectionaudit(this.guid);
...@@ -227,9 +227,9 @@ define(['require', ...@@ -227,9 +227,9 @@ define(['require',
'views/audit/CreateAuditTableLayoutView', 'views/audit/CreateAuditTableLayoutView',
], function(Modal, CreateAuditTableLayoutView) { ], function(Modal, CreateAuditTableLayoutView) {
that.action = $(e.target).data("action"); that.action = $(e.target).data("action");
var eventModel = that.entityCollection.findWhere({ 'eventKey': $(e.currentTarget).data('modalid') }).toJSON(), var eventModel = that.entityCollection.fullCollection.findWhere({ 'eventKey': $(e.currentTarget).data('modalid') }).toJSON(),
collectionModel = new that.entityCollection.model(eventModel), collectionModel = new that.entityCollection.model(eventModel),
view = new CreateAuditTableLayoutView({ guid: that.guid, entityModel: collectionModel, action: that.action, entity: that.entity, entityName: that.entityName }); view = new CreateAuditTableLayoutView({ guid: that.guid, entityModel: collectionModel, action: that.action, entity: that.entity, entityName: that.entityName, entityDef: that.entityDef });
var modal = new Modal({ var modal = new Modal({
title: that.action, title: that.action,
content: view, content: view,
......
...@@ -54,7 +54,7 @@ define(['require', ...@@ -54,7 +54,7 @@ define(['require',
* @constructs * @constructs
*/ */
initialize: function(options) { initialize: function(options) {
_.extend(this, _.pick(options, 'guid', 'entityModel', 'action', 'entity', 'entityName')); _.extend(this, _.pick(options, 'guid', 'entityModel', 'action', 'entity', 'entityName', 'entityDef'));
}, },
bindEvents: function() {}, bindEvents: function() {},
onRender: function() { onRender: function() {
...@@ -85,7 +85,7 @@ define(['require', ...@@ -85,7 +85,7 @@ define(['require',
} else if (parseDetailsObject && parseDetailsObject.values) { } else if (parseDetailsObject && parseDetailsObject.values) {
this.ui.auditHeaderValue.html('<th>Key</th><th>New Value</th>'); this.ui.auditHeaderValue.html('<th>Key</th><th>New Value</th>');
//CommonViewFunction.findAndmergeRefEntity(attributeObject, that.referredEntities); //CommonViewFunction.findAndmergeRefEntity(attributeObject, that.referredEntities);
table = CommonViewFunction.propertyTable(values, this); table = CommonViewFunction.propertyTable(this, values, this.entityDef);
if (table.length) { if (table.length) {
this.ui.noData.hide(); this.ui.noData.hide();
this.ui.tableAudit.show(); this.ui.tableAudit.show();
......
...@@ -173,8 +173,7 @@ define(['require', ...@@ -173,8 +173,7 @@ define(['require',
entityDefCollection: this.entityDefCollection, entityDefCollection: this.entityDefCollection,
fetchCollection: this.fetchCollection.bind(that) fetchCollection: this.fetchCollection.bind(that)
} }
this.renderEntityDetailTableLayoutView(obj); this.getEntityDef(obj);
this.renderAuditTableLayoutView(obj);
this.renderTagTableLayoutView(obj); this.renderTagTableLayoutView(obj);
this.renderTermTableLayoutView(_.extend({}, obj, { term: true })); this.renderTermTableLayoutView(_.extend({}, obj, { term: true }));
// To render Schema check attribute "schemaElementsAttribute" // To render Schema check attribute "schemaElementsAttribute"
...@@ -240,6 +239,17 @@ define(['require', ...@@ -240,6 +239,17 @@ define(['require',
fetchCollection: function() { fetchCollection: function() {
this.collection.fetch({ reset: true }); this.collection.fetch({ reset: true });
}, },
getEntityDef: function(obj) {
var data = this.entityDefCollection.fullCollection.findWhere({ name: obj.entity.typeName }).toJSON();
var entityDef = Utils.getNestedSuperTypeObj({
data: data,
attrMerge: true,
collection: this.entityDefCollection
});
obj['entityDef'] = entityDef;
this.renderEntityDetailTableLayoutView(obj);
this.renderAuditTableLayoutView(obj);
},
onClickTagCross: function(e) { onClickTagCross: function(e) {
var tagName = $(e.currentTarget).parent().text(), var tagName = $(e.currentTarget).parent().text(),
tagOrTerm = $(e.target).data("type"), tagOrTerm = $(e.target).data("type"),
......
...@@ -48,7 +48,7 @@ define(['require', ...@@ -48,7 +48,7 @@ define(['require',
* @constructs * @constructs
*/ */
initialize: function(options) { initialize: function(options) {
_.extend(this, _.pick(options, 'entity', 'referredEntities', 'typeHeaders')); _.extend(this, _.pick(options, 'entity', 'referredEntities', 'typeHeaders', 'entityDef'));
this.entityModel = new VEntity({}); this.entityModel = new VEntity({});
}, },
bindEvents: function() {}, bindEvents: function() {},
...@@ -65,7 +65,7 @@ define(['require', ...@@ -65,7 +65,7 @@ define(['require',
}); });
attributeObject.columns = valueSorted; attributeObject.columns = valueSorted;
} }
var table = CommonViewFunction.propertyTable(attributeObject, this); var table = CommonViewFunction.propertyTable(this, attributeObject, this.entityDef);
that.ui.detailValue.append(table); that.ui.detailValue.append(table);
} }
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment