diff --git a/public/icons/Disabled.svg b/public/icons/Disabled.svg new file mode 100644 index 0000000..92bd8f5 --- /dev/null +++ b/public/icons/Disabled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/locales/en.json b/public/locales/en.json index 5cdd47b..391a1f5 100644 --- a/public/locales/en.json +++ b/public/locales/en.json @@ -79,6 +79,7 @@ "node.args": "Const arguments", "node.codePlaceholder": "a.b * 3 > 2", "node.debug": "Debug", + "node.disabled": "Disabled", "node.deleteRootNodeDenied": "Unable to delete the root node", "node.editSubtreeDenied": "Unable to edit the subtree node", "node.desc": "Node desc", diff --git a/public/locales/zh.json b/public/locales/zh.json index de3ca5f..dace1d3 100644 --- a/public/locales/zh.json +++ b/public/locales/zh.json @@ -79,6 +79,7 @@ "node.args": "常量参数", "node.codePlaceholder": "a.b * 3 > 2", "node.debug": "调试", + "node.disabled": "禁用", "node.deleteRootNodeDenied": "不能删除根节点", "node.editSubtreeDenied": "不能编辑子树节点", "node.desc": "节点说明", diff --git a/src/components/inspector.tsx b/src/components/inspector.tsx index 52766d9..1271229 100644 --- a/src/components/inspector.tsx +++ b/src/components/inspector.tsx @@ -84,6 +84,7 @@ const NodeInspector: FC = () => { form.setFieldValue("type", def.type); form.setFieldValue("desc", data.desc); form.setFieldValue("debug", data.debug); + form.setFieldValue("disabled", data.disabled); form.setFieldValue("path", data.path); def.args?.forEach((v) => { form.setFieldValue(`args.${v.name}`, data.args?.[v.name]); @@ -153,6 +154,7 @@ const NodeInspector: FC = () => { data.id = editingNode.data.id; data.name = values.name; data.debug = values.debug || undefined; + data.disabled = values.disabled || undefined; data.desc = values.desc || undefined; data.path = values.path || undefined; @@ -189,6 +191,7 @@ const NodeInspector: FC = () => { name: workspace.nodeDefs.get(newname)?.name ?? newname, desc: editingNode.data.desc, debug: editingNode.data.debug, + disabled: editingNode.data.disabled, }, editable: editingNode.editable, }); @@ -256,6 +259,9 @@ const NodeInspector: FC = () => { + + + { node1.name === node2.name && node1.desc === node2.desc && node1.path === node2.path && - node1.debug === node2.debug + node1.debug === node2.debug && + node1.disabled === node2.disabled ) { const def = useWorkspace.getState().getNodeDef(node1.name); @@ -142,6 +143,7 @@ export const checkNodeData = (data: NodeModel | null | undefined) => { export const copyFromNode = (data: TreeGraphData, node: NodeModel) => { data.name = node.name; data.debug = node.debug; + data.disabled = node.disabled; data.desc = node.desc; data.path = node.path; data.args = node.args; @@ -158,6 +160,7 @@ export const createNode = (data: TreeGraphData, includeChildren: boolean = true) desc: data.desc, path: data.path, debug: data.debug, + disabled: data.disabled, }; if (data.input) { node.input = []; @@ -280,6 +283,7 @@ export const createTreeData = (node: NodeModel, parent?: string) => { input: node.input, output: node.output, debug: node.debug, + disabled: node.disabled, def: workspace.getNodeDef(node.name), parent: parent, }; @@ -310,6 +314,7 @@ export const createTreeData = (node: NodeModel, parent?: string) => { treeData.lastModified = fs.statSync(subtreePath).mtimeMs; treeData.path = node.path; treeData.debug = node.debug; + treeData.disabled = node.disabled; treeData.parent = parent; treeData.id = node.id.toFixed(); treeData.size = calcTreeDataSize(treeData); @@ -346,6 +351,7 @@ export const createFileData = (data: TreeGraphData, includeSubtree?: boolean) => input: data.input || undefined, output: data.output || undefined, debug: data.debug || undefined, + disabled: data.disabled || undefined, path: data.path || undefined, }; if (data.children?.length && (includeSubtree || !isSubtreeRoot(data))) {