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: </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 -->