forked from NYANDEV/forgejo
81ed5c4bee
This makes the code more strict since you can't assign or compare values of different types without proper cast.
141 lines
5.6 KiB
Cheetah
141 lines
5.6 KiB
Cheetah
{{if .DiffNotAvailable}}
|
|
<h4>{{.i18n.Tr "repo.diff.data_not_available"}}</h4>
|
|
{{else}}
|
|
<div class="diff-detail-box diff-box">
|
|
<div>
|
|
<i class="fa fa-retweet"></i>
|
|
{{.i18n.Tr "repo.diff.stats_desc" .Diff.NumFiles .Diff.TotalAddition .Diff.TotalDeletion | Str2html}}
|
|
<div class="ui right">
|
|
<a class="ui tiny basic toggle button" href="?style={{if .IsSplitStyle}}unified{{else}}split{{end}}">{{ if .IsSplitStyle }}{{.i18n.Tr "repo.diff.show_unified_view"}}{{else}}{{.i18n.Tr "repo.diff.show_split_view"}}{{end}}</a>
|
|
<a class="ui tiny basic toggle button" data-target="#diff-files">{{.i18n.Tr "repo.diff.show_diff_stats"}}</a>
|
|
</div>
|
|
</div>
|
|
<ol class="detail-files hide" id="diff-files">
|
|
{{range .Diff.Files}}
|
|
<li>
|
|
<div class="diff-counter count pull-right">
|
|
{{if not .IsBin}}
|
|
<span class="add" data-line="{{.Addition}}">{{.Addition}}</span>
|
|
<span class="bar">
|
|
<span class="pull-left add"></span>
|
|
<span class="pull-left del"></span>
|
|
</span>
|
|
<span class="del" data-line="{{.Deletion}}">{{.Deletion}}</span>
|
|
{{else}}
|
|
<span>{{$.i18n.Tr "repo.diff.bin"}}</span>
|
|
{{end}}
|
|
</div>
|
|
<!-- todo finish all file status, now modify, add, delete and rename -->
|
|
<span class="status {{DiffTypeToStr .GetType}} poping up" data-content="{{DiffTypeToStr .GetType}}" data-variation="inverted tiny" data-position="right center"> </span>
|
|
<a class="file" href="#diff-{{.Index}}">{{.Name}}</a>
|
|
</li>
|
|
{{end}}
|
|
</ol>
|
|
</div>
|
|
|
|
{{range $i, $file := .Diff.Files}}
|
|
<div class="diff-file-box diff-box file-content" id="diff-{{.Index}}">
|
|
<h4 class="ui top attached normal header">
|
|
<div class="diff-counter count ui left">
|
|
{{if $file.IsBin}}
|
|
{{$.i18n.Tr "repo.diff.bin"}}
|
|
{{else if not $file.IsRenamed}}
|
|
<span class="add" data-line="{{.Addition}}">+ {{.Addition}}</span>
|
|
<span class="bar">
|
|
<span class="pull-left add"></span>
|
|
<span class="pull-left del"></span>
|
|
</span>
|
|
<span class="del" data-line="{{.Deletion}}">- {{.Deletion}}</span>
|
|
{{end}}
|
|
</div>
|
|
<span class="file">{{if $file.IsRenamed}}{{$file.OldName}} → {{end}}{{$file.Name}}</span>
|
|
<div class="ui right">
|
|
{{if $file.IsDeleted}}
|
|
<a class="ui basic tiny button" rel="nofollow" href="{{EscapePound $.BeforeSourcePath}}/{{EscapePound .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a>
|
|
{{else}}
|
|
<a class="ui basic tiny button" rel="nofollow" href="{{EscapePound $.SourcePath}}/{{EscapePound .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a>
|
|
{{end}}
|
|
</div>
|
|
</h4>
|
|
<div class="ui attached table segment">
|
|
{{if not $file.IsRenamed}}
|
|
{{$isImage := (call $.IsImageFile $file.Name)}}
|
|
{{if and $isImage}}
|
|
<div class="center">
|
|
<img src="{{$.RawPath}}/{{EscapePound .Name}}">
|
|
</div>
|
|
{{else}}
|
|
<div class="file-body file-code code-view code-diff">
|
|
<table>
|
|
<tbody>
|
|
{{if $.IsSplitStyle}}
|
|
{{range $j, $section := .Sections}}
|
|
{{range $k, $line := .Lines}}
|
|
<tr class="{{DiffLineTypeToStr .GetType}}-code nl-{{$k}} ol-{{$k}}">
|
|
<td class="lines-num lines-num-old">
|
|
<span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}">{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}</span>
|
|
</td>
|
|
<td class="lines-code halfwidth">
|
|
<pre class="wrap">{{if $line.LeftIdx}}{{$line.ParsedContent}}{{end}}</pre>
|
|
</td>
|
|
<td class="lines-num lines-num-new">
|
|
<span rel="{{if $line.RightIdx}}diff-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{end}}">{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}</span>
|
|
</td>
|
|
<td class="lines-code halfwidth">
|
|
<pre class="wrap">{{if $line.RightIdx}}{{$line.ParsedContent}}{{end}}</pre>
|
|
</td>
|
|
</tr>
|
|
{{end}}
|
|
{{end}}
|
|
{{else}}
|
|
{{range $j, $section := .Sections}}
|
|
{{range $k, $line := .Lines}}
|
|
<tr class="{{DiffLineTypeToStr .GetType}}-code nl-{{$k}} ol-{{$k}}">
|
|
{{if eq .GetType 4}}
|
|
<td colspan="2" class="lines-num">
|
|
{{if gt $j 0}}<span class="fold octicon octicon-fold"></span>{{end}}
|
|
</td>
|
|
{{else}}
|
|
<td class="lines-num lines-num-old">
|
|
<span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}">{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}</span>
|
|
</td>
|
|
<td class="lines-num lines-num-new">
|
|
<span rel="{{if $line.RightIdx}}diff-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{end}}">{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}</span>
|
|
</td>
|
|
{{end}}
|
|
<td class="lines-code">
|
|
<pre>{{$line.ParsedContent}}</pre>
|
|
</td>
|
|
</tr>
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<br>
|
|
{{end}}
|
|
{{if .IsSplitStyle}}
|
|
<script>
|
|
(function() {
|
|
$('.add-code').each(function() {
|
|
var prev = $(this).prev();
|
|
if(prev.is('.del-code') && prev.children().eq(3).text().trim() === '') {
|
|
while(prev.prev().is('.del-code') && prev.prev().children().eq(3).text().trim() === '') {
|
|
prev = prev.prev();
|
|
}
|
|
prev.children().eq(3).html($(this).children().eq(3).html());
|
|
prev.children().eq(2).html($(this).children().eq(2).html());
|
|
prev.children().eq(3).addClass('add-code');
|
|
prev.children().eq(2).addClass('add-code');
|
|
$(this).remove();
|
|
}
|
|
});
|
|
}());
|
|
</script>
|
|
{{end}}
|
|
{{end}}
|