summaryrefslogtreecommitdiffstats
path: root/templates/repo/graph
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-10-11 10:27:00 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-10-11 10:27:00 +0000
commit65aa53fc52ff15efe54df4147564828d535837f8 (patch)
tree31c51dad04fdcca80e6d3043c8bd49d2f1a51f83 /templates/repo/graph
parentInitial commit. (diff)
downloadforgejo-debian.tar.xz
forgejo-debian.zip
Adding upstream version 8.0.3.HEADupstream/8.0.3upstreamdebian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'templates/repo/graph')
-rw-r--r--templates/repo/graph/commits.tmpl79
-rw-r--r--templates/repo/graph/div.tmpl7
-rw-r--r--templates/repo/graph/svgcontainer.tmpl24
3 files changed, 110 insertions, 0 deletions
diff --git a/templates/repo/graph/commits.tmpl b/templates/repo/graph/commits.tmpl
new file mode 100644
index 00000000..5c768f32
--- /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 00000000..c0bd4e26
--- /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 00000000..99c3c873
--- /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>