Work
This commit is contained in:
@@ -1,14 +1,24 @@
|
||||
import type { IDragItem } from "$lib/stores/layoutState";
|
||||
import layoutState from "$lib/stores/layoutState";
|
||||
import { NodeMode } from "@litegraph-ts/core";
|
||||
import { LGraphNode, NodeMode } from "@litegraph-ts/core";
|
||||
import { get } from "svelte/store";
|
||||
|
||||
export function isNodeDisabled(node: LGraphNode): boolean {
|
||||
while (node != null) {
|
||||
if (node.mode !== NodeMode.ALWAYS) {
|
||||
return true;
|
||||
}
|
||||
node = node.graph._subgraph_node;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
export function isDisabled(widget: IDragItem) {
|
||||
if (widget.attrs.disabled)
|
||||
return true;
|
||||
|
||||
if (widget.type === "widget") {
|
||||
return widget.attrs.nodeDisabledState === "disabled" && widget.node.mode === NodeMode.NEVER
|
||||
return widget.attrs.nodeDisabledState === "disabled" && isNodeDisabled(widget.node)
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -19,7 +29,7 @@ export function isHidden(widget: IDragItem) {
|
||||
return true;
|
||||
|
||||
if (widget.type === "widget") {
|
||||
return widget.attrs.nodeDisabledState === "hidden" && widget.node.mode === NodeMode.NEVER
|
||||
return widget.attrs.nodeDisabledState === "hidden" && isNodeDisabled(widget.node)
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user