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      &nbsp;
    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