index : btroops | |
Virtual board game-aid for BattleTroops, an infantry combat simulator wargame published by FASA in 1989. |
aboutsummaryrefslogtreecommitdiff |
diff options
author | Catalin Mititiuc <webdevcat@proton.me> | 2025-03-05 14:11:22 -0800 |
---|---|---|
committer | Catalin Mititiuc <webdevcat@proton.me> | 2025-03-05 14:29:37 -0800 |
commit | 7fd054a72821cad62be4a869e2b0a3e9034543a5 (patch) | |
tree | d16282a3b54bbc310a56ad86b7fd75392dc0f2f2 /src/modules | |
parent | be42c989cf5f3cc28bd3c401983a1a58e4d923c4 (diff) |
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/pan-zoom.js | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/src/modules/pan-zoom.js b/src/modules/pan-zoom.js deleted file mode 100644 index 76c77f6..0000000 --- a/src/modules/pan-zoom.js +++ /dev/null @@ -1,33 +0,0 @@ -import { pan, zoom } from 'pan-zoom'; - -const storageKey = 'pan-zoom'; -const zoomFactor = 0.25; - -function restorePanZoomVal(el) { - const storedPanZoomVal = localStorage.getItem(storageKey); - - if (storedPanZoomVal) el.style.transform = storedPanZoomVal; -} - -function addEventListeners(svg, el) { - svg.addEventListener('wheel', zoom(el, zoomFactor), { passive: false }); - svg.addEventListener('pointerdown', pan(el), { passive: false }); -} - -function storePanZoomVal(transformMatrix) { - localStorage.setItem(storageKey, transformMatrix); -} - -function observePanZoomChanges(el) { - const observer = new MutationObserver(() => storePanZoomVal(el.style.transform)); - - observer.observe(el, { attributeFilter: ['style'] }); -} - -export function start(svg) { - const targetEl = svg.querySelector('.gameboard'); - - restorePanZoomVal(targetEl); - addEventListeners(svg, targetEl); - observePanZoomChanges(targetEl); -} |