Return-Path: X-Original-To: apmail-ambari-commits-archive@www.apache.org Delivered-To: apmail-ambari-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1818117AAA for ; Mon, 20 Apr 2015 21:08:36 +0000 (UTC) Received: (qmail 33700 invoked by uid 500); 20 Apr 2015 21:08:36 -0000 Delivered-To: apmail-ambari-commits-archive@ambari.apache.org Received: (qmail 33688 invoked by uid 500); 20 Apr 2015 21:08:36 -0000 Mailing-List: contact commits-help@ambari.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ambari-dev@ambari.apache.org Delivered-To: mailing list commits@ambari.apache.org Received: (qmail 33679 invoked by uid 99); 20 Apr 2015 21:08:35 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Apr 2015 21:08:35 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id D20BFE0921; Mon, 20 Apr 2015 21:08:35 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: xiwang@apache.org To: commits@ambari.apache.org Message-Id: <5a9b83980b334d3ca6b5abcd333e29dd@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: ambari git commit: AMBARI-10583. Integrate widget reordering with the backend API.(xiwang) Date: Mon, 20 Apr 2015 21:08:35 +0000 (UTC) Repository: ambari Updated Branches: refs/heads/trunk 6d3570c05 -> 2505191dd AMBARI-10583. Integrate widget reordering with the backend API.(xiwang) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2505191d Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2505191d Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2505191d Branch: refs/heads/trunk Commit: 2505191ddaafc058925e8a4d7374f5ffabdcfc74 Parents: 6d3570c Author: Xi Wang Authored: Mon Apr 20 13:53:37 2015 -0700 Committer: Xi Wang Committed: Mon Apr 20 13:58:32 2015 -0700 ---------------------------------------------------------------------- .../controllers/main/service/info/summary.js | 33 ++++++++++++-------- ambari-web/app/mappers/server_data_mapper.js | 3 +- ambari-web/app/utils/ajax/ajax.js | 11 ------- .../app/views/main/service/info/summary.js | 4 +-- 4 files changed, 23 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/2505191d/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 9acf5ee..a5c5812 100644 --- a/ambari-web/app/controllers/main/service/info/summary.js +++ b/ambari-web/app/controllers/main/service/info/summary.js @@ -645,25 +645,32 @@ App.MainServiceInfoSummaryController = Em.Controller.extend({ }, /** - * save layout + * save layout after re-order widgets * return {$.ajax} */ - saveLayout: function (widgets, layout) { + saveReorderedLayout: function (widgets) { + var activeLayout = this.get('activeWidgetLayout'); var data = { - "layout_name": layout.get('layoutName'), - "section_name": layout.get('sectionName'), - "scope": layout.get('scope'), - "widgetLayoutInfo": widgets.map(function (widget) { - return { - "widget_name": widget.get('widgetName'), - "id": widget.get('widgetId') - } - }) + "WidgetLayoutInfo": { + "display_name": activeLayout.get("displayName"), + "id": activeLayout.get("id"), + "layout_name": activeLayout.get("layoutName"), + "scope": activeLayout.get("scope"), + "section_name": activeLayout.get("sectionName"), + "widgets": widgets.map(function (widget) { + return { + "id": widget.get('id') + } + }) + } }; return App.ajax.send({ - name: 'widgets.layout.save', + name: 'widget.layout.edit', sender: this, - data: data + data: { + layoutId: activeLayout.get("id"), + data: data + } }); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/2505191d/ambari-web/app/mappers/server_data_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/server_data_mapper.js b/ambari-web/app/mappers/server_data_mapper.js index 45ee5c9..239ba0f 100644 --- a/ambari-web/app/mappers/server_data_mapper.js +++ b/ambari-web/app/mappers/server_data_mapper.js @@ -97,7 +97,8 @@ App.QuickDataMapper = App.ServerDataMapper.extend({ result[i].push(this.parseIt(_data[index], config[i])); } } - if(_type == 'array'){ + // As for 'widgets', just show the original order + if(_type == 'array' && i != 'widgets'){ result[i] = result[i].sort(); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/2505191d/ambari-web/app/utils/ajax/ajax.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js index ff3253b..5225711 100644 --- a/ambari-web/app/utils/ajax/ajax.js +++ b/ambari-web/app/utils/ajax/ajax.js @@ -2447,17 +2447,6 @@ var urls = { mock: '/data/widget_layouts/HBASE/layouts.json' }, - 'widgets.layout.save': { - real: '/clusters/{clusterName}/widget_layouts/{layout_name}', - mock: '', - format: function (data) { - return { - type: 'PUT', - data: JSON.stringify(data.data) - } - } - }, - 'widget.action.delete': { real: '/clusters/{clusterName}/widgets/{id}', mock: '', http://git-wip-us.apache.org/repos/asf/ambari/blob/2505191d/ambari-web/app/views/main/service/info/summary.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/service/info/summary.js b/ambari-web/app/views/main/service/info/summary.js index 41bfd31..60734f1 100644 --- a/ambari-web/app/views/main/service/info/summary.js +++ b/ambari-web/app/views/main/service/info/summary.js @@ -598,9 +598,7 @@ App.MainServiceInfoSummaryView = Em.View.extend(App.UserPref, { var widgets = misc.sortByOrder($("#widget_layout .widget").map(function () { return this.id; }), self.get('controller.widgets')); - //TODO bind to actual layout instance - var layout = self.get('controller.widgetLayouts').objectAt(0); - self.get('controller').saveLayout(widgets, layout); + self.get('controller').saveReorderedLayout(widgets); }, activate: function (event, ui) { self.set('isMoving', true);