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