Repository: ambari Updated Branches: refs/heads/trunk ec5de2712 -> d3aada22d
AMBARI-10688 After Editing a Widget it fails to load due to JS error. (atkach) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d3aada22 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d3aada22 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d3aada22 Branch: refs/heads/trunk Commit: d3aada22d2c010a4117dcae70b8bd649396d9d3e Parents: ec5de27 Author: Andrii Tkach <[email protected]> Authored: Thu Apr 23 13:11:24 2015 +0300 Committer: Andrii Tkach <[email protected]> Committed: Thu Apr 23 14:39:11 2015 +0300 ---------------------------------------------------------------------- .../main/service/widgets/create/step2_controller.js | 12 +++++------- .../main/service/widgets/create/step3_controller.js | 6 +++++- .../service/widgets/create/wizard_controller.js | 10 +--------- .../main/service/widgets/create/expression_view.js | 16 +++++++--------- 4 files changed, 18 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/d3aada22/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js b/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js index 54bb14f..3051ffd 100644 --- a/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js +++ b/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js @@ -294,11 +294,7 @@ App.WidgetWizardStep2Controller = Em.Controller.extend({ value = '${'; expression.data.forEach(function (element) { if (element.isMetric) { - metrics.push({ - name: element.name, - componentName: element.componentName, - serviceName: element.serviceName - }); + metrics.push(element); } value += element.name; }, this); @@ -430,7 +426,8 @@ App.WidgetWizardStep2Controller = Em.Controller.extend({ name: str.trim(), isMetric: true, componentName: metric.component_name, - serviceName: metric.service_name + serviceName: metric.service_name, + metricPath: metric.metric_path })); str = ''; } @@ -450,7 +447,8 @@ App.WidgetWizardStep2Controller = Em.Controller.extend({ name: str.trim(), isMetric: true, componentName: metric.component_name, - serviceName: metric.service_name + serviceName: metric.service_name, + metricPath: metric.metric_path })); } return data; http://git-wip-us.apache.org/repos/asf/ambari/blob/d3aada22/ambari-web/app/controllers/main/service/widgets/create/step3_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/widgets/create/step3_controller.js b/ambari-web/app/controllers/main/service/widgets/create/step3_controller.js index b821cc4..852ab57 100644 --- a/ambari-web/app/controllers/main/service/widgets/create/step3_controller.js +++ b/ambari-web/app/controllers/main/service/widgets/create/step3_controller.js @@ -89,6 +89,9 @@ App.WidgetWizardStep3Controller = Em.Controller.extend({ this.set('widgetName', this.get('content.widgetDisplayName')); this.set('widgetDisplayName', this.get('content.widgetDisplayName')); this.set('widgetDescription', this.get('content.widgetDescription')); + this.get('scopes').forEach(function (scope) { + scope.set('checked', scope.get('name').toUpperCase() == this.get('content.widgetScope')); + }, this); }, //TODO: Following computed property needs to be implemented. Next button should be enabled when there is no validation error and all required fields are filled @@ -112,7 +115,8 @@ App.WidgetWizardStep3Controller = Em.Controller.extend({ return { "name": metric.name, "service_name": metric.serviceName, - "component_name": metric.componentName + "component_name": metric.componentName, + "metric_path": metric.metricPath } }), values: this.get('widgetValues'), http://git-wip-us.apache.org/repos/asf/ambari/blob/d3aada22/ambari-web/app/controllers/main/service/widgets/create/wizard_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/widgets/create/wizard_controller.js b/ambari-web/app/controllers/main/service/widgets/create/wizard_controller.js index 7cb2dc6..94fc565 100644 --- a/ambari-web/app/controllers/main/service/widgets/create/wizard_controller.js +++ b/ambari-web/app/controllers/main/service/widgets/create/wizard_controller.js @@ -166,15 +166,7 @@ App.WidgetWizardController = App.WizardController.extend({ */ save: function (name, value) { this.set('content.' + name, value); - if (Array.isArray(value)) { - value = value.map(function (item) { - return this.toObject(item); - }, this); - } else if (typeof value === 'object') { - value = this.toObject(value); - } - this.setDBProperty(name, value); - console.log(this.get('name') + ": saved " + name, value); + this._super(name); }, /** http://git-wip-us.apache.org/repos/asf/ambari/blob/d3aada22/ambari-web/app/views/main/service/widgets/create/expression_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/service/widgets/create/expression_view.js b/ambari-web/app/views/main/service/widgets/create/expression_view.js index 0662d43..56ea96f 100644 --- a/ambari-web/app/views/main/service/widgets/create/expression_view.js +++ b/ambari-web/app/views/main/service/widgets/create/expression_view.js @@ -191,7 +191,9 @@ App.WidgetWizardExpressionView = Em.View.extend({ self.set('parentView.selectedMetric', { name: obj.selected, componentName: self.get('selectedComponent.componentName'), - serviceName: self.get('selectedComponent.serviceName') + serviceName: self.get('selectedComponent.serviceName'), + metricPath: self.get('controller.filteredMetrics').findProperty('name', obj.selected).widget_id, + isMetric: true }); }); }, @@ -289,14 +291,10 @@ App.WidgetWizardExpressionView = Em.View.extend({ primary: Em.I18n.t('common.save'), onPrimary: function () { var data = this.get('expression.data'); - var lastId = (data.length > 0) ? Math.max.apply(this, data.mapProperty('id')) : 0; - data.pushObject(Em.Object.create({ - id: ++lastId, - name: this.get('selectedMetric.name'), - componentName: this.get('selectedMetric.componentName'), - serviceName: this.get('selectedMetric.serviceName'), - isMetric: true - })); + var id = (data.length > 0) ? Math.max.apply(this, data.mapProperty('id')) + 1 : 1; + var selectedMetric = this.get('selectedMetric'); + selectedMetric.set('id', id); + data.pushObject(selectedMetric); this.hide(); } })
