Fix pin not respected by multi-select move (#284)

This commit is contained in:
filtered
2024-11-08 07:58:49 +11:00
committed by GitHub
parent 80cbe491f8
commit 1c40aad87c
3 changed files with 6 additions and 1 deletions

View File

@@ -2444,7 +2444,7 @@ export class LGraphCanvas {
this.#dirty()
function addToSetRecursively(item: Positionable, items: Set<Positionable>): void {
if (items.has(item)) return
if (items.has(item) || item.pinned) return
items.add(item)
item.children?.forEach(x => addToSetRecursively(x, items))
}

View File

@@ -1437,6 +1437,8 @@ export class LGraphNode implements Positionable, IPinnable {
}
move(deltaX: number, deltaY: number): void {
if (this.pinned) return
this.pos[0] += deltaX
this.pos[1] += deltaY
}

View File

@@ -24,6 +24,9 @@ export interface Positionable {
/** true if this object is part of the selection, otherwise false. */
selected?: boolean
/** See {@link IPinnable.pinned} */
readonly pinned?: boolean
readonly children?: ReadonlySet<Positionable>
/**