mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	perf: sent data-path once for each file (#17657)
				
					
				
			- Don't sent it with each line, instead send it at the top-element for each file. - Related: https://github.com/go-gitea/gitea/pull/17618#issuecomment-968192761 2.5K Additions: No-Patch: Unified: 2.14 MB (2.14 MB size) Split: 2.59 MB (2.59 MB size) Patch: Unified: 2.10 MB (2.10 MB size) (-1.8%) Split: 2.55 MB (2.55 MB size) (-1.5%)
This commit is contained in:
		@@ -118,7 +118,7 @@
 | 
				
			|||||||
									{{end}}
 | 
														{{end}}
 | 
				
			||||||
								</div>
 | 
													</div>
 | 
				
			||||||
							{{else}}
 | 
												{{else}}
 | 
				
			||||||
								<table class="chroma" data-new-comment-url="{{$.Issue.HTMLURL}}/files/reviews/new_comment">
 | 
													<table class="chroma" data-new-comment-url="{{$.Issue.HTMLURL}}/files/reviews/new_comment" data-path="{{$file.Name}}">
 | 
				
			||||||
									{{if $.IsSplitStyle}}
 | 
														{{if $.IsSplitStyle}}
 | 
				
			||||||
										{{template "repo/diff/section_split" dict "file" . "root" $}}
 | 
															{{template "repo/diff/section_split" dict "file" . "root" $}}
 | 
				
			||||||
									{{else}}
 | 
														{{else}}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,17 +27,17 @@
 | 
				
			|||||||
					{{$match := index $section.Lines $line.Match}}
 | 
										{{$match := index $section.Lines $line.Match}}
 | 
				
			||||||
					<td class="lines-num lines-num-old del-code" data-line-num="{{$line.LeftIdx}}"><span rel="diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}"></span></td>
 | 
										<td class="lines-num lines-num-old del-code" data-line-num="{{$line.LeftIdx}}"><span rel="diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}"></span></td>
 | 
				
			||||||
					<td class="lines-type-marker lines-type-marker-old del-code"><span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span></td>
 | 
										<td class="lines-type-marker lines-type-marker-old del-code"><span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span></td>
 | 
				
			||||||
					<td class="lines-code lines-code-old halfwidth del-code">{{if and $.root.SignedUserID $.root.PageIsPullFiles}}<a class="ui primary button add-code-comment add-code-comment-left{{if (not $line.CanComment)}} invisible{{end}}" data-path="{{$file.Name}}" data-side="left" data-idx="{{$line.LeftIdx}}">{{svg "octicon-plus"}}</a>{{end}}<code class="code-inner">{{if $line.LeftIdx}}{{$section.GetComputedInlineDiffFor $line}}{{end}}</code></td>
 | 
										<td class="lines-code lines-code-old halfwidth del-code">{{if and $.root.SignedUserID $.root.PageIsPullFiles}}<a class="ui primary button add-code-comment add-code-comment-left{{if (not $line.CanComment)}} invisible{{end}}" data-side="left" data-idx="{{$line.LeftIdx}}">{{svg "octicon-plus"}}</a>{{end}}<code class="code-inner">{{if $line.LeftIdx}}{{$section.GetComputedInlineDiffFor $line}}{{end}}</code></td>
 | 
				
			||||||
					<td class="lines-num lines-num-new add-code" data-line-num="{{if $match.RightIdx}}{{$match.RightIdx}}{{end}}"><span rel="{{if $match.RightIdx}}diff-{{Sha1 $file.Name}}R{{$match.RightIdx}}{{end}}"></span></td>
 | 
										<td class="lines-num lines-num-new add-code" data-line-num="{{if $match.RightIdx}}{{$match.RightIdx}}{{end}}"><span rel="{{if $match.RightIdx}}diff-{{Sha1 $file.Name}}R{{$match.RightIdx}}{{end}}"></span></td>
 | 
				
			||||||
					<td class="lines-type-marker lines-type-marker-new add-code">{{if $match.RightIdx}}<span class="mono" data-type-marker="{{$match.GetLineTypeMarker}}"></span>{{end}}</td>
 | 
										<td class="lines-type-marker lines-type-marker-new add-code">{{if $match.RightIdx}}<span class="mono" data-type-marker="{{$match.GetLineTypeMarker}}"></span>{{end}}</td>
 | 
				
			||||||
					<td class="lines-code lines-code-new halfwidth add-code">{{if and $.root.SignedUserID $.root.PageIsPullFiles}}<a class="ui primary button add-code-comment add-code-comment-right{{if (not $match.CanComment)}} invisible{{end}}" data-path="{{$file.Name}}" data-side="right" data-idx="{{$match.RightIdx}}">{{svg "octicon-plus"}}</a>{{end}}<code class="code-inner">{{if $match.RightIdx}}{{$section.GetComputedInlineDiffFor $match}}{{end}}</code></td>
 | 
										<td class="lines-code lines-code-new halfwidth add-code">{{if and $.root.SignedUserID $.root.PageIsPullFiles}}<a class="ui primary button add-code-comment add-code-comment-right{{if (not $match.CanComment)}} invisible{{end}}" data-side="right" data-idx="{{$match.RightIdx}}">{{svg "octicon-plus"}}</a>{{end}}<code class="code-inner">{{if $match.RightIdx}}{{$section.GetComputedInlineDiffFor $match}}{{end}}</code></td>
 | 
				
			||||||
				{{else}}
 | 
									{{else}}
 | 
				
			||||||
					<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}"></span></td>
 | 
										<td class="lines-num lines-num-old" data-line-num="{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}"><span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}"></span></td>
 | 
				
			||||||
					<td class="lines-type-marker lines-type-marker-old">{{if $line.LeftIdx}}<span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td>
 | 
										<td class="lines-type-marker lines-type-marker-old">{{if $line.LeftIdx}}<span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td>
 | 
				
			||||||
					<td class="lines-code lines-code-old halfwidth">{{if and $.root.SignedUserID $.root.PageIsPullFiles (not (eq .GetType 2))}}<a class="ui primary button add-code-comment add-code-comment-left{{if (not $line.CanComment)}} invisible{{end}}" data-path="{{$file.Name}}" data-side="left" data-idx="{{$line.LeftIdx}}">{{svg "octicon-plus"}}</a>{{end}}<code class="code-inner">{{if $line.LeftIdx}}{{$section.GetComputedInlineDiffFor $line}}{{end}}</code></td>
 | 
										<td class="lines-code lines-code-old halfwidth">{{if and $.root.SignedUserID $.root.PageIsPullFiles (not (eq .GetType 2))}}<a class="ui primary button add-code-comment add-code-comment-left{{if (not $line.CanComment)}} invisible{{end}}" data-side="left" data-idx="{{$line.LeftIdx}}">{{svg "octicon-plus"}}</a>{{end}}<code class="code-inner">{{if $line.LeftIdx}}{{$section.GetComputedInlineDiffFor $line}}{{end}}</code></td>
 | 
				
			||||||
					<td class="lines-num lines-num-new" data-line-num="{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}"><span rel="{{if $line.RightIdx}}diff-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{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-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{end}}"></span></td>
 | 
				
			||||||
					<td class="lines-type-marker lines-type-marker-new">{{if $line.RightIdx}}<span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td>
 | 
										<td class="lines-type-marker lines-type-marker-new">{{if $line.RightIdx}}<span class="mono" data-type-marker="{{$line.GetLineTypeMarker}}"></span>{{end}}</td>
 | 
				
			||||||
					<td class="lines-code lines-code-new halfwidth">{{if and $.root.SignedUserID $.root.PageIsPullFiles (not (eq .GetType 3))}}<a class="ui primary button add-code-comment add-code-comment-right{{if (not $line.CanComment)}} invisible{{end}}" data-path="{{$file.Name}}" data-side="right" data-idx="{{$line.RightIdx}}">{{svg "octicon-plus"}}</a>{{end}}<code class="code-inner">{{if $line.RightIdx}}{{$section.GetComputedInlineDiffFor $line}}{{end}}</code></td>
 | 
										<td class="lines-code lines-code-new halfwidth">{{if and $.root.SignedUserID $.root.PageIsPullFiles (not (eq .GetType 3))}}<a class="ui primary button add-code-comment add-code-comment-right{{if (not $line.CanComment)}} invisible{{end}}" data-side="right" data-idx="{{$line.RightIdx}}">{{svg "octicon-plus"}}</a>{{end}}<code class="code-inner">{{if $line.RightIdx}}{{$section.GetComputedInlineDiffFor $line}}{{end}}</code></td>
 | 
				
			||||||
				{{end}}
 | 
									{{end}}
 | 
				
			||||||
			</tr>
 | 
								</tr>
 | 
				
			||||||
			{{if and (eq .GetType 3) $hasmatch}}
 | 
								{{if and (eq .GetType 3) $hasmatch}}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,7 +29,7 @@
 | 
				
			|||||||
				{{if eq .GetType 4}}
 | 
									{{if eq .GetType 4}}
 | 
				
			||||||
					<td class="chroma lines-code blob-hunk"><code class="code-inner">{{$section.GetComputedInlineDiffFor $line}}</code></td>
 | 
										<td class="chroma lines-code blob-hunk"><code class="code-inner">{{$section.GetComputedInlineDiffFor $line}}</code></td>
 | 
				
			||||||
				{{else}}
 | 
									{{else}}
 | 
				
			||||||
					<td class="chroma lines-code{{if (not $line.RightIdx)}} lines-code-old{{end}}">{{if and $.root.SignedUserID $.root.PageIsPullFiles}}<a class="ui primary button add-code-comment add-code-comment-{{if $line.RightIdx}}right{{else}}left{{end}}{{if (not $line.CanComment)}} invisible{{end}}" data-path="{{$file.Name}}" data-side="{{if $line.RightIdx}}right{{else}}left{{end}}" data-idx="{{if $line.RightIdx}}{{$line.RightIdx}}{{else}}{{$line.LeftIdx}}{{end}}">{{svg "octicon-plus"}}</a>{{end}}<code class="code-inner">{{$section.GetComputedInlineDiffFor $line}}</code></td>
 | 
										<td class="chroma lines-code{{if (not $line.RightIdx)}} lines-code-old{{end}}">{{if and $.root.SignedUserID $.root.PageIsPullFiles}}<a class="ui primary button add-code-comment add-code-comment-{{if $line.RightIdx}}right{{else}}left{{end}}{{if (not $line.CanComment)}} 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"}}</a>{{end}}<code class="code-inner">{{$section.GetComputedInlineDiffFor $line}}</code></td>
 | 
				
			||||||
				{{end}}
 | 
									{{end}}
 | 
				
			||||||
			</tr>
 | 
								</tr>
 | 
				
			||||||
			{{if gt (len $line.Comments) 0}}
 | 
								{{if gt (len $line.Comments) 0}}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,9 +29,9 @@ export function initRepoDiffConversationForm() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    form.closest('.conversation-holder').replaceWith(newConversationHolder);
 | 
					    form.closest('.conversation-holder').replaceWith(newConversationHolder);
 | 
				
			||||||
    if (form.closest('tr').data('line-type') === 'same') {
 | 
					    if (form.closest('tr').data('line-type') === 'same') {
 | 
				
			||||||
      $(`a.add-code-comment[data-path="${path}"][data-idx="${idx}"]`).addClass('invisible');
 | 
					      $(`[data-path="${path}"] a.add-code-comment[data-idx="${idx}"]`).addClass('invisible');
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      $(`a.add-code-comment[data-path="${path}"][data-side="${side}"][data-idx="${idx}"]`).addClass('invisible');
 | 
					      $(`[data-path="${path}"] a.add-code-comment[data-side="${side}"][data-idx="${idx}"]`).addClass('invisible');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    newConversationHolder.find('.dropdown').dropdown();
 | 
					    newConversationHolder.find('.dropdown').dropdown();
 | 
				
			||||||
    initCompReactionSelector(newConversationHolder);
 | 
					    initCompReactionSelector(newConversationHolder);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -167,9 +167,9 @@ export function initRepoIssueCommentDelete() {
 | 
				
			|||||||
          const idx = $conversationHolder.data('idx');
 | 
					          const idx = $conversationHolder.data('idx');
 | 
				
			||||||
          const lineType = $conversationHolder.closest('tr').data('line-type');
 | 
					          const lineType = $conversationHolder.closest('tr').data('line-type');
 | 
				
			||||||
          if (lineType === 'same') {
 | 
					          if (lineType === 'same') {
 | 
				
			||||||
            $(`a.add-code-comment[data-path="${path}"][data-idx="${idx}"]`).removeClass('invisible');
 | 
					            $(`[data-path="${path}"] a.add-code-comment[data-idx="${idx}"]`).removeClass('invisible');
 | 
				
			||||||
          } else {
 | 
					          } else {
 | 
				
			||||||
            $(`a.add-code-comment[data-path="${path}"][data-side="${side}"][data-idx="${idx}"]`).removeClass('invisible');
 | 
					            $(`[data-path="${path}"] a.add-code-comment[data-side="${side}"][data-idx="${idx}"]`).removeClass('invisible');
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          $conversationHolder.remove();
 | 
					          $conversationHolder.remove();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -487,7 +487,7 @@ export function initRepoPullRequestReview() {
 | 
				
			|||||||
    const isSplit = $(this).closest('.code-diff').hasClass('code-diff-split');
 | 
					    const isSplit = $(this).closest('.code-diff').hasClass('code-diff-split');
 | 
				
			||||||
    const side = $(this).data('side');
 | 
					    const side = $(this).data('side');
 | 
				
			||||||
    const idx = $(this).data('idx');
 | 
					    const idx = $(this).data('idx');
 | 
				
			||||||
    const path = $(this).data('path');
 | 
					    const path = $(this).closest('[data-path]').data('path');
 | 
				
			||||||
    const tr = $(this).closest('tr');
 | 
					    const tr = $(this).closest('tr');
 | 
				
			||||||
    const lineType = tr.data('line-type');
 | 
					    const lineType = tr.data('line-type');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user