azkaban-memoizeit

Merge pull request #95 from davidzchen/ui-tweaks Graph

1/7/2014 10:48:29 AM

Details

diff --git a/src/java/azkaban/webapp/servlet/velocity/executingflowpage.vm b/src/java/azkaban/webapp/servlet/velocity/executingflowpage.vm
index efe9050..b0c63ca 100644
--- a/src/java/azkaban/webapp/servlet/velocity/executingflowpage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/executingflowpage.vm
@@ -113,6 +113,7 @@
 				<li class="nav-button pull-right"><button type="button" id="retrybtn" class="btn btn-success">Retry Failed</button></li>
 				<li class="nav-button pull-right"><button type="button" id="executebtn" class="btn btn-success">Prepare Execution</button></li>
 			</ul>
+    </div>
 
 	## Graph View
 
@@ -120,7 +121,8 @@
 	
 	## Job List View
 
-			<div class="row" id="jobListView">
+    <div class="container-full" id="jobListView">
+			<div class="row">
 				<div class="col-lg-12">
 					<table class="table table-striped table-bordered table-condensed table-hover executions-table">
 						<thead>
@@ -137,29 +139,35 @@
 						<tbody id="executableBody">
 						</tbody>
 					</table>
-				</div>
-			</div>
+        </div><!-- /.col-lg-12 -->
+      </div><!-- /.row -->
+    </div><!-- /.container-full -->
 
 	## Flow Log View
 
-			<div class="row" id="flowLogView">
-				<div class="col-lg-12">
-					<div class="panel panel-default">
-						<div class="panel-heading">
-							<div class="pull-right">
-								<button type="button" id="updateLogBtn" class="btn btn-xs btn-info">Refresh</button>
-							</div>
-							Flow log
-						</div>
-						<div class="panel-body log-viewer">
-							<pre id="logSection"></pre>
-						</div>
-					</div>
-				</div>
-			</div>
+    <div class="container-full container-fill" id="flowLogView">
+			<div class="row">
+				<div class="col-lg-12 col-content">
+          <div class="log-viewer">
+            <div class="panel panel-default">
+              <div class="panel-heading">
+                <div class="pull-right">
+                  <button type="button" id="updateLogBtn" class="btn btn-xs btn-info">Refresh</button>
+                </div>
+                Flow log
+              </div>
+              <div class="panel-body">
+                <pre id="logSection"></pre>
+              </div>
+            </div><!-- /.panel -->
+          </div><!-- /.log-viewer -->
+        </div><!-- /.col-lg-12 -->
+      </div><!-- /.row -->
+    </div><!-- /. -->
 	
 	## Error message message dialog.
 
+    <div class="container-full">
 			<div class="modal" id="messageDialog">
 				<div class="modal-dialog">
 					<div class="modal-content">
@@ -183,7 +191,6 @@
 	#parse ("azkaban/webapp/servlet/velocity/flowexecutionpanel.vm")
 	#parse ("azkaban/webapp/servlet/velocity/messagedialog.vm")
 #end
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
 		</div>
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/executionspage.vm b/src/java/azkaban/webapp/servlet/velocity/executionspage.vm
index 2fb2080..d3d9c77 100644
--- a/src/java/azkaban/webapp/servlet/velocity/executionspage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/executionspage.vm
@@ -149,8 +149,6 @@
 				</div><!-- /col-lg-12 -->
 			</div><!-- /row -->
 		
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
-
 		</div><!-- /container-full -->
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/flowgraphview.vm b/src/java/azkaban/webapp/servlet/velocity/flowgraphview.vm
index aac3148..60cdb96 100644
--- a/src/java/azkaban/webapp/servlet/velocity/flowgraphview.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/flowgraphview.vm
@@ -16,23 +16,25 @@
 
 
  	## Graph view.
- 
-			<div class="row row-offcanvas row-offcanvas-left" id="graphView">
-				<div class="col-xs-6 col-sm-3 sidebar-offcanvas">
-					<div class="panel panel-default" id="jobList">
-						<div class="panel-heading">
-							<input id="filter" type="text" placeholder="Job Filter" class="form-control">
-						</div>
-						<div id="list" class="list-group"></div>
-						<div class="panel-footer">
-							<button type="button" class="btn btn-sm btn-default" id="resetPanZoomBtn">Reset Pan Zoom</button>
-						</div>
-					</div>
-				</div>
-				<div class="col-xs-12 col-sm-9">
+
+    <div class="container-full container-fill" id="graphView">
+			<div class="row row-offcanvas row-offcanvas-left">
+				<div class="col-xs-6 col-sm-3 sidebar-offcanvas graph-sidebar">
+          <div class="panel panel-default" id="jobList">
+            <div class="panel-heading">
+              <input id="filter" type="text" placeholder="Job Filter" class="form-control">
+            </div>
+            <div id="list" class="list-group"></div>
+            <div class="panel-footer">
+              <button type="button" class="btn btn-sm btn-default" id="resetPanZoomBtn">Reset Pan Zoom</button>
+            </div>
+          </div><!-- /.panel -->
+        </div><!-- /.col-sidebar -->
+				<div class="col-xs-12 col-sm-9 col-content">
 					<div id="svgDiv" class="well well-clear well-sm">
 						<svg id="flow-graph" xmlns="http://www.w3.org/2000/svg" version="1.1" shape-rendering="optimize-speed" text-rendering="optimize-speed">
 						</svg>
 					</div>
 				</div>
 			</div>
+    </div>
diff --git a/src/java/azkaban/webapp/servlet/velocity/flowpage.vm b/src/java/azkaban/webapp/servlet/velocity/flowpage.vm
index 80efa01..91834a6 100644
--- a/src/java/azkaban/webapp/servlet/velocity/flowpage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/flowpage.vm
@@ -94,6 +94,7 @@
 				<li id="executionsViewLink"><a href="#executions">Executions</a></li>
 				<li id="summaryViewLink"><a href="#summary">Summary</a></li>
 			</ul>
+    </div>
 					
 	## Graph view.
 
@@ -101,7 +102,8 @@
 
 	## Executions view.
 
-			<div class="row" id="executionsView">
+    <div class="container-full" id="executionsView">
+			<div class="row">
 				<div class="col-lg-12">
 					<table class="table table-striped table-bordered table-condensed table-hover" id="execTable">
 						<thead>
@@ -129,12 +131,16 @@
 					</ul>
 				</div>
 			</div>
+    </div><!-- /.container-fill -->
 
 	## Summary view.
 
-			<div class="row" id="summaryView">
-			</div><!-- /#summaryView -->
+    <div class="container-full" id="summaryView">
+			<div class="row" id="summary-view-content">
+			</div><!-- /.row -->
+    </div><!-- /.container-fill -->
 
+    <div class="container-full">
 			<div id="contextMenu">
 			</div>
 
@@ -143,7 +149,7 @@
 	#parse ("azkaban/webapp/servlet/velocity/messagedialog.vm")
 #end
 
-#parse("azkaban/webapp/servlet/velocity/footer.vm")
+##parse("azkaban/webapp/servlet/velocity/footer.vm")
 		</div><!-- /.container -->
 	</body>
 </body>
diff --git a/src/java/azkaban/webapp/servlet/velocity/historypage.vm b/src/java/azkaban/webapp/servlet/velocity/historypage.vm
index 159eed9..9ba5947 100644
--- a/src/java/azkaban/webapp/servlet/velocity/historypage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/historypage.vm
@@ -219,8 +219,6 @@
 			
   #parse ("azkaban/webapp/servlet/velocity/invalidsessionmodal.vm")
 #end
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
-
 		</div><!-- /container-full -->
 	</body>
 <html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/index.vm b/src/java/azkaban/webapp/servlet/velocity/index.vm
index 71bff5b..35812b2 100644
--- a/src/java/azkaban/webapp/servlet/velocity/index.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/index.vm
@@ -167,8 +167,6 @@
 			</div>
 
 #parse ("azkaban/webapp/servlet/velocity/invalidsessionmodal.vm")
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
-
 		</div><!-- /container -->
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/jmxpage.vm b/src/java/azkaban/webapp/servlet/velocity/jmxpage.vm
index 03159ed..f11e330 100644
--- a/src/java/azkaban/webapp/servlet/velocity/jmxpage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/jmxpage.vm
@@ -201,8 +201,6 @@
 				</div>
 			</div>
 #end
-
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
 		</div>
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/jobdetailspage.vm b/src/java/azkaban/webapp/servlet/velocity/jobdetailspage.vm
index 475da71..b126c03 100644
--- a/src/java/azkaban/webapp/servlet/velocity/jobdetailspage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/jobdetailspage.vm
@@ -81,28 +81,34 @@
 				<li id="jobLogViewLink"><a href="#joblog">Log</a></li>
 				<li><a href="${context}/pigvisualizer?execid=${execid}&jobid=${jobid}">Visualization</a></li>
 			</ul>
+    </div>
 
 	## Log content.
 
-			<div class="row" id="jobLogView">
-				<div class="col-lg-12">
-					<div class="panel panel-default">
-						<div class="panel-heading">
-							<div class="pull-right">
-								<button type="button" id="updateLogBtn" class="btn btn-xs btn-default">Refresh</button>
-							</div>
-							Job Logs
-						</div>
-						<div class="panel-body log-viewer">
-              <pre id="logSection"></pre>
-						</div>
-					</div>
-				</div>
+    <div class="container-full container-fill" id="jobLogView">
+			<div class="row">
+				<div class="col-lg-12 col-content">
+          <div class="log-viewer">
+            <div class="panel panel-default">
+              <div class="panel-heading">
+                <div class="pull-right">
+                  <button type="button" id="updateLogBtn" class="btn btn-xs btn-default">Refresh</button>
+                </div>
+                Job Logs
+              </div>
+              <div class="panel-body">
+                <pre id="logSection"></pre>
+              </div>
+            </div>
+          </div>
+        </div>
 			</div>
+    </div>
 
 	## Job Summary
 
-			<div id="jobSummaryView" class="row">
+    <div class="container-full" id="jobSummaryView">
+			<div class="row">
 				<div class="col-lg-12">
 					<table id="commandTable" class="table table-striped table-bordered table-hover">
 					</table>
@@ -140,9 +146,11 @@
 					</div>
 				</div>
 			</div>
+    </div>
 			
 	## Error message message dialog.
 
+    <div class="container-full">
 			<div class="modal" id="messageDialog">
 				<div class="modal-dialog">
 					<div class="modal-content">
@@ -158,8 +166,6 @@
 			</div>
 
 #end
-
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
 		</div>
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/jobhistorypage.vm b/src/java/azkaban/webapp/servlet/velocity/jobhistorypage.vm
index a8131ab..ab32567 100644
--- a/src/java/azkaban/webapp/servlet/velocity/jobhistorypage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/jobhistorypage.vm
@@ -156,7 +156,6 @@
 			</div><!-- /.row -->
 
 #end
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
 		</div>
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/jobpage.vm b/src/java/azkaban/webapp/servlet/velocity/jobpage.vm
index 46bf33a..21cddcb 100644
--- a/src/java/azkaban/webapp/servlet/velocity/jobpage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/jobpage.vm
@@ -207,8 +207,6 @@
 			</div>
 
 #end
-
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
 		</div><!-- /container-full -->
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/login.vm b/src/java/azkaban/webapp/servlet/velocity/login.vm
index 8feba70..bba573e 100644
--- a/src/java/azkaban/webapp/servlet/velocity/login.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/login.vm
@@ -47,8 +47,6 @@
         </div><!-- /.well -->
       </div><!-- /.login -->
 
-#parse("azkaban/webapp/servlet/velocity/footer.vm")
-
 		</div><!-- /container -->
   </body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/permissionspage.vm b/src/java/azkaban/webapp/servlet/velocity/permissionspage.vm
index fd687c5..7c5db72 100644
--- a/src/java/azkaban/webapp/servlet/velocity/permissionspage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/permissionspage.vm
@@ -343,7 +343,6 @@
 	#parse ("azkaban/webapp/servlet/velocity/projectmodals.vm")
 	#parse ("azkaban/webapp/servlet/velocity/invalidsessionmodal.vm")
 #end
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
 		</div><!-- /container-full -->
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/projectlogpage.vm b/src/java/azkaban/webapp/servlet/velocity/projectlogpage.vm
index cf106a0..923d0b7 100644
--- a/src/java/azkaban/webapp/servlet/velocity/projectlogpage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/projectlogpage.vm
@@ -90,8 +90,6 @@
 	#parse ("azkaban/webapp/servlet/velocity/projectmodals.vm")
 #end
 
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
-
 		</div><!-- /container-full -->
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/projectpage.vm b/src/java/azkaban/webapp/servlet/velocity/projectpage.vm
index 4c66f99..7921241 100644
--- a/src/java/azkaban/webapp/servlet/velocity/projectpage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/projectpage.vm
@@ -105,8 +105,6 @@
 	#parse ("azkaban/webapp/servlet/velocity/messagedialog.vm")
 #end
 
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
-
 		</div><!-- /container -->
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/scheduledflowcalendarpage.vm b/src/java/azkaban/webapp/servlet/velocity/scheduledflowcalendarpage.vm
index 3f8fc52..8e857de 100644
--- a/src/java/azkaban/webapp/servlet/velocity/scheduledflowcalendarpage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/scheduledflowcalendarpage.vm
@@ -74,8 +74,6 @@
       </div>
       
       <div id="contextMenu"></div>
-
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
     </div>
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/scheduledflowpage.vm b/src/java/azkaban/webapp/servlet/velocity/scheduledflowpage.vm
index a1a9b64..65cc466 100644
--- a/src/java/azkaban/webapp/servlet/velocity/scheduledflowpage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/scheduledflowpage.vm
@@ -153,9 +153,6 @@
 				</div>
 			</div>
 #end
-
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
-
 		</div>
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/triggerspage.vm b/src/java/azkaban/webapp/servlet/velocity/triggerspage.vm
index 914c37c..3e84bb2 100644
--- a/src/java/azkaban/webapp/servlet/velocity/triggerspage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/triggerspage.vm
@@ -90,8 +90,6 @@
           </table>
         </div>
       </div>
-
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
     </div>
 	</body>
 </html>
diff --git a/src/java/azkaban/webapp/servlet/velocity/viewer.vm b/src/java/azkaban/webapp/servlet/velocity/viewer.vm
index e5a8f68..016e39c 100644
--- a/src/java/azkaban/webapp/servlet/velocity/viewer.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/viewer.vm
@@ -49,8 +49,6 @@
 #end
 
 #parse ($viewervm)
-#parse ("azkaban/webapp/servlet/velocity/footer.vm")
-		
 		</div>
 	</body>
 </html>
diff --git a/src/less/azkaban.less b/src/less/azkaban.less
index deed07a..da43720 100644
--- a/src/less/azkaban.less
+++ b/src/less/azkaban.less
@@ -11,3 +11,4 @@
 @import "project.less";
 @import "flow.less";
 @import "job.less";
+@import "log.less";

src/less/base.less 18(+18 -0)

diff --git a/src/less/base.less b/src/less/base.less
index 189f268..573ccc1 100644
--- a/src/less/base.less
+++ b/src/less/base.less
@@ -4,6 +4,24 @@
   width: 100%;
 }
 
+.container-fill {
+  position: absolute;
+  top: 300px;
+  bottom: 50px;
+
+  .row {
+    height: 100%;
+  }
+
+  .col-sidebar {
+    height: 100%;
+  }
+
+  .col-content {
+    height: 100%;
+  }
+}
+
 // Wide modal used for certain panels such as executing flow panel.
 .modal-wide .modal-dialog {
   width: 80%;

src/less/flow.less 13(+12 -1)

diff --git a/src/less/flow.less b/src/less/flow.less
index 6a52d73..931f47c 100644
--- a/src/less/flow.less
+++ b/src/less/flow.less
@@ -1,6 +1,10 @@
+#svgDiv {
+  height: 100%;
+}
+
 #flow-graph {
   width: 100%;
-  height: 500px;
+  height: 100%;
 }
 
 #flow-executing-graph {
@@ -110,8 +114,15 @@ td {
   }
 }
 
+.graph-sidebar {
+  height: 100%;
+  overflow-y: auto;
+}
+
 // TODO: Rename this as #job-list
 #list {
+  height: 100%;
+
   a {
     &.nodedisabled,
     &.DISABLED {
diff --git a/src/less/header.less b/src/less/header.less
index c03ecbf..3ca6d00 100644
--- a/src/less/header.less
+++ b/src/less/header.less
@@ -15,6 +15,10 @@
 
   .az-exflow-stats {
     margin-top: 10px;
+
+    p {
+      margin-bottom: 5px;
+    }
   }
 
   .editable {

src/less/job.less 17(+0 -17)

diff --git a/src/less/job.less b/src/less/job.less
index 4b71783..d531488 100644
--- a/src/less/job.less
+++ b/src/less/job.less
@@ -1,20 +1,3 @@
-.log-viewer {
-  padding: 0;
-  background-color: #fcfcfc;
-
-  pre {
-    margin: 0;
-    border: 0;
-    height: 500px;
-    font-size: 12px;
-    background-color: transparent;
-    overflow: auto;
-    width: auto;
-    word-wrap: normal;
-    white-space: pre;
-  }
-}
-
 .panel-body-stats {
   padding: 0;
   overflow: auto;

src/less/log.less 41(+41 -0)

diff --git a/src/less/log.less b/src/less/log.less
new file mode 100644
index 0000000..20d2019
--- /dev/null
+++ b/src/less/log.less
@@ -0,0 +1,41 @@
+.log-viewer {
+  height: 100%;
+  margin: 0;
+  padding: 0;
+
+  .panel {
+    position: relative;
+    height: 100%;
+
+    .panel-heading {
+      position: absolute;
+      top: 0;
+      left: 0;
+      right: 0;
+      height: 40px;
+    }
+
+    .panel-body {
+      position: absolute;
+      top: 40px;
+      left: 0;
+      right: 0;
+      bottom: 0;
+      
+      padding: 0;
+      background-color: #fcfcfc;
+
+      pre {
+        margin: 0;
+        border: 0;
+        height: 100%;
+        font-size: 12px;
+        background-color: transparent;
+        overflow: auto;
+        width: auto;
+        word-wrap: normal;
+        white-space: pre;
+      }
+    }
+  }
+}
diff --git a/src/web/js/azkaban.flow.view.js b/src/web/js/azkaban.flow.view.js
index 55d26c4..2e33ddb 100644
--- a/src/web/js/azkaban.flow.view.js
+++ b/src/web/js/azkaban.flow.view.js
@@ -298,8 +298,6 @@ azkaban.SummaryView = Backbone.View.extend({
 	},
 	
 	initialize: function(settings) {
-		console.log("summaryView initialize");
-
 		this.model.bind('change:view', this.handleChangeView, this);
 		this.model.bind('render', this.render, this);
 		
@@ -347,11 +345,9 @@ azkaban.SummaryView = Backbone.View.extend({
 	},
 
 	handleChangeView: function(evt) {
-		console.log("summaryView handleChangeView");
 	},
 
 	render: function(evt) {
-		console.log("summaryView render");
 		var data = {
       projectName: projectName,
 			flowName: flowId,
@@ -361,7 +357,7 @@ azkaban.SummaryView = Backbone.View.extend({
 			lastRun: this.model.get('lastRun')
 		};
 		dust.render("flowsummary", data, function(err, out) {
-			$('#summaryView').html(out);
+			$('#summary-view-content').html(out);
 		});
 	},
 });