You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by gn...@apache.org on 2017/02/24 17:07:05 UTC

ambari git commit: AMBARI-20164. Kill a workflow jumps to another tab in WFM. (Padma Priya N via gauravn7)

Repository: ambari
Updated Branches:
  refs/heads/branch-2.5 ab8b821e2 -> ae3719754


AMBARI-20164. Kill a workflow jumps to another tab in WFM. (Padma Priya N via gauravn7)


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

Branch: refs/heads/branch-2.5
Commit: ae37197548bc1f4bc9111d2a51d95616a91aa0de
Parents: ab8b821
Author: Gaurav Nagar <gr...@gmail.com>
Authored: Fri Feb 24 22:36:43 2017 +0530
Committer: Gaurav Nagar <gr...@gmail.com>
Committed: Fri Feb 24 22:36:54 2017 +0530

----------------------------------------------------------------------
 .../main/resources/ui/app/components/job-row.js |  2 +-
 .../resources/ui/app/components/search-table.js | 47 +++++++++++++++-----
 .../ui/app/domain/actionjob_hanlder.js          |  2 +-
 .../app/templates/components/search-table.hbs   | 15 ++++---
 4 files changed, 48 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/ae371975/contrib/views/wfmanager/src/main/resources/ui/app/components/job-row.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/job-row.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/job-row.js
index 2b40392..ab32868 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/components/job-row.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/job-row.js
@@ -72,7 +72,7 @@ export default Ember.Component.extend({
         }else if(action === 'kill'){
           this.set('job.status','KILLED');
         }
-        this.sendAction('showMessage', {type:'success', message:`${action.toUpperCase()} action complete. Job is ${this.get('job.status')}`});
+        this.sendAction('showMessage', {type:'success', message:`${action.toUpperCase()} action request complete. Job is ${this.get('job.status')}`});
       }.bind(this)).catch(function(e){
         this.set('showError', true);
         this.set('showLoader', false);

http://git-wip-us.apache.org/repos/asf/ambari/blob/ae371975/contrib/views/wfmanager/src/main/resources/ui/app/components/search-table.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/search-table.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/search-table.js
index c8df452..5f92d6f 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/components/search-table.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/search-table.js
@@ -44,6 +44,24 @@ export default Ember.Component.extend({
       });
     }
   }.on('didUpdate'),
+  handleBulkActionResponse(response){
+    if (typeof response === "string") {
+      response = JSON.parse(response);
+    }
+    if(response.workflows){
+      this.updateJobs(response.workflows, 'id');
+    }else if(response.coordinatorjobs){
+      this.updateJobs(response.coordinatorjobs, 'coordJobId');
+    }else if(response.bundlejobs){
+      this.updateJobs(response.bundlejobs, 'bundleJobId');
+    }
+  },
+  updateJobs(jobsToUpdate, queryField){
+    jobsToUpdate.forEach(job =>{
+      var existing = this.get('jobs.jobs').findBy('id', job[queryField]);
+      Ember.set(existing, 'status', job.status);
+    });
+  },
   actions: {
     selectAll() {
       this.$(".cbox").click();
@@ -56,25 +74,27 @@ export default Ember.Component.extend({
       this.sendAction("doRefresh");
     },
     doBulkAction(action){
+      this.set('showBulkActionLoader', true);
       var filter = '';
       var deferred = Ember.RSVP.defer();
       this.$('.cbox:checked').each(function(index, element){
-        filter = filter + "name=" + this.$(element).attr('name')+ ";";
+        filter = filter + "id=" + this.$(element).attr('id')+ ";";
       }.bind(this));
       var params = {};
-      this.$('#bulk-action-loader').removeClass('hidden');
       params.action = action;
       params.filter = filter;
       params.jobType = this.get('jobs.jobTypeValue');
       params.start = this.get('jobs.start');
       params.len = this.get('jobs.pageSize');
       this.sendAction('onBulkAction', params, deferred);
-      deferred.promise.then(function(){
-        this.sendAction("doRefresh");
-        this.$('#bulk-action-loader').addClass('hidden');
+      deferred.promise.then(function(response){
+        this.set('showBulkActionLoader', false);
+        this.handleBulkActionResponse(response);
         this.set('showBulkAction', false);
+        this.send('showMessage', {type:'success', message:`${action.toUpperCase()} action request complete`});
       }.bind(this), function(){
-        this.$('#bulk-action-loader').addClass('hidden');
+        this.set('showBulkActionLoader', false);
+        this.send('showMessage', {type:'error', message: `${action.toUpperCase()} action for could not be completed`});
       }.bind(this));
     },
     page: function (page) {
@@ -123,16 +143,23 @@ export default Ember.Component.extend({
         var isSame = status.every(function(value, idx, array){
           return idx === 0 || value === array[idx - 1];
         });
-        if(isSame && status[0] === 'SUSPENDED'){
+        if(isSame && status.get('firstObject') === 'SUSPENDED'){
           this.set('toggleResume', 'enabled');
+          this.set('toggleStart', 'disabled');
           this.set('toggleSuspend', 'disabled');
-        }else if(isSame && status[0] === 'RUNNING'){
+        }else if(isSame && status.get('firstObject') === 'PREP'){
+          this.set('toggleStart', 'enabled');
+          this.set('toggleSuspend', 'disabled');
+          this.set('toggleResume', 'disabled');
+        }else if(isSame && status.get('firstObject') === 'RUNNING'){
           this.set('toggleSuspend', 'enabled');
           this.set('toggleResume', 'disabled');
-        }else{
-          this.set('toggleKill', 'enabled');
+          this.set('toggleStart', 'disabled');
+        }else if(isSame && status.get('firstObject') === 'KILLED'){
+          this.set('toggleKill', 'disabled');
           this.set('toggleSuspend', 'disabled');
           this.set('toggleResume', 'disabled');
+          this.set('toggleStart', 'disabled');
         }
       }else{
         this.set('showBulkAction', false);

http://git-wip-us.apache.org/repos/asf/ambari/blob/ae371975/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js b/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js
index 691cc26..3058610 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/domain/actionjob_hanlder.js
@@ -191,7 +191,7 @@ var SqoopActionJobHandler=ActionJobHandler.extend({
     ];
   },
   validate(nodeDomain){
-    if (Ember.isBlank(nodeDomain.command) && nodeDomain.arg.length < 1){
+    if (Ember.isBlank(nodeDomain.command) && (!nodeDomain.arg || nodeDomain.arg.length < 1)){
       return [{message : "Either command or arguments have to be set."}];
     }
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/ae371975/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/search-table.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/search-table.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/search-table.hbs
index d28a497..7b5a625 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/search-table.hbs
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/search-table.hbs
@@ -44,14 +44,17 @@
             <i class="fa fa-cog" aria-hidden="true"></i>&nbsp;<span class="caret"></span>
           </button>
           <ul class="dropdown-menu">
-            <li {{action 'doBulkAction' 'resume'}} class={{toggleResume}}><a href="#"><i class="fa fa-play"></i>Resume</a></li>
-            <li {{action 'doBulkAction' 'suspend'}} class={{toggleSuspend}}><a href="#"><i class="fa fa-pause"></i>Suspend</a></li>
-            <li {{action 'doBulkAction' 'kill'}} class={{toggleKill}}><a href="#"><i class="fa fa-close"></i>Kill</a></li>
+            <li {{action 'doBulkAction' 'start'}} class={{toggleStart}}><a href="javascript:void(0)"><i class="fa fa-play"></i>Start</a></li>
+            <li {{action 'doBulkAction' 'resume'}} class={{toggleResume}}><a href="javascript:void(0)"><i class="fa fa-play"></i>Resume</a></li>
+            <li {{action 'doBulkAction' 'suspend'}} class={{toggleSuspend}}><a href="javascript:void(0)"><i class="fa fa-pause"></i>Suspend</a></li>
+            <li {{action 'doBulkAction' 'kill'}} class={{toggleKill}}><a href="javascript:void(0)"><i class="fa fa-close"></i>Kill</a></li>
           </ul>
         </div>
-        <div id="bulk-action-loader" class='loading-container hidden'>
-          {{spin-spinner lines=7 length=3 width=3 radius=3 top=-10 left=150}}
-        </div>
+        {{#if showBulkActionLoader}}
+          <div class='loading-container'>
+            {{spin-spinner lines=7 length=3 width=3 radius=3 top=200 left=1250}}
+          </div>
+        {{/if}}
         {{/if}}
       </th>
     </tr>