mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Remove jQuery .attr from the code line range selection (#30077)
				
					
				
			- Switched from jQuery `attr` to plain javascript `getAttribute` and `setAttribute` - Tested the code line range selection and it works as before --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
		@@ -28,40 +28,38 @@ function selectRange($linesEls, $selectionEndEl, $selectionStartEls) {
 | 
				
			|||||||
  $linesEls.closest('tr').removeClass('active');
 | 
					  $linesEls.closest('tr').removeClass('active');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // add hashchange to permalink
 | 
					  // add hashchange to permalink
 | 
				
			||||||
  const $refInNewIssue = $('a.ref-in-new-issue');
 | 
					  const refInNewIssue = document.querySelector('a.ref-in-new-issue');
 | 
				
			||||||
  const $copyPermalink = $('a.copy-line-permalink');
 | 
					  const copyPermalink = document.querySelector('a.copy-line-permalink');
 | 
				
			||||||
  const $viewGitBlame = $('a.view_git_blame');
 | 
					  const viewGitBlame = document.querySelector('a.view_git_blame');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const updateIssueHref = function (anchor) {
 | 
					  const updateIssueHref = function (anchor) {
 | 
				
			||||||
    if (!$refInNewIssue.length) {
 | 
					    if (!refInNewIssue) return;
 | 
				
			||||||
      return;
 | 
					    const urlIssueNew = refInNewIssue.getAttribute('data-url-issue-new');
 | 
				
			||||||
    }
 | 
					    const urlParamBodyLink = refInNewIssue.getAttribute('data-url-param-body-link');
 | 
				
			||||||
    const urlIssueNew = $refInNewIssue.attr('data-url-issue-new');
 | 
					 | 
				
			||||||
    const urlParamBodyLink = $refInNewIssue.attr('data-url-param-body-link');
 | 
					 | 
				
			||||||
    const issueContent = `${toAbsoluteUrl(urlParamBodyLink)}#${anchor}`; // the default content for issue body
 | 
					    const issueContent = `${toAbsoluteUrl(urlParamBodyLink)}#${anchor}`; // the default content for issue body
 | 
				
			||||||
    $refInNewIssue.attr('href', `${urlIssueNew}?body=${encodeURIComponent(issueContent)}`);
 | 
					    refInNewIssue.setAttribute('href', `${urlIssueNew}?body=${encodeURIComponent(issueContent)}`);
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const updateViewGitBlameFragment = function (anchor) {
 | 
					  const updateViewGitBlameFragment = function (anchor) {
 | 
				
			||||||
    if (!$viewGitBlame.length) return;
 | 
					    if (!viewGitBlame) return;
 | 
				
			||||||
    let href = $viewGitBlame.attr('href');
 | 
					    let href = viewGitBlame.getAttribute('href');
 | 
				
			||||||
    href = `${href.replace(/#L\d+$|#L\d+-L\d+$/, '')}`;
 | 
					    href = `${href.replace(/#L\d+$|#L\d+-L\d+$/, '')}`;
 | 
				
			||||||
    if (anchor.length !== 0) {
 | 
					    if (anchor.length !== 0) {
 | 
				
			||||||
      href = `${href}#${anchor}`;
 | 
					      href = `${href}#${anchor}`;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    $viewGitBlame.attr('href', href);
 | 
					    viewGitBlame.setAttribute('href', href);
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const updateCopyPermalinkUrl = function(anchor) {
 | 
					  const updateCopyPermalinkUrl = function (anchor) {
 | 
				
			||||||
    if (!$copyPermalink.length) return;
 | 
					    if (!copyPermalink) return;
 | 
				
			||||||
    let link = $copyPermalink.attr('data-url');
 | 
					    let link = copyPermalink.getAttribute('data-url');
 | 
				
			||||||
    link = `${link.replace(/#L\d+$|#L\d+-L\d+$/, '')}#${anchor}`;
 | 
					    link = `${link.replace(/#L\d+$|#L\d+-L\d+$/, '')}#${anchor}`;
 | 
				
			||||||
    $copyPermalink.attr('data-url', link);
 | 
					    copyPermalink.setAttribute('data-url', link);
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if ($selectionStartEls) {
 | 
					  if ($selectionStartEls) {
 | 
				
			||||||
    let a = parseInt($selectionEndEl.attr('rel').slice(1));
 | 
					    let a = parseInt($selectionEndEl[0].getAttribute('rel').slice(1));
 | 
				
			||||||
    let b = parseInt($selectionStartEls.attr('rel').slice(1));
 | 
					    let b = parseInt($selectionStartEls[0].getAttribute('rel').slice(1));
 | 
				
			||||||
    let c;
 | 
					    let c;
 | 
				
			||||||
    if (a !== b) {
 | 
					    if (a !== b) {
 | 
				
			||||||
      if (a > b) {
 | 
					      if (a > b) {
 | 
				
			||||||
@@ -85,11 +83,11 @@ function selectRange($linesEls, $selectionEndEl, $selectionStartEls) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  $selectionEndEl.closest('tr').addClass('active');
 | 
					  $selectionEndEl.closest('tr').addClass('active');
 | 
				
			||||||
  changeHash(`#${$selectionEndEl.attr('rel')}`);
 | 
					  changeHash(`#${$selectionEndEl[0].getAttribute('rel')}`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  updateIssueHref($selectionEndEl.attr('rel'));
 | 
					  updateIssueHref($selectionEndEl[0].getAttribute('rel'));
 | 
				
			||||||
  updateViewGitBlameFragment($selectionEndEl.attr('rel'));
 | 
					  updateViewGitBlameFragment($selectionEndEl[0].getAttribute('rel'));
 | 
				
			||||||
  updateCopyPermalinkUrl($selectionEndEl.attr('rel'));
 | 
					  updateCopyPermalinkUrl($selectionEndEl[0].getAttribute('rel'));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function showLineButton() {
 | 
					function showLineButton() {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user