ATLAS-1952: UI optimization to use searchResult.referredEntity to render object type attributes
Signed-off-by: Madhan Neethiraj <madhan@apache.org>
diff --git a/dashboardv2/public/js/collection/VSearchList.js b/dashboardv2/public/js/collection/VSearchList.js
index 6291838..0a7b713 100644
--- a/dashboardv2/public/js/collection/VSearchList.js
+++ b/dashboardv2/public/js/collection/VSearchList.js
@@ -37,6 +37,7 @@
parseRecords: function(resp, options) {
this.queryType = resp.queryType;
this.queryText = resp.queryText;
+ this.referredEntities = resp.referredEntities;
return resp.entities ? resp.entities : [];
},
getBasicRearchResult: function(options) {
@@ -62,4 +63,4 @@
}
);
return VSearchList;
-});
+});
\ No newline at end of file
diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js b/dashboardv2/public/js/utils/CommonViewFunction.js
index a04fb3f..6b8f50d 100644
--- a/dashboardv2/public/js/utils/CommonViewFunction.js
+++ b/dashboardv2/public/js/utils/CommonViewFunction.js
@@ -75,19 +75,6 @@
}
});
};
- CommonViewFunction.findAndmergeRefEntity = function(attributeObject, referredEntities) {
- _.each(attributeObject, function(obj, key) {
- if (_.isObject(obj)) {
- if (_.isArray(obj)) {
- _.each(obj, function(value) {
- _.extend(value, referredEntities[value.guid]);
- });
- } else {
- _.extend(obj, referredEntities[obj.guid]);
- }
- }
- });
- }
CommonViewFunction.propertyTable = function(options) {
var scope = options.scope,
valueObject = options.valueObject,
@@ -179,7 +166,7 @@
}
if (id && inputOutputField) {
var name = Utils.getName(inputOutputField);
- if (name === "-" || name === id) {
+ if ((name === "-" || name === id) && !inputOutputField.attributes) {
var fetch = true;
var fetchId = (_.isObject(id) ? id.id : id);
fetchInputOutputValue(fetchId);
@@ -474,4 +461,4 @@
}
}
return CommonViewFunction;
-});
+});
\ No newline at end of file
diff --git a/dashboardv2/public/js/utils/Utils.js b/dashboardv2/public/js/utils/Utils.js
index 9071df3..6e0453b 100644
--- a/dashboardv2/public/js/utils/Utils.js
+++ b/dashboardv2/public/js/utils/Utils.js
@@ -454,6 +454,21 @@
loaderEl.hide();
titleBoxEl.fadeIn();
}
+ Utils.findAndMergeRefEntity = function(attributeObject, referredEntities) {
+ if (attributeObject && referredEntities) {
+ _.each(attributeObject, function(obj, key) {
+ if (_.isObject(obj)) {
+ if (_.isArray(obj)) {
+ _.each(obj, function(value) {
+ _.extend(value, referredEntities[value.guid]);
+ });
+ } else {
+ _.extend(obj, referredEntities[obj.guid]);
+ }
+ }
+ });
+ }
+ }
Utils.getNestedSuperTypeObj = function(options) {
var flag = 0,
data = options.data,
@@ -539,4 +554,4 @@
});
return Utils;
-});
+});
\ No newline at end of file
diff --git a/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js b/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
index 87c5dcd..e27edf4 100644
--- a/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
+++ b/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
@@ -21,7 +21,8 @@
'hbs!tmpl/entity/EntityDetailTableLayoutView_tmpl',
'utils/CommonViewFunction',
'models/VEntity',
-], function(require, Backbone, EntityDetailTableLayoutView_tmpl, CommonViewFunction, VEntity) {
+ 'utils/Utils'
+], function(require, Backbone, EntityDetailTableLayoutView_tmpl, CommonViewFunction, VEntity, Utils) {
'use strict';
var EntityDetailTableLayoutView = Backbone.Marionette.LayoutView.extend(
@@ -58,7 +59,7 @@
entityTableGenerate: function() {
var that = this,
attributeObject = this.entity.attributes;
- CommonViewFunction.findAndmergeRefEntity(attributeObject, that.referredEntities);
+ Utils.findAndMergeRefEntity(attributeObject, that.referredEntities);
if (attributeObject && attributeObject.columns) {
var valueSorted = _.sortBy(attributeObject.columns, function(val) {
return val.attributes.position
@@ -70,4 +71,4 @@
}
});
return EntityDetailTableLayoutView;
-});
+});
\ No newline at end of file
diff --git a/dashboardv2/public/js/views/search/SearchResultLayoutView.js b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
index dba27fa..319beab 100644
--- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
@@ -352,6 +352,7 @@
return;
}
if (isPostMethod) {
+ that.searchCollection.referredEntities = model.referredEntities;
that.searchCollection.reset(model.entities);
}
if (that.searchCollection.models.length === 0 && that.offset > that.limit) {
@@ -658,7 +659,9 @@
'valueObject': {},
'isTable': false
}
+
tempObj.valueObject[key] = modelObj.attributes[key]
+ Utils.findAndMergeRefEntity(tempObj.valueObject, that.searchCollection.referredEntities);
return CommonViewFunction.propertyTable(tempObj);
}
}
@@ -862,4 +865,4 @@
}
});
return SearchResultLayoutView;
-});
+});
\ No newline at end of file