aboutsummaryrefslogtreecommitdiff
path: root/templates/repo/diff_box_split.tmpl
blob: 0234fd1301c0c323c7e7f82617d2a23bffd6588d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
{{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}} &rarr; {{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>
								{{range $j, $section := .Sections}}
									{{range $k, $line := .Lines}}
										<tr class="{{DiffLineTypeToStr .Type}}-code nl-{{$k}} ol-{{$k}}">
										{{if eq .Type 4}}
											<td class="lines-num lines-num-old">
												<span class="{{if gt $j 0}}fold octicon octicon-fold{{end}}"></span>
											</td>
											<td class="lines-code halfwidth">
												<pre class="wrap">{{$line.Content}}</pre>
											</td>
											<td class="lines-num lines-num-old">
												<span class="{{if gt $j 0}}fold octicon octicon-fold{{end}}"></span>
											</td>
											<td class="lines-code halfwidth">
												<pre class="wrap">{{$line.Content}}</pre>
											</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-code halfwidth">
												<pre class="wrap">{{if $line.LeftIdx}}{{$line.Content}}{{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.Content}}{{end}}</pre>
											</td>
										{{end}}
										</tr>
									{{end}}
								{{end}}
							</tbody>
						</table>
					</div>
					<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');
//								prev.children().eq(2).attr('style', 'background-color: #eaffea !important');
//								prev.children().eq(2).children().eq(0).attr('style', 'background-color: #eaffea !important');
//								prev.children().eq(3).attr('style', 'background-color: #eaffea !important');
//								prev.children().eq(3).children().eq(0).attr('style', 'background-color: #eaffea !important');
								$(this).remove();
							}
						});
					}());
					</script>
				{{end}}
			{{end}}
		</div>
	</div>
<br>
{{end}}