summaryrefslogtreecommitdiffstats
path: root/templates/repo/graph
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2024-10-18 20:33:49 +0200
committerDaniel Baumann <daniel@debian.org>2024-12-12 23:57:56 +0100
commite68b9d00a6e05b3a941f63ffb696f91e554ac5ec (patch)
tree97775d6c13b0f416af55314eb6a89ef792474615 /templates/repo/graph
parentInitial commit. (diff)
downloadforgejo-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.tmpl65
-rw-r--r--templates/repo/graph/commits.tmpl79
-rw-r--r--templates/repo/graph/div.tmpl7
-rw-r--r--templates/repo/graph/svgcontainer.tmpl24
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>