@@ -54,7 +54,9 @@ function tryInjectDiffPullRequestUI() {
5454 tryInjectDiffPullRequestUIElement ( el as HTMLElement ) ;
5555 } ) ;
5656
57- const prReviewToolsDiv = document . querySelector ( SELECTOR_PR_REVIEW_TOOLS ) as HTMLDivElement ;
57+ const prReviewToolsDiv = document . querySelector (
58+ SELECTOR_PR_REVIEW_TOOLS ,
59+ ) as HTMLDivElement ;
5860 addNextUncoveredLineButton ( prReviewToolsDiv ) ;
5961 setupJumpToUncoveredLineHotkey ( ) ;
6062}
@@ -81,21 +83,20 @@ function tryInjectDiffPullRequestUIElement(
8183}
8284
8385const uncoveredLineKeyListener = ( event : KeyboardEvent ) => {
84- const ignoredTags = new Set ( [ ' INPUT' , ' TEXTAREA' , ' SELECT' ] ) ;
86+ const ignoredTags = new Set ( [ " INPUT" , " TEXTAREA" , " SELECT" ] ) ;
8587
8688 const isTypingInEditable = ( element : EventTarget | null ) => {
8789 if ( ! ( element instanceof HTMLElement ) ) {
8890 return false ;
8991 }
9092
9193 return (
92- element ?. isContentEditable === true ||
93- ignoredTags . has ( element ?. tagName )
94+ element ?. isContentEditable === true || ignoredTags . has ( element ?. tagName )
9495 ) ;
95- }
96+ } ;
9697
97- const { key, target, ctrlKey, metaKey, altKey, repeat} = event ;
98- if ( key !== 'n' || ctrlKey || metaKey || altKey || repeat ) {
98+ const { key, target, ctrlKey, metaKey, altKey, repeat } = event ;
99+ if ( key !== "n" || ctrlKey || metaKey || altKey || repeat ) {
99100 return ;
100101 }
101102
@@ -109,8 +110,8 @@ const uncoveredLineKeyListener = (event: KeyboardEvent) => {
109110} ;
110111
111112function setupJumpToUncoveredLineHotkey ( ) {
112- document . removeEventListener ( ' keydown' , uncoveredLineKeyListener ) ;
113- document . addEventListener ( ' keydown' , uncoveredLineKeyListener ) ;
113+ document . removeEventListener ( " keydown" , uncoveredLineKeyListener ) ;
114+ document . addEventListener ( " keydown" , uncoveredLineKeyListener ) ;
114115}
115116
116117function addPRPageBadge ( ) : void {
@@ -171,7 +172,7 @@ function createBadge(type: "pr" | "commit"): HTMLDivElement | null {
171172}
172173
173174function getUncoveredLineDivs ( ) : HTMLDivElement [ ] {
174- return Array . from ( document . querySelectorAll ( ' .qlty-coverage-miss' ) ) ;
175+ return Array . from ( document . querySelectorAll ( " .qlty-coverage-miss" ) ) ;
175176}
176177
177178function jumpToNextUncoveredLine ( ) {
@@ -180,30 +181,30 @@ function jumpToNextUncoveredLine() {
180181 return ;
181182 }
182183
183- const currentlySelectedIndex = uncoveredLineDivs . findIndex (
184- el => el . parentElement ?. classList . contains ( ' selected-line' )
184+ const currentlySelectedIndex = uncoveredLineDivs . findIndex ( ( el ) =>
185+ el . parentElement ?. classList . contains ( " selected-line" ) ,
185186 ) ;
186187
187188 const nextIndex = ( currentlySelectedIndex + 1 ) % uncoveredLineDivs . length ;
188189 const nextElement = uncoveredLineDivs [ nextIndex ] ;
189- nextElement . scrollIntoView ( { behavior : ' smooth' , block : ' center' } ) ;
190+ nextElement . scrollIntoView ( { behavior : " smooth" , block : " center" } ) ;
190191
191192 const linkableLine = nextElement . parentElement ! ;
192- if ( ! linkableLine . classList . contains ( ' js-linkable-line-number' ) ) {
193+ if ( ! linkableLine . classList . contains ( " js-linkable-line-number" ) ) {
193194 console . warn ( "[qlty] Could not find linkable line number" ) ;
194195 return ;
195196 }
196197
197198 // Click the line to highlight it
198199 // If we don't also trigger a click event, then our line gets unhighlighted on
199200 // subsequent button clicks
200- linkableLine . dispatchEvent ( new MouseEvent ( ' mousedown' , { bubbles : true } ) ) ;
201- linkableLine . dispatchEvent ( new MouseEvent ( ' mouseup' , { bubbles : true } ) ) ;
202- linkableLine . dispatchEvent ( new MouseEvent ( "click" , { bubbles : true } ) ) ;
201+ linkableLine . dispatchEvent ( new MouseEvent ( " mousedown" , { bubbles : true } ) ) ;
202+ linkableLine . dispatchEvent ( new MouseEvent ( " mouseup" , { bubbles : true } ) ) ;
203+ linkableLine . dispatchEvent ( new MouseEvent ( "click" , { bubbles : true } ) ) ;
203204}
204205
205206function addNextUncoveredLineButton ( prReviewToolsDiv : HTMLDivElement ) : void {
206- let existingButton = document . querySelector ( ' .qlty-btn-next-uncovered-line' ) ;
207+ let existingButton = document . querySelector ( " .qlty-btn-next-uncovered-line" ) ;
207208 if ( existingButton ) {
208209 return ;
209210 }
@@ -213,20 +214,27 @@ function addNextUncoveredLineButton(prReviewToolsDiv: HTMLDivElement): void {
213214 return ;
214215 }
215216
216- const buttonIcon = document . createElement ( ' span' ) ;
217- buttonIcon . classList . add ( ' qlty-icon' ) ;
217+ const buttonIcon = document . createElement ( " span" ) ;
218+ buttonIcon . classList . add ( " qlty-icon" ) ;
218219
219220 const button = createButton (
220- 'Jump to next uncovered line' ,
221- [ 'qlty-btn-next-uncovered-line' , 'qlty-ml-2' ] ,
221+ "Jump to next uncovered line" ,
222+ [
223+ "qlty-btn-next-uncovered-line" ,
224+ prReviewToolsDiv . lastElementChild ? "qlty-mr-2" : "qlty-ml-2" ,
225+ ] ,
222226 ( e ) => {
223227 e . preventDefault ( ) ;
224228 jumpToNextUncoveredLine ( ) ;
225229 } ,
226230 createButtonContent ( [ buttonIcon ] ) ,
227231 ) ;
228232
229- prReviewToolsDiv . appendChild ( button ) ;
233+ if ( prReviewToolsDiv . lastElementChild ) {
234+ prReviewToolsDiv . insertBefore ( button , prReviewToolsDiv . lastElementChild ) ;
235+ } else {
236+ prReviewToolsDiv . appendChild ( button ) ;
237+ }
230238}
231239
232240async function injectIntoFileContainer (
@@ -293,7 +301,9 @@ function injectCoverageSummary(
293301 icon . classList . add ( "qlty-icon" ) ;
294302 el . appendChild ( document . createTextNode ( "Coverage: " ) ) ;
295303 const percent = el . appendChild ( document . createElement ( "span" ) ) ;
296- const covPercent = coverage . coveredLines / ( coverage . coveredLines + coverage . missedLines ) * 100 ;
304+ const covPercent =
305+ ( coverage . coveredLines / ( coverage . coveredLines + coverage . missedLines ) ) *
306+ 100 ;
297307 percent . innerText = `${ covPercent . toFixed ( 2 ) } %` ;
298308 const progress = el . appendChild ( document . createElement ( "div" ) ) ;
299309 progress . classList . add ( "qlty-coverage-progress" ) ;
0 commit comments