Kaynağa Gözat

AMBARI-3905. Config groups: Misc UI tweaks. (akovalenko)

Aleksandr Kovalenko 11 yıl önce
ebeveyn
işleme
b368344c1f

+ 18 - 0
ambari-web/app/controllers/main/service/manage_config_groups_controller.js

@@ -184,6 +184,9 @@ App.ManageConfigGroupsController = Em.Controller.extend({
   }.property('serviceName'),
 
   addHosts: function () {
+    if (this.get('selectedConfigGroup.isAddHostsDisabled')){
+      return false;
+    }
     var availableHosts = this.get('selectedConfigGroup.availableHosts');
     var popupDescription = {
       header: Em.I18n.t('hosts.selectHostsDialog.title'),
@@ -211,6 +214,9 @@ App.ManageConfigGroupsController = Em.Controller.extend({
    * delete hosts from group
    */
   deleteHosts: function () {
+    if (this.get('isDeleteHostsDisabled')) {
+      return false;
+    }
     var groupHosts = this.get('selectedConfigGroup.hosts');
     var defaultGroupHosts = this.get('selectedConfigGroup.parentConfigGroup.hosts');
     this.get('selectedHosts').slice().forEach(function (hostName) {
@@ -220,6 +226,18 @@ App.ManageConfigGroupsController = Em.Controller.extend({
     this.set('selectedHosts', []);
   },
 
+  isDeleteHostsDisabled: function () {
+    var selectedConfigGroup = this.get('selectedConfigGroup');
+    if (selectedConfigGroup) {
+      if (selectedConfigGroup.isDefault || this.get('selectedHosts').length === 0) {
+        return true;
+      } else {
+        return false;
+      }
+    }
+    return true;
+  }.property('selectedConfigGroup', 'selectedConfigGroup.hosts.length', 'selectedHosts.length'),
+
   /**
    * confirm delete config group
    */

+ 1 - 0
ambari-web/app/messages.js

@@ -1134,6 +1134,7 @@ Em.I18n.translations = {
   'services.service.config_groups_popup.removeButton':'Delete Configuration Group',
   'services.service.config_groups_popup.renameButton':'Rename Configuration Group',
   'services.service.config_groups_popup.addHost':'Add hosts to selected Configuration Group',
+  'services.service.config_groups_popup.addHostDisabled':'There are no available hosts to add.',
   'services.service.config_groups_popup.removeHost':'Remove hosts from selected Configuration Group',
   'services.service.config_groups_popup.duplicateButton':'Duplicate Configuration Group',
   'services.service.config_groups.add_config_group_popup.header':'Create New Configuration Group',

+ 4 - 4
ambari-web/app/templates/main/service/manage_configuration_groups_popup.hbs

@@ -40,10 +40,10 @@
             </button>
             <ul class="dropdown-menu">
               <li {{bindAttr class="view.isRenameButtonDisabled:disabled"}}>
-                <a  rel="button-info" {{bindAttr data-original-title="view.renameButtonTooltip"}} {{action renameConfigGroup target="controller"}}>{{t services.service.config_groups_popup.rename}}</a>
+                <a  rel="button-info-dropdown" {{bindAttr data-original-title="view.renameButtonTooltip"}} {{action renameConfigGroup target="controller"}}>{{t services.service.config_groups_popup.rename}}</a>
               </li>
               <li>
-                <a  rel="button-info" {{bindAttr data-original-title="view.duplicateButtonTooltip"}} {{action duplicateConfigGroup target="controller"}}>{{t services.service.config_groups_popup.duplicate}}</a>
+                <a  rel="button-info-dropdown" {{bindAttr data-original-title="view.duplicateButtonTooltip"}} {{action duplicateConfigGroup target="controller"}}>{{t services.service.config_groups_popup.duplicate}}</a>
               </li>
             </ul>
           </div>
@@ -61,8 +61,8 @@
             }}
           </div>
           <div class="button-group pull-right">
-            <button rel="button-info" class="btn" {{bindAttr data-original-title="view.addHostTooltip" disabled="selectedConfigGroup.isAddHostsDisabled"}} {{action addHosts target="controller"}} ><i class="icon-plus"></i></button>
-            <button rel="button-info" class="btn" {{bindAttr data-original-title="view.removeHostTooltip" disabled="view.isDeleteHostsDisabled"}} {{action deleteHosts target="controller"}} ><i class="icon-minus"></i></button>
+            <a rel="button-info" class="btn" {{bindAttr data-original-title="view.addHostTooltip" class="selectedConfigGroup.isAddHostsDisabled:disabled"}} {{action addHosts target="controller"}} ><i class="icon-plus"></i></a>
+            <a rel="button-info" class="btn" {{bindAttr data-original-title="view.removeHostTooltip" class="isDeleteHostsDisabled:disabled"}} {{action deleteHosts target="controller"}} ><i class="icon-minus"></i></a>
           </div>
         </div>
         <div class="row-fluid">

+ 7 - 14
ambari-web/app/views/main/service/manage_config_groups_view.js

@@ -62,20 +62,9 @@ App.MainServiceManageConfigGroupView = Em.View.extend({
     this.get('controller').loadConfigGroups(this.get('serviceName'), this.get('usedConfigGroupNames'));
     $('.properties-link').tooltip();
     $("[rel='button-info']").tooltip();
+    $("[rel='button-info-dropdown']").tooltip({placement: 'left'});
   },
 
-  isDeleteHostsDisabled: function () {
-    var selectedConfigGroup = this.get('controller.selectedConfigGroup');
-    if(selectedConfigGroup){
-      if(selectedConfigGroup.isDefault || this.get('controller.selectedHosts').length === 0){
-        return true;
-      }else{
-        return false;
-      }
-    }
-    return true;
-  }.property('controller.selectedConfigGroup', 'controller.selectedConfigGroup.hosts.length', 'controller.selectedHosts.length'),
-
   addButtonTooltip: function () {
     return  Em.I18n.t('services.service.config_groups_popup.addButton');
   }.property(),
@@ -89,8 +78,12 @@ App.MainServiceManageConfigGroupView = Em.View.extend({
     return  Em.I18n.t('services.service.config_groups_popup.duplicateButton');
   }.property(),
   addHostTooltip: function () {
-    return  Em.I18n.t('services.service.config_groups_popup.addHost');
-  }.property(),
+    if (!this.get('controller.selectedConfigGroup.isDefault') && this.get('controller.selectedConfigGroup.isAddHostsDisabled')) {
+      return Em.I18n.t('services.service.config_groups_popup.addHostDisabled');
+    } else {
+      return  Em.I18n.t('services.service.config_groups_popup.addHost');
+    }
+  }.property('controller.selectedConfigGroup.isDefault', 'controller.selectedConfigGroup.isAddHostsDisabled'),
   removeHostTooltip: function () {
     return  Em.I18n.t('services.service.config_groups_popup.removeHost');
   }.property()