taler-dashboard/table.tmpl

160 lines
4.7 KiB
Cheetah
Raw Normal View History

2023-12-27 17:50:34 +01:00
<!DOCTYPE html>
<head><title>GNU Taler Dashboard</title>
2024-01-04 15:02:45 +01:00
<meta name="viewport" content="width=device-width, initial-scale=0.5">
2023-12-27 03:16:48 +01:00
<style>
body {
margin-left:1%;
margin-right:1%;
font-family:sans-serif;
2024-01-07 20:09:52 +01:00
font-stretch:condensed;
2024-01-04 15:02:45 +01:00
font-size: 12pt;
2023-12-27 03:16:48 +01:00
}
table {
background: white;
border-collapse: collapse;
2023-12-27 03:16:48 +01:00
}
th, td {
padding: 8px;
border: 1px solid #ddd;
vertical-align: top;
2023-12-27 03:16:48 +01:00
}
td {
min-width: 10em;
2023-12-27 03:16:48 +01:00
}
th.side {
color: brown;
text-align: right;
2023-12-30 18:48:11 +01:00
max-width: 11em;
2023-12-27 03:16:48 +01:00
}
tr:hover {
background: #efefef;
2023-12-27 03:16:48 +01:00
}
2023-12-27 13:53:36 +01:00
.feature {
background: powderblue;
2023-12-27 03:16:48 +01:00
}
2023-12-27 13:53:36 +01:00
.issue {
background: navajowhite;
2023-12-27 15:14:23 +01:00
}
2023-12-27 21:00:27 +01:00
.minh {
min-height: 5em;
}
{{template "severity.tmpl"}}
summary {
display: flex;
justify-content: space-between;
2023-12-29 11:48:33 +01:00
gap: 2em;
align-items: center;
2023-12-29 11:48:33 +01:00
cursor: pointer;
}
.assignment {
font-size: smaller;
color: grey;
2023-12-27 21:00:27 +01:00
}
2023-12-27 15:14:23 +01:00
details {
max-width: 50vw;
border-radius: 5px;
padding: 8px;
overflow-x: auto;
white-space: nowrap;
text-overflow: ellipsis;
2023-12-27 03:16:48 +01:00
}
2023-12-27 21:00:27 +01:00
details[open] {
position: absolute;
background: white;
border: 2px grey solid;
2023-12-27 21:00:27 +01:00
}
2023-12-27 15:14:23 +01:00
details.version {
max-width: 30vw;
padding: 5px;
font-weight: normal;
overflow: none;
white-space: normal;
text-align: justify;
2023-12-27 03:16:48 +01:00
}
2024-01-04 15:02:45 +01:00
.right {
text-align: right;
font-size:0.8em;
}
2023-12-27 21:00:27 +01:00
details[open].feature {
background: ghostwhite;
border: 4px powderblue solid;
2023-12-27 21:00:27 +01:00
}
details[open].issue {
background: ghostwhite;
border: 4px navajowhite solid;
2023-12-27 21:00:27 +01:00
}
2023-12-27 17:50:34 +01:00
</style></head>
<body>
<h1>GNU Taler Dashboard</h1>
<h2>Table view | <a href="/list">List View</a></h2>
{{- with .Lasterror }} Last error: {{ . }} {{end }}
{{- $top := . -}}
{{- $features := .Features -}}
{{- $issues := .Issues -}}
2024-09-04 20:08:49 +02:00
{{- $versions := .VersionsByDate.Sort -}}
<!--p>
{{- range $top.Tags -}}<button>{{ . }}</button>{{- end -}}
</p-->
<table>
<tr>
<th class="side"></th>
2024-09-04 20:08:49 +02:00
{{- range $version := $versions }}
<th>
<details class="version">
2024-09-04 20:08:49 +02:00
<summary><b>{{ $version.Name }}</b> <span class="right">({{ $version.Timestamp.Format "02 Jan 06"}})</span></summary>
<div>{{ $version.Description }}</div>
</details>
</th>
{{- end}}
</tr>
{{- range $cat := $top.Categories }}
<tr>
<th class="side">{{ . }}</th>
2024-09-04 20:08:49 +02:00
{{- range $version := $versions }}
<td><div class="minh">{{ with $features.ByCategoryAndTarget $cat $version.Name }}
<details class="feature">
<summary>
<div>{{ $l := len .}}{{ if lt 1 $l }}{{ $l }} features{{ else }}1 feature{{ end }}</div>
<div class="assignment">{{- $unassigned := .Assigned false }}{{if gt $unassigned 0 }}({{ $unassigned}} unassigned){{ end -}}</div>
</summary>
{{- $sorter := OrderedBy "Handler" "Id" -}}
{{- range $sorter.Sort . }}
{{ if .IsHandled }}<span title="assigned to {{.Handler.Name}}">🥷</span>{{else}}<span title="unassigned">❓</span>{{end}}
2023-12-28 17:52:00 +01:00
<a href="https://bugs.gnunet.org/view.php?id={{.Id}}" target="_blank">{{.Id}}</a>
<span class="severity-{{.Severity.Name}}">{{.Summary}}</span>
{{ with .Children }}(children:
{{ range $child := . }}
<span class="child"><a href="https://bugs.gnunet.org/view.php?id={{$child.Id}}" target="_blank" title="{{$child.Summary}}">{{$child.Id}}</a> </span>
{{ end }})
{{ end }}<br>
{{- end}}
</details>
{{- end }}
2024-09-04 20:08:49 +02:00
{{- with $issues.ByCategoryAndTarget $cat $version.Name }}
<details class="issue">
<summary>
<div>{{ $l := len .}}{{ if lt 1 $l }}{{ $l }} issues{{ else }}1 issue{{ end }}</div>
<div class="assignment">{{- $unassigned := .Assigned false }}{{if gt $unassigned 0 }} ({{ $unassigned}} unassigned){{ end -}}</div>
</summary>
{{- $sorter := OrderedBy "Severity" "Handler" "Id" -}}
{{- range $sorter.Sort . }}
{{ if .IsHandled }}<span title="assigned to {{.Handler.Name}}">🥷</span>{{else}}<span title="unassigned">❓</span>{{end}}
2023-12-28 17:52:00 +01:00
<a href="https://bugs.gnunet.org/view.php?id={{.Id}}" target="_blank">{{.Id}}</a>
<span class="severity-{{.Severity.Name}}" title="severity {{.Severity.Name}}">{{.Summary}}</span><br>
2023-12-28 17:52:00 +01:00
{{- end}}
</details>
{{ end -}}
2024-09-04 20:08:49 +02:00
</div></td>
{{ end }}
</tr>
{{- end}}
</table>
<p>
2024-01-04 15:02:45 +01:00
Total: {{ len $features }} features and {{ len $issues }} issues.
<br>Data from {{ .Timestamp.Format "02 Jan 06 15:04 MST"}},
<br>updated every {{ .Freq }} (no auto-refresh).
<p>
<small>taler-dashboard - version: {{.Commit}} - <a href="https://git.kesim.org/taler/taler-dashboard">https://git.kesim.org/taler/taler-dashboard</a> </small>
</body>
2023-12-27 03:16:48 +01:00
</html>