diff options
author | KN4CK3R <KN4CK3R@users.noreply.github.com> | 2021-02-27 18:25:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-27 18:25:00 +0100 |
commit | 904a26c57c474e0ed7b43dc37269f69b49240301 (patch) | |
tree | ee339c837fbaf41450a2fc71be80e31ce3cae5db /templates/repo | |
parent | 42118c6bc8f0167747e3ff3d29b7cbc7615d785b (diff) | |
download | gitea-904a26c57c474e0ed7b43dc37269f69b49240301.tar.gz gitea-904a26c57c474e0ed7b43dc37269f69b49240301.zip |
Add Image Diff options in Pull Request Diff view (#14450)
Implemented GitHub style image diff
Diffstat (limited to 'templates/repo')
-rw-r--r-- | templates/repo/diff/image_diff.tmpl | 178 |
1 files changed, 104 insertions, 74 deletions
diff --git a/templates/repo/diff/image_diff.tmpl b/templates/repo/diff/image_diff.tmpl index eda208d744..01f7e3f8e8 100644 --- a/templates/repo/diff/image_diff.tmpl +++ b/templates/repo/diff/image_diff.tmpl @@ -1,79 +1,109 @@ {{ $imagePathOld := printf "%s/%s" .root.BeforeRawPath (EscapePound .file.OldName) }} {{ $imagePathNew := printf "%s/%s" .root.RawPath (EscapePound .file.Name) }} - -<tr> - <th class="halfwidth center pl-3 pr-2"> - {{.root.i18n.Tr "repo.diff.file_before"}} - </th> - <th class="halfwidth center pl-2 pr-3"> - {{.root.i18n.Tr "repo.diff.file_after"}} - </th> -</tr> -<tr> - <td class="halfwidth center pl-3 pr-2"> - {{if or .file.IsDeleted (not .file.IsCreated)}} - <a href="{{$imagePathOld}}" target="_blank"> - <img src="{{$imagePathOld}}" class="border red" /> - </a> - {{end}} - </td> - <td class="halfwidth center pl-2 pr-3"> - {{if or .file.IsCreated (not .file.IsDeleted)}} - <a href="{{$imagePathNew}}" target="_blank"> - <img src="{{$imagePathNew}}" class="border green" /> - </a> - {{end}} - </td> -</tr> {{ $imageInfoBase := (call .root.ImageInfoBase .file.OldName) }} {{ $imageInfoHead := (call .root.ImageInfo .file.Name) }} -{{if or $imageInfoBase $imageInfoHead }} +{{if or $imageInfoBase $imageInfoHead}} <tr> - <td class="halfwidth center pl-3 pr-2"> - {{if $imageInfoBase }} - {{ $classWidth := "" }} - {{ $classHeight := "" }} - {{ $classByteSize := "" }} - {{if $imageInfoHead}} - {{if not (eq $imageInfoBase.Width $imageInfoHead.Width)}} - {{ $classWidth = "red" }} - {{end}} - {{if not (eq $imageInfoBase.Height $imageInfoHead.Height)}} - {{ $classHeight = "red" }} - {{end}} - {{if not (eq $imageInfoBase.ByteSize $imageInfoHead.ByteSize)}} - {{ $classByteSize = "red" }} - {{end}} - {{end}} - {{.root.i18n.Tr "repo.diff.file_image_width"}}: <span class="text {{$classWidth}}">{{$imageInfoBase.Width}}</span> - | - {{.root.i18n.Tr "repo.diff.file_image_height"}}: <span class="text {{$classHeight}}">{{$imageInfoBase.Height}}</span> - | - {{.root.i18n.Tr "repo.diff.file_byte_size"}}: <span class="text {{$classByteSize}}">{{FileSize $imageInfoBase.ByteSize}}</span> - {{end}} - </td> - <td class="halfwidth center pl-2 pr-3"> - {{if $imageInfoHead }} - {{ $classWidth := "" }} - {{ $classHeight := "" }} - {{ $classByteSize := "" }} - {{if $imageInfoBase}} - {{if not (eq $imageInfoBase.Width $imageInfoHead.Width)}} - {{ $classWidth = "green" }} - {{end}} - {{if not (eq $imageInfoBase.Height $imageInfoHead.Height)}} - {{ $classHeight = "green" }} - {{end}} - {{if not (eq $imageInfoBase.ByteSize $imageInfoHead.ByteSize)}} - {{ $classByteSize = "green" }} - {{end}} - {{end}} - {{.root.i18n.Tr "repo.diff.file_image_width"}}: <span class="text {{$classWidth}}">{{$imageInfoHead.Width}}</span> - | - {{.root.i18n.Tr "repo.diff.file_image_height"}}: <span class="text {{$classHeight}}">{{$imageInfoHead.Height}}</span> - | - {{.root.i18n.Tr "repo.diff.file_byte_size"}}: <span class="text {{$classByteSize}}">{{FileSize $imageInfoHead.ByteSize}}</span> - {{end}} - </td> - </tr> -{{end}} + <td colspan="2"> + <div class="image-diff" data-path-before="{{$imagePathOld}}" data-path-after="{{$imagePathNew}}"> + <div class="ui secondary pointing tabular top attached borderless menu stackable new-menu"> + <div class="new-menu-inner"> + <a class="item active" data-tab="diff-side-by-side">{{.root.i18n.Tr "repo.diff.image.side_by_side"}}</a> + {{if and $imageInfoBase $imageInfoHead}} + <a class="item" data-tab="diff-swipe">{{.root.i18n.Tr "repo.diff.image.swipe"}}</a> + <a class="item" data-tab="diff-overlay">{{.root.i18n.Tr "repo.diff.image.overlay"}}</a> + {{end}} + </div> + </div> + <div class="hide"> + <div class="ui bottom attached tab image-diff-container active" data-tab="diff-side-by-side"> + <div class="diff-side-by-side"> + {{if $imageInfoBase }} + <span class="side"> + <p class="side-header">{{.root.i18n.Tr "repo.diff.file_before"}}</p> + <span class="before-container"><img class="image-before" /></span> + <p> + {{ $classWidth := "" }} + {{ $classHeight := "" }} + {{ $classByteSize := "" }} + {{if $imageInfoHead}} + {{if not (eq $imageInfoBase.Width $imageInfoHead.Width)}} + {{ $classWidth = "red" }} + {{end}} + {{if not (eq $imageInfoBase.Height $imageInfoHead.Height)}} + {{ $classHeight = "red" }} + {{end}} + {{if not (eq $imageInfoBase.ByteSize $imageInfoHead.ByteSize)}} + {{ $classByteSize = "red" }} + {{end}} + {{end}} + {{.root.i18n.Tr "repo.diff.file_image_width"}}: <span class="text {{$classWidth}}">{{$imageInfoBase.Width}}</span> + | + {{.root.i18n.Tr "repo.diff.file_image_height"}}: <span class="text {{$classHeight}}">{{$imageInfoBase.Height}}</span> + | + {{.root.i18n.Tr "repo.diff.file_byte_size"}}: <span class="text {{$classByteSize}}">{{FileSize $imageInfoBase.ByteSize}}</span> + </p> + </span> + {{end}} + {{if $imageInfoHead }} + <span class="side"> + <p class="side-header">{{.root.i18n.Tr "repo.diff.file_after"}}</p> + <span class="after-container"><img class="image-after" /></span> + <p> + {{ $classWidth := "" }} + {{ $classHeight := "" }} + {{ $classByteSize := "" }} + {{if $imageInfoBase}} + {{if not (eq $imageInfoBase.Width $imageInfoHead.Width)}} + {{ $classWidth = "green" }} + {{end}} + {{if not (eq $imageInfoBase.Height $imageInfoHead.Height)}} + {{ $classHeight = "green" }} + {{end}} + {{if not (eq $imageInfoBase.ByteSize $imageInfoHead.ByteSize)}} + {{ $classByteSize = "green" }} + {{end}} + {{end}} + {{.root.i18n.Tr "repo.diff.file_image_width"}}: <span class="text {{$classWidth}}">{{$imageInfoHead.Width}}</span> + | + {{.root.i18n.Tr "repo.diff.file_image_height"}}: <span class="text {{$classHeight}}">{{$imageInfoHead.Height}}</span> + | + {{.root.i18n.Tr "repo.diff.file_byte_size"}}: <span class="text {{$classByteSize}}">{{FileSize $imageInfoHead.ByteSize}}</span> + </p> + </span> + {{end}} + </div> + </div> + {{if and $imageInfoBase $imageInfoHead}} + <div class="ui bottom attached tab image-diff-container" data-tab="diff-swipe"> + <div class="diff-swipe"> + <div class="swipe-frame"> + <span class="before-container"><img class="image-before" /></span> + <span class="swipe-container"> + <span class="after-container"><img class="image-after" /></span> + </span> + <span class="swipe-bar"> + <span class="handle top-handle"></span> + <span class="handle bottom-handle"></span> + </span> + </div> + </div> + </div> + <div class="ui bottom attached tab image-diff-container" data-tab="diff-overlay"> + <div class="diff-overlay"> + <div class="overlay-frame"> + <div class="ui centered"> + <input type="range" min="0" max="100" value="50" /> + </div> + <span class="before-container"><img class="image-before"/></span> + <span class="after-container"><img class="image-after" /></span> + </div> + </div> + </div> + {{end}} + </div> + <div class="ui active centered inline loader"></div> + </div> + </td> +</tr> +{{end}}
\ No newline at end of file |