You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

box.tmpl 9.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. {{if .DiffNotAvailable}}
  2. <div class="diff-detail-box diff-box sticky">
  3. <div>
  4. <div class="ui right">
  5. {{template "repo/diff/whitespace_dropdown" .}}
  6. {{template "repo/diff/options_dropdown" .}}
  7. {{if and .PageIsPullFiles $.SignedUserID (not .IsArchived)}}
  8. {{template "repo/diff/new_review" .}}
  9. {{end}}
  10. </div>
  11. </div>
  12. </div>
  13. <h4>{{.i18n.Tr "repo.diff.data_not_available"}}</h4>
  14. {{else}}
  15. <div>
  16. <div class="diff-detail-box diff-box sticky df sb ac">
  17. <div class="diff-detail-stats df ac">
  18. {{svg "octicon-diff" 16 "mr-2"}}{{.i18n.Tr "repo.diff.stats_desc" .Diff.NumFiles .Diff.TotalAddition .Diff.TotalDeletion | Str2html}}
  19. </div>
  20. <div class="diff-detail-actions df ac">
  21. {{if and .PageIsPullFiles $.SignedUserID (not .IsArchived)}}
  22. <meter id="viewed-files-summary" value="{{.Diff.NumViewedFiles}}" max="{{.Diff.NumFiles}}"></meter>
  23. <label for="viewed-files-summary" id="viewed-files-summary-label" data-text-changed-template="{{.i18n.Tr "repo.pulls.viewed_files_label"}}">
  24. {{.i18n.Tr "repo.pulls.viewed_files_label" .Diff.NumViewedFiles .Diff.NumFiles}}
  25. </label>
  26. {{end}}
  27. {{template "repo/diff/whitespace_dropdown" .}}
  28. {{template "repo/diff/options_dropdown" .}}
  29. {{if and .PageIsPullFiles $.SignedUserID (not .IsArchived)}}
  30. {{template "repo/diff/new_review" .}}
  31. {{end}}
  32. </div>
  33. </div>
  34. <ol class="diff-detail-box diff-stats m-0 hide" id="diff-files">
  35. {{range .Diff.Files}}
  36. <li>
  37. <div class="bold df ac pull-right">
  38. {{if .IsBin}}
  39. <span class="ml-1 mr-3">
  40. {{$.i18n.Tr "repo.diff.bin"}}
  41. </span>
  42. {{else}}
  43. {{template "repo/diff/stats" dict "file" . "root" $}}
  44. {{end}}
  45. </div>
  46. <!-- todo finish all file status, now modify, add, delete and rename -->
  47. <span class="status {{DiffTypeToStr .GetType}} tooltip" data-content="{{DiffTypeToStr .GetType}}" data-position="right center">&nbsp;</span>
  48. <a class="file mono" href="#diff-{{.NameHash}}">{{.Name}}</a>
  49. </li>
  50. {{end}}
  51. {{if .Diff.IsIncomplete}}
  52. <li id="diff-too-many-files-stats" class="pt-2">
  53. <span class="file df ac sb">{{$.i18n.Tr "repo.diff.too_many_files"}}
  54. <a class="ui basic tiny button" id="diff-show-more-files-stats" data-href="{{$.Link}}?skip-to={{.Diff.End}}&file-only=true">{{.i18n.Tr "repo.diff.show_more"}}</a>
  55. </span>
  56. </li>
  57. {{end}}
  58. </ol>
  59. <div id="diff-file-boxes">
  60. {{range $i, $file := .Diff.Files}}
  61. {{$blobBase := call $.GetBlobByPathForCommit $.BaseCommit $file.OldName}}
  62. {{$blobHead := call $.GetBlobByPathForCommit $.HeadCommit $file.Name}}
  63. {{$isImage := or (call $.IsBlobAnImage $blobBase) (call $.IsBlobAnImage $blobHead)}}
  64. {{$isCsv := (call $.IsCsvFile $file)}}
  65. {{$showFileViewToggle := or $isImage (and (not $file.IsIncomplete) $isCsv)}}
  66. <div class="diff-file-box diff-box file-content {{TabSizeClass $.Editorconfig $file.Name}} mt-3" id="diff-{{$file.NameHash}}" data-old-filename="{{$file.OldName}}" data-new-filename="{{$file.Name}}" {{if $file.ShouldBeHidden}}data-folded="true"{{end}}>
  67. <h4 class="diff-file-header sticky-2nd-row ui top attached normal header df ac sb">
  68. <div class="df ac">
  69. <a role="button" class="fold-file muted mr-2">
  70. {{if $file.ShouldBeHidden}}
  71. {{svg "octicon-chevron-right" 18}}
  72. {{else}}
  73. {{svg "octicon-chevron-down" 18}}
  74. {{end}}
  75. </a>
  76. <div class="bold df ac">
  77. {{if $file.IsBin}}
  78. <span class="ml-1 mr-3">
  79. {{$.i18n.Tr "repo.diff.bin"}}
  80. </span>
  81. {{else}}
  82. {{template "repo/diff/stats" dict "file" . "root" $}}
  83. {{end}}
  84. </div>
  85. <span class="file mono"><a class="muted" href="#diff-{{$file.NameHash}}">{{if $file.IsRenamed}}{{$file.OldName}} &rarr; {{end}}{{$file.Name}}</a>{{if .IsLFSFile}} ({{$.i18n.Tr "repo.stored_lfs"}}){{end}}</span>
  86. {{if $file.IsGenerated}}
  87. <span class="ui label ml-3">{{$.i18n.Tr "repo.diff.generated"}}</span>
  88. {{end}}
  89. {{if $file.IsVendored}}
  90. <span class="ui label ml-3">{{$.i18n.Tr "repo.diff.vendored"}}</span>
  91. {{end}}
  92. </div>
  93. <div class="diff-file-header-actions df ac">
  94. {{if $showFileViewToggle}}
  95. <div class="ui compact icon buttons">
  96. <span class="ui tiny basic button tooltip file-view-toggle" data-toggle-selector="#diff-source-{{$i}}" data-content="{{$.i18n.Tr "repo.file_view_source"}}" data-position="bottom center">{{svg "octicon-code"}}</span>
  97. <span class="ui tiny basic button tooltip file-view-toggle active" data-toggle-selector="#diff-rendered-{{$i}}" data-content="{{$.i18n.Tr "repo.file_view_rendered"}}" data-position="bottom center">{{svg "octicon-file"}}</span>
  98. </div>
  99. {{end}}
  100. {{if $file.IsProtected}}
  101. <span class="ui basic label">{{$.i18n.Tr "repo.diff.protected"}}</span>
  102. {{end}}
  103. {{if not (or $file.IsIncomplete $file.IsBin $file.IsSubmodule)}}
  104. <a class="ui basic tiny button unescape-button">{{$.i18n.Tr "repo.unescape_control_characters"}}</a>
  105. <a class="ui basic tiny button escape-button" style="display: none;">{{$.i18n.Tr "repo.escape_control_characters"}}</a>
  106. {{end}}
  107. {{if and (not $file.IsSubmodule) (not $.PageIsWiki)}}
  108. {{if $file.IsDeleted}}
  109. <a class="ui basic tiny button" rel="nofollow" href="{{$.BeforeSourcePath}}/{{PathEscapeSegments .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a>
  110. {{else}}
  111. <a class="ui basic tiny button" rel="nofollow" href="{{$.SourcePath}}/{{PathEscapeSegments .Name}}">{{$.i18n.Tr "repo.diff.view_file"}}</a>
  112. {{end}}
  113. {{end}}
  114. {{if and $.IsSigned $.PageIsPullFiles (not $.IsArchived)}}
  115. {{if $file.HasChangedSinceLastReview}}
  116. <span class="changed-since-last-review unselectable">{{$.i18n.Tr "repo.pulls.has_changed_since_last_review"}}</span>
  117. {{end}}
  118. <div data-link="{{$.Issue.Link}}/viewed-files" data-headcommit="{{$.PullHeadCommitID}}" class="viewed-file-form unselectable{{if $file.IsViewed}} viewed-file-checked-form{{end}}">
  119. <input type="checkbox" name="{{$file.GetDiffFileName}}" id="viewed-file-checkbox-{{$i}}" autocomplete="off" {{if $file.IsViewed}}checked{{end}}></input>
  120. <label for="viewed-file-checkbox-{{$i}}">{{$.i18n.Tr "repo.pulls.has_viewed_file"}}</label>
  121. </div>
  122. {{end}}
  123. </div>
  124. </h4>
  125. <div class="diff-file-body ui attached unstackable table segment" {{if $file.IsViewed}}data-folded="true"{{end}}>
  126. <div id="diff-source-{{$i}}" class="file-body file-code unicode-escaped code-diff{{if $.IsSplitStyle}} code-diff-split{{else}} code-diff-unified{{end}}{{if $showFileViewToggle}} hide{{end}}">
  127. {{if or $file.IsIncomplete $file.IsBin}}
  128. <div class="diff-file-body binary" style="padding: 5px 10px;">
  129. {{if $file.IsIncomplete}}
  130. {{if $file.IsIncompleteLineTooLong}}
  131. {{$.i18n.Tr "repo.diff.file_suppressed_line_too_long"}}
  132. {{else}}
  133. {{$.i18n.Tr "repo.diff.file_suppressed"}}
  134. <a class="ui basic tiny button diff-show-more-button" data-href="{{$.Link}}?file-only=true&files={{$file.Name}}&files={{$file.OldName}}">{{$.i18n.Tr "repo.diff.load"}}</a>
  135. {{end}}
  136. {{else}}
  137. {{$.i18n.Tr "repo.diff.bin_not_shown"}}
  138. {{end}}
  139. </div>
  140. {{else}}
  141. <table class="chroma" data-new-comment-url="{{$.Issue.HTMLURL}}/files/reviews/new_comment" data-path="{{$file.Name}}">
  142. {{if $.IsSplitStyle}}
  143. {{template "repo/diff/section_split" dict "file" . "root" $}}
  144. {{else}}
  145. {{template "repo/diff/section_unified" dict "file" . "root" $}}
  146. {{end}}
  147. </table>
  148. {{end}}
  149. </div>
  150. {{if $showFileViewToggle}}
  151. <div id="diff-rendered-{{$i}}" class="file-body file-code {{if $.IsSplitStyle}} code-diff-split{{else}} code-diff-unified{{end}}">
  152. <table class="chroma w-100">
  153. {{if $isImage}}
  154. {{template "repo/diff/image_diff" dict "file" . "root" $ "blobBase" $blobBase "blobHead" $blobHead}}
  155. {{else}}
  156. {{template "repo/diff/csv_diff" dict "file" . "root" $}}
  157. {{end}}
  158. </table>
  159. </div>
  160. {{end}}
  161. </div>
  162. </div>
  163. {{end}}
  164. {{if .Diff.IsIncomplete}}
  165. <div class="diff-file-box diff-box file-content mt-3" id="diff-incomplete">
  166. <h4 class="ui top attached normal header df ac sb">
  167. {{$.i18n.Tr "repo.diff.too_many_files"}}
  168. <a class="ui basic tiny button" id="diff-show-more-files" data-href="{{$.Link}}?skip-to={{.Diff.End}}&file-only=true">{{.i18n.Tr "repo.diff.show_more"}}</a>
  169. </h4>
  170. </div>
  171. {{end}}
  172. </div>
  173. {{if not $.Repository.IsArchived}}
  174. <div class="hide" id="edit-content-form">
  175. <div class="ui comment form">
  176. <div class="ui top attached tabular menu">
  177. <a class="active write item">{{$.i18n.Tr "write"}}</a>
  178. <a class="preview item" data-url="{{$.Repository.HTMLURL}}/markdown" data-context="{{$.RepoLink}}">{{$.i18n.Tr "preview"}}</a>
  179. </div>
  180. <div class="ui bottom attached active write tab segment">
  181. <textarea class="review-textarea js-quick-submit" tabindex="1" name="content"></textarea>
  182. </div>
  183. <div class="ui bottom attached tab preview segment markup">
  184. {{$.i18n.Tr "loading"}}
  185. </div>
  186. <div class="text right edit buttons">
  187. <div class="ui basic primary cancel button" tabindex="3">{{.i18n.Tr "repo.issues.cancel"}}</div>
  188. <div class="ui green save button" tabindex="2">{{.i18n.Tr "repo.issues.save"}}</div>
  189. </div>
  190. </div>
  191. </div>
  192. {{end}}
  193. {{template "repo/issue/view_content/reference_issue_dialog" .}}
  194. </div>
  195. {{end}}