Explorar el Código

AMBARI-11411. Enhanced configs: final icon is missing when comparing two versions. (Richard Zang via srimanth)

Srimanth Gunturi hace 10 años
padre
commit
04673a2663

+ 1 - 1
ambari-web/app/controllers/main/service/info/configs.js

@@ -658,7 +658,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
       compareObject.serviceVersion = App.ServiceConfigVersion.find(this.get('content.serviceName') + "_" + compareConfig.service_config_version);
       compareObject = App.ServiceConfigProperty.create(compareObject);
       compareObject.setProperties({
-        isFinal: compareConfig.isFinal,
+        isFinal: !!compareConfig.isFinal,
         value: App.config.formatOverrideValue(serviceConfig, compareConfig.value),
         compareConfigs: null
       });

+ 9 - 0
ambari-web/app/styles/widgets.less

@@ -78,6 +78,12 @@
       .label-current {
         padding: 2px 3px 3px 5px;
       }
+      .icon-lock {
+        position: relative;
+        top: 2px;
+        left: 2px;
+        color: #ccc;
+      }
     }
     .widget-col {
       width: 18px;
@@ -465,4 +471,7 @@
 .compare-mode {
   background-color: rgba(211, 237, 247, 0.39);
   padding: 10px 5px 0px 10px;
+  .version-labels {
+    min-width: 70px !important;
+  }
 }

+ 3 - 4
ambari-web/app/templates/common/configs/widgets/comparison/config_widget_comparison.hbs

@@ -19,7 +19,8 @@
 {{#each compareConfig in view.serviceConfigProperty.compareConfigs}}
   <div class="clearfix"></div>
   <div {{bindAttr class=":control-group :overrideField :widget-config-comparison"}}>
-    {{view view.serviceConfigProperty.widget canEditBinding="view.canEdit" configBinding="compareConfig" categoryConfigsAllBinding="view.parentView.categoryConfigsAll" isPopoverEnabled="false"}}
+    {{view view.serviceConfigProperty.widget canEditBinding="view.canEdit" configBinding="compareConfig"
+    isBeingComparedBinding="view.isBeingCompared" categoryConfigsAllBinding="view.parentView.categoryConfigsAll" isPopoverEnabled="false"}}
     <div class="widget-config-controls version-labels">
       <span class="label label-info">{{compareConfig.serviceVersion.versionText}}</span>
       {{#if compareConfig.serviceVersion.isCurrent}}
@@ -27,9 +28,7 @@
       {{/if}}
       {{#unless compareConfig.isMock}}
         {{#if compareConfig.supportsFinal}}
-          <a disabled="disabled" {{bindAttr class=":btn-small :btn-final compareConfig.isFinal:active compareConfig.hideFinalIcon:hidden" }}>
-            <i class="icon-lock"></i>
-          </a>
+            <i {{bindAttr class=":icon-lock compareConfig.isFinal::hidden" }}></i>
         {{/if}}
       {{/unless}}
     </div>

+ 13 - 0
ambari-web/app/templates/common/configs/widgets/controls.hbs

@@ -105,11 +105,24 @@
       {{#if controller.isCurrentSelected}}
         <span class="label label-success icon-ok label-current" data-toggle="tooltip" {{translateAttr title="common.current"}}></span>
       {{/if}}
+      {{#if view.config.supportsFinal}}
+        <i {{bindAttr class=":icon-lock view.config.isFinal::hidden" }}></i>
+      {{/if}}
     {{else}}
       <span class="label label-info">{{t common.default}}
         &nbsp;{{t services.service.config.configHistory.configGroup}}</span>
     {{/if}}
   </div>
+{{else}}
+  {{#unless view.isBeingCompared}} {{! subview(ConfigWidgetComparisonView) will take care of config being compared}}
+    {{#unless view.canEdit}}
+      {{#if view.config.supportsFinal}}
+      <div class="widget-config-controls version-labels">
+        <i {{bindAttr class=":icon-lock view.config.isFinal::hidden" }}></i>
+      </div>
+      {{/if}}
+    {{/unless}}
+  {{/unless}}
 {{/if}}
 
 

+ 1 - 2
ambari-web/app/views/common/configs/widgets/comparison/config_widget_comparison_view.js

@@ -18,7 +18,6 @@
 var App = require('app');
 
 App.ConfigWidgetComparisonView = App.ServiceConfigView.SCPComparisonRowsView.extend({
-
+  isBeingCompared: true,
   templateName: require('templates/common/configs/widgets/comparison/config_widget_comparison')
-
 });