Browse Source

AMBARI-10357. Merge Enhanced Configs overrides and comparisons to the separated views (onechiporenko)

Oleg Nechiporenko 10 năm trước cách đây
mục cha
commit
a27378257c
20 tập tin đã thay đổi với 92 bổ sung174 xóa
  1. 1 1
      ambari-web/app/mixins/common/configs/enhanced_configs.js
  2. 2 2
      ambari-web/app/templates/common/configs/widgets/checkbox_config_widget.hbs
  3. 10 0
      ambari-web/app/templates/common/configs/widgets/combo_config_widget.hbs
  4. 1 1
      ambari-web/app/templates/common/configs/widgets/comparison/config_widget_comparison.hbs
  5. 0 34
      ambari-web/app/templates/common/configs/widgets/comparison/slider_config_widget_comparison.hbs
  6. 10 0
      ambari-web/app/templates/common/configs/widgets/directory_config_widget.hbs
  7. 10 0
      ambari-web/app/templates/common/configs/widgets/list_config_widget.hbs
  8. 2 2
      ambari-web/app/templates/common/configs/widgets/overrides/config_widget_override.hbs
  9. 0 61
      ambari-web/app/templates/common/configs/widgets/overrides/slider_config_widget_override.hbs
  10. 10 0
      ambari-web/app/templates/common/configs/widgets/radio_button_config.hbs
  11. 2 2
      ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs
  12. 10 0
      ambari-web/app/templates/common/configs/widgets/textfield_config_widget.hbs
  13. 10 0
      ambari-web/app/templates/common/configs/widgets/time_interval_spinner.hbs
  14. 10 0
      ambari-web/app/templates/common/configs/widgets/toggle_config_widget.hbs
  15. 2 4
      ambari-web/app/views.js
  16. 8 14
      ambari-web/app/views/common/configs/service_config_layout_tab_view.js
  17. 0 24
      ambari-web/app/views/common/configs/widgets/comparison/checkbox_config_widget_comparison_view.js
  18. 2 2
      ambari-web/app/views/common/configs/widgets/comparison/config_widget_comparison_view.js
  19. 0 25
      ambari-web/app/views/common/configs/widgets/overrides/checkbox_config_widget_override_view.js
  20. 2 2
      ambari-web/app/views/common/configs/widgets/overrides/config_widget_override_view.js

+ 1 - 1
ambari-web/app/mixins/common/configs/enhanced_configs.js

@@ -498,7 +498,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
    * @private
    */
   _saveRecommendedValues: function(data, updateOnlyBoundaries) {
-    Em.assert('invalid data', data && data.resources[0] && Em.get(data.resources[0], 'recommendations.blueprint.configurations'));
+    Em.assert('invalid data - `data.resources[0].recommendations.blueprint.configurations` not defined ', data && data.resources[0] && Em.get(data.resources[0], 'recommendations.blueprint.configurations'));
     var configs = data.resources[0].recommendations.blueprint.configurations;
     /** get all configs by config group **/
     var stepConfigsByGroup = this._getConfigsByGroup(this.get('stepConfigs'));

+ 2 - 2
ambari-web/app/templates/common/configs/widgets/checkbox_config_widget.hbs

@@ -55,12 +55,12 @@
 {{/if}}
 
 {{#if view.isOriginalSCP}}
-  {{view App.CheckboxConfigWidgetOverrideView
+  {{view App.ConfigWidgetOverrideView
   serviceConfigPropertyBinding="view.config"
   isDefaultGroupSelectedBinding="controller.selectedConfigGroup.isDefault"
   }}
 {{/if}}
 
 {{#if view.isComparison}}
-  {{view App.CheckboxConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
+  {{view App.ConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
 {{/if}}

+ 10 - 0
ambari-web/app/templates/common/configs/widgets/combo_config_widget.hbs

@@ -33,4 +33,14 @@
   </div>
 </div>
 {{view App.RestoreConfigView}}
+{{#if view.isOriginalSCP}}
+  {{view App.ConfigWidgetOverrideView
+  serviceConfigPropertyBinding="view.config"
+  isDefaultGroupSelectedBinding="controller.selectedConfigGroup.isDefault"
+  }}
+{{/if}}
+
+{{#if view.isComparison}}
+  {{view App.ConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
+{{/if}}
 <div class="clearfix"></div>

+ 1 - 1
ambari-web/app/templates/common/configs/widgets/comparison/checkbox_config_widget_comparison.hbs → ambari-web/app/templates/common/configs/widgets/comparison/config_widget_comparison.hbs

@@ -18,7 +18,7 @@
 
 {{#each compareConfig in view.serviceConfigProperty.compareConfigs}}
   <div {{bindAttr class=":control-group :overrideField"}}>
-    {{view App.CheckboxConfigWidgetView configBinding="compareConfig" categoryConfigsAllBinding="view.parentView.categoryConfigsAll" isPopoverEnabled="false"}}
+    {{view view.serviceConfigProperty.widget configBinding="compareConfig" categoryConfigsAllBinding="view.parentView.categoryConfigsAll" isPopoverEnabled="false"}}
       <span class="label label-info">{{compareConfig.serviceVersion.versionText}}</span>
       {{#if compareConfig.serviceVersion.isCurrent}}
         <span class="label label-success">{{t common.current}}</span>

+ 0 - 34
ambari-web/app/templates/common/configs/widgets/comparison/slider_config_widget_comparison.hbs

@@ -1,34 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-{{#each compareConfig in view.serviceConfigProperty.compareConfigs}}
-  <div {{bindAttr class=":control-group :overrideField"}}>
-    {{view App.SliderConfigWidgetView configBinding="compareConfig" categoryConfigsAllBinding="view.parentView.categoryConfigsAll" isPopoverEnabled="false"}}
-      <span class="label label-info">{{compareConfig.serviceVersion.versionText}}</span>
-      {{#if compareConfig.serviceVersion.isCurrent}}
-        <span class="label label-success">{{t common.current}}</span>
-      {{/if}}
-      {{#unless compareConfig.isMock}}
-        {{#if compareConfig.supportsFinal}}
-          <a disabled="disabled" {{bindAttr class=":btn :btn-small :btn-final compareConfig.isFinal:active compareConfig.hideFinalIcon:hidden" }}>
-            <i class="icon-lock"></i>
-          </a>
-        {{/if}}
-      {{/unless}}
-  </div>
-{{/each}}

+ 10 - 0
ambari-web/app/templates/common/configs/widgets/directory_config_widget.hbs

@@ -24,3 +24,13 @@
 {{#if view.configErrorMessage}}
   <p class="text-error">{{view.configErrorMessage}}</p>
 {{/if}}
+{{#if view.isOriginalSCP}}
+  {{view App.ConfigWidgetOverrideView
+  serviceConfigPropertyBinding="view.config"
+  isDefaultGroupSelectedBinding="controller.selectedConfigGroup.isDefault"
+  }}
+{{/if}}
+
+{{#if view.isComparison}}
+  {{view App.ConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
+{{/if}}

+ 10 - 0
ambari-web/app/templates/common/configs/widgets/list_config_widget.hbs

@@ -39,4 +39,14 @@
       {{/each}}
     </ul>
   </div>
+  {{#if view.isOriginalSCP}}
+    {{view App.ConfigWidgetOverrideView
+    serviceConfigPropertyBinding="view.config"
+    isDefaultGroupSelectedBinding="controller.selectedConfigGroup.isDefault"
+    }}
+  {{/if}}
+
+  {{#if view.isComparison}}
+    {{view App.ConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
+  {{/if}}
 </div>

+ 2 - 2
ambari-web/app/templates/common/configs/widgets/overrides/checkbox_config_widget_override.hbs → ambari-web/app/templates/common/configs/widgets/overrides/config_widget_override.hbs

@@ -18,7 +18,7 @@
 {{#each overriddenSCP in view.serviceConfigProperty.overrides}}
 {{! Here serviceConfigBinding should ideally be serviceConfigPropertyBinding }}
   <div {{bindAttr class="overriddenSCP.errorMessage:error: :control-group :overrideField"}}>
-    {{view App.CheckboxConfigWidgetView configBinding="overriddenSCP" isPopoverEnabled="false"}}
+    {{view view.serviceConfigProperty.widget configBinding="overriddenSCP" isPopoverEnabled="false"}}
     <div {{bindAttr class="view.parentView.isHover:show:not-show"}}>
       {{#if overriddenSCP.supportsFinal}}
         <a href="#" data-toggle="tooltip"
@@ -58,4 +58,4 @@
       {{/if}}
     </div>
   </div>
-{{/each}}
+{{/each}}

+ 0 - 61
ambari-web/app/templates/common/configs/widgets/overrides/slider_config_widget_override.hbs

@@ -1,61 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-{{#each overriddenSCP in view.serviceConfigProperty.overrides}}
-{{! Here serviceConfigBinding should ideally be serviceConfigPropertyBinding }}
-  <div {{bindAttr class="overriddenSCP.errorMessage:error: :control-group :overrideField"}}>
-    {{view App.SliderConfigWidgetView configBinding="overriddenSCP" isPopoverEnabled="false"}}
-    <div {{bindAttr class="view.parentView.isHover:show:not-show"}}>
-      {{#if overriddenSCP.supportsFinal}}
-        <a href="#" data-toggle="tooltip"
-          {{bindAttr class=":btn :btn-small :btn-final overriddenSCP.isFinal:active overriddenSCP.hideFinalIcon:hidden" disabled="overriddenSCP.isNotEditable"}}
-          {{action "toggleFinalFlag" overriddenSCP target="view"}}
-          {{translateAttr data-original-title="services.service.config.final"}}>
-          <i class="icon-lock"></i>
-        </a>
-      {{/if}}
-      {{#if view.isDefaultGroupSelected}}
-        {{#if overriddenSCP.group}}
-          <a href="#" data-toggle="tooltip" {{bindAttr data-original-title="overriddenSCP.group.switchGroupTextFull" }}
-             class="action" {{action selectConfigGroup overriddenSCP.group target="controller"}}>
-            {{overriddenSCP.group.switchGroupTextShort}}
-          </a>
-        {{/if}}
-      {{else}}
-        {{#if overriddenSCP.isEditable}}
-          {{#if isNotDefaultValue}}
-            <a class="btn btn-small" href="#" data-toggle="tooltip"
-              {{action "doRestoreDefaultValue" overriddenSCP target="view"}}
-              {{translateAttr data-original-title="common.undo"}}>
-              <i class="icon-undo"></i>
-            </a>
-          {{/if}}
-          {{#isAccessible ADMIN}}
-            <a class="btn btn-small" href="#" data-toggle="tooltip"
-              {{action "removeOverride" overriddenSCP target="view"}}
-              {{translateAttr data-original-title="common.remove"}}>
-              <i class="icon-minus-sign"></i>
-            </a>
-          {{/isAccessible}}
-          <span class="help-inline">{{overriddenSCP.errorMessage}}</span>
-        {{else}}
-          <a class="action">{{overriddenSCP.group.switchGroupTextShort}}</a> <i class="icon-spinner"></i>
-        {{/if}}
-      {{/if}}
-    </div>
-  </div>
-{{/each}}

+ 10 - 0
ambari-web/app/templates/common/configs/widgets/radio_button_config.hbs

@@ -30,4 +30,14 @@
   {{/each}}
 </div>
 {{view App.RestoreConfigView}}
+{{#if view.isOriginalSCP}}
+  {{view App.ConfigWidgetOverrideView
+  serviceConfigPropertyBinding="view.config"
+  isDefaultGroupSelectedBinding="controller.selectedConfigGroup.isDefault"
+  }}
+{{/if}}
+
+{{#if view.isComparison}}
+  {{view App.ConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
+{{/if}}
 <div class="clearfix"></div>

+ 2 - 2
ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs

@@ -56,13 +56,13 @@
   {{/if}}
 
   {{#if view.isOriginalSCP}}
-    {{view App.SliderConfigWidgetOverrideView
+    {{view App.ConfigWidgetOverrideView
       serviceConfigPropertyBinding="view.config"
       isDefaultGroupSelectedBinding="controller.selectedConfigGroup.isDefault"
     }}
   {{/if}}
 
   {{#if view.isComparison}}
-    {{view App.SliderConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
+    {{view App.ConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
   {{/if}}
 </div>

+ 10 - 0
ambari-web/app/templates/common/configs/widgets/textfield_config_widget.hbs

@@ -25,3 +25,13 @@
 {{#if view.configErrorMessage}}
   <p class="text-error">{{view.configErrorMessage}}</p>
 {{/if}}
+{{#if view.isOriginalSCP}}
+  {{view App.ConfigWidgetOverrideView
+  serviceConfigPropertyBinding="view.config"
+  isDefaultGroupSelectedBinding="controller.selectedConfigGroup.isDefault"
+  }}
+{{/if}}
+
+{{#if view.isComparison}}
+  {{view App.ConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
+{{/if}}

+ 10 - 0
ambari-web/app/templates/common/configs/widgets/time_interval_spinner.hbs

@@ -30,4 +30,14 @@
   <div class="clearfix"></div>
   <p class="text-error">{{view.errorMessage}}</p>
 {{/if}}
+{{#if view.isOriginalSCP}}
+  {{view App.ConfigWidgetOverrideView
+  serviceConfigPropertyBinding="view.config"
+  isDefaultGroupSelectedBinding="controller.selectedConfigGroup.isDefault"
+  }}
+{{/if}}
+
+{{#if view.isComparison}}
+  {{view App.ConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
+{{/if}}
 <div class="clearfix"></div>

+ 10 - 0
ambari-web/app/templates/common/configs/widgets/toggle_config_widget.hbs

@@ -21,4 +21,14 @@
   {{view Ember.Checkbox checkedBinding="view.switcherValue"}}
 </div>
 {{view App.RestoreConfigView}}
+{{#if view.isOriginalSCP}}
+  {{view App.ConfigWidgetOverrideView
+  serviceConfigPropertyBinding="view.config"
+  isDefaultGroupSelectedBinding="controller.selectedConfigGroup.isDefault"
+  }}
+{{/if}}
+
+{{#if view.isComparison}}
+  {{view App.ConfigWidgetComparisonView serviceConfigPropertyBinding="view.config"}}
+{{/if}}
 <div class="clearfix"></div>

+ 2 - 4
ambari-web/app/views.js

@@ -65,10 +65,8 @@ require('views/common/configs/widgets/slider_config_widget_view');
 require('views/common/configs/widgets/string_config_widget_view');
 require('views/common/configs/widgets/time_interval_spinner_view');
 require('views/common/configs/widgets/toggle_config_widget_view');
-require('views/common/configs/widgets/overrides/checkbox_config_widget_override_view');
-require('views/common/configs/widgets/overrides/slider_config_widget_override_view');
-require('views/common/configs/widgets/comparison/checkbox_config_widget_comparison_view');
-require('views/common/configs/widgets/comparison/slider_config_widget_comparison_view');
+require('views/common/configs/widgets/overrides/config_widget_override_view');
+require('views/common/configs/widgets/comparison/config_widget_comparison_view');
 require('views/common/configs/service_config_layout_tab_view');
 require('views/common/filter_combobox');
 require('views/common/filter_combo_cleanable');

+ 8 - 14
ambari-web/app/views/common/configs/service_config_layout_tab_view.js

@@ -77,23 +77,17 @@ App.ServiceConfigLayoutTabView = Em.View.extend(App.ConfigOverridable, {
               var configWidgetType = config.get('widget.type');
               var widget = widgetTypeMap[configWidgetType];
               Em.assert('Unknown config widget view for config ' + configProperty.get('id') + ' with type ' + configWidgetType, widget);
-              configProperty.set('widget', widget);
-              configProperty.set('stackConfigProperty', config);
+              configProperty.setProperties({
+                widget: widget,
+                stackConfigProperty: config
+              });
               if (configProperty.get('overrides')) {
-                configProperty.get('overrides').forEach(function (override) {
-                  override.setProperties({
-                    widget: widget,
-                    stackConfigProperty: config
-                  });
-                });
+                configProperty.get('overrides').setEach('stackConfigProperty', config);
               }
               if (configProperty.get('compareConfigs')) {
-                configProperty.get('compareConfigs').forEach(function (compareConfig) {
-                  compareConfig.setProperties({
-                    widget: widget,
-                    isComparison: false,
-                    stackConfigProperty: config
-                  });
+                configProperty.get('compareConfigs').invoke('setProperties', {
+                  isComparison: false,
+                  stackConfigProperty: config
                 });
               }
             });

+ 0 - 24
ambari-web/app/views/common/configs/widgets/comparison/checkbox_config_widget_comparison_view.js

@@ -1,24 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with this
- * work for additional information regarding copyright ownership. The ASF
- * licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-var App = require('app');
-
-App.CheckboxConfigWidgetComparisonView = App.ServiceConfigView.SCPComparisonRowsView.extend({
-
-  templateName: require('templates/common/configs/widgets/comparison/checkbox_config_widget_comparison')
-
-});

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

@@ -17,8 +17,8 @@
 
 var App = require('app');
 
-App.SliderConfigWidgetComparisonView = App.ServiceConfigView.SCPComparisonRowsView.extend({
+App.ConfigWidgetComparisonView = App.ServiceConfigView.SCPComparisonRowsView.extend({
 
-  templateName: require('templates/common/configs/widgets/comparison/slider_config_widget_comparison')
+  templateName: require('templates/common/configs/widgets/comparison/config_widget_comparison')
 
 });

+ 0 - 25
ambari-web/app/views/common/configs/widgets/overrides/checkbox_config_widget_override_view.js

@@ -1,25 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.CheckboxConfigWidgetOverrideView = App.ServiceConfigView.SCPOverriddenRowsView.extend({
-
-  templateName: require('templates/common/configs/widgets/overrides/checkbox_config_widget_override')
-
-});

+ 2 - 2
ambari-web/app/views/common/configs/widgets/overrides/slider_config_widget_override_view.js → ambari-web/app/views/common/configs/widgets/overrides/config_widget_override_view.js

@@ -18,8 +18,8 @@
 
 var App = require('app');
 
-App.SliderConfigWidgetOverrideView = App.ServiceConfigView.SCPOverriddenRowsView.extend({
+App.ConfigWidgetOverrideView = App.ServiceConfigView.SCPOverriddenRowsView.extend({
 
-  templateName: require('templates/common/configs/widgets/overrides/slider_config_widget_override')
+  templateName: require('templates/common/configs/widgets/overrides/config_widget_override')
 
 });