azkaban-memoizeit

Details

diff --git a/src/java/azkaban/webapp/servlet/velocity/projectpage.vm b/src/java/azkaban/webapp/servlet/velocity/projectpage.vm
index aeafad4..4c66f99 100644
--- a/src/java/azkaban/webapp/servlet/velocity/projectpage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/projectpage.vm
@@ -81,7 +81,7 @@
                 <a href="${context}/manager?project=${project.name}&flow=${flow.id}">${flow.id}</a>
               </div>
               <div id="${flow.id}-child" class="panel-collapse panel-list collapse">
-                <div class="list-group list-group-collapse job-list" id="${flow.id}-tbody"></div>
+                <ul class="list-group list-group-collapse expanded-flow-job-list" id="${flow.id}-tbody"></ul>
               </div>
             </div>
 		#end
diff --git a/src/less/project.less b/src/less/project.less
index 00a77e8..83946d0 100644
--- a/src/less/project.less
+++ b/src/less/project.less
@@ -7,12 +7,20 @@
   cursor: pointer;
 }
 
-.dependency {
-  background-color: #f0f0f0;
-}
+.expanded-flow-job-list {
+  .list-group-item {
+    &:hover {
+      background-color: #f5f5f5;
+    }
+  }
 
-.dependent {
-  background-color: #fafafa;
+  .dependency {
+    background-color: #f0f0f0;
+  }
+
+  .dependent {
+    background-color: #fafafa;
+  }
 }
 
 // Permissions page table.
diff --git a/src/web/js/azkaban.project.view.js b/src/web/js/azkaban.project.view.js
index 5f08bb2..073331e 100644
--- a/src/web/js/azkaban.project.view.js
+++ b/src/web/js/azkaban.project.view.js
@@ -20,8 +20,8 @@ var flowTableView;
 azkaban.FlowTableView = Backbone.View.extend({
 	events : {
 		"click .flow-expander": "expandFlowProject",
-		"mouseover .job-list a": "highlight",
-		"mouseout .job-list a": "unhighlight",
+		"mouseover .expanded-flow-job-list li": "highlight",
+		"mouseout .expanded-flow-job-list li": "unhighlight",
 		"click .runJob": "runJob",
 		"click .runWithDep": "runWithDep",
 		"click .execute-flow": "executeFlow",
@@ -80,18 +80,15 @@ azkaban.FlowTableView = Backbone.View.extend({
 			var name = job.id;
 			var level = job.level;
 			var nodeId = flowId + "-" + name;
-		
-      var ida = document.createElement("a");
-      $(ida).addClass("list-group-item");
-			$(ida).attr("id", nodeId);
-			$(ida).css("padding-left", (level * 20) + 15);
-			$(ida).attr("href", requestURL + name);
-			$(ida).text(name);
-			ida.flowId = flowId;
-			ida.dependents = job.dependents;
-			ida.dependencies = job.dependencies;
-			ida.projectName = project;
-			ida.jobName = name;
+	
+      var li = document.createElement('li');
+      $(li).addClass("list-group-item");
+			$(li).attr("id", nodeId);
+			li.flowId = flowId;
+			li.dependents = job.dependents;
+			li.dependencies = job.dependencies;
+			li.projectName = project;
+			li.jobName = name;
 
 			if (execAccess) {
 				var hoverMenuDiv = document.createElement("div");
@@ -119,10 +116,16 @@ azkaban.FlowTableView = Backbone.View.extend({
 				divRunWithDep.flowId = flowId;
 				$(hoverMenuDiv).append(divRunWithDep);
 				
-				$(ida).append(hoverMenuDiv);
+				$(li).append(hoverMenuDiv);
 			}
 			
-			$(innerTable).append(ida);
+      var ida = document.createElement("a");
+			$(ida).css("margin-left", level * 20);
+      $(ida).attr("href", requestURL + name);
+      $(ida).text(name);
+
+      $(li).append(ida);
+			$(innerTable).append(li);
 		}
 	},