Merge pull request #4100 from xyflow/svelte-unobserve-fix
fix(svelte): resizeObserver.unobserve
This commit is contained in:
@@ -57,7 +57,7 @@
|
|||||||
const nodeType = type || 'default';
|
const nodeType = type || 'default';
|
||||||
|
|
||||||
let nodeRef: HTMLDivElement;
|
let nodeRef: HTMLDivElement;
|
||||||
let prevNodeRef: HTMLDivElement;
|
let prevNodeRef: HTMLDivElement | null = null;
|
||||||
|
|
||||||
const nodeTypeValid = !!$nodeTypes[nodeType];
|
const nodeTypeValid = !!$nodeTypes[nodeType];
|
||||||
|
|
||||||
@@ -119,20 +119,17 @@
|
|||||||
setContext('svelteflow__node_connectable', connectableStore);
|
setContext('svelteflow__node_connectable', connectableStore);
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
if (nodeRef) {
|
if (resizeObserver && nodeRef !== prevNodeRef) {
|
||||||
if (!prevNodeRef) {
|
prevNodeRef && resizeObserver.unobserve(prevNodeRef);
|
||||||
resizeObserver?.observe(nodeRef);
|
nodeRef && resizeObserver.observe(nodeRef);
|
||||||
prevNodeRef = nodeRef;
|
prevNodeRef = nodeRef;
|
||||||
} else if (prevNodeRef !== nodeRef || (!computedWidth && !computedHeight)) {
|
|
||||||
resizeObserver?.unobserve(prevNodeRef);
|
|
||||||
resizeObserver?.observe(nodeRef);
|
|
||||||
prevNodeRef = nodeRef;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onDestroy(() => {
|
onDestroy(() => {
|
||||||
resizeObserver?.unobserve(nodeRef);
|
if (prevNodeRef) {
|
||||||
|
resizeObserver?.unobserve(prevNodeRef);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function onSelectNodeHandler(event: MouseEvent | TouchEvent) {
|
function onSelectNodeHandler(event: MouseEvent | TouchEvent) {
|
||||||
|
|||||||
Reference in New Issue
Block a user