Skip to content

Commit 25f2da7

Browse files
committed
fix
1 parent ad277ed commit 25f2da7

File tree

3 files changed

+22
-18
lines changed

3 files changed

+22
-18
lines changed

templates/repo/view_file.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114
{{end}}
115115
</div>
116116
{{else if .FileSize}}
117-
<table data-global-init="initRepoCodeView">
117+
<table>
118118
<tbody>
119119
{{range $idx, $code := .FileContent}}
120120
{{$line := Eval $idx "+" 1}}

web_src/css/repo/file-view.css

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
.file-view tr.active {
1+
.file-view tr.active .lines-num,
2+
.file-view tr.active .lines-escape,
3+
.file-view tr.active .lines-code {
24
background: var(--color-highlight-bg);
35
}
46

7+
/* set correct border radius on the last active lines, to avoid border overflow */
58
.file-view tr.active:last-of-type .lines-code {
69
border-bottom-right-radius: var(--border-radius);
710
}
@@ -10,6 +13,7 @@
1013
position: relative;
1114
}
1215

16+
/* add a darker "handler" at the beginning of the active line */
1317
.file-view tr.active .lines-num::before {
1418
content: "";
1519
position: absolute;

web_src/js/features/repo-code.ts

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import {svg} from '../svg.ts';
22
import {createTippy} from '../modules/tippy.ts';
33
import {toAbsoluteUrl} from '../utils.ts';
44
import {addDelegatedEventListener} from '../utils/dom.ts';
5-
import {registerGlobalInitFunc} from '../modules/observer.ts';
65

76
function changeHash(hash: string) {
87
if (window.history.pushState) {
@@ -111,25 +110,26 @@ function showLineButton() {
111110
}
112111

113112
export function initRepoCodeView() {
114-
registerGlobalInitFunc('initRepoCodeView', (el: HTMLElement) => {
115-
if (!el.querySelector('.lines-num')) return;
116-
117-
let selRangeStart: string;
118-
addDelegatedEventListener(el, 'click', '.lines-num span', (el: HTMLElement, e: KeyboardEvent) => {
119-
if (!selRangeStart || !e.shiftKey) {
120-
selRangeStart = el.getAttribute('id');
121-
selectRange(selRangeStart);
122-
} else {
123-
const selRangeStop = el.getAttribute('id');
124-
selectRange(`${selRangeStart}-${selRangeStop}`);
125-
}
126-
window.getSelection().removeAllRanges();
127-
showLineButton();
128-
});
113+
if (!document.querySelector('.file-view.code-view')) return;
114+
115+
// "file code view" and "blame" pages need this "line number button" feature
116+
let selRangeStart: string;
117+
addDelegatedEventListener(document, 'click', '.code-view .lines-num span', (el: HTMLElement, e: KeyboardEvent) => {
118+
if (!selRangeStart || !e.shiftKey) {
119+
selRangeStart = el.getAttribute('id');
120+
selectRange(selRangeStart);
121+
} else {
122+
const selRangeStop = el.getAttribute('id');
123+
selectRange(`${selRangeStart}-${selRangeStop}`);
124+
}
125+
window.getSelection().removeAllRanges();
126+
showLineButton();
129127
});
130128

129+
// apply the selected range from the URL hash
131130
const onHashChange = () => {
132131
if (!window.location.hash) return;
132+
if (!document.querySelector('.code-view .lines-num')) return;
133133
const range = window.location.hash.substring(1);
134134
const first = selectRange(range);
135135
if (first) {

0 commit comments

Comments
 (0)