azkaban-aplcache

Details

diff --git a/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/executionspage.vm b/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/executionspage.vm
index b36bfea..479b09c 100644
--- a/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/executionspage.vm
+++ b/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/executionspage.vm
@@ -20,7 +20,7 @@
 
 #parse("azkaban/webapp/servlet/velocity/style.vm")
 #parse("azkaban/webapp/servlet/velocity/javascript.vm")
-
+    <script type="text/javascript" src="${context}/js/azkaban/util/ajax.js"></script>
     <script type="text/javascript" src="${context}/js/azkaban/view/executions.js"></script>
     <script type="text/javascript" src="${context}/js/jquery/jquery.tablesorter.js"></script>
     <script type="text/javascript">
@@ -108,7 +108,7 @@
                 <td>$utils.formatDate(${flow.getFirst().endTime})</td>
                 <td>$utils.formatDuration(${flow.getFirst().startTime}, ${flow.getFirst().endTime})</td>
                 <td><div class="status ${flow.getFirst().status}">$utils.formatStatus(${flow.getFirst().status})</div></td>
-                <td></td>
+                <td><button type="button" id="cancelbtn" class="btn btn-danger btn-sm" onclick="killFlow(${flow.getFirst().executionId})">Kill</button></td>
               </tr>
   #end
 #else
@@ -171,7 +171,22 @@
           </table>
         </div><!-- /col-xs-12 -->
       </div><!-- /row -->
-
+      <div class="modal" id="messageDialog">
+        <div class="modal-dialog">
+          <div class="modal-content">
+            <div class="modal-header" id="messageTitle">
+              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+              <h4 class="modal-title">Error</h4>
+            </div>
+            <div class="modal-body" id="messageDiv">
+              <p id="messageBox"></p>
+            </div>
+            <div class="modal-footer">
+              <button type="button" class="btn btn-primary" data-dismiss="modal"  onclick="window.location.reload(true);">Dismiss</button>
+            </div>
+          </div>
+       </div>
+      </div>
     </div><!-- /container-full -->
   </body>
 </html>
diff --git a/azkaban-web-server/src/web/js/azkaban/view/executions.js b/azkaban-web-server/src/web/js/azkaban/view/executions.js
index 2724d7c..28f0757 100644
--- a/azkaban-web-server/src/web/js/azkaban/view/executions.js
+++ b/azkaban-web-server/src/web/js/azkaban/view/executions.js
@@ -15,7 +15,26 @@
  */
 
 $.namespace('azkaban');
-
+function killFlow(execId) {
+	  var requestURL=document.location.href.replace("#currently-running","");	  
+	  var requestData = {"execid": execId, "ajax": "cancelFlow"};
+	  var successHandler = function(data) {
+		  console.log("cancel clicked");
+		  if (data.error) {
+			  showDialog("Error", data.error);
+		  }
+		  else {
+			  showDialog("Cancelled", "Flow has been cancelled.");
+			 
+		  }
+	  };
+	  ajaxCall(requestURL, requestData, successHandler);	 
+}
+var showDialog = function(title, message) {
+	$('#messageTitle').text(title);
+	$('#messageBox').text(message);
+	$('#messageDialog').modal();
+}
 var executionsTabView;
 azkaban.ExecutionsTabView = Backbone.View.extend({
   events: {