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();
       }
     })

Reply via email to