update dependencies
This commit is contained in:
1 parent
3de6903594
commit
d251c7914e
22 files changed
+3722
-395
No files matched your search
@@ -35,7 +35,6 @@ import {
|
||||
isNodeArgArray,
|
||||
isNodeArgOptional,
|
||||
isValidVariableName,
|
||||
nodeDefs,
|
||||
} from "../misc/b3util";
|
||||
import { Hotkey, isMacos } from "../misc/keys";
|
||||
import { mergeClassNames } from "../misc/util";
|
||||
@@ -121,7 +120,7 @@ const NodeInspector: FC = () => {
|
||||
// set form values
|
||||
useEffect(() => {
|
||||
const data = workspace.editingNode.data;
|
||||
const def = nodeDefs.get(workspace.editingNode.data.name);
|
||||
const def = workspace.nodeDefs.get(workspace.editingNode.data.name);
|
||||
form.resetFields();
|
||||
form.setFieldValue("id", data.id);
|
||||
form.setFieldValue("name", data.name);
|
||||
@@ -237,7 +236,7 @@ const NodeInspector: FC = () => {
|
||||
}, [workspace.allFiles, workspace.fileTree]);
|
||||
|
||||
const editingNode = workspace.editingNode;
|
||||
const def = nodeDefs.get(editingNode.data.name);
|
||||
const def = workspace.nodeDefs.get(editingNode.data.name);
|
||||
const disabled = !editingNode.editable;
|
||||
|
||||
// update value
|
||||
|
||||
+15
-13
@@ -12,7 +12,7 @@ import { useSetting } from "../contexts/setting-context";
|
||||
import { useWorkspace } from "../contexts/workspace-context";
|
||||
import * as b3util from "../misc/b3util";
|
||||
import i18n from "../misc/i18n";
|
||||
import { Hotkey, isMacos, sendInputEvent } from "../misc/keys";
|
||||
import { Hotkey, isMacos } from "../misc/keys";
|
||||
|
||||
const MenuItemLabel: FC<FlexProps> = (itemProps) => {
|
||||
return (
|
||||
@@ -175,9 +175,9 @@ export const Menu: FC<LayoutProps> = () => {
|
||||
id: "menu.edit.undo",
|
||||
label: t("undo"),
|
||||
enabled: enabled,
|
||||
accelerator: Hotkey.Undo,
|
||||
accelerator: Hotkey.Undo.replaceAll(".", "+"),
|
||||
click: () => {
|
||||
sendInputEvent(Hotkey.Undo);
|
||||
// sendInputEvent(Hotkey.Undo);
|
||||
getFocusedWebContents()?.undo();
|
||||
},
|
||||
},
|
||||
@@ -185,9 +185,9 @@ export const Menu: FC<LayoutProps> = () => {
|
||||
id: "menu.edit.redo",
|
||||
label: t("redo"),
|
||||
enabled: enabled,
|
||||
accelerator: Hotkey.Redo,
|
||||
accelerator: Hotkey.Redo.replaceAll(".", "+"),
|
||||
click: () => {
|
||||
sendInputEvent(Hotkey.Redo);
|
||||
// sendInputEvent(Hotkey.Redo);
|
||||
getFocusedWebContents()?.redo();
|
||||
},
|
||||
},
|
||||
@@ -196,9 +196,9 @@ export const Menu: FC<LayoutProps> = () => {
|
||||
id: "menu.edit.copy",
|
||||
label: t("copy"),
|
||||
enabled: enabled,
|
||||
accelerator: Hotkey.Copy,
|
||||
accelerator: Hotkey.Copy.replaceAll(".", "+"),
|
||||
click: () => {
|
||||
sendInputEvent(Hotkey.Copy);
|
||||
// sendInputEvent(Hotkey.Copy);
|
||||
getFocusedWebContents()?.copy();
|
||||
},
|
||||
},
|
||||
@@ -206,9 +206,9 @@ export const Menu: FC<LayoutProps> = () => {
|
||||
id: "menu.edit.paste",
|
||||
label: t("paste"),
|
||||
enabled: enabled,
|
||||
accelerator: Hotkey.Paste,
|
||||
accelerator: Hotkey.Paste.replaceAll(".", "+"),
|
||||
click: () => {
|
||||
sendInputEvent(Hotkey.Paste);
|
||||
// sendInputEvent(Hotkey.Paste);
|
||||
getFocusedWebContents()?.paste();
|
||||
},
|
||||
},
|
||||
@@ -216,7 +216,7 @@ export const Menu: FC<LayoutProps> = () => {
|
||||
id: "menu.edit.cut",
|
||||
label: t("cut"),
|
||||
enabled: enabled,
|
||||
accelerator: Hotkey.Cut,
|
||||
accelerator: Hotkey.Cut.replaceAll(".", "+"),
|
||||
click: () => {
|
||||
getFocusedWebContents()?.cut();
|
||||
},
|
||||
@@ -225,7 +225,7 @@ export const Menu: FC<LayoutProps> = () => {
|
||||
id: "menu.edit.selectAll",
|
||||
label: t("selectAll"),
|
||||
enabled: enabled,
|
||||
accelerator: Hotkey.SelectAll,
|
||||
accelerator: Hotkey.SelectAll.replaceAll(".", "+"),
|
||||
click: () => {
|
||||
getFocusedWebContents()?.selectAll();
|
||||
},
|
||||
@@ -235,16 +235,18 @@ export const Menu: FC<LayoutProps> = () => {
|
||||
id: "menu.edit.insertNode",
|
||||
label: t("insertNode"),
|
||||
enabled: enabled,
|
||||
accelerator: Hotkey.Enter.replaceAll(".", "+"),
|
||||
click: () => {
|
||||
workspace.editing?.dispatch("insert");
|
||||
// workspace.editing?.dispatch("insert");
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "menu.edit.deleteNode",
|
||||
label: t("deleteNode"),
|
||||
enabled: enabled,
|
||||
accelerator: Hotkey.Backspace.replaceAll(".", "+"),
|
||||
click: () => {
|
||||
workspace.editing?.dispatch("delete");
|
||||
// workspace.editing?.dispatch("delete");
|
||||
},
|
||||
},
|
||||
],
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import G6 from "@antv/g6";
|
||||
import { useWorkspace } from "../contexts/workspace-context";
|
||||
import { TreeGraphData, getNodeType } from "../misc/b3type";
|
||||
import { checkTreeData, nodeDefs, workdir } from "../misc/b3util";
|
||||
import { checkTreeData, getNodeDefs } from "../misc/b3util";
|
||||
import i18n from "../misc/i18n";
|
||||
import { isMacos } from "../misc/keys";
|
||||
|
||||
@@ -141,6 +142,7 @@ G6.registerNode(
|
||||
},
|
||||
draw(cfg, group) {
|
||||
const data = cfg as TreeGraphData;
|
||||
const nodeDefs = getNodeDefs();
|
||||
const nodeDef = nodeDefs.get(data.name);
|
||||
let classify = getNodeType(nodeDef);
|
||||
let color = nodeDef.color || NODE_COLORS[classify] || NODE_COLORS["Other"];
|
||||
@@ -257,7 +259,9 @@ G6.registerNode(
|
||||
});
|
||||
|
||||
// icon
|
||||
const img = nodeDef.icon ? `file:///${workdir}/${nodeDef.icon}` : `./icons/${classify}.svg`;
|
||||
const img = nodeDef.icon
|
||||
? `file:///${useWorkspace.getState().workdir}/${nodeDef.icon}`
|
||||
: `./icons/${classify}.svg`;
|
||||
addShape("image", {
|
||||
attrs: {
|
||||
x: 5,
|
||||
|
||||
@@ -155,7 +155,7 @@ export type WorkspaceStore = {
|
||||
loadTrees: () => void;
|
||||
|
||||
loadNodeDefs: () => void;
|
||||
nodeDefs: Map<string, NodeDef>;
|
||||
nodeDefs: b3util.NodeDefs;
|
||||
|
||||
// edit node
|
||||
editingNode?: EditNode | null;
|
||||
@@ -609,11 +609,11 @@ export const useWorkspace = create<WorkspaceStore>((set, get) => ({
|
||||
}
|
||||
},
|
||||
|
||||
nodeDefs: new Map(),
|
||||
nodeDefs: new b3util.NodeDefs(),
|
||||
loadNodeDefs: () => {
|
||||
const workspace = get();
|
||||
b3util.initWorkdir(workspace.workdir, message.error.bind(message));
|
||||
set({ nodeDefs: b3util.nodeDefs });
|
||||
set({ nodeDefs: b3util.getNodeDefs() });
|
||||
workspace.editing?.dispatch("refresh");
|
||||
},
|
||||
|
||||
|
||||
+12
-6
@@ -16,8 +16,15 @@ import {
|
||||
import Path from "./path";
|
||||
import { readJson } from "./util";
|
||||
|
||||
export let workdir: string = "";
|
||||
export class NodeDefs extends Map<string, NodeDef> {
|
||||
get(key: string): NodeDef {
|
||||
return super.get(key) ?? unknownNodeDef;
|
||||
}
|
||||
}
|
||||
|
||||
let workdir: string = "";
|
||||
let alertError: (msg: string, duration?: number) => void = () => {};
|
||||
let nodeDefs: NodeDefs = new NodeDefs();
|
||||
|
||||
const unknownNodeDef: NodeDef = {
|
||||
name: "unknown",
|
||||
@@ -25,16 +32,15 @@ const unknownNodeDef: NodeDef = {
|
||||
type: "Action",
|
||||
};
|
||||
|
||||
export const nodeDefs = new (class extends Map<string, NodeDef> {
|
||||
get(key: string): NodeDef {
|
||||
return super.get(key) ?? unknownNodeDef;
|
||||
}
|
||||
})();
|
||||
export const getNodeDefs = () => {
|
||||
return nodeDefs;
|
||||
};
|
||||
|
||||
export const initWorkdir = (path: string, handler: typeof alertError) => {
|
||||
workdir = path;
|
||||
alertError = handler;
|
||||
const nodeDefData = readJson(`${workdir}/node-config.b3-setting`) as NodeDef[];
|
||||
nodeDefs = new NodeDefs();
|
||||
for (const v of nodeDefData) {
|
||||
nodeDefs.set(v.name, v);
|
||||
}
|
||||
|
||||
Vendored
+5
@@ -1 +1,6 @@
|
||||
/// <reference types="vite/client" />
|
||||
|
||||
interface Window {
|
||||
// expose in the `electron/preload/index.ts`
|
||||
ipcRenderer: import("electron").IpcRenderer;
|
||||
}
|
||||
Reference in new issue
Block a user