Update node bounds whenever a node is registered or unregistered

This commit is contained in:
thepaperpilot 2022-08-22 08:42:11 -05:00
parent 11662e248f
commit 6784fbaf51

View file

@ -56,13 +56,12 @@ provide(RegisterNodeInjectionKey, (id, element) => {
const observer = new MutationObserver(() => updateNode(id)); const observer = new MutationObserver(() => updateNode(id));
observer.observe(element, observerOptions); observer.observe(element, observerOptions);
nodes.value[id] = { element, observer, rect: element.getBoundingClientRect() }; nodes.value[id] = { element, observer, rect: element.getBoundingClientRect() };
emit("updateNodes", nodes.value); updateBounds();
nextTick(() => updateNode(id));
}); });
provide(UnregisterNodeInjectionKey, id => { provide(UnregisterNodeInjectionKey, id => {
nodes.value[id]?.observer.disconnect(); nodes.value[id]?.observer.disconnect();
nodes.value[id] = undefined; nodes.value[id] = undefined;
emit("updateNodes", nodes.value); updateBounds();
}); });
provide(NodesInjectionKey, nodes); provide(NodesInjectionKey, nodes);
provide(BoundsInjectionKey, boundingRect); provide(BoundsInjectionKey, boundingRect);