Quellcode durchsuchen

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

Oleg Nechiporenko vor 10 Jahren
Ursprung
Commit
a27378257c
20 geänderte Dateien mit 92 neuen und 174 gelöschten Zeilen
  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')
 
 });