go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/milo/frontend/templates/pages/console.html (about)

     1  {{define "title"}}{{ .Console.Name }}{{end}}
     2  
     3  {{define "favicon"}}
     4    {{if .Console.FaviconURL}}
     5      <link rel="icon" type="{{ .Console.FaviconURL | faviconMIMEType }}" href="{{ .Console.FaviconURL }}" />
     6    {{else}}
     7      <link id="favicon" rel="shortcut icon" type="image/png" href="/static/common/favicon/milo-32.png">
     8    {{end}}
     9  {{end}}
    10  
    11  {{define "head"}}
    12    <link rel="stylesheet" href="/static/common/css/console.css" type="text/css">
    13    <script src="/static/common/third_party/js/js.cookie.js"></script>
    14    <script>
    15      var defaultExpand = {{ .Expand }};
    16    </script>
    17  {{end}}
    18  
    19  {{ define "controls" }}
    20  (Show:
    21  <a href="?limit=">default</a>
    22  <a href="?limit=25">25</a>
    23  <a href="?limit=50">50</a>
    24  <a href="?limit=100">100</a>
    25  <a href="?limit=200">200</a>
    26  )
    27  [
    28    <a href="#" class="control-expand">expand</a>
    29    <a href="#" class="control-collapse">collapse</a>
    30  ]
    31  {{ end }}
    32  
    33  {{define "body"}}
    34  {{ $console := .Console }}
    35  <div id="console-page" class="collapsed">
    36  
    37  <!-- Title -->
    38  <div class="console-title">
    39  {{ if $console.FaviconURL }}
    40    <img src="{{ .Console.FaviconURL }}" />
    41  {{ end }}
    42  
    43    <h1>{{ $console.Name }}</h1>
    44  </div>
    45  
    46  <!-- Header -->
    47  {{ if $console.Header }}
    48  {{ $header := $console.Header }}
    49  
    50  <!-- Tree Status -->
    51  {{ with $header.TreeStatus }}
    52    <div class="tree-status tree-status-{{ .GeneralState }}">
    53      <a title="Last updated at {{ .Date }} by {{ .Username }}"
    54         href="{{ .URL }}"
    55         aria-label="Tree status: {{ .Message }}.  Last updated at {{ .Date }} by {{ .Username }}">
    56        {{ .Message }}
    57      </a>
    58    </div>
    59  {{ end }}
    60  
    61  {{ if or $header.Oncalls $header.Links $header.ConsoleGroups }}
    62  <div class="console-header">
    63    <div class="console-header-column">
    64  
    65      {{ with $header.Oncalls }}
    66      <!-- Oncalls -->
    67      <div class="console-header-group">
    68        <div class="console-header-group-title">Oncalls</div>
    69        <div class="console-header-groups">
    70        {{ range . }}
    71          <div class="console-header-oncalls-group">
    72            <div class="console-header-group-name">
    73              {{ .Name }}
    74            </div>
    75            <div class="console-header-group-content">
    76              {{ .Oncallers }}
    77            </div>
    78          </div>
    79        {{ end }}
    80        </div>
    81      </div>
    82      {{ end }}
    83  
    84      <!-- Links -->
    85      <div class="console-header-group">
    86        <div class="console-header-group-title">Links</div>
    87        <div class="console-header-groups">
    88        {{ range $header.Links }}
    89          <div class="console-header-links-group">
    90            <div class="console-header-group-name">{{ .Name }}</div>
    91            <div class="console-header-group-content">
    92            {{ range .Links }}
    93              <span>{{ .HTML }}</span>
    94            {{ end }}
    95            </div>
    96          </div>
    97        {{ end }}
    98        </div>
    99      </div>
   100    </div>
   101  {{ if $header.ConsoleGroupsErr }}
   102    <div class="console-header-column">
   103      <div style="color: red;" class="console-header-group">
   104        {{ $header.ConsoleGroupsErr }}
   105      </div>
   106    </div>
   107  {{ end }}
   108  {{ if $header.ConsoleGroups }}
   109    <div class="console-header-column">
   110    {{ range $header.ConsoleGroups }}
   111  
   112      <!-- Header Group -->
   113      <!-- If the title is nil, don't wrap it in a special div. -->
   114      {{ if .Title }}
   115      <div class="console-header-group">
   116        <div class="console-header-group-title">
   117          {{ .Title.HTML }}
   118        </div>
   119      {{ end }}
   120        <div class="console-header-groups">
   121        {{ range .Consoles }}
   122          {{ if gt (len .Builders) 30 }}
   123          <div class="console-builder-summary-flex fill-row">
   124            <div class="console-header-name">
   125              {{ .Name.HTML }}
   126            </div>
   127            <div class="console-builder-summary-grid">
   128          {{ else }}
   129          <div class="console-builder-summary-flex">
   130            <div class="console-header-name">
   131              {{ .Name.HTML }}
   132            </div>
   133            <div class="console-builder-summary-flex">
   134          {{ end }}
   135  
   136              {{ $console_name := .Name.Link.Label }}
   137  
   138              {{ range .Builders }}
   139                <a class="console-builder-status"
   140                   href="{{ .LastFinishedBuildIDLink }}"
   141                   title="{{ .BuilderID }}"
   142                   aria-label="builder {{ .BuilderID }} on console {{ $console_name }} has last status {{ .LastFinishedStatus }}">
   143                  <div class="console-header-builder status-{{ .LastFinishedStatus }}"></div>
   144                </a>
   145              {{ end }}
   146            </div>
   147          </div>
   148        {{ end }}
   149        </div>
   150      <!-- If the title is nil, don't wrap it in a special div. -->
   151      {{ if .Title }}
   152      </div>
   153      {{ end }}
   154  
   155    {{ end }}
   156    </div>
   157  {{ end }}
   158  </div>
   159  {{ end }}
   160  {{ end }}
   161  
   162  <!-- Legend -->
   163  <div id="legend">
   164    <table>
   165      <tr>
   166        <td>Legend:&nbsp;&nbsp;</td>
   167        <td class="status-Success" title="All tests passed">Passed</td>
   168        <td class="status-Failure" title="There is a new failure. Take a look!">Failed</td>
   169        <td class="status-Running" title="The tests are still running">Running</td>
   170        <td class="status-Exception" title="Something went wrong with the test, there is no result">Exception</td>
   171      </tr>
   172    </table>
   173  </div>
   174  <div class="clear"></div>
   175  
   176  <!-- Container -->
   177  <div id="console" class="console-row {{ if not $console.HasCategory }}no-category{{ end }}">
   178    <!-- Commits -->
   179    <div class="console-column console-commits-column">
   180      <div class="console-controls">
   181        {{ template "controls" }}
   182      </div>
   183      <div class="console-row">
   184        <div class="console-commit-column">
   185        {{ range $console.Commit }}
   186          <div class="console-commit-item">
   187            <!--- This overlay is positioned relative to its parent and used for
   188                  creating the horizontal solid divider line.
   189                  The size and position of the overlay does not affect its siblings.-->
   190            <div class="console-commit-item-overlay"></div>
   191            <div class="console-commit-summary">
   192              <div class="console-commit-revision">
   193                <a href="{{.Revision.URL}}" aria-label="revision {{ .Revision.Label | prefix 8 }}">
   194                  {{ .CommitTime | localTimeTooltip (.Revision.Label | prefix 8) "N/A" }}
   195                </a>
   196              </div>
   197              <div class="console-commit-author">
   198                <span title="{{ .Description }}" aria-label="commit by {{ .AuthorEmail }}">
   199                  {{ .AuthorEmail }}
   200                </span>
   201              </div>
   202            </div>
   203            <div class="console-commit-description">
   204              <p>
   205                {{ range .DescLines }}
   206                  {{ . }}<br>
   207                {{ end }}
   208              </p>
   209              <!--- Overlay on top of the commit message for rendering the fadeout -->
   210              <div class="console-commit-description-overlay"></div>
   211            </div>
   212          </div>
   213        {{ end }}
   214        </div>
   215      </div>
   216    </div>
   217  
   218    <!-- Table -->
   219    {{ $console.ConsoleTable }}
   220  </div>
   221  
   222  <div class="epiloge" style="margin-top: 1em">
   223    {{ template "controls" }}
   224  </div>
   225  
   226  <script src="/static/common/js/console.js"></script>
   227  
   228  </div> <!-- console-page -->
   229  {{end}} <!-- Body -->