From 25eca15a3007c76c4e444b859683feb29edfa183 Mon Sep 17 00:00:00 2001
From: Catalin Mititiuc
Date: Tue, 18 Mar 2025 13:43:26 -0700
Subject: WIP: translate an object to zoomed position without scaling
---
src/modules/zoom.js | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
(limited to 'src/modules/zoom.js')
diff --git a/src/modules/zoom.js b/src/modules/zoom.js
index 1455cb4..69652c0 100644
--- a/src/modules/zoom.js
+++ b/src/modules/zoom.js
@@ -1,4 +1,4 @@
-import { default as getComputedTransformMatrix } from './utils';
+import { default as getComputedTransformMatrix, extractNum, track, getTracked } from './utils';
function zoomIn(deltaY) {
return deltaY < 0;
@@ -24,9 +24,13 @@ function setTransform(el, computedMtx, translateMtx, scale) {
const transformMtx =
computedMtx.multiply(translateMtx).scale(scale).multiply(translateMtx.inverse());
+ groups.forEach(([z, p]) => track(z, p, transformMtx));
+
el.style.transform = transformMtx;
}
+const groups = getTracked(document.querySelectorAll('svg g[class] use'));
+
export default function (el, factor = 0.1) {
return e => {
e.preventDefault();
--
cgit v1.2.3