AMBARI-11102 Widgets: bugs + edits v6. (atkach)

Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/df3fca0f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/df3fca0f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/df3fca0f

Branch: refs/heads/trunk
Commit: df3fca0fb5b60d52bc7bbfb149e1a178f47d640c
Parents: 7edcfc4
Author: Andrii Tkach <atk...@hortonworks.com>
Authored: Wed May 13 15:30:17 2015 +0300
Committer: Andrii Tkach <atk...@hortonworks.com>
Committed: Wed May 13 18:04:38 2015 +0300

----------------------------------------------------------------------
 .../service/widgets/create/step3_controller.js  | 11 +----
 .../service/widgets/create/wizard_controller.js | 47 ++++++++++++++++++++
 .../main/service/widgets/edit_controller.js     | 38 ----------------
 .../app/mixins/common/widgets/widget_mixin.js   | 16 ++++++-
 ambari-web/app/routes/add_widget.js             | 23 +---------
 .../main/service/widgets/create/step3.hbs       |  8 +---
 6 files changed, 67 insertions(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/df3fca0f/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 43bd968..f946b74 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
@@ -141,19 +141,12 @@ App.WidgetWizardStep3Controller = Em.Controller.extend({
   },
 
   cancel: function () {
-    var controller = App.router.get('widgetEditController');
+    var controller = App.router.get(this.get('content.controllerName'));
     controller.cancel();
   },
 
   complete: function () {
     App.router.send('complete', this.collectWidgetData());
-    var editController = App.router.get('widgetEditController');
-    editController.finish();
-    if (editController.get('popup')) {
-      editController.get('popup').hide();
-    }
-    var serviceName = editController.get('content.widgetService');
-    var service = App.Service.find().findProperty('serviceName', serviceName);
-    App.router.transitionTo('main.services.service', service);
+    App.router.get(this.get('content.controllerName')).finishWizard();
   }
 });

http://git-wip-us.apache.org/repos/asf/ambari/blob/df3fca0f/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 46bf60f..940f7c8 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
@@ -313,6 +313,53 @@ App.WidgetWizardController = App.WizardController.extend({
     this.saveTasksRequestIds(undefined);
   },
 
+  cancel: function () {
+    var self = this;
+    var step3Controller = App.router.get('widgetWizardStep3Controller');
+    return App.ModalPopup.show({
+      header: Em.I18n.t('common.warning'),
+      bodyClass: Em.View.extend({
+        template: Ember.Handlebars.compile('{{t alerts.saveChanges}}')
+      }),
+      primary: Em.I18n.t('common.save'),
+      secondary: Em.I18n.t('common.discard'),
+      third: Em.I18n.t('common.cancel'),
+      disablePrimary: function () {
+        return !(parseInt(self.get('currentStep')) === self.get('totalSteps') 
&& !step3Controller.get('isSubmitDisabled'));
+      }.property(''),
+      onPrimary: function () {
+        App.router.send('complete', step3Controller.collectWidgetData());
+        this.onSecondary();
+      },
+      onSecondary: function () {
+        this.hide();
+        self.finishWizard();
+      },
+      onThird: function () {
+        this.hide();
+      }
+    });
+  },
+
+  /**
+   * finish wizard
+   */
+  finishWizard: function () {
+    this.finish();
+    this.get('popup').hide();
+    var serviceName = this.get('content.widgetService');
+    var service = App.Service.find().findProperty('serviceName', serviceName);
+    App.router.transitionTo('main.services.service', service);
+    if (!App.get('testMode')) {
+      App.clusterStatus.setClusterStatus({
+        clusterName: App.router.getClusterName(),
+        clusterState: 'DEFAULT',
+        localdb: App.db.data
+      });
+    }
+  },
+
+
   /**
    * Clear all temporary data
    */

http://git-wip-us.apache.org/repos/asf/ambari/blob/df3fca0f/ambari-web/app/controllers/main/service/widgets/edit_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/widgets/edit_controller.js 
b/ambari-web/app/controllers/main/service/widgets/edit_controller.js
index d57711f..1744974 100644
--- a/ambari-web/app/controllers/main/service/widgets/edit_controller.js
+++ b/ambari-web/app/controllers/main/service/widgets/edit_controller.js
@@ -145,44 +145,6 @@ App.WidgetEditController = 
App.WidgetWizardController.extend({
 
   },
 
-  cancel: function () {
-    var self = this;
-    var step3Controller = App.router.get('widgetWizardStep3Controller');
-    return App.ModalPopup.show({
-      header: Em.I18n.t('common.warning'),
-      bodyClass: Em.View.extend({
-        template: Ember.Handlebars.compile('{{t alerts.saveChanges}}')
-      }),
-      primary: Em.I18n.t('common.save'),
-      secondary: Em.I18n.t('common.discard'),
-      third: Em.I18n.t('common.cancel'),
-      disablePrimary: function () {
-        if (self.get('currentStep') == 2 && 
!step3Controller.get('isSubmitDisabled')) {
-          return false;
-        } else {
-          return true;
-        }
-      }.property(''),
-      onPrimary: function () {
-        if (self.get('currentStep') == 2) {
-          App.router.send('complete', step3Controller.collectWidgetData());
-        }
-        this.onSecondary();
-      },
-      onSecondary: function () {
-        this.hide();
-        self.finish();
-        self.get('popup').hide();
-        var serviceName = self.get('content.widgetService');
-        var service = App.Service.find().findProperty('serviceName', 
serviceName);
-        App.router.transitionTo('main.services.service', service);
-      },
-      onThird: function () {
-        this.hide();
-      }
-    });
-  },
-
   /**
    * Clear all temporary data
    */

http://git-wip-us.apache.org/repos/asf/ambari/blob/df3fca0f/ambari-web/app/mixins/common/widgets/widget_mixin.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/widgets/widget_mixin.js 
b/ambari-web/app/mixins/common/widgets/widget_mixin.js
index 94fe63f..a7a748a 100644
--- a/ambari-web/app/mixins/common/widgets/widget_mixin.js
+++ b/ambari-web/app/mixins/common/widgets/widget_mixin.js
@@ -353,7 +353,7 @@ App.WidgetMixin = Ember.Mixin.create({
    */
   onMetricsLoaded: function () {
     var self = this;
-    this.set('isLoaded', true);
+    if (!this.get('isLoaded')) this.set('isLoaded', true);
     this.drawWidget();
     clearTimeout(this.get('timeoutId'));
     this.set('timeoutId', setTimeout(function () {
@@ -373,6 +373,20 @@ App.WidgetMixin = Ember.Mixin.create({
   },
 
   /**
+   * initialize tooltips
+   */
+  initTooltip: function () {
+    var self = this;
+
+    if (this.get('isLoaded')) {
+      Em.run.next(function(){
+        App.tooltip(self.$(".corner-icon > .icon-copy"), {title: 
Em.I18n.t('common.clone')});
+        App.tooltip(self.$(".corner-icon > .icon-edit"), {title: 
Em.I18n.t('common.edit')});
+      });
+    }
+  }.observes('isLoaded'),
+
+  /**
    * calculate series datasets for graph widgets
    */
   calculateValues: function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/df3fca0f/ambari-web/app/routes/add_widget.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/add_widget.js 
b/ambari-web/app/routes/add_widget.js
index 0333b99..8c427f4 100644
--- a/ambari-web/app/routes/add_widget.js
+++ b/ambari-web/app/routes/add_widget.js
@@ -34,27 +34,7 @@ module.exports = App.WizardRoute.extend({
         secondary: null,
 
         onClose: function () {
-          var self = this;
-          widgetWizardController.finish();
-          if (App.testMode) {
-            self.hide();
-            var serviceName = 
widgetWizardController.get('content.widgetService');
-            var service = App.Service.find().findProperty('serviceName', 
serviceName);
-            router.transitionTo('main.services.service', service);
-          }   else {
-            App.clusterStatus.setClusterStatus({
-              clusterName: App.router.getClusterName(),
-              clusterState: 'DEFAULT',
-              localdb: App.db.data
-            }, {
-              alwaysCallback: function () {
-                self.hide();
-                var serviceName = 
widgetWizardController.get('content.widgetService');
-                var service = App.Service.find().findProperty('serviceName', 
serviceName);
-                router.transitionTo('main.services.service', service);
-              }
-            });
-          }
+          widgetWizardController.cancel();
         },
 
         didInsertElement: function () {
@@ -158,7 +138,6 @@ module.exports = App.WizardRoute.extend({
     back: Em.Router.transitionTo('step2'),
     complete: function (router, context) {
       router.get('widgetWizardController').postWidgetDefinition(context);
-      router.get('widgetWizardController.popup').onClose();
     }
   })
 });

http://git-wip-us.apache.org/repos/asf/ambari/blob/df3fca0f/ambari-web/app/templates/main/service/widgets/create/step3.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/widgets/create/step3.hbs 
b/ambari-web/app/templates/main/service/widgets/create/step3.hbs
index 22f8526..45bdee6 100644
--- a/ambari-web/app/templates/main/service/widgets/create/step3.hbs
+++ b/ambari-web/app/templates/main/service/widgets/create/step3.hbs
@@ -48,11 +48,7 @@
 
   <div class="btn-area">
     <button id="add-widget-step3-back" class="btn" {{action back}}>&larr; {{t 
common.back}}</button>
-    {{#if controller.isEditController}}
-      <button id="add-widget-step3-save" class="btn btn-success pull-right" 
{{bindAttr disabled="isSubmitDisabled"}} {{action "complete" 
target="controller"}}>{{t common.save}}</button>
-      <button id="add-widget-step3-cancel" class="btn pull-right" {{action 
"cancel" target="controller"}}>{{t common.cancel}}</button>
-    {{else}}
-      <button id="add-widget-step3-complete" class="btn btn-success 
pull-right" {{bindAttr disabled="isSubmitDisabled"}} {{action "complete" 
target="controller"}}>{{t common.complete}}</button>
-    {{/if}}
+    <button id="add-widget-step3-save" class="btn btn-success pull-right" 
{{bindAttr disabled="isSubmitDisabled"}} {{action "complete" 
target="controller"}}>{{t common.save}}</button>
+    <button id="add-widget-step3-cancel" class="btn pull-right" {{action 
"cancel" target="controller"}}>{{t common.cancel}}</button>
   </div>
 </div>
\ No newline at end of file

Reply via email to