update connection logic

This commit is contained in:
“chrisshank” 2024-12-15 10:28:30 -08:00
parent d9c8a88796
commit bbd0c6684d
1 changed files with 14 additions and 10 deletions

View File

@ -49,14 +49,16 @@ export class FolkBaseConnection extends FolkElement {
this.sourceRect = DOMRectReadOnly.fromRect(vertex); this.sourceRect = DOMRectReadOnly.fromRect(vertex);
} else { } else {
this.sourceElement = document.querySelector(this.source); this.sourceElement = document.querySelector(this.source);
}
}
if (changedProperties.has('sourceElement')) {
if (this.sourceElement === null) { if (this.sourceElement === null) {
this.sourceRect = null; this.sourceRect = null;
} else { } else {
folkObserver.observe(this.sourceElement, this.#sourceCallback); folkObserver.observe(this.sourceElement, this.#sourceCallback);
} }
} }
}
if (changedProperties.has('target')) { if (changedProperties.has('target')) {
this.#unobserveTarget(); this.#unobserveTarget();
@ -69,7 +71,10 @@ export class FolkBaseConnection extends FolkElement {
this.targetRect = DOMRectReadOnly.fromRect(vertex); this.targetRect = DOMRectReadOnly.fromRect(vertex);
} else { } else {
this.targetElement = document.querySelector(this.target); this.targetElement = document.querySelector(this.target);
}
}
if (changedProperties.has('targetElement')) {
if (this.targetElement === null) { if (this.targetElement === null) {
this.targetRect = null; this.targetRect = null;
} else { } else {
@ -77,7 +82,6 @@ export class FolkBaseConnection extends FolkElement {
} }
} }
} }
}
#sourceCallback = (entry: ClientRectObserverEntry) => { #sourceCallback = (entry: ClientRectObserverEntry) => {
this.sourceRect = entry.contentRect; this.sourceRect = entry.contentRect;