aboutsummaryrefslogtreecommitdiffstats
path: root/frontend/coverage/block-navigation.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/coverage/block-navigation.js')
-rw-r--r--frontend/coverage/block-navigation.js133
1 files changed, 64 insertions, 69 deletions
diff --git a/frontend/coverage/block-navigation.js b/frontend/coverage/block-navigation.js
index 530d1ed..05f7569 100644
--- a/frontend/coverage/block-navigation.js
+++ b/frontend/coverage/block-navigation.js
@@ -1,87 +1,82 @@
-/* eslint-disable */
+
var jumpToCode = (function init() {
- // Classes of code we would like to highlight in the file view
- var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
+ // Classes of code we would like to highlight in the file view
+ var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
- // Elements to highlight in the file listing view
- var fileListingElements = ['td.pct.low'];
+ // Elements to highlight in the file listing view
+ var fileListingElements = ['td.pct.low'];
- // We don't want to select elements that are direct descendants of another match
- var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
+ // We don't want to select elements that are direct descendants of another match
+ var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
- // Selector that finds elements on the page to which we can jump
- var selector =
- fileListingElements.join(', ') +
- ', ' +
- notSelector +
- missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
+ // Selector that finds elements on the page to which we can jump
+ var selector =
+ fileListingElements.join(', ') +
+ ', ' +
+ notSelector +
+ missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
- // The NodeList of matching elements
- var missingCoverageElements = document.querySelectorAll(selector);
+ // The NodeList of matching elements
+ var missingCoverageElements = document.querySelectorAll(selector);
- var currentIndex;
+ var currentIndex;
- function toggleClass(index) {
- missingCoverageElements
- .item(currentIndex)
- .classList.remove('highlighted');
- missingCoverageElements.item(index).classList.add('highlighted');
- }
-
- function makeCurrent(index) {
- toggleClass(index);
- currentIndex = index;
- missingCoverageElements.item(index).scrollIntoView({
- behavior: 'smooth',
- block: 'center',
- inline: 'center'
- });
- }
+ function toggleClass(index) {
+ missingCoverageElements.item(currentIndex).classList.remove('highlighted');
+ missingCoverageElements.item(index).classList.add('highlighted');
+ }
- function goToPrevious() {
- var nextIndex = 0;
- if (typeof currentIndex !== 'number' || currentIndex === 0) {
- nextIndex = missingCoverageElements.length - 1;
- } else if (missingCoverageElements.length > 1) {
- nextIndex = currentIndex - 1;
- }
+ function makeCurrent(index) {
+ toggleClass(index);
+ currentIndex = index;
+ missingCoverageElements.item(index).scrollIntoView({
+ behavior: 'smooth',
+ block: 'center',
+ inline: 'center',
+ });
+ }
- makeCurrent(nextIndex);
+ function goToPrevious() {
+ var nextIndex = 0;
+ if (typeof currentIndex !== 'number' || currentIndex === 0) {
+ nextIndex = missingCoverageElements.length - 1;
+ } else if (missingCoverageElements.length > 1) {
+ nextIndex = currentIndex - 1;
}
- function goToNext() {
- var nextIndex = 0;
+ makeCurrent(nextIndex);
+ }
- if (
- typeof currentIndex === 'number' &&
- currentIndex < missingCoverageElements.length - 1
- ) {
- nextIndex = currentIndex + 1;
- }
+ function goToNext() {
+ var nextIndex = 0;
- makeCurrent(nextIndex);
+ if (typeof currentIndex === 'number' && currentIndex < missingCoverageElements.length - 1) {
+ nextIndex = currentIndex + 1;
}
- return function jump(event) {
- if (
- document.getElementById('fileSearch') === document.activeElement &&
- document.activeElement != null
- ) {
- // if we're currently focused on the search input, we don't want to navigate
- return;
- }
+ makeCurrent(nextIndex);
+ }
- switch (event.which) {
- case 78: // n
- case 74: // j
- goToNext();
- break;
- case 66: // b
- case 75: // k
- case 80: // p
- goToPrevious();
- break;
- }
- };
+ return function jump(event) {
+ if (
+ document.getElementById('fileSearch') === document.activeElement &&
+ document.activeElement != null
+ ) {
+ // if we're currently focused on the search input, we don't want to navigate
+ return;
+ }
+
+ switch (event.which) {
+ case 78: // n
+ case 74: // j
+ goToNext();
+ break;
+ case 66: // b
+ case 75: // k
+ case 80: // p
+ goToPrevious();
+ break;
+ }
+ };
})();
window.addEventListener('keydown', jumpToCode);