diff options
author | Daniel Baumann <daniel@debian.org> | 2024-10-18 20:33:49 +0200 |
---|---|---|
committer | Daniel Baumann <daniel@debian.org> | 2024-12-12 23:57:56 +0100 |
commit | e68b9d00a6e05b3a941f63ffb696f91e554ac5ec (patch) | |
tree | 97775d6c13b0f416af55314eb6a89ef792474615 /templates/repo/graph | |
parent | Initial commit. (diff) | |
download | forgejo-e68b9d00a6e05b3a941f63ffb696f91e554ac5ec.tar.xz forgejo-e68b9d00a6e05b3a941f63ffb696f91e554ac5ec.zip |
Adding upstream version 9.0.3.
Signed-off-by: Daniel Baumann <daniel@debian.org>
Diffstat (limited to '')
-rw-r--r-- | templates/repo/graph.tmpl | 65 | ||||
-rw-r--r-- | templates/repo/graph/commits.tmpl | 79 | ||||
-rw-r--r-- | templates/repo/graph/div.tmpl | 7 | ||||
-rw-r--r-- | templates/repo/graph/svgcontainer.tmpl | 24 |
4 files changed, 175 insertions, 0 deletions
diff --git a/templates/repo/graph.tmpl b/templates/repo/graph.tmpl new file mode 100644 index 0000000..04b056c --- /dev/null +++ b/templates/repo/graph.tmpl @@ -0,0 +1,65 @@ +{{template "base/head" .}} +<div role="main" aria-label="{{.Title}}" class="page-content repository commits"> + {{template "repo/header" .}} + <div class="ui container"> + <div id="git-graph-container" class="ui segment{{if eq .Mode "monochrome"}} monochrome{{end}}"> + <div id="git-graph-heading"> + <div id="git-graph-heading-left"> + <h2>{{ctx.Locale.Tr "repo.commit_graph"}}</h2> + <div class="ui multiple selection search dropdown" id="flow-select-refs-dropdown"> + <input type="hidden" name="flow"> + <div class="default text">{{ctx.Locale.Tr "repo.commit_graph.select"}}</div> + <div class="menu"> + <div class="item" data-value="...flow-hide-pr-refs"> + <span class="flex-text-block"> + {{svg "octicon-eye-closed" 16 "tw-mr-1"}}<span class="gt-ellipsis" title="{{ctx.Locale.Tr "repo.commit_graph.hide_pr_refs"}}">{{ctx.Locale.Tr "repo.commit_graph.hide_pr_refs"}}</span> + </span> + </div> + {{range .AllRefs}} + {{$refGroup := .RefGroup}} + {{if eq $refGroup "pull"}} + <div class="item" data-value="{{.Name}}"> + <span class="flex-text-block"> + {{svg "octicon-git-pull-request" 16 "tw-mr-1"}}<span class="gt-ellipsis" title="{{.ShortName}}">#{{.ShortName}}</span> + </span> + </div> + {{else if eq $refGroup "tags"}} + <div class="item" data-value="{{.Name}}"> + <span class="flex-text-block"> + {{svg "octicon-tag" 16 "tw-mr-1"}}<span class="gt-ellipsis" title="{{.ShortName}}">{{.ShortName}}</span> + </span> + </div> + {{else if eq $refGroup "remotes"}} + <div class="item" data-value="{{.Name}}"> + <span class="flex-text-block"> + {{svg "octicon-cross-reference" 16 "tw-mr-1"}}<span class="gt-ellipsis" title="{{.ShortName}}">{{.ShortName}}</span> + </span> + </div> + {{else if eq $refGroup "heads"}} + <div class="item" data-value="{{.Name}}"> + <span class="flex-text-block"> + {{svg "octicon-git-branch" 16 "tw-mr-1"}}<span class="gt-ellipsis" title="{{.ShortName}}">{{.ShortName}}</span> + </span> + </div> + {{end}} + {{end}} + </div> + </div> + </div> + <div class="ui icon buttons small"> + <button id="flow-color-monochrome" class="ui icon button{{if eq .Mode "monochrome"}} active{{end}}" title="{{ctx.Locale.Tr "repo.commit_graph.monochrome"}}">{{svg "material-invert-colors" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.commit_graph.monochrome"}}</button> + <button id="flow-color-colored" class="ui icon button{{if ne .Mode "monochrome"}} active{{end}}" title="{{ctx.Locale.Tr "repo.commit_graph.color"}}">{{svg "material-palette" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.commit_graph.color"}}</button> + </div> + </div> + <div id="git-graph-content"> + <div class="is-loading tw-py-32 tw-hidden" id="loading-indicator"></div> + {{template "repo/graph/svgcontainer" .}} + {{template "repo/graph/commits" .}} + </div> + </div> + </div> +</div> +<div id="pagination"> + {{template "base/paginate" .}} +</div> +{{template "base/footer" .}} diff --git a/templates/repo/graph/commits.tmpl b/templates/repo/graph/commits.tmpl new file mode 100644 index 0000000..5c768f3 --- /dev/null +++ b/templates/repo/graph/commits.tmpl @@ -0,0 +1,79 @@ +<div id="rev-container"> + <ul id="rev-list"> + {{range $commitI, $commit := .Graph.Commits}} + <li {{if $commit.Rev}}id="commit-{{$commit.Rev}}"{{end}} data-flow="{{$commit.Flow}}"> + {{if $commit.OnlyRelation}} + <span></span> + {{else}} + <span class="sha" id="{{$commit.ShortRev}}"> + {{$class := "ui sha label"}} + {{if $commit.Commit.Signature}} + {{$class = (print $class " isSigned")}} + {{if $commit.Verification.Verified}} + {{if eq $commit.Verification.TrustStatus "trusted"}} + {{$class = (print $class " isVerified")}} + {{else if eq $commit.Verification.TrustStatus "untrusted"}} + {{$class = (print $class " isVerifiedUntrusted")}} + {{else}} + {{$class = (print $class " isVerifiedUnmatched")}} + {{end}} + {{else if $commit.Verification.Warning}} + {{$class = (print $class " isWarning")}} + {{end}} + {{end}} + <a href="{{$.RepoLink}}/commit/{{$commit.Rev|PathEscape}}" rel="nofollow" class="{{$class}}"> + <span class="shortsha">{{ShortSha $commit.Commit.ID.String}}</span> + {{- if $commit.Commit.Signature -}} + {{template "repo/shabox_badge" dict "root" $ "verification" $commit.Verification}} + {{- end -}} + </a> + </span> + <span class="message tw-inline-block gt-ellipsis tw-mr-2"> + <span>{{RenderCommitMessage $.Context $commit.Subject ($.Repository.ComposeMetas ctx)}}</span> + </span> + <span class="commit-refs tw-flex tw-items-center tw-mr-1"> + {{range $commit.Refs}} + {{$refGroup := .RefGroup}} + {{if eq $refGroup "pull"}} + {{if or (not $.HidePRRefs) (SliceUtils.Contains $.SelectedBranches .Name)}} + <!-- it's intended to use issues not pulls, if it's a pull you will get redirected --> + <a class="ui basic button" href="{{$.RepoLink}}/{{if $.Repository.UnitEnabled $.Context $.UnitTypePullRequests}}pulls{{else}}issues{{end}}/{{.ShortName|PathEscape}}"> + {{svg "octicon-git-pull-request"}} #{{.ShortName}} + </a> + {{end}} + {{else if eq $refGroup "tags"}} + <a class="ui basic button" href="{{$.RepoLink}}/src/tag/{{.ShortName|PathEscape}}"> + {{svg "octicon-tag"}} {{.ShortName}} + </a> + {{else if eq $refGroup "remotes"}} + <a class="ui basic button" href="{{$.RepoLink}}/src/commit/{{$commit.Rev|PathEscape}}"> + {{svg "octicon-cross-reference"}} {{.ShortName}} + </a> + {{else if eq $refGroup "heads"}} + <a class="ui basic button" href="{{$.RepoLink}}/src/branch/{{.ShortName|PathEscape}}"> + {{svg "octicon-git-branch"}} {{.ShortName}} + </a> + {{else}} + <!-- Unknown ref type .Name --> + {{end}} + {{end}} + </span> + <span class="author tw-flex tw-items-center tw-mr-2"> + {{$userName := $commit.Commit.Author.Name}} + {{if $commit.User}} + {{if and $commit.User.FullName DefaultShowFullName}} + {{$userName = $commit.User.FullName}} + {{end}} + <span class="tw-mr-1">{{ctx.AvatarUtils.Avatar $commit.User}}</span> + <a href="{{$commit.User.HomeLink}}">{{$userName}}</a> + {{else}} + <span class="tw-mr-1">{{ctx.AvatarUtils.AvatarByEmail $commit.Commit.Author.Email $userName}}</span> + {{$userName}} + {{end}} + </span> + <span class="time tw-flex tw-items-center">{{DateTime "full" $commit.Date}}</span> + {{end}} + </li> + {{end}} + </ul> +</div> diff --git a/templates/repo/graph/div.tmpl b/templates/repo/graph/div.tmpl new file mode 100644 index 0000000..c0bd4e2 --- /dev/null +++ b/templates/repo/graph/div.tmpl @@ -0,0 +1,7 @@ +<div> + {{template "repo/graph/svgcontainer" .}} + {{template "repo/graph/commits" .}} + <div id="pagination"> + {{template "base/paginate" .}} + </div> +</div> diff --git a/templates/repo/graph/svgcontainer.tmpl b/templates/repo/graph/svgcontainer.tmpl new file mode 100644 index 0000000..99c3c87 --- /dev/null +++ b/templates/repo/graph/svgcontainer.tmpl @@ -0,0 +1,24 @@ +<div id="rel-container"> + <svg viewbox="{{Eval .Graph.MinColumn "*" 5}} {{Eval .Graph.MinRow "*" 12}} {{Eval .Graph.Width "*" 5 "+" 5}} {{Eval .Graph.Height "*" 12}}" width="{{Eval .Graph.Width "*" 10 "+" 10}}px"> + {{range $flowid, $flow := .Graph.Flows}} + <g id="flow-{{$flow.ID}}" class="flow-group flow-color-{{$flow.ColorNumber}} flow-color-16-{{$flow.Color16}}" data-flow="{{$flow.ID}}" data-color="{{$flow.ColorNumber}}"> + <path d="{{range $i, $glyph := $flow.Glyphs -}} + {{- if or (eq $glyph.Glyph '*') (eq $glyph.Glyph '|') -}} + M {{Eval $glyph.Column "*" 5 "+" 5}} {{Eval $glyph.Row "*" 12 "+" 0}} v 12 {{/* */ -}} + {{- else if eq $glyph.Glyph '/' -}} + M {{Eval $glyph.Column "*" 5 "+" 10}} {{Eval $glyph.Row "*" 12 "+" 0}} l -10 12 {{/* */ -}} + {{- else if eq $glyph.Glyph '\\' -}} + M {{Eval $glyph.Column "*" 5 "+" 0}} {{Eval $glyph.Row "*" 12 "+" 0}} l 10 12 {{/* */ -}} + {{- else if or (eq $glyph.Glyph '-') (eq $glyph.Glyph '.') -}} + M {{Eval $glyph.Column "*" 5 "+" 0}} {{Eval $glyph.Row "*" 12 "+" 12}} h 5 {{/* */ -}} + {{- else if eq $glyph.Glyph '_' -}} + M {{Eval $glyph.Column "*" 5 "+" 0}} {{Eval $glyph.Row "*" 12 "+" 12}} h 10 {{/* */ -}} + {{- end -}} + {{- end}}" stroke-width="1" fill="none" id="flow-{{$flow.ID}}-path" stroke-linecap="round"></path> + {{range $flow.Commits}} + <circle class="flow-commit" cx="{{Eval .Column "*" 5 "+" 5}}" cy="{{Eval .Row "*" 12 "+" 6}}" r="2.5" stroke="none" id="flow-commit-{{.Rev}}" data-rev="{{.Rev}}"></circle> + {{end}} + </g> + {{end}} + </svg> +</div> |