Skip to content

Commit a9a5734

Browse files
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>
1 parent 1392156 commit a9a5734

File tree

1 file changed

+20
-22
lines changed

1 file changed

+20
-22
lines changed

web_src/js/features/repo-code.js

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,40 +28,38 @@ function selectRange($linesEls, $selectionEndEl, $selectionStartEls) {
2828
$linesEls.closest('tr').removeClass('active');
2929

3030
// add hashchange to permalink
31-
const $refInNewIssue = $('a.ref-in-new-issue');
32-
const $copyPermalink = $('a.copy-line-permalink');
33-
const $viewGitBlame = $('a.view_git_blame');
31+
const refInNewIssue = document.querySelector('a.ref-in-new-issue');
32+
const copyPermalink = document.querySelector('a.copy-line-permalink');
33+
const viewGitBlame = document.querySelector('a.view_git_blame');
3434

3535
const updateIssueHref = function (anchor) {
36-
if (!$refInNewIssue.length) {
37-
return;
38-
}
39-
const urlIssueNew = $refInNewIssue.attr('data-url-issue-new');
40-
const urlParamBodyLink = $refInNewIssue.attr('data-url-param-body-link');
36+
if (!refInNewIssue) return;
37+
const urlIssueNew = refInNewIssue.getAttribute('data-url-issue-new');
38+
const urlParamBodyLink = refInNewIssue.getAttribute('data-url-param-body-link');
4139
const issueContent = `${toAbsoluteUrl(urlParamBodyLink)}#${anchor}`; // the default content for issue body
42-
$refInNewIssue.attr('href', `${urlIssueNew}?body=${encodeURIComponent(issueContent)}`);
40+
refInNewIssue.setAttribute('href', `${urlIssueNew}?body=${encodeURIComponent(issueContent)}`);
4341
};
4442

4543
const updateViewGitBlameFragment = function (anchor) {
46-
if (!$viewGitBlame.length) return;
47-
let href = $viewGitBlame.attr('href');
44+
if (!viewGitBlame) return;
45+
let href = viewGitBlame.getAttribute('href');
4846
href = `${href.replace(/#L\d+$|#L\d+-L\d+$/, '')}`;
4947
if (anchor.length !== 0) {
5048
href = `${href}#${anchor}`;
5149
}
52-
$viewGitBlame.attr('href', href);
50+
viewGitBlame.setAttribute('href', href);
5351
};
5452

55-
const updateCopyPermalinkUrl = function(anchor) {
56-
if (!$copyPermalink.length) return;
57-
let link = $copyPermalink.attr('data-url');
53+
const updateCopyPermalinkUrl = function (anchor) {
54+
if (!copyPermalink) return;
55+
let link = copyPermalink.getAttribute('data-url');
5856
link = `${link.replace(/#L\d+$|#L\d+-L\d+$/, '')}#${anchor}`;
59-
$copyPermalink.attr('data-url', link);
57+
copyPermalink.setAttribute('data-url', link);
6058
};
6159

6260
if ($selectionStartEls) {
63-
let a = parseInt($selectionEndEl.attr('rel').slice(1));
64-
let b = parseInt($selectionStartEls.attr('rel').slice(1));
61+
let a = parseInt($selectionEndEl[0].getAttribute('rel').slice(1));
62+
let b = parseInt($selectionStartEls[0].getAttribute('rel').slice(1));
6563
let c;
6664
if (a !== b) {
6765
if (a > b) {
@@ -85,11 +83,11 @@ function selectRange($linesEls, $selectionEndEl, $selectionStartEls) {
8583
}
8684
}
8785
$selectionEndEl.closest('tr').addClass('active');
88-
changeHash(`#${$selectionEndEl.attr('rel')}`);
86+
changeHash(`#${$selectionEndEl[0].getAttribute('rel')}`);
8987

90-
updateIssueHref($selectionEndEl.attr('rel'));
91-
updateViewGitBlameFragment($selectionEndEl.attr('rel'));
92-
updateCopyPermalinkUrl($selectionEndEl.attr('rel'));
88+
updateIssueHref($selectionEndEl[0].getAttribute('rel'));
89+
updateViewGitBlameFragment($selectionEndEl[0].getAttribute('rel'));
90+
updateCopyPermalinkUrl($selectionEndEl[0].getAttribute('rel'));
9391
}
9492

9593
function showLineButton() {

0 commit comments

Comments
 (0)