Updated Branches: refs/heads/trunk 13b0376d3 -> 01f8dcb5e
AMBARI-3840 Delete should be disabled if there is no group selected. (atkach) Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/01f8dcb5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/01f8dcb5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/01f8dcb5 Branch: refs/heads/trunk Commit: 01f8dcb5e8795d6c3dc179d9f1a84dccc0026648 Parents: 13b0376 Author: atkach <andrey91...@gmail.com> Authored: Thu Nov 21 14:16:33 2013 +0200 Committer: atkach <andrey91...@gmail.com> Committed: Thu Nov 21 14:16:33 2013 +0200 ---------------------------------------------------------------------- ambari-web/app/controllers/main/service/item.js | 17 +++++++------ .../service/manage_config_groups_controller.js | 26 +++++++++++--------- .../manage_configuration_groups_popup.hbs | 2 +- 3 files changed, 26 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/01f8dcb5/ambari-web/app/controllers/main/service/item.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/item.js b/ambari-web/app/controllers/main/service/item.js index 5843eba..350318b 100644 --- a/ambari-web/app/controllers/main/service/item.js +++ b/ambari-web/app/controllers/main/service/item.js @@ -279,14 +279,17 @@ App.MainServiceItemController = Em.Controller.extend({ updateConfigGroupOnServicePage: function () { var mainServiceInfoConfigsController = App.get('router.mainServiceInfoConfigsController'); var selectedConfigGroup = mainServiceInfoConfigsController.get('selectedConfigGroup'); - var managedConfigGroups = this.get('subViewController.configGroups'); - selectedConfigGroup = managedConfigGroups.findProperty('id', selectedConfigGroup.id); - if(selectedConfigGroup){ - mainServiceInfoConfigsController.set('selectedConfigGroup', selectedConfigGroup); - }else{ - mainServiceInfoConfigsController.set('selectedConfigGroup', managedConfigGroups.findProperty('isDefault', true)); + //check whether selectedConfigGroup was selected + if (selectedConfigGroup) { + var managedConfigGroups = this.get('subViewController.configGroups'); + selectedConfigGroup = managedConfigGroups.findProperty('id', selectedConfigGroup.id); + if (selectedConfigGroup) { + mainServiceInfoConfigsController.set('selectedConfigGroup', selectedConfigGroup); + } else { + mainServiceInfoConfigsController.set('selectedConfigGroup', managedConfigGroups.findProperty('isDefault', true)); + } } - mainServiceInfoConfigsController.set('configGroups',this.get('subViewController.configGroups')); + mainServiceInfoConfigsController.set('configGroups', this.get('subViewController.configGroups')); }, updateButtons: function(){ var modified = this.get('subViewController.isHostsModified'); http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/01f8dcb5/ambari-web/app/controllers/main/service/manage_config_groups_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js index 2c0018e..acd7f96 100644 --- a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js +++ b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js @@ -195,18 +195,18 @@ App.ManageConfigGroupsController = Em.Controller.extend({ */ deleteConfigGroup: function () { var selectedConfigGroup = this.get('selectedConfigGroup'); - if(selectedConfigGroup.get('name') == "Default") { + if (this.get('isDeleteGroupDisabled')) { return; } - App.ajax.send({ - name: 'config_groups.delete_config_group', - sender: this, - data: { - id: selectedConfigGroup.get('id') - } - }); - this.get('configGroups').removeObject(selectedConfigGroup); - + App.ajax.send({ + name: 'config_groups.delete_config_group', + sender: this, + data: { + id: selectedConfigGroup.get('id') + } + }); + this.get('configGroups').removeObject(selectedConfigGroup); + this.set('selectedConfigGroup', this.get('configGroups').findProperty('isDefault')); }, /** @@ -383,5 +383,9 @@ App.ManageConfigGroupsController = Em.Controller.extend({ isHostsModified: function () { var groups = this.get('hostsModifiedConfigGroups'); return groups && groups.length > 0; - }.property('hostsModifiedConfigGroups', 'hostsModifiedConfigGroups.length') + }.property('hostsModifiedConfigGroups', 'hostsModifiedConfigGroups.length'), + + isDeleteGroupDisabled: function () { + return this.get('selectedConfigGroup.isDefault'); + }.property('selectedConfigGroup') }); http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/01f8dcb5/ambari-web/app/templates/main/service/manage_configuration_groups_popup.hbs ---------------------------------------------------------------------- diff --git a/ambari-web/app/templates/main/service/manage_configuration_groups_popup.hbs b/ambari-web/app/templates/main/service/manage_configuration_groups_popup.hbs index 6194b84..9ee572e 100644 --- a/ambari-web/app/templates/main/service/manage_configuration_groups_popup.hbs +++ b/ambari-web/app/templates/main/service/manage_configuration_groups_popup.hbs @@ -30,7 +30,7 @@ }} <div class="btn-toolbar pull-right"> <button class="btn" {{bindAttr disabled="isHostsModified"}} {{action addConfigGroup target="controller"}}><i class="icon-plus"></i></button> - <button class="btn" {{bindAttr disabled="view.isRemoveButtonDisabled"}} {{action deleteConfigGroup target="controller"}}><i class="icon-minus"></i></button> + <button class="btn" {{bindAttr disabled="isDeleteGroupDisabled"}} {{action deleteConfigGroup target="controller"}}><i class="icon-minus"></i></button> <div class="btn-group"> <button class="btn" {{bindAttr disabled="isHostsModified"}}><i class="icon-cog"></i></button> <button class="btn dropdown-toggle" data-toggle="dropdown" {{bindAttr disabled="isHostsModified"}}>