@@ -2,6 +2,7 @@ import {svg} from '../svg.ts';
22import { createTippy } from '../modules/tippy.ts' ;
33import { toAbsoluteUrl } from '../utils.ts' ;
44import { addDelegatedEventListener } from '../utils/dom.ts' ;
5+ import { registerGlobalInitFunc } from '../modules/observer.ts' ;
56
67function changeHash ( hash : string ) {
78 if ( window . history . pushState ) {
@@ -110,19 +111,21 @@ function showLineButton() {
110111}
111112
112113export function initRepoCodeView ( ) {
113- if ( ! document . querySelector ( '.code-view .lines-num' ) ) return ;
114-
115- let selRangeStart : string ;
116- addDelegatedEventListener ( document , 'click' , '.lines-num span' , ( el : HTMLElement , e : KeyboardEvent ) => {
117- if ( ! selRangeStart || ! e . shiftKey ) {
118- selRangeStart = el . getAttribute ( 'id' ) ;
119- selectRange ( selRangeStart ) ;
120- } else {
121- const selRangeStop = el . getAttribute ( 'id' ) ;
122- selectRange ( `${ selRangeStart } -${ selRangeStop } ` ) ;
123- }
124- window . getSelection ( ) . removeAllRanges ( ) ;
125- showLineButton ( ) ;
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+ } ) ;
126129 } ) ;
127130
128131 const onHashChange = ( ) => {
0 commit comments