blob: 77432d19d3ba343e23ea7931a32f8e8d747d0eac [file] [log] [blame]
<!--
Copyright 2020 The Go Authors. All rights reserved.
Use of this source code is governed by a BSD-style
license that can be found in the LICENSE file.
-->
{{define "robots"}}
<meta name="robots" content="noindex">
{{end}}
{{define "main-styles"}}
<link href="/static/frontend/unit/versions/versions.min.css?version={{.AppVersionLabel}}" rel="stylesheet">
{{end}}
{{define "main-header"}}
{{template "unit-header" .}}
{{end}}
{{define "main-content"}}
{{block "versions" .Details}}{{end}}
{{end}}
{{define "main-scripts"}}
<script>
loadScript("/static/frontend/unit/versions/versions.js")
</script>
{{end}}
{{/* . is internal/frontend.VersionsDetails */}}
{{define "versions"}}
<div class="Versions" data-test-id="UnitVersions">
<div class="Versions-title">
<h2 class="go-textTitle">Versions in this module</h2>
<div class="Versions-titleButtonGroup js-buttonGroup">
<button class="go-Button go-Button--inline js-versionsExpand" data-gtmc="versions button"
aria-label="Expand All Versions">
Expand all
</button>
<button class="go-Button go-Button--inline js-versionsCollapse" data-gtmc="versions button"
aria-label="Collapse All Versions">
Collapse all
</button>
</div>
</div>
{{template "version-list" .ThisModule}}
{{if .IncompatibleModules}}
<h2 class="Versions-modulesTitle">Incompatible versions in this module</h2>
{{template "version-list" .IncompatibleModules}}
{{end}}
{{if .OtherModules}}
<h2 class="Versions-modulesTitle">Other modules containing this package</h2>
{{range .OtherModules}}
<div><a href="/{{.}}">{{.}}</a></div>
{{end}}
{{end}}
</div>
{{end}}
{{/* . is []*internal/frontend.VersionList */}}
{{define "version-list"}}
<div class="Versions-list">
{{range $major := .}}
{{range $i, $v := $major.Versions}}
<div class="Version-major">
{{if and (eq $i 0) (not $major.Incompatible)}}
<strong>{{$major.Major}}</strong>
{{if $major.Deprecated}}<div><span class="go-Chip go-Chip--inverted">deprecated</span></div>{{end}}
{{end}}
</div>
<div class="Version-tag">
<a class="js-versionLink" href="{{$v.Link}}">{{$v.Version}}</a>
</div>
<div class="Version-dot{{if and $v.IsMinor (not $major.Incompatible)}} Version-dot--minor{{end}}"></div>
{{if and (or $v.Symbols $v.Vulns) (not $major.Incompatible)}}
{{template "symbol-history" $v}}
{{else}}
<div class="Version-commitTime">
{{$v.CommitTime}}{{if $v.Retracted}}<div><span class="go-Chip go-Chip--inverted">retracted</span></div>{{end}}
{{range $v.Vulns}}<div><span class="go-Chip go-Chip--alert">{{.ID}}</span></div>{{end}}
</div>
{{end}}
{{end}}
{{end}}
</div>
{{end}}
{{define "symbol-history"}}
<details class="Version-details js-versionDetails">
<summary class="Version-summary">
{{.CommitTime}}{{if .Retracted}}<div><span class="go-Chip go-Chip--inverted">retracted</span></div>{{end}}
{{range .Vulns}}<span class="go-Chip go-Chip--alert">{{.ID}}</span>{{end}}
</summary>
<div class="Versions-vulns">
{{range .Vulns}}{{template "vuln-message" .}}{{end}}
</div>
<div class="Versions-symbols">
{{with .Symbols}}<div class="Versions-symbolsHeader">Changes in this version</div>{{end}}
{{range .Symbols}}
<div class="Versions-symbolSection">
{{range .}}
{{if eq .Kind "Type"}}
<div class="Versions-symbolType">
{{template "symbol" .}}
{{range .Children}}
<div class="Versions-symbolChild">{{template "symbol" .}}</div>
{{end}}
</div>
{{else}}
<div>{{template "symbol" .}}</div>
{{end}}
{{end}}
</div>
{{end}}
</div>
</details>
{{end}}
{{define "symbol"}}
<div>
{{if .New}}
<span class="Versions-symbolBulletNew">+</span>
<a class="Versions-symbolSynopsis" href="{{.Link}}">{{.Synopsis}}</a>
{{else}}
<span class="Versions-symbolOld Versions-symbolSynopsis">{{.Synopsis}}</span>
{{end}}
{{if .Builds}}
<span class="Versions-symbolBuildsDash"></span>
<span class="Versions-symbolBuilds">
{{range $i, $b := .Builds}}{{if $i}}, {{end}}{{$b}}{{end}}
</span>
{{end}}
</div>
{{end}}