in dashboardv2/public/js/utils/CommonViewFunction.js [174:273]
extractObject = function(opt) {
var valueOfArray = [],
keyValue = opt.keyValue,
key = opt.key,
defEntity = opt.defEntity;
if (!_.isArray(keyValue) && _.isObject(keyValue)) {
keyValue = [keyValue];
}
var subLink = "";
for (var i = 0; i < keyValue.length; i++) {
var inputOutputField = keyValue[i],
id = inputOutputField.guid || (_.isObject(inputOutputField.id) ? inputOutputField.id.id : inputOutputField.id),
tempLink = "",
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;
}
if (_.isString(inputOutputField) || _.isBoolean(inputOutputField) || _.isNumber(inputOutputField)) {
var tempVarfor$check = inputOutputField.toString();
if (tempVarfor$check.indexOf("$") == -1) {
var tmpVal = getValue(inputOutputField, key)
if (getArrayOfStringElement) {
valueOfArray.push(getArrayOfStringElement(tmpVal, key));
} else {
valueOfArray.push('<span class="json-string">' + tmpVal + '</span>');
}
}
} else if ((_.isObject(inputOutputField) && (!id || isRelationshipAttr))) {
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;
}
}
if (extractJSON && extractJSON.extractKey) {
var newAttributesList = {};
_.each(attributesList, function(objValue, objKey) {
var value = _.isObject(objValue) ? objValue : _.escape(objValue),
tempVarfor$check = objKey.toString();
if (tempVarfor$check.indexOf("$") == -1) {
if (_.isObject(extractJSON.extractKey)) {
_.each(extractJSON.extractKey, function(extractKey) {
if (objKey === extractKey) {
newAttributesList[_.escape(objKey)] = value;
}
});
} else if (_.isString(extractJSON.extractKey) && extractJSON.extractKey === objKey) {
newAttributesList[_.escape(objKey)] = value;
}
}
});
valueOfArray.push(Utils.JSONPrettyPrint(newAttributesList, getValue));
} else {
valueOfArray.push(Utils.JSONPrettyPrint(attributesList, getValue));
}
}
if (id && inputOutputField && !isRelationshipAttr) {
var name = Utils.getName(inputOutputField);
if ((name === "-" || name === id) && !inputOutputField.attributes) {
var fetch = true;
var fetchId = (_.isObject(id) ? id.id : id);
fetchInputOutputValue(fetchId, defEntity);
tempLink += '<div data-id="' + fetchId + '"><div class="value-loader"></div></div>';
} else {
if (inputOutputField.typeName == "AtlasGlossaryTerm") {
tempLink += '<a href="#!/glossary/' + id + '?guid=' + id + '&gType=term&viewType=term&fromView=entity">' + name + '</a>'
} else {
tempLink += '<a href="#!/detailPage/' + id + '">' + name + '</a>'
}
}
}
if (readOnly) {
if (!fetch) {
tempLink += '<button title="Deleted" class="btn btn-action btn-md deleteBtn"><i class="fa fa-trash"></i></button>';
subLink += '<div class="block whitespace-normal readOnlyLink">' + tempLink + '</div>';
} else {
fetch = false;
subLink += tempLink;
}
} else {
if (tempLink.search('href') != -1) {
subLink += '<div>' + tempLink + '</div>'
} else if (tempLink.length) {
subLink += tempLink
}
}
}
if (valueOfArray.length) {
if (getArrayOfStringFormat) {
subLink = getArrayOfStringFormat(valueOfArray, key);
} else {
subLink = valueOfArray.join(', ');
}
}
return subLink === "" ? getEmptyString(key) : subLink;
}