github.com/billybanfield/evergreen@v0.0.0-20170525200750-eeee692790f7/service/templates/build_variant_history.html (about) 1 {{define "scripts"}} 2 <script src="{{Static "js" "build_variant_history.js"}}?hash={{ StaticsMD5 }}"></script> 3 4 <script type="text/javascript"> 5 window.buildVariant = '{{.Data.Variant}}'; 6 window.tasksByCommit = {{.Data.Tasks}}; 7 window.taskNames = {{.Data.TaskNames}}; 8 window.versions = {{.Data.Versions}}; 9 window.project = '{{.Data.Project}}'; 10 </script> 11 {{end}} 12 13 {{define "title"}} 14 Evergreen - Build Variant History 15 {{end}} 16 17 {{define "content"}} 18 <notify-box ng-init="destination='errorHeader'"></notify-box> 19 20 <div id="content" ng-controller="BuildVariantHistoryController" class="container-fluid"> 21 <div class="row"> 22 <div class="gridtable-timeline"> 23 <div class="gridtable-small"> 24 <h4 class="one-liner task-history-title-header"> 25 [[buildVariant]] 26 </h4> 27 <div class="top-header-row locked" style="top: 50px; width: 1200px"> 28 <div class="header-cell" 29 ng-repeat="taskName in taskNames" 30 id="[['taskName' + $index]]"> 31 <span class="header-text"> 32 <a ng-href="/task_history/[[project]]/[[taskName]]"> 33 [[ taskName ]] 34 </a> 35 </span> 36 </div> 37 </div> 38 <div class="tablebody locked" style="padding-top: 0px"> 39 <div class="tablerow" 40 ng-repeat="taskGroup in tasksByTaskNameByCommit" 41 style="margin-bottom: 0px;"> 42 <div class="header"> 43 <div> 44 <a href="/version/[[ versionsByRevision[taskGroup._id].id ]]"> 45 [[ versionsByRevision[taskGroup._id].message ]] 46 </a> 47 </div> 48 <div class="commit-msg pull-right"> 49 [[ versionsByRevision[taskGroup._id].create_time | date:"medium" ]] 50 </div> 51 </div> 52 <div class="cells" style="height: 50px; margin-left: 9px"> 53 <div ng-repeat="taskName in taskNames" 54 class="task-history-cell-wrapper column-[[$index]]"> 55 <a href="/task/[[ taskGroup.tasksByTaskName[taskName]._id ]]"> 56 <span> 57 <div ng-class="'cell ' + getGridClass(taskGroup.tasksByTaskName[taskName])"></div> 58 </span> 59 </a> 60 </div> 61 </div> 62 </div> 63 </div> 64 </div> 65 </div> 66 </div> 67 <div class="row"> 68 <div class="col-lg-offset-2"> 69 <button type="button" class="btn btn-info" ng-click="loadMore()"> 70 Load More 71 </button> 72 </div> 73 </div> 74 <div class="row"> 75 76 </div> 77 78 <script type="text/javascript"> 79 // Add `highlight-column` class to all elements with a given column class 80 // when mouseenter fires on one of them. Makes it so the build variant 81 // that you've moused over has a guideline to the build variant axis. 82 $(document).ready(function() { 83 $("div[class*='column-']").each(function(i, el) { 84 var elClasses = $(el).attr("class").split(' '); 85 var columnClass = null; 86 _.each(elClasses, function(c) { 87 if (c.indexOf('column-') === 0) { 88 columnClass = c; 89 } 90 }); 91 92 if (!columnClass) { 93 return; 94 } 95 96 $(el).on("mouseenter", function() { 97 $('.' + columnClass).addClass('highlight-column'); 98 }); 99 100 $(el).on("mouseleave", function() { 101 $('.' + columnClass).removeClass('highlight-column'); 102 }); 103 }); 104 105 // Lock the header row to the top of the page, but without using position:fixed so that it can scroll horizontally 106 $(window).scroll(function(){$(".gridtable-small .top-header-row.locked").css({'position':'absolute','top':$(window).scrollTop()+80})}); 107 }); 108 </script> 109 </div> 110 {{end}} 111