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/14 06:16:49 UTC

ambari git commit: AMBARI-19985. Workflow Manager Styling changes (Madhan Mohan Reddy via gauravn7)

Repository: ambari
Updated Branches:
  refs/heads/trunk 069ad4d7a -> fcf396f3d


AMBARI-19985. Workflow Manager Styling changes (Madhan Mohan Reddy via gauravn7)


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

Branch: refs/heads/trunk
Commit: fcf396f3d9bf774c89af8d683e9e22fa1e9188c0
Parents: 069ad4d
Author: Gaurav Nagar <gr...@gmail.com>
Authored: Tue Feb 14 11:46:36 2017 +0530
Committer: Gaurav Nagar <gr...@gmail.com>
Committed: Tue Feb 14 11:46:36 2017 +0530

----------------------------------------------------------------------
 .../ui/app/components/flow-designer.js          |  3 --
 .../resources/ui/app/components/job-details.js  | 16 +++++--
 .../src/main/resources/ui/app/styles/app.less   | 27 +++++++++---
 .../templates/components/designer-workspace.hbs |  2 +-
 .../app/templates/components/flow-designer.hbs  | 14 +++---
 .../ui/app/templates/components/job-config.hbs  |  4 +-
 .../ui/app/templates/components/job-details.hbs | 46 ++++++++++----------
 .../ui/app/templates/components/save-wf.hbs     |  6 +--
 .../components/search-create-new-bar.hbs        |  2 +-
 .../app/templates/components/search-table.hbs   |  2 +-
 .../templates/components/workflow-actions.hbs   |  4 +-
 .../components/workflow-job-details.hbs         | 14 +++++-
 .../main/resources/ui/app/utils/constants.js    |  3 +-
 13 files changed, 88 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js
index 83a1b27..a5536af 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/flow-designer.js
@@ -341,7 +341,6 @@ export default Ember.Component.extend(FindNodeMixin, Validations, {
       this.set("workflowFilePath", filePath);
     }.bind(this)).catch(function(data){
       console.error(data);
-      var stackTraceMsg = self.getStackTrace(data.responseText);
       self.set("errorMsg", "There is some problem while importing.Please try again.");
       self.showingErrorMsgInDesigner(data);
       self.set("isWorkflowImporting", false);
@@ -999,7 +998,6 @@ export default Ember.Component.extend(FindNodeMixin, Validations, {
           this.importActionSettingsFromString(data);
         }.bind(this)).catch(function(data){
           console.error(data);
-          var stackTraceMsg = self.getStackTrace(data.responseText);
           self.set("errorMsg", "There is some problem while importing asset.Please try again.");
           self.showingErrorMsgInDesigner(data);
         });
@@ -1018,7 +1016,6 @@ export default Ember.Component.extend(FindNodeMixin, Validations, {
           this.importActionNodeFromString(data);
         }.bind(this)).catch(function(data){
           console.error(data);
-          var stackTraceMsg = self.getStackTrace(data.responseText);
           self.set("errorMsg", "There is some problem while importing asset. Please try again.");
           self.showingErrorMsgInDesigner(data);
         });

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/components/job-details.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/components/job-details.js b/contrib/views/wfmanager/src/main/resources/ui/app/components/job-details.js
index d1343b0..fe60793 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/components/job-details.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/components/job-details.js
@@ -23,6 +23,7 @@ import Constants from '../utils/constants';
 export default Ember.Component.extend({
   workflowImporter: WorkflowImporter.create({}),
   actionTypeResolver: ActionTypeResolver.create({}),
+  layoutConfigs: { name: 'dagre', fit: false, edgeSep: 100 },
   error : {},
   errorMessage : Ember.computed('error', function() {
     if(this.get('error').status === 400){
@@ -261,6 +262,13 @@ export default Ember.Component.extend({
       var workflow = wfObject.workflow;
       console.log("Workflow Object..", workflow);
       var dataNodes=this.getCyDataNodes(workflow);
+      if (dataNodes.length > Constants.flowGraphMaxNodeCount) {
+        this.set("model.flowGraphMaxNodeCountReached", true);
+        this.set("model.inProgress", false);
+        return;
+      } else {
+        this.set("model.flowGraphMaxNodeCountReached", false);
+      }
       var cy = cytoscape({
         container: document.getElementById('cy'),
         elements: dataNodes,
@@ -324,9 +332,7 @@ export default Ember.Component.extend({
             }
           }
         ],
-        layout: {
-          name: 'dagre'
-        }
+        layout: this.get("layoutConfigs"),
       });
 
       // the default values of each option are outlined below:
@@ -343,11 +349,13 @@ export default Ember.Component.extend({
       };
 
       cy.panzoom( defaults );
+      cy.pan({x:200,y:50});
 
       cy.on('click', 'node', function(event) {
         var node = event.cyTarget;
         this.showActionNodeDetail(node, xmlString);
       }.bind(this));
+      this.set("model.inProgress", false);
     },
     importSampleWorkflow (){
       var self=this;
@@ -440,12 +448,14 @@ export default Ember.Component.extend({
         }.bind(this));
       },
       getJobDag : function (){
+        this.set("model.inProgress", true);
         //if (true) return this.importSampleWorkflow();
         Ember.$.get(Ember.ENV.API_URL+'/v2/job/'+this.get('id')+'?show=definition&timezone=GMT',function(response){
           var xmlString = (new XMLSerializer()).serializeToString(response).trim();
           this.renderDag(xmlString);
         }.bind(this)).fail(function(error){
           this.set('error',error);
+          this.set("model.inProgress", false);
         }.bind(this));
         // this.set('model.jobDag', Ember.ENV.API_URL+'/v2/job/'+this.get('id')+'?show=graph');
       },

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/styles/app.less
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/styles/app.less b/contrib/views/wfmanager/src/main/resources/ui/app/styles/app.less
index 750ba62..3f24000 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/styles/app.less
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/styles/app.less
@@ -26,7 +26,7 @@
 @defaultBorderRadius: 5px;
 @nodeActionBgColor: #E5E5E5;
 @defaultPropertiesEditorHeight: 350px;
-@actionLinkColor: #49aebf;
+@actionLinkColor: #0f96c6;
 @navTabAnchorColor: #777;
 @navTabAnchorHighlightedColor: #555;
 @modalDialogWidth: 60%;
@@ -628,6 +628,9 @@ height: 100vh;
 #asset_manager_dialog .panel-default > .panel-heading,
 #asset_config_dialog .panel-default > .panel-heading,
 #asset_list_dialog .panel-default > .panel-heading {
+
+}
+.panel-default > .panel-heading {
   background-color: #f8f8f8;
   color: @actionLinkColor;
 }
@@ -635,6 +638,9 @@ height: 100vh;
 .whiteLabel, .whiteLabel:hover, .whiteLabel:focus, .whiteLabel:visited, .whiteLabel:active {
     color: #fff;
 }
+.btn-default, .btn-default:hover, .btn-default:visited, .btn-default:focus, .btn-default:active, .btn-default.active {
+  color: @actionLinkColor !important;
+}
 .btn-primary, .btn-primary:visited, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
     background-color: @bgGreenActive !important;
     border-color: #289028 !important;
@@ -764,6 +770,7 @@ height: 100vh;
 #search-bar .search-icon {
   display: inline-block;
   border: 1px solid #ccc;
+  border-radius: 0px;
   padding: 4px 10px;
   border-left: 0px;
   border-bottom-right-radius: 3px;
@@ -969,14 +976,14 @@ height: 100vh;
   }
 
   .actions-col .btn {
-      color: gray;
+      color: @actionLinkColor;
       cursor: not-allowed;
       opacity: .5;
       font-size: 10px;
   }
 
   .actions-col .btn.isOn {
-      color: #000;
+      color: @actionLinkColor;
       cursor: pointer;
       opacity: 1;
   }
@@ -1197,7 +1204,7 @@ height: 100vh;
     right: 5px;
 }
 .actionNodes li{
-    padding: 10px 0px !important;
+    padding: 8px 0px !important;
     height: auto;
 }
 .dr_action_fork{
@@ -1316,6 +1323,11 @@ height: 100vh;
   z-index: 999;
 }
 
+.cy-note {
+  color: #777;
+  padding-right: 10px;
+}
+
 .overlay_node_editor {
   position: absolute;
   z-index: 100;
@@ -1459,7 +1471,7 @@ height: 100vh;
   font-size: 10px;
 }
 
-.paste-action-btn {
+.paste-action-btn, .asset-import-btn {
   border: 1px solid silver;
   border-radius: 6px;
   margin-left: 5px;
@@ -1674,6 +1686,9 @@ height: 100vh;
 .action-link, .action-link:hover, .action-link:focus {
   color: @actionLinkColor !important;
 }
+.dropdown-menu > li > a, .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
+  color: @actionLinkColor !important;
+}
 .table-striped > tbody > tr:nth-of-type(odd) {
     background-color: #fff;
 }
@@ -1741,4 +1756,4 @@ height: 100vh;
  }
  .CodeMirror{
    height: auto;
- }
\ No newline at end of file
+ }

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/designer-workspace.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/designer-workspace.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/designer-workspace.hbs
index 623f2e0..a4a0cc2 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/designer-workspace.hbs
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/designer-workspace.hbs
@@ -70,7 +70,7 @@
             </div>
             <div class="btn-group">
             <div class="dropdown create-wf-menu">
-              <button class="btn btn-default dropdown-toggle borderRightRadiusNone" {{action "showTopRecentList"}} type="button" data-toggle="dropdown">Recent
+              <button class="btn btn-default dropdown-toggle borderRadiusNone" {{action "showTopRecentList"}} type="button" data-toggle="dropdown">Recent
                 <span class="caret"></span></button>
                 <ul class="dropdown-menu proj-menu">
                  {{#if projList}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/flow-designer.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/flow-designer.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/flow-designer.hbs
index 00e8b76..ff92f7d 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/flow-designer.hbs
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/flow-designer.hbs
@@ -140,7 +140,7 @@
     <div class="designer-panel designer-canvas">
       {{designer-errors errors=errors validationErrors=validationErrors}}
       {{#if undoAvailable}}
-        <div id="alert"class="alert alert-warning" role="alert">
+        <div id="alert"class="alert alert-warning workflow-error" role="alert">
           {{#if (eq undoType 'nodeDeleted')}}
             <label>Node deleted <span class="undo" {{action 'undo'}}><u>Undo</u></span></label>
           {{else if (eq undoType 'nodeAdded')}}
@@ -152,22 +152,22 @@
       {{/if}}
       {{#if isWorkflowImporting}}
       <div id="loader">
-          <div id="alert"class="alert alert-info alert-dismissible" role="alert">
+          <div id="alert"class="alert alert-info alert-dismissible workflow-error" role="alert">
            Importing workflow.Please wait...
           </div>
       </div>
       {{/if}}
       {{#if (not (eq errorMsg ""))}}
         <div id="loader">
-            <div id="alert"class="alert alert-danger alert-dismissible" role="alert">
+            <div id="alert"class="alert alert-danger alert-dismissible workflow-error" role="alert">
                 {{errorMsg}}
                 {{#if isStackTraceAvailable}}
                   {{#if isStackTraceVisible}}
-                    <a href="#" {{action "hideStackTrace"}}>Hide Log</a>
+                    <a href="#" class="action-link" {{action "hideStackTrace"}}>Hide Log</a>
                     <div id="stackTrace">{{{stackTrace}}}</div>
                   {{/if}}
                   {{#unless isStackTraceVisible}}
-                    <a href="#" {{action "showStackTrace"}}>Show Log</a>
+                    <a href="#" class="action-link" {{action "showStackTrace"}}>Show Log</a>
                   {{/unless}}
                 {{/if}}
             </div>
@@ -175,14 +175,14 @@
       {{/if}}
       {{#if isAssetPublishing}}
         <div id="loader">
-            <div id="alert"class="alert alert-info alert-dismissible" role="alert">
+            <div id="alert"class="alert alert-info alert-dismissible workflow-error" role="alert">
               Publishing asset. Please wait...
             </div>
         </div>
       {{/if}}
       {{#if isAssetImporting}}
         <div id="loader">
-            <div id="alert"class="alert alert-info alert-dismissible" role="alert">
+            <div id="alert"class="alert alert-info alert-dismissible workflow-error" role="alert">
               Importing asset. Please wait...
             </div>
         </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/job-config.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/job-config.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/job-config.hbs
index bca8dfa..2ac56e8 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/job-config.hbs
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/job-config.hbs
@@ -83,11 +83,11 @@
               <div>{{alertDetails}}</div>
               {{#if isStackTraceAvailable}}
                 {{#if isStackTraceVisible}}
-                  <a href="#" {{action "hideStackTrace"}}>Hide Log</a>
+                  <a href="#" class="action-link" {{action "hideStackTrace"}}>Hide Log</a>
                   <div id="stackTrace">{{{stackTrace}}}</div>
                 {{/if}}
                 {{#unless isStackTraceVisible}}
-                  <a href="#" {{action "showStackTrace"}}>Show Log</a>
+                  <a href="#" class="action-link" {{action "showStackTrace"}}>Show Log</a>
                 {{/unless}}
               {{/if}}
             </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/job-details.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/job-details.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/job-details.hbs
index 044e053..1031f4d 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/job-details.hbs
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/job-details.hbs
@@ -61,14 +61,14 @@
       {{#workflow-job-details model=model jobDefinition=jobDefinition configurationProperties=configurationProperties getJobLog="getJobLog" getActionDetails="getActionDetails" id=id}}
         <div>
           <ul class="nav nav-tabs" role="tablist">
-            <li role="presentation" class="active"><a href="#jobInfo" aria-controls="job-info" role="tab" data-toggle="tab">Info</a></li>
-            <li {{action 'showFirstActionDetail'}} role="presentation"><a href="#jobAction" aria-controls="job-action" role="tab" data-toggle="tab">Action</a></li>
-            <li {{action 'getJobDag'}} role="presentation"><a href="#jobDag" aria-controls="jobDag" role="tab" data-toggle="tab">Flow Graph</a></li>
-            <li {{action 'getJobLog'}} role="presentation"><a href="#jobLog" aria-controls="jobLog" role="tab" data-toggle="tab">Log</a></li>
-            <li {{action 'getErrorLog'}} role="presentation"><a href="#jobErrorLog" aria-controls="jobErrorLog" role="tab" data-toggle="tab">Error Log</a></li>
-            <li {{action 'getAuditLog'}} role="presentation"><a href="#jobAuditLog" aria-controls="jobAuditLog" role="tab" data-toggle="tab">Audit Log</a></li>
-            <li role="presentation"><a href="#jobConfig" aria-controls="jobConfig" role="tab" data-toggle="tab">Configuration</a></li>
-            <li {{action 'getJobDefinition'}} role="presentation"><a href="#jobDefinition" aria-controls="jobDefinition" role="tab" data-toggle="tab">Definition</a></li>
+            <li role="presentation" class="active"><a href="#jobInfo" class="action-link" aria-controls="job-info" role="tab" data-toggle="tab">Info</a></li>
+            <li {{action 'showFirstActionDetail'}} role="presentation"><a href="#jobAction" class="action-link" aria-controls="job-action" role="tab" data-toggle="tab">Action</a></li>
+            <li {{action 'getJobDag'}} role="presentation"><a href="#jobDag" class="action-link" aria-controls="jobDag" role="tab" data-toggle="tab">Flow Graph</a></li>
+            <li {{action 'getJobLog'}} role="presentation"><a href="#jobLog" class="action-link" aria-controls="jobLog" role="tab" data-toggle="tab">Log</a></li>
+            <li {{action 'getErrorLog'}} role="presentation"><a href="#jobErrorLog" class="action-link" aria-controls="jobErrorLog" role="tab" data-toggle="tab">Error Log</a></li>
+            <li {{action 'getAuditLog'}} role="presentation"><a href="#jobAuditLog" class="action-link" aria-controls="jobAuditLog" role="tab" data-toggle="tab">Audit Log</a></li>
+            <li role="presentation"><a href="#jobConfig" aria-controls="jobConfig" class="action-link" role="tab" data-toggle="tab">Configuration</a></li>
+            <li {{action 'getJobDefinition'}} role="presentation"><a href="#jobDefinition" class="action-link" aria-controls="jobDefinition" role="tab" data-toggle="tab">Definition</a></li>
             <li role="presentation" class="pull-right">
               <a class="pointer action-link" href="#" title="Edit Workflow" {{action "editWorkflow" model.appPath}}>
                 Edit Workflow
@@ -82,14 +82,14 @@
       {{#coord-job-details model=model jobDefinition=jobDefinition configurationProperties=configurationProperties getJobLog="getJobLog" id=id getCoordActionReruns="getCoordActionReruns" showWorkflow="showWorkflow"}}
         <div>
           <ul class="nav nav-tabs" role="tablist">
-            <li role="presentation" class="active"><a href="#jobInfo" aria-controls="job-info" role="tab" data-toggle="tab">Info</a></li>
-            <li {{action 'showFirstActionDetail'}} role="presentation"><a href="#jobAction" aria-controls="job-action" role="tab" data-toggle="tab">Workflow Jobs</a></li>
-            <li {{action 'getJobLog'}} role="presentation"><a href="#jobLog" aria-controls="jobLog" role="tab" data-toggle="tab">Log</a></li>
-            <li {{action 'getErrorLog'}} role="presentation"><a href="#jobErrorLog" aria-controls="jobErrorLog" role="tab" data-toggle="tab">Error Log</a></li>
-            <li {{action 'getAuditLog'}} role="presentation"><a href="#jobAuditLog" aria-controls="jobAuditLog" role="tab" data-toggle="tab">Audit Log</a></li>
-            <li {{action 'getCoordActionReruns'}} role="presentation"><a href="#coordActionReruns" aria-controls="coordActionReruns" role="tab" data-toggle="tab">Action Reruns</a></li>
-            <li role="presentation"><a href="#jobConfig" aria-controls="jobConfig" role="tab" data-toggle="tab">Configuration</a></li>
-            <li {{action 'getJobDefinition'}} role="presentation"><a href="#jobDefinition" aria-controls="jobDefinition" role="tab" data-toggle="tab">Definition</a></li>
+            <li role="presentation" class="active"><a href="#jobInfo" class="action-link" aria-controls="job-info" role="tab" data-toggle="tab">Info</a></li>
+            <li {{action 'showFirstActionDetail'}} role="presentation"><a href="#jobAction" class="action-link" aria-controls="job-action" role="tab" data-toggle="tab">Workflow Jobs</a></li>
+            <li {{action 'getJobLog'}} role="presentation"><a href="#jobLog" class="action-link" aria-controls="jobLog" role="tab" data-toggle="tab">Log</a></li>
+            <li {{action 'getErrorLog'}} role="presentation"><a href="#jobErrorLog" class="action-link" aria-controls="jobErrorLog" role="tab" data-toggle="tab">Error Log</a></li>
+            <li {{action 'getAuditLog'}} role="presentation"><a href="#jobAuditLog" class="action-link" aria-controls="jobAuditLog" role="tab" data-toggle="tab">Audit Log</a></li>
+            <li {{action 'getCoordActionReruns'}} role="presentation"><a href="#coordActionReruns" class="action-link" aria-controls="coordActionReruns" role="tab" data-toggle="tab">Action Reruns</a></li>
+            <li role="presentation"><a href="#jobConfig" class="action-link" aria-controls="jobConfig" role="tab" data-toggle="tab">Configuration</a></li>
+            <li {{action 'getJobDefinition'}} role="presentation"><a href="#jobDefinition" class="action-link" aria-controls="jobDefinition" role="tab" data-toggle="tab">Definition</a></li>
           </ul>
         </div>
       {{/coord-job-details}}
@@ -97,13 +97,13 @@
       {{#bundle-job-details model=model jobDefinition=jobDefinition configurationProperties=configurationProperties getJobLog="getJobLog" id=id showCoord="showCoord"}}
         <div>
           <ul class="nav nav-tabs" role="tablist">
-            <li role="presentation" class="active"><a href="#jobInfo" aria-controls="job-info" role="tab" data-toggle="tab">Info</a></li>
-            <li role="presentation"><a href="#coordJobs" aria-controls="coord-jobs" role="tab" data-toggle="tab">Coord Jobs</a></li>
-            <li {{action 'getJobLog'}} role="presentation"><a href="#jobLog" aria-controls="jobLog" role="tab" data-toggle="tab">Log</a></li>
-            <li {{action 'getErrorLog'}} role="presentation"><a href="#jobErrorLog" aria-controls="jobErrorLog" role="tab" data-toggle="tab">Error Log</a></li>
-            <li {{action 'getAuditLog'}} role="presentation"><a href="#jobAuditLog" aria-controls="jobAuditLog" role="tab" data-toggle="tab">Audit Log</a></li>
-            <li role="presentation"><a href="#jobConfig" aria-controls="jobConfig" role="tab" data-toggle="tab">Configuration</a></li>
-            <li {{action 'getJobDefinition'}} role="presentation"><a href="#jobDefinition" aria-controls="jobDefinition" role="tab" data-toggle="tab">Definition</a></li>
+            <li role="presentation" class="active"><a href="#jobInfo" class="action-link" aria-controls="job-info" role="tab" data-toggle="tab">Info</a></li>
+            <li role="presentation"><a href="#coordJobs" class="action-link" aria-controls="coord-jobs" role="tab" data-toggle="tab">Coord Jobs</a></li>
+            <li {{action 'getJobLog'}} role="presentation"><a href="#jobLog" class="action-link" aria-controls="jobLog" role="tab" data-toggle="tab">Log</a></li>
+            <li {{action 'getErrorLog'}} role="presentation"><a href="#jobErrorLog" class="action-link" aria-controls="jobErrorLog" role="tab" data-toggle="tab">Error Log</a></li>
+            <li {{action 'getAuditLog'}} role="presentation"><a href="#jobAuditLog" class="action-link" aria-controls="jobAuditLog" role="tab" data-toggle="tab">Audit Log</a></li>
+            <li role="presentation"><a href="#jobConfig" class="action-link" aria-controls="jobConfig" role="tab" data-toggle="tab">Configuration</a></li>
+            <li {{action 'getJobDefinition'}} role="presentation"><a href="#jobDefinition" class="action-link" aria-controls="jobDefinition" role="tab" data-toggle="tab">Definition</a></li>
           </ul>
         </div>
       {{/bundle-job-details}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/save-wf.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/save-wf.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/save-wf.hbs
index aafae4a..aee2072 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/save-wf.hbs
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/save-wf.hbs
@@ -31,11 +31,11 @@
               <div>{{alertDetails}}</div>
               {{#if isStackTraceAvailable}}
                 {{#if isStackTraceVisible}}
-                  <a href="#" {{action "hideStackTrace"}}>Hide Log</a>
+                  <a href="#" class="action-link" {{action "hideStackTrace"}}>Hide Log</a>
                   <div id="stackTrace">{{{stackTrace}}}</div>
                 {{/if}}
-                {{#unless isStackTraceVisible}}  
-                  <a href="#" {{action "showStackTrace"}}>Show Log</a>
+                {{#unless isStackTraceVisible}}
+                  <a href="#" class="action-link" {{action "showStackTrace"}}>Show Log</a>
                 {{/unless}}
               {{/if}}
             </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/search-create-new-bar.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/search-create-new-bar.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/search-create-new-bar.hbs
index 80f3b14..b9c6029 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/search-create-new-bar.hbs
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/search-create-new-bar.hbs
@@ -28,7 +28,7 @@
         </ul>
       </div>
       <input id="search-field" type="text" class="form-control" data-role="tagsinput" placeholder="Filter(Eg:name:workflowname)" aria-describedby="basic-addon1">
-      <div class="search-icon" {{action 'onSearchClicked'}}><i class="fa fa-search"></i></div>
+      <div class="btn btn-default search-icon" {{action 'onSearchClicked'}}><i class="fa fa-search"></i></div>
     </div>
   </div>
   <div class='form-group date-picker'>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/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 33e3d56..eccc95d 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
@@ -28,7 +28,7 @@
       <th>End Time</th>
       <th>Job Id</th>
       <th>
-        Action
+        Actions
         {{#if showBulkAction}}
         <div id="bulk-action-button" title="Bulk Actions" class="btn-group btn-group btn-group-xs" role="group" aria-label="buttons">
           <button type="button" id="bulk-action" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/workflow-actions.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/workflow-actions.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/workflow-actions.hbs
index 265da9f..75ec872 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/workflow-actions.hbs
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/workflow-actions.hbs
@@ -35,8 +35,8 @@
            </span>
         </div>
       {{/if}}
-      <div {{action 'showAssetNodeList'}} class="btn btn-default margin3"> <i class="fa fa-download"></i> <span class="font10px">Import asset</span></div>
-      <div {{action 'showImportActionNodeFileBrowser'}} class="btn btn-default margin3"> <i class="fa fa-cloud-download"></i> <span class="font10px">Import asset from HDFS</span></div>
+      <div {{action 'showAssetNodeList'}} class="btn asset-import-btn margin3"> <i class="fa fa-download"></i> <span class="font10px">Import asset</span></div>
+      <div {{action 'showImportActionNodeFileBrowser'}} class="btn asset-import-btn margin3"> <i class="fa fa-cloud-download"></i> <span class="font10px">Import asset from HDFS</span></div>
       <div class="clearfix"></div>
       <ul class="actions_list_left actionNodes">
           <li {{action 'addAction' 'hive'}} class="dr_action enabled" data-name="Hive" data-type="hive"> <i class="fa fa-server"></i> Hive </li>

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/workflow-job-details.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/workflow-job-details.hbs b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/workflow-job-details.hbs
index 8865663..b5565c8 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/workflow-job-details.hbs
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/templates/components/workflow-job-details.hbs
@@ -108,8 +108,8 @@
         </div>
         <div class="panel-body">
           <ul class="nav nav-tabs" role="tablist">
-            <li role="presentation" class="active"><a href="#actionInfo" aria-controls="action-info" role="tab" data-toggle="tab">Info</a></li>
-            <li role="presentation"><a href="#actionConf" aria-controls="action-conf" role="tab" data-toggle="tab">Configuration</a></li>
+            <li role="presentation" class="active"><a href="#actionInfo" class="action-link" aria-controls="action-info" role="tab" data-toggle="tab">Info</a></li>
+            <li role="presentation"><a href="#actionConf" class="action-link" aria-controls="action-conf" role="tab" data-toggle="tab">Configuration</a></li>
           </ul>
           <div class="tab-content">
             <div role="tabpanel" class="tab-pane active" id="actionInfo">
@@ -196,8 +196,18 @@
     <div class="panel panel-default">
       <div class="panel-body">
         <!-- <img src={{dagUrl}} /> -->
+        {{#if model.inProgress}}
+          {{spin-spinner lines=8 length=5 width=3 radius=5 top=350}}
+        {{/if}}
         <div class="row">
           <div class="col-xs-8">
+            {{#if model.flowGraphMaxNodeCountReached}}
+              <div id="alert"class="alert alert-danger alert-dismissible workflow-error" role="alert">
+                Workflow is too large to be rendered.
+              </div>
+            {{else}}
+              <div class="cy-note pull-right">Click on node to get details</div>
+            {{/if}}
             <div id="cy" class="cy-panel"></div>
           </div>
           <div class="col-xs-4">

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcf396f3/contrib/views/wfmanager/src/main/resources/ui/app/utils/constants.js
----------------------------------------------------------------------
diff --git a/contrib/views/wfmanager/src/main/resources/ui/app/utils/constants.js b/contrib/views/wfmanager/src/main/resources/ui/app/utils/constants.js
index ef0758a..bf858d8 100644
--- a/contrib/views/wfmanager/src/main/resources/ui/app/utils/constants.js
+++ b/contrib/views/wfmanager/src/main/resources/ui/app/utils/constants.js
@@ -91,5 +91,6 @@ export default Ember.Object.create({
   ],
   customActionEnabled : true,
   successfulFlowColor : '#5bb75b',
-  defaultFlowColor : '#808080'
+  defaultFlowColor : '#808080',
+  flowGraphMaxNodeCount : 400
 });