ATLAS-1952: UI optimization to use searchResult.referredEntity to render object 
type attributes

Signed-off-by: Madhan Neethiraj <mad...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/84c6d52d
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/84c6d52d
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/84c6d52d

Branch: refs/heads/feature-odf
Commit: 84c6d52d266c6aa2039e7e8cb9a7edb8f4bb8a93
Parents: bcec42e
Author: kevalbhatt <kbh...@apache.org>
Authored: Fri Jul 14 17:47:03 2017 +0530
Committer: Madhan Neethiraj <mad...@apache.org>
Committed: Fri Jul 14 16:08:31 2017 -0700

----------------------------------------------------------------------
 dashboardv2/public/js/collection/VSearchList.js    |  3 ++-
 dashboardv2/public/js/utils/CommonViewFunction.js  | 17 ++---------------
 dashboardv2/public/js/utils/Utils.js               | 17 ++++++++++++++++-
 .../js/views/entity/EntityDetailTableLayoutView.js |  7 ++++---
 .../js/views/search/SearchResultLayoutView.js      |  5 ++++-
 5 files changed, 28 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/84c6d52d/dashboardv2/public/js/collection/VSearchList.js
----------------------------------------------------------------------
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 @@ define(['require',
             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 @@ define(['require',
         }
     );
     return VSearchList;
-});
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/84c6d52d/dashboardv2/public/js/utils/CommonViewFunction.js
----------------------------------------------------------------------
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 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Enum
             }
         });
     };
-    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 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Enum
                     }
                     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 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Enum
         }
     }
     return CommonViewFunction;
-});
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/84c6d52d/dashboardv2/public/js/utils/Utils.js
----------------------------------------------------------------------
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 @@ define(['require', 'utils/Globals', 'pnotify', 
'utils/Messages', 'pnotify.button
         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 @@ define(['require', 'utils/Globals', 'pnotify', 
'utils/Messages', 'pnotify.button
 
     });
     return Utils;
-});
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/84c6d52d/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
----------------------------------------------------------------------
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 @@ define(['require',
     '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 @@ define(['require',
             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 @@ define(['require',
             }
         });
     return EntityDetailTableLayoutView;
-});
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/84c6d52d/dashboardv2/public/js/views/search/SearchResultLayoutView.js
----------------------------------------------------------------------
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 @@ define(['require',
                             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 @@ define(['require',
                                                 'valueObject': {},
                                                 'isTable': false
                                             }
+
                                             tempObj.valueObject[key] = 
modelObj.attributes[key]
+                                            
Utils.findAndMergeRefEntity(tempObj.valueObject, 
that.searchCollection.referredEntities);
                                             return 
CommonViewFunction.propertyTable(tempObj);
                                         }
                                     }
@@ -862,4 +865,4 @@ define(['require',
             }
         });
     return SearchResultLayoutView;
-});
+});
\ No newline at end of file

Reply via email to