From b0901d069e0250db6e863d5413342f11c878e507 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Mon, 20 Sep 2021 15:44:07 +0300 Subject: [PATCH] Add comments and fix/ignore a couple of issues --- src/js/page/index.js | 2 +- src/js/page/ui/code-output.js | 2 +- src/js/page/ui/file-drop.js | 3 ++- src/js/page/ui/material-slider.js | 1 + src/js/page/ui/pan-zoom.js | 4 ++-- src/js/page/ui/ripple.js | 2 +- src/js/page/ui/settings.js | 2 +- src/js/page/ui/svg-output.js | 2 ++ src/js/prism-worker/index.js | 2 ++ src/js/sw/index.js | 2 ++ src/js/utils/storage.js | 2 ++ 11 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/js/page/index.js b/src/js/page/index.js index 79f0ef58c..8ad75a121 100644 --- a/src/js/page/index.js +++ b/src/js/page/index.js @@ -2,4 +2,4 @@ import { trackFocusMethod } from './utils.js'; import MainController from './main-controller.js'; trackFocusMethod(); -new MainController(); +new MainController(); // eslint-disable-line no-new diff --git a/src/js/page/ui/code-output.js b/src/js/page/ui/code-output.js index 732465398..367607f55 100644 --- a/src/js/page/ui/code-output.js +++ b/src/js/page/ui/code-output.js @@ -6,7 +6,7 @@ const prism = new Prism(); export default class CodeOutput { constructor() { this.container = strToEl( - '
' + '
' + '
' + '
' ); this._codeEl = this.container.querySelector('code'); } diff --git a/src/js/page/ui/file-drop.js b/src/js/page/ui/file-drop.js index e5a86282e..2991c4ea1 100644 --- a/src/js/page/ui/file-drop.js +++ b/src/js/page/ui/file-drop.js @@ -27,7 +27,8 @@ export default class FileDrop { } _onDragEnter(event) { - // firefox double-fires on window enter, this works around it + // TODO: revisit this + // Firefox double-fires on window enter, this works around it // https://bugzilla.mozilla.org/show_bug.cgi?id=1124645 if (this._currentEnteredElement === event.target) return; this._currentEnteredElement = event.target; diff --git a/src/js/page/ui/material-slider.js b/src/js/page/ui/material-slider.js index e677e1e35..be29f9d78 100644 --- a/src/js/page/ui/material-slider.js +++ b/src/js/page/ui/material-slider.js @@ -52,6 +52,7 @@ export default class MaterialSlider { document.addEventListener('mouseup', upListener); } + // eslint-disable-next-line accessor-pairs set value(newValue) { this.range.value = newValue; this._update(); diff --git a/src/js/page/ui/pan-zoom.js b/src/js/page/ui/pan-zoom.js index ae61b0e54..c29ac4c74 100644 --- a/src/js/page/ui/pan-zoom.js +++ b/src/js/page/ui/pan-zoom.js @@ -68,9 +68,9 @@ export default class PanZoom { const boundingRect = this._target.getBoundingClientRect(); let delta = event.deltaY; + // 1 is "lines", 0 is "pixels" + // Firefox uses "lines" when mouse is connected if (event.deltaMode === 1) { - // 1 is "lines", 0 is "pixels" - // Firefox uses "lines" when mouse is connected delta *= 15; } diff --git a/src/js/page/ui/ripple.js b/src/js/page/ui/ripple.js index 954b27e1f..55f983ff0 100644 --- a/src/js/page/ui/ripple.js +++ b/src/js/page/ui/ripple.js @@ -7,7 +7,7 @@ export default class Ripple { animate() { this.container.classList.remove('animate'); - this.container.offsetLeft; + this.container.offsetLeft; // eslint-disable-line no-unused-expressions this.container.classList.add('animate'); } } diff --git a/src/js/page/ui/settings.js b/src/js/page/ui/settings.js index 6b24c7068..567e0923f 100644 --- a/src/js/page/ui/settings.js +++ b/src/js/page/ui/settings.js @@ -53,8 +53,8 @@ export default class Settings { _onMouseWheel(event) { // Prevents bounce effect on desktop. // Firefox uses DELTA_LINE on a mouse wheel, ignore it + // 0 is "pixels" if (!event.deltaMode) { - // 0 is "pixels" event.preventDefault(); event.currentTarget.scrollTop += event.deltaY; } diff --git a/src/js/page/ui/svg-output.js b/src/js/page/ui/svg-output.js index d84b4c2e7..14e37cada 100644 --- a/src/js/page/ui/svg-output.js +++ b/src/js/page/ui/svg-output.js @@ -8,6 +8,7 @@ export default class SvgOutput { '
' + '' + '
' + + // TODO: revisit this // Stop touches going into the iframe. // pointer-events + touch + iframe doesn't work in Chrome :( '
' + @@ -27,6 +28,7 @@ export default class SvgOutput { } setSvg(svgFile) { + // TODO: revisit this // I would rather use blob urls, but they don't work in Firefox // All the internal refs break. // https://bugzilla.mozilla.org/show_bug.cgi?id=1125667 diff --git a/src/js/prism-worker/index.js b/src/js/prism-worker/index.js index 3a940da87..bc369242a 100644 --- a/src/js/prism-worker/index.js +++ b/src/js/prism-worker/index.js @@ -1,5 +1,7 @@ // This needs to be an import so it executes before Prism +/* eslint-disable import/no-unassigned-import */ import './prism-config.js'; +/* eslint-enable import/no-unassigned-import */ import Prism from 'prismjs'; self.onmessage = (event) => { diff --git a/src/js/sw/index.js b/src/js/sw/index.js index 676f61e58..0cb7a6b64 100644 --- a/src/js/sw/index.js +++ b/src/js/sw/index.js @@ -45,6 +45,8 @@ addEventListener('activate', (event) => { // remove caches beginning "svgomg-" that aren't in expectedCaches for (const cacheName of await caches.keys()) { if (!cacheName.startsWith(cachePrefix)) continue; + // TODO: switch to Promise.all + // eslint-disable-next-line no-await-in-loop if (!expectedCaches.has(cacheName)) await caches.delete(cacheName); } diff --git a/src/js/utils/storage.js b/src/js/utils/storage.js index ffa954139..34f6f373a 100644 --- a/src/js/utils/storage.js +++ b/src/js/utils/storage.js @@ -1,3 +1,4 @@ +// eslint-disable-next-line import/no-mutable-exports export let idbKeyval = (() => { let db; @@ -55,6 +56,7 @@ export let idbKeyval = (() => { }; })(); +// TODO: revisit this // iOS add-to-homescreen is missing IDB, or at least it used to. // I haven't tested this in a while. if (!self.indexedDB) {