From bbd0c6684dff309e6803318ddd3077467fcfd00e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cchrisshank=E2=80=9D?= Date: Sun, 15 Dec 2024 10:28:30 -0800 Subject: [PATCH] update connection logic --- src/folk-base-connection.ts | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/folk-base-connection.ts b/src/folk-base-connection.ts index cfcdf2f..282f53e 100644 --- a/src/folk-base-connection.ts +++ b/src/folk-base-connection.ts @@ -49,12 +49,14 @@ export class FolkBaseConnection extends FolkElement { this.sourceRect = DOMRectReadOnly.fromRect(vertex); } else { this.sourceElement = document.querySelector(this.source); + } + } - if (this.sourceElement === null) { - this.sourceRect = null; - } else { - folkObserver.observe(this.sourceElement, this.#sourceCallback); - } + if (changedProperties.has('sourceElement')) { + if (this.sourceElement === null) { + this.sourceRect = null; + } else { + folkObserver.observe(this.sourceElement, this.#sourceCallback); } } @@ -69,12 +71,14 @@ export class FolkBaseConnection extends FolkElement { this.targetRect = DOMRectReadOnly.fromRect(vertex); } else { this.targetElement = document.querySelector(this.target); + } + } - if (this.targetElement === null) { - this.targetRect = null; - } else { - folkObserver.observe(this.targetElement, this.#targetCallback); - } + if (changedProperties.has('targetElement')) { + if (this.targetElement === null) { + this.targetRect = null; + } else { + folkObserver.observe(this.targetElement, this.#targetCallback); } } }