Kaynağa Gözat

AMBARI-10202. Support config-groups functionality for enhanced-configs (onechiporenko)

Oleg Nechiporenko 10 yıl önce
ebeveyn
işleme
087c555f8c

+ 2 - 0
ambari-web/app/mappers/configs/config_versions_mapper.js

@@ -37,6 +37,7 @@ App.configVersionsMapper = App.QuickDataMapper.create({
   },
 
   map: function (json, isForCompare) {
+    console.time("App.configVersionsMapper execution time");
     var configVersions = [];
     var itemIds = {};
     var serviceToHostMap = {};
@@ -124,6 +125,7 @@ App.configVersionsMapper = App.QuickDataMapper.create({
 
       this.deleteUnusedProperties(requestedProperties);
     }
+    console.timeEnd("App.configVersionsMapper execution time");
   },
 
 

+ 11 - 4
ambari-web/app/views/common/configs/service_config_layout_tab_view.js

@@ -44,18 +44,25 @@ App.ServiceConfigLayoutTabView = Em.View.extend({
   prepareConfigProperties: function () {
     var widgetTypeMap = this.get('widgetTypeMap');
     var self = this;
+    var serviceName = self.get('controller.content.serviceName');
     this.get('content.sectionRows').forEach(function (row) {
       row.forEach(function (section) {
         section.get('subsectionRows').forEach(function (subRow) {
           subRow.forEach(function (subsection) {
             subsection.set('configs', []);
             subsection.get('configProperties').forEach(function (config) {
-              var c = App.ConfigProperty.find(config.get('id') + '_' + self.get('controller.selectedVersion'));
-              subsection.get('configs').pushObject(c);
+
+              var service = self.get('controller.stepConfigs').findProperty('serviceName', serviceName);
+              if (!service) return;
+              var configProperty = service.get('configs').findProperty('name', config.get('name'));
+              if (!configProperty) return;
+
+              subsection.get('configs').pushObject(configProperty);
               var configWidgetType = config.get('widget.type');
               var widget = widgetTypeMap[configWidgetType];
-              Em.assert('Unknown config widget view for config ' + c.get('id') + ' with type ' + configWidgetType, widget);
-              c.set('widget', widget);
+              Em.assert('Unknown config widget view for config ' + configProperty.get('id') + ' with type ' + configWidgetType, widget);
+              configProperty.set('widget', widget);
+              configProperty.set('stackConfigProperty', config);
             });
           });
         });

+ 3 - 3
ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js

@@ -92,9 +92,9 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({
       parseFunction = this.get('parseFunction');
     if (validationFunction(mirrorValue)) {
       var parsed = parseFunction(mirrorValue);
-      if (parsed >= min && parsed <=max) {
+      if (parsed >= min && parsed <= max) {
         this.set('isMirrorValueValid', true);
-        this.set('config.value', parsed);
+        this.set('config.value', '' + parsed);
         if (slider) {
           slider.setValue(parsed);
         }
@@ -156,7 +156,7 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({
 
     slider.on('change', function (obj) {
       var val = parseFunction(obj.newValue);
-      self.set('config.value', val);
+      self.set('config.value', '' + val);
       self.set('mirrorValue', val);
     });
 

+ 4 - 4
ambari-web/test/views/common/configs/widgets/slider_config_widget_view_test.js

@@ -75,21 +75,21 @@ describe('App.SliderConfigWidgetView', function () {
     it('check int', function () {
       viewInt.set('mirrorValue', 1000);
       expect(viewInt.get('isMirrorValueValid')).to.be.true;
-      expect(viewInt.get('config.value')).to.equal(1000);
+      expect(viewInt.get('config.value')).to.equal('1000');
 
       viewInt.set('mirrorValue', 100500);
       expect(viewInt.get('isMirrorValueValid')).to.be.false;
-      expect(viewInt.get('config.value')).to.equal(1000);
+      expect(viewInt.get('config.value')).to.equal('1000');
     });
 
     it('check float', function () {
       viewFloat.set('mirrorValue', 55.5);
       expect(viewFloat.get('isMirrorValueValid')).to.be.true;
-      expect(viewFloat.get('config.value')).to.equal(55.5);
+      expect(viewFloat.get('config.value')).to.equal('55.5');
 
       viewFloat.set('mirrorValue', 100500.5);
       expect(viewFloat.get('isMirrorValueValid')).to.be.false;
-      expect(viewFloat.get('config.value')).to.equal(55.5);
+      expect(viewFloat.get('config.value')).to.equal('55.5');
     });
 
   });