Skip to content

Commit fef1096

Browse files
committed
rewrite click handle to vanilla js
1 parent b8ab659 commit fef1096

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

web_src/js/features/repo-code.js

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -125,19 +125,24 @@ function showLineButton() {
125125
export function initRepoCodeView() {
126126
if ($('.code-view .lines-num').length > 0) {
127127
$(document).on('click', '.lines-num span', function (e) {
128-
const $select = $(this);
129-
let $list;
130-
if ($('div.blame').length) {
131-
$list = $('.code-view td.lines-code.blame-code');
128+
let linesEls;
129+
if (document.querySelector('div.blame')) {
130+
linesEls = document.querySelectorAll('.code-view td.lines-code.blame-code');
132131
} else {
133-
$list = $('.code-view td.lines-code');
132+
linesEls = document.querySelectorAll('.code-view td.lines-code');
134133
}
135-
const $sel = $list.filter(`[rel=${$select.attr('id')}]`);
136-
let $from = null;
134+
135+
const selectedEls = Array.from(linesEls).filter((el) => {
136+
return el.matches(`[rel=${this.getAttribute('id')}]`);
137+
});
138+
139+
let from;
137140
if (e.shiftKey) {
138-
$from = $list.closest('tr').filter('.active').children('.lines-code').eq(0);
141+
from = Array.from(linesEls).filter((el) => {
142+
return el.closest('tr').classList.contains('active');
143+
});
139144
}
140-
selectRange($list, $sel, $from);
145+
selectRange($(linesEls), $(selectedEls), from ? $(from) : null);
141146

142147
if (window.getSelection) {
143148
window.getSelection().removeAllRanges();

0 commit comments

Comments
 (0)