ソースを参照

AMBARI-5017. Mirroring: there's no immediate feedback on "Kill Instance" and "Suspend Instance" actions. (akovalenko)

Aleksandr Kovalenko 11 年 前
コミット
1b1dcaf9a4
1 ファイル変更17 行追加0 行削除
  1. 17 0
      ambari-web/app/controllers/main/mirroring/jobs_controller.js

+ 17 - 0
ambari-web/app/controllers/main/mirroring/jobs_controller.js

@@ -37,6 +37,7 @@ App.MainDatasetJobsController = Em.Controller.extend({
 
   onSuspendSuccess: function() {
     this.set('content.status', 'SUSPENDED');
+    this.get('content.datasetJobs').filterProperty('status', 'RUNNING').setEach('status', 'SUSPENDED');
   },
 
   schedule: function () {
@@ -55,6 +56,7 @@ App.MainDatasetJobsController = Em.Controller.extend({
 
   onScheduleSuccess: function() {
     this.set('content.status', 'RUNNING');
+    this.get('content.datasetJobs').filterProperty('status', 'SUSPENDED').setEach('status', 'RUNNING');
   },
 
 
@@ -93,10 +95,15 @@ App.MainDatasetJobsController = Em.Controller.extend({
         job: event.context,
         falconServer: App.get('falconServerURL')
       },
+      success: 'onSuspendInstanceSuccess',
       error: 'onError'
     });
   },
 
+  onSuspendInstanceSuccess: function () {
+    this.get('content.datasetJobs').filterProperty('name', arguments[2].name).setEach('status', 'SUSPENDED');
+  },
+
   resumeInstance: function (event) {
     App.ajax.send({
       name: 'mirroring.resume_instance',
@@ -107,10 +114,15 @@ App.MainDatasetJobsController = Em.Controller.extend({
         job: event.context,
         falconServer: App.get('falconServerURL')
       },
+      success: 'onResumeInstanceSuccess',
       error: 'onError'
     });
   },
 
+  onResumeInstanceSuccess: function () {
+    this.get('content.datasetJobs').filterProperty('name', arguments[2].name).setEach('status', 'RUNNING');
+  },
+
   killInstance: function (event) {
     App.ajax.send({
       name: 'mirroring.kill_instance',
@@ -121,10 +133,15 @@ App.MainDatasetJobsController = Em.Controller.extend({
         job: event.context,
         falconServer: App.get('falconServerURL')
       },
+      success: 'onKillInstanceSuccess',
       error: 'onError'
     });
   },
 
+  onKillInstanceSuccess: function () {
+    this.get('content.datasetJobs').filterProperty('name', arguments[2].name).setEach('status', 'KILLED');
+  },
+
   onError: function () {
     App.showAlertPopup(Em.I18n.t('common.error'), arguments[2]);
   },