mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-09-12 18:03:57 +02:00
When expanding code diffs, the expansion should search for more context in the commits repo, rather than in the repo in context, because the commit may not be available in the base repo. For example, when previewing a pull request, the commit is not in the target repo yet - it's in the fork. Fixes #3746. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
72 lines
3.9 KiB
Go HTML Template
72 lines
3.9 KiB
Go HTML Template
{{$file := .file}}
|
|
<colgroup>
|
|
<col width="50">
|
|
<col width="50">
|
|
<col width="10">
|
|
<col width="10">
|
|
<col>
|
|
</colgroup>
|
|
{{range $j, $section := $file.Sections}}
|
|
{{range $k, $line := $section.Lines}}
|
|
<tr class="{{.GetHTMLDiffLineType}}-code nl-{{$k}} ol-{{$k}}" data-line-type="{{.GetHTMLDiffLineType}}">
|
|
{{if eq .GetType 4}}
|
|
{{if $.root.AfterCommitID}}
|
|
<td colspan="2" class="lines-num">
|
|
<div class="tw-flex">
|
|
{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 5)}}
|
|
<button class="code-expander-button" hx-target="closest tr" hx-get="{{$.root.CommitRepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}?{{$line.GetBlobExcerptQuery}}&style=unified&direction=down&wiki={{$.root.PageIsWiki}}&anchor=diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}">
|
|
{{svg "octicon-fold-down"}}
|
|
</button>
|
|
{{end}}
|
|
{{if or (eq $line.GetExpandDirection 3) (eq $line.GetExpandDirection 4)}}
|
|
<button class="code-expander-button" hx-target="closest tr" hx-get="{{$.root.CommitRepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}?{{$line.GetBlobExcerptQuery}}&style=unified&direction=up&wiki={{$.root.PageIsWiki}}&anchor=diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}">
|
|
{{svg "octicon-fold-up"}}
|
|
</button>
|
|
{{end}}
|
|
{{if eq $line.GetExpandDirection 2}}
|
|
<button class="code-expander-button" hx-target="closest tr" hx-get="{{$.root.CommitRepoLink}}/blob_excerpt/{{PathEscape $.root.AfterCommitID}}?{{$line.GetBlobExcerptQuery}}&style=unified&direction=&wiki={{$.root.PageIsWiki}}&anchor=diff-{{$file.NameHash}}K{{$line.SectionInfo.RightIdx}}">
|
|
{{svg "octicon-fold"}}
|
|
</button>
|
|
{{end}}
|
|
</div>
|
|
</td>
|
|
{{else}}
|
|
{{/* for code file preview page or comment diffs on pull comment pages, do not show the expansion arrows */}}
|
|
<td colspan="2" class="lines-num"></td>
|
|
{{end}}
|
|
{{else}}
|
|
<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{$file.NameHash}}L{{$line.LeftIdx}}{{end}}"></span></td>
|
|
<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{$file.NameHash}}R{{$line.RightIdx}}{{end}}"></span></td>
|
|
{{end}}
|
|
{{$inlineDiff := $section.GetComputedInlineDiffFor $line ctx.Locale -}}
|
|
<td class="lines-escape">
|
|
{{- if $inlineDiff.EscapeStatus.Escaped -}}
|
|
<button class="toggle-escape-button btn interact-bg" title="{{template "repo/diff/escape_title" dict "diff" $inlineDiff}}"></button>
|
|
{{- end -}}
|
|
</td>
|
|
<td class="lines-type-marker"><span class="tw-font-mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span></td>
|
|
{{if eq .GetType 4}}
|
|
<td class="chroma lines-code blob-hunk">{{/*
|
|
*/}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/*
|
|
*/}}</td>
|
|
{{else}}
|
|
<td class="chroma lines-code{{if (not $line.RightIdx)}} lines-code-old{{end}}">{{/*
|
|
*/}}{{if and $.root.SignedUserID $.root.PageIsPullFiles}}{{/*
|
|
*/}}<button type="button" aria-label="{{ctx.Locale.Tr "repo.diff.comment.add_line_comment"}}" class="ui primary button add-code-comment add-code-comment-{{if $line.RightIdx}}right{{else}}left{{end}}{{if (not $line.CanComment)}} tw-invisible{{end}}" data-side="{{if $line.RightIdx}}right{{else}}left{{end}}" data-idx="{{if $line.RightIdx}}{{$line.RightIdx}}{{else}}{{$line.LeftIdx}}{{end}}">{{/*
|
|
*/}}{{svg "octicon-plus"}}{{/*
|
|
*/}}</button>{{/*
|
|
*/}}{{end}}{{/*
|
|
*/}}{{template "repo/diff/section_code" dict "diff" $inlineDiff}}{{/*
|
|
*/}}</td>
|
|
{{end}}
|
|
</tr>
|
|
{{if $line.Conversations}}
|
|
<tr class="add-comment" data-line-type="{{.GetHTMLDiffLineType}}">
|
|
<td class="add-comment-left add-comment-right" colspan="5">
|
|
{{template "repo/diff/conversations" dict "." $.root "conversations" $line.Conversations}}
|
|
</td>
|
|
</tr>
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|