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'),