fix types errors

This commit is contained in:
“chrisshank” 2024-12-09 14:54:38 -08:00
parent 2f87770e66
commit b8738b485c
1 changed files with 10 additions and 7 deletions

View File

@ -36,18 +36,19 @@ export class FolkCluster extends FolkHull {
#data = new Map(); #data = new Map();
isElementInCluster(element: FolkShape) { isElementInCluster(element: FolkShape) {
return this.sourceElements.includes(element); return this.sourceElements.has(element);
} }
isElementInProximity(element: FolkShape) { isElementInProximity(element: FolkShape) {
for (const el of this.sourceElements as FolkShape[]) { for (const el of this.sourceElements) {
if (aabbIntersection(el.getTransformDOMRect(), element.getTransformDOMRect(), PROXIMITY)) return true; if (aabbIntersection((el as FolkShape).getTransformDOMRect(), element.getTransformDOMRect(), PROXIMITY))
return true;
} }
return false; return false;
} }
addElements(...elements: FolkShape[]) { addElements(...elements: FolkShape[]) {
this.sources = this.sourceElements this.sources = Array.from(this.sourceElements)
.concat(elements) .concat(elements)
.map((el) => `#${el.id}`) .map((el) => `#${el.id}`)
.join(', '); .join(', ');
@ -102,7 +103,7 @@ export class FolkCluster extends FolkHull {
} }
removeElement(geometry: FolkShape) { removeElement(geometry: FolkShape) {
this.sources = this.sourceElements this.sources = Array.from(this.sourceElements)
.filter((el) => el !== geometry) .filter((el) => el !== geometry)
.map((el) => `#${el.id}`) .map((el) => `#${el.id}`)
.join(', '); .join(', ');
@ -173,9 +174,11 @@ export class FolkProximity extends HTMLElement {
} }
} }
} else { } else {
const isInCluster = (cluster.sourceElements as FolkShape[]) const isInCluster = Array.from(cluster.sourceElements)
.filter((element) => el !== element) .filter((element) => el !== element)
.some((element) => aabbIntersection(el.getTransformDOMRect(), element.getTransformDOMRect(), PROXIMITY)); .some((element) =>
aabbIntersection(el.getTransformDOMRect(), (element as FolkShape).getTransformDOMRect(), PROXIMITY)
);
if (!isInCluster) { if (!isInCluster) {
cluster.removeElement(el); cluster.removeElement(el);