浏览代码

AMBARI-2016. Hide Maintenance pulldown if no operation can be performed. (yusaku)

git-svn-id: https://svn.apache.org/repos/asf/incubator/ambari/trunk@1471780 13f79535-47bb-0310-9956-ffa450edef68
Yusaku Sako 12 年之前
父节点
当前提交
b0072f4cb8

+ 3 - 0
CHANGES.txt

@@ -789,6 +789,9 @@ Trunk (unreleased changes):
 
  BUG FIXES
 
+ AMBARI-2016. Hide Maintenance pulldown if no operation can be performed.
+ (yusaku)
+
  AMBARI-2015. Host component start/stop causes "Uncaught TypeError: Cannot call
  method 'call' of undefined". (yusaku)
 

+ 0 - 19
ambari-web/app/models/service.js

@@ -99,25 +99,6 @@ App.Service = DS.Model.extend({
       components.everyProperty('workStatus', App.HostComponentStatus.started)
     );
   },
-
-  isMaintained: function () {
-    var maintainedServices = [
-      "HDFS",
-      "MAPREDUCE",
-      "HBASE",
-      "OOZIE",
-      "GANGLIA",
-      "NAGIOS",
-      "HIVE",
-      "WEBHCAT",
-      "ZOOKEEPER",
-      "PIG",
-      "SQOOP",
-      "HUE"
-    ];
-    return maintainedServices.contains(this.get('serviceName'));
-  }.property('serviceName'),
-
   isConfigurable: function () {
     var configurableServices = [
       "HDFS",

+ 15 - 15
ambari-web/app/templates/main/service/item.hbs

@@ -19,21 +19,21 @@
 {{view App.MainServiceInfoMenuView configTabBinding="view.hasConfigTab"}}
 {{#if App.isAdmin}}
 <div class="service-button">
-  {{#if view.hasMaintenanceControl}}
-  <div class="btn-group display-inline-block">
-    <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
-      {{t services.service.actions.maintenance}}
-      <span class="caret"></span>
-    </a>
-    <ul class="dropdown-menu">
-      <!-- dropdown menu links -->
-      {{#each option in view.maintenance}}
-      <li {{bindAttr class="controller.content.isStopDisabled:disabled"}}>
-        <a {{action "doAction" option target="controller" href=true}}>{{option.label}}</a>
-      </li>
-      {{/each}}
-    </ul>
-  </div>
+  {{#if view.isMaintenanceActive}}
+    <div class="btn-group display-inline-block">
+      <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
+        {{t services.service.actions.maintenance}}
+        <span class="caret"></span>
+      </a>
+      <ul class="dropdown-menu">
+        <!-- dropdown menu links -->
+        {{#each option in view.maintenance}}
+        <li {{bindAttr class="controller.content.isStopDisabled:disabled"}}>
+          <a {{action "doAction" option target="controller" href=true}}>{{option.label}}</a>
+        </li>
+        {{/each}}
+      </ul>
+    </div>
   {{/if}}
   <a href="javascript:void(null)" {{bindAttr class=":btn controller.content.isStartDisabled:disabled:btn-success" }}
      data-toggle="modal" {{action "startService" target="controller"}}>

+ 3 - 3
ambari-web/app/views/main/service/item.js

@@ -65,9 +65,9 @@ App.MainServiceItemView = Em.View.extend({
     }
     return options;
   }.property('controller.content'),
-  hasMaintenanceControl: function(){
-    return this.get("controller.content.isMaintained");
-  }.property('controller.content.isMaintained'),
+  isMaintenanceActive: function() {
+    return this.get('maintenance').length !== 0;
+  }.property('maintenance'),
   hasConfigTab: function(){
     return this.get("controller.content.isConfigurable");
   }.property('controller.content.isConfigurable')