Repository: ambari
Updated Branches:
  refs/heads/trunk 0e741d6a2 -> 5f95f11bc


AMBARI-10857. Widget Browser load duplicated widgets if it is user created and 
CLUSTER scope.(XIWANG)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5f95f11b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5f95f11b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5f95f11b

Branch: refs/heads/trunk
Commit: 5f95f11bc2f57f56521145c80e839cffb682dfbe
Parents: 0e741d6
Author: Xi Wang <xiw...@apache.org>
Authored: Wed Apr 29 17:50:58 2015 -0700
Committer: Xi Wang <xiw...@apache.org>
Committed: Wed Apr 29 17:50:58 2015 -0700

----------------------------------------------------------------------
 .../app/controllers/main/service/info/summary.js      | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/5f95f11b/ambari-web/app/controllers/main/service/info/summary.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/info/summary.js 
b/ambari-web/app/controllers/main/service/info/summary.js
index 9223cc0..df49e8c 100644
--- a/ambari-web/app/controllers/main/service/info/summary.js
+++ b/ambari-web/app/controllers/main/service/info/summary.js
@@ -420,7 +420,7 @@ App.MainServiceInfoSummaryController = 
Em.Controller.extend(App.WidgetSectionMix
             iconPath: "/img/widget-" + widgetType.toLowerCase() + ".png",
             serviceName: 
JSON.parse(widget.WidgetInfo.metrics).mapProperty('service_name').uniq().join('-'),
             added: addedWidgetsNames.contains(widgetName),
-            isShared: false
+            isShared: widget.WidgetInfo.scope == "CLUSTER"
           });
         })
       );
@@ -634,7 +634,17 @@ App.MainServiceInfoSummaryController = 
Em.Controller.extend(App.WidgetSectionMix
           if (this.get('parentView.isShowMineOnly')) {
             return this.get('controller.mineWidgets');
           } else {
-            return 
this.get('controller.mineWidgets').concat(this.get('controller.allSharedWidgets'));
+            // merge my widgets and all shared widgets, no duplicated is 
allowed
+            var content = [];
+            var widgetMap = {};
+            var allWidgets = 
this.get('controller.allSharedWidgets').concat(this.get('controller.mineWidgets'));
+            allWidgets.forEach(function(widget) {
+              if (!widgetMap[widget.get("id")]) {
+                content.pushObject(widget);
+                widgetMap[widget.get("id")] = true;
+              }
+            });
+            return content;
           }
         }.property('controller.allSharedWidgets.length', 
'controller.isAllSharedWidgetsLoaded',
           'controller.mineWidgets.length', 'controller.isMineWidgetsLoaded', 
'parentView.isShowMineOnly'),

Reply via email to