@uipath/apollo-react 4.14.0 → 4.14.1-pr556.aa710a0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +9 -3
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +9 -3
- package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts +1 -0
- package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.cjs +11 -5
- package/dist/canvas/components/BaseNode/BaseNode.d.ts +2 -1
- package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.js +9 -6
- package/dist/canvas/components/BaseNode/BaseNode.types.d.ts +3 -0
- package/dist/canvas/components/BaseNode/BaseNode.types.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +222 -13
- package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts +10 -5
- package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandle.js +223 -14
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.cjs +10 -2
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts +2 -0
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.js +5 -3
- package/dist/canvas/components/ButtonHandle/HandleButton.cjs +17 -2
- package/dist/canvas/components/ButtonHandle/HandleButton.d.ts +10 -1
- package/dist/canvas/components/ButtonHandle/HandleButton.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/HandleButton.js +17 -2
- package/dist/canvas/components/ButtonHandle/useButtonHandles.cjs +4 -2
- package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts +2 -1
- package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/useButtonHandles.js +4 -2
- package/dist/canvas/components/Edges/SequenceEdge.cjs +8 -4
- package/dist/canvas/components/Edges/SequenceEdge.js +8 -4
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +34 -25
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts +8 -2
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +36 -27
- package/dist/canvas/components/HierarchicalCanvas/index.d.ts +1 -1
- package/dist/canvas/components/HierarchicalCanvas/index.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopCanvasNode.cjs +86 -0
- package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts +6 -0
- package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopCanvasNode.js +52 -0
- package/dist/canvas/components/LoopNode/LoopNode.cjs +434 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +81 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +13 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.js +14 -0
- package/dist/canvas/components/LoopNode/LoopNode.d.ts +5 -0
- package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +144 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +29 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.js +98 -0
- package/dist/canvas/components/LoopNode/LoopNode.js +400 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.cjs +18 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.d.ts +22 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.js +0 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +61 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts +9 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.js +27 -0
- package/dist/canvas/components/LoopNode/index.cjs +79 -0
- package/dist/canvas/components/LoopNode/index.d.ts +5 -0
- package/dist/canvas/components/LoopNode/index.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/index.js +4 -0
- package/dist/canvas/components/NodeViewportOverlay.cjs +63 -0
- package/dist/canvas/components/NodeViewportOverlay.d.ts +22 -0
- package/dist/canvas/components/NodeViewportOverlay.d.ts.map +1 -0
- package/dist/canvas/components/NodeViewportOverlay.js +29 -0
- package/dist/canvas/components/StageNode/StageNodeHeader.cjs +6 -1
- package/dist/canvas/components/StageNode/StageNodeHeader.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeHeader.js +6 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.cjs +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.js +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +25 -23
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +27 -25
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +10 -3
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts +1 -1
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +10 -3
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts +1 -0
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts.map +1 -1
- package/dist/canvas/components/index.cjs +27 -20
- package/dist/canvas/components/index.d.ts +1 -0
- package/dist/canvas/components/index.d.ts.map +1 -1
- package/dist/canvas/components/index.js +1 -0
- package/dist/canvas/constants.cjs +4 -0
- package/dist/canvas/constants.d.ts +1 -0
- package/dist/canvas/constants.d.ts.map +1 -1
- package/dist/canvas/constants.js +2 -1
- package/dist/canvas/core/NodeTypeRegistry.cjs +50 -26
- package/dist/canvas/core/NodeTypeRegistry.d.ts +10 -5
- package/dist/canvas/core/NodeTypeRegistry.d.ts.map +1 -1
- package/dist/canvas/core/NodeTypeRegistry.js +50 -26
- package/dist/canvas/core/useNodeTypeRegistry.cjs +13 -3
- package/dist/canvas/core/useNodeTypeRegistry.d.ts +2 -1
- package/dist/canvas/core/useNodeTypeRegistry.d.ts.map +1 -1
- package/dist/canvas/core/useNodeTypeRegistry.js +11 -4
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +22 -23
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +23 -24
- package/dist/canvas/hooks/usePreviewNode.cjs +7 -3
- package/dist/canvas/hooks/usePreviewNode.d.ts.map +1 -1
- package/dist/canvas/hooks/usePreviewNode.js +7 -3
- package/dist/canvas/locales/de.cjs +1 -1
- package/dist/canvas/locales/de.d.ts.map +1 -1
- package/dist/canvas/locales/de.js +1 -1
- package/dist/canvas/locales/es-MX.cjs +1 -1
- package/dist/canvas/locales/es-MX.d.ts.map +1 -1
- package/dist/canvas/locales/es-MX.js +1 -1
- package/dist/canvas/locales/es.cjs +1 -1
- package/dist/canvas/locales/es.d.ts.map +1 -1
- package/dist/canvas/locales/es.js +1 -1
- package/dist/canvas/locales/fr.cjs +1 -1
- package/dist/canvas/locales/fr.d.ts.map +1 -1
- package/dist/canvas/locales/fr.js +1 -1
- package/dist/canvas/locales/ja.cjs +1 -1
- package/dist/canvas/locales/ja.d.ts.map +1 -1
- package/dist/canvas/locales/ja.js +1 -1
- package/dist/canvas/locales/ko.cjs +1 -1
- package/dist/canvas/locales/ko.d.ts.map +1 -1
- package/dist/canvas/locales/ko.js +1 -1
- package/dist/canvas/locales/pt-BR.cjs +1 -1
- package/dist/canvas/locales/pt-BR.d.ts.map +1 -1
- package/dist/canvas/locales/pt-BR.js +1 -1
- package/dist/canvas/locales/pt.cjs +1 -1
- package/dist/canvas/locales/pt.d.ts.map +1 -1
- package/dist/canvas/locales/pt.js +1 -1
- package/dist/canvas/locales/tr.cjs +1 -1
- package/dist/canvas/locales/tr.d.ts.map +1 -1
- package/dist/canvas/locales/tr.js +1 -1
- package/dist/canvas/locales/zh-CN.cjs +1 -1
- package/dist/canvas/locales/zh-CN.d.ts.map +1 -1
- package/dist/canvas/locales/zh-CN.js +1 -1
- package/dist/canvas/locales/zh-TW.cjs +1 -1
- package/dist/canvas/locales/zh-TW.d.ts.map +1 -1
- package/dist/canvas/locales/zh-TW.js +1 -1
- package/dist/canvas/schema/node-definition/handle.cjs +10 -2
- package/dist/canvas/schema/node-definition/handle.d.ts +9 -0
- package/dist/canvas/schema/node-definition/handle.d.ts.map +1 -1
- package/dist/canvas/schema/node-definition/handle.js +6 -1
- package/dist/canvas/schema/node-definition/index.cjs +4 -1
- package/dist/canvas/schema/node-definition/index.d.ts +3 -3
- package/dist/canvas/schema/node-definition/index.d.ts.map +1 -1
- package/dist/canvas/schema/node-definition/index.js +2 -2
- package/dist/canvas/schema/node-definition/node-manifest.d.ts +4 -0
- package/dist/canvas/schema/node-definition/node-manifest.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts +6 -0
- package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/manifests/index.d.ts +1 -0
- package/dist/canvas/storybook-utils/manifests/index.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/mocks/nodes.d.ts +1 -1
- package/dist/canvas/storybook-utils/mocks/nodes.d.ts.map +1 -1
- package/dist/canvas/styles/reactflow-reset.css +2 -2
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- package/dist/canvas/utils/collapse.cjs +13 -6
- package/dist/canvas/utils/collapse.d.ts +2 -2
- package/dist/canvas/utils/collapse.d.ts.map +1 -1
- package/dist/canvas/utils/collapse.js +9 -2
- package/dist/canvas/utils/createPreviewGraph.cjs +126 -0
- package/dist/canvas/utils/createPreviewGraph.d.ts +36 -0
- package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -0
- package/dist/canvas/utils/createPreviewGraph.js +83 -0
- package/dist/canvas/utils/createPreviewNode.cjs +30 -11
- package/dist/canvas/utils/createPreviewNode.d.ts +10 -2
- package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
- package/dist/canvas/utils/createPreviewNode.js +21 -11
- package/dist/canvas/utils/index.cjs +33 -26
- package/dist/canvas/utils/index.d.ts +2 -1
- package/dist/canvas/utils/index.d.ts.map +1 -1
- package/dist/canvas/utils/index.js +2 -1
- package/dist/canvas/utils/manifest-resolver.cjs +8 -0
- package/dist/canvas/utils/manifest-resolver.d.ts +1 -0
- package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
- package/dist/canvas/utils/manifest-resolver.js +6 -1
- package/dist/material/components/ap-tool-call/locales/de.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/de.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/de.js +1 -1
- package/dist/material/components/ap-tool-call/locales/es-MX.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/es-MX.js +1 -1
- package/dist/material/components/ap-tool-call/locales/es.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/es.js +1 -1
- package/dist/material/components/ap-tool-call/locales/fr.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/fr.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/fr.js +1 -1
- package/dist/material/components/ap-tool-call/locales/ja.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/ja.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/ja.js +1 -1
- package/dist/material/components/ap-tool-call/locales/ko.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/ko.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/ko.js +1 -1
- package/dist/material/components/ap-tool-call/locales/pt-BR.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/pt-BR.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/pt-BR.js +1 -1
- package/dist/material/components/ap-tool-call/locales/pt.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/pt.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/pt.js +1 -1
- package/dist/material/components/ap-tool-call/locales/tr.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/tr.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/tr.js +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-CN.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-CN.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-CN.js +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-TW.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-TW.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-TW.js +1 -1
- package/package.json +2 -2
|
@@ -32,6 +32,7 @@ const react_namespaceObject = require("motion/react");
|
|
|
32
32
|
const external_react_namespaceObject = require("react");
|
|
33
33
|
const icon_registry_cjs_namespaceObject = require("../../../utils/icon-registry.cjs");
|
|
34
34
|
const external_CanvasTooltip_cjs_namespaceObject = require("../../CanvasTooltip.cjs");
|
|
35
|
+
const external_NodeViewportOverlay_cjs_namespaceObject = require("../../NodeViewportOverlay.cjs");
|
|
35
36
|
const index_cjs_namespaceObject = require("../shared/index.cjs");
|
|
36
37
|
const external_NodeToolbar_utils_cjs_namespaceObject = require("./NodeToolbar.utils.cjs");
|
|
37
38
|
const external_useToolbarState_cjs_namespaceObject = require("./useToolbarState.cjs");
|
|
@@ -58,11 +59,11 @@ const CONTAINER_DIRECTION_CLASS = {
|
|
|
58
59
|
const SEPARATOR_BASE_CLASS = 'flex-[0_0_auto] bg-(--canvas-background-overlay) self-center';
|
|
59
60
|
const SEPARATOR_VERTICAL_CLASS = 'w-px h-5';
|
|
60
61
|
const SEPARATOR_HORIZONTAL_CLASS = 'w-full h-px';
|
|
61
|
-
const DROPDOWN_MENU_CLASS = "absolute top-[-2px] left-[calc(100%+4px)] min-w-[180px] bg-(--canvas-background-raised) border border-(--canvas-background-overlay) rounded-md shadow-[0_4px_12px_rgba(0,0,0,0.08),0_2px_4px_rgba(0,0,0,0.04)] p-1
|
|
62
|
+
const DROPDOWN_MENU_CLASS = "absolute top-[-2px] left-[calc(100%+4px)] min-w-[180px] bg-(--canvas-background-raised) border border-(--canvas-background-overlay) rounded-md shadow-[0_4px_12px_rgba(0,0,0,0.08),0_2px_4px_rgba(0,0,0,0.04)] p-1 pointer-events-auto";
|
|
62
63
|
const DROPDOWN_ITEM_BASE_CLASS = "flex items-center gap-3 w-full py-2 px-3 bg-transparent border-none rounded-[4px] text-sm text-(--canvas-foreground) text-left [transition:background_0.15s_ease] enabled:hover:bg-(--canvas-background-hover) future:enabled:hover:bg-(--canvas-background-overlay) [&>svg]:shrink-0 [&>svg]:text-(--canvas-foreground)";
|
|
63
64
|
const DROPDOWN_ITEM_DISABLED_CLASS = 'cursor-not-allowed opacity-40 pointer-events-none';
|
|
64
65
|
const DROPDOWN_ITEM_ENABLED_CLASS = 'cursor-pointer opacity-100';
|
|
65
|
-
const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar })=>{
|
|
66
|
+
const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar, portalToNodeOverlay })=>{
|
|
66
67
|
const { isDropdownOpen, setIsDropdownOpen, dropdownRef, buttonRef, actionsToDisplay, displayState, shouldShowOverflow, overflowActionsToDisplay, separatorOrientation, toggleDropdown } = (0, external_useToolbarState_cjs_namespaceObject.useToolbarState)({
|
|
67
68
|
config,
|
|
68
69
|
expanded,
|
|
@@ -117,7 +118,7 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar
|
|
|
117
118
|
displayState
|
|
118
119
|
]);
|
|
119
120
|
if (0 === config.actions.length && (!config.overflowActions || 0 === config.overflowActions.length)) return null;
|
|
120
|
-
|
|
121
|
+
const toolbarContent = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.AnimatePresence, {
|
|
121
122
|
children: 'hidden' !== displayState && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
122
123
|
className: positionerClassName,
|
|
123
124
|
style: offsetStyle,
|
|
@@ -233,6 +234,12 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar
|
|
|
233
234
|
})
|
|
234
235
|
})
|
|
235
236
|
});
|
|
237
|
+
if (portalToNodeOverlay) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeViewportOverlay_cjs_namespaceObject.NodeViewportOverlay, {
|
|
238
|
+
nodeId: nodeId,
|
|
239
|
+
layer: "nodeToolbar",
|
|
240
|
+
children: toolbarContent
|
|
241
|
+
});
|
|
242
|
+
return toolbarContent;
|
|
236
243
|
};
|
|
237
244
|
const NodeToolbar = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(NodeToolbarComponent);
|
|
238
245
|
exports.NodeToolbar = __webpack_exports__.NodeToolbar;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { NodeToolbarProps } from './NodeToolbar.types';
|
|
2
|
-
export declare const NodeToolbar: import("react").MemoExoticComponent<({ nodeId, config, expanded, hidden, offsetToolbar, }: NodeToolbarProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
2
|
+
export declare const NodeToolbar: import("react").MemoExoticComponent<({ nodeId, config, expanded, hidden, offsetToolbar, portalToNodeOverlay, }: NodeToolbarProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
3
3
|
//# sourceMappingURL=NodeToolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/NodeToolbar/NodeToolbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/NodeToolbar/NodeToolbar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAyP5D,eAAO,MAAM,WAAW,kHA1LrB,gBAAgB,oDA0LkC,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { AnimatePresence, motion } from "motion/react";
|
|
|
4
4
|
import { memo, useMemo } from "react";
|
|
5
5
|
import { CanvasIcon } from "../../../utils/icon-registry.js";
|
|
6
6
|
import { CanvasTooltip } from "../../CanvasTooltip.js";
|
|
7
|
+
import { NodeViewportOverlay } from "../../NodeViewportOverlay.js";
|
|
7
8
|
import { ToolbarButton, ToolbarIconButton } from "../shared/index.js";
|
|
8
9
|
import { isSeparator } from "./NodeToolbar.utils.js";
|
|
9
10
|
import { useToolbarState } from "./useToolbarState.js";
|
|
@@ -30,11 +31,11 @@ const CONTAINER_DIRECTION_CLASS = {
|
|
|
30
31
|
const SEPARATOR_BASE_CLASS = 'flex-[0_0_auto] bg-(--canvas-background-overlay) self-center';
|
|
31
32
|
const SEPARATOR_VERTICAL_CLASS = 'w-px h-5';
|
|
32
33
|
const SEPARATOR_HORIZONTAL_CLASS = 'w-full h-px';
|
|
33
|
-
const DROPDOWN_MENU_CLASS = "absolute top-[-2px] left-[calc(100%+4px)] min-w-[180px] bg-(--canvas-background-raised) border border-(--canvas-background-overlay) rounded-md shadow-[0_4px_12px_rgba(0,0,0,0.08),0_2px_4px_rgba(0,0,0,0.04)] p-1
|
|
34
|
+
const DROPDOWN_MENU_CLASS = "absolute top-[-2px] left-[calc(100%+4px)] min-w-[180px] bg-(--canvas-background-raised) border border-(--canvas-background-overlay) rounded-md shadow-[0_4px_12px_rgba(0,0,0,0.08),0_2px_4px_rgba(0,0,0,0.04)] p-1 pointer-events-auto";
|
|
34
35
|
const DROPDOWN_ITEM_BASE_CLASS = "flex items-center gap-3 w-full py-2 px-3 bg-transparent border-none rounded-[4px] text-sm text-(--canvas-foreground) text-left [transition:background_0.15s_ease] enabled:hover:bg-(--canvas-background-hover) future:enabled:hover:bg-(--canvas-background-overlay) [&>svg]:shrink-0 [&>svg]:text-(--canvas-foreground)";
|
|
35
36
|
const DROPDOWN_ITEM_DISABLED_CLASS = 'cursor-not-allowed opacity-40 pointer-events-none';
|
|
36
37
|
const DROPDOWN_ITEM_ENABLED_CLASS = 'cursor-pointer opacity-100';
|
|
37
|
-
const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar })=>{
|
|
38
|
+
const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar, portalToNodeOverlay })=>{
|
|
38
39
|
const { isDropdownOpen, setIsDropdownOpen, dropdownRef, buttonRef, actionsToDisplay, displayState, shouldShowOverflow, overflowActionsToDisplay, separatorOrientation, toggleDropdown } = useToolbarState({
|
|
39
40
|
config,
|
|
40
41
|
expanded,
|
|
@@ -89,7 +90,7 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar
|
|
|
89
90
|
displayState
|
|
90
91
|
]);
|
|
91
92
|
if (0 === config.actions.length && (!config.overflowActions || 0 === config.overflowActions.length)) return null;
|
|
92
|
-
|
|
93
|
+
const toolbarContent = /*#__PURE__*/ jsx(AnimatePresence, {
|
|
93
94
|
children: 'hidden' !== displayState && /*#__PURE__*/ jsx("div", {
|
|
94
95
|
className: positionerClassName,
|
|
95
96
|
style: offsetStyle,
|
|
@@ -205,6 +206,12 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar
|
|
|
205
206
|
})
|
|
206
207
|
})
|
|
207
208
|
});
|
|
209
|
+
if (portalToNodeOverlay) return /*#__PURE__*/ jsx(NodeViewportOverlay, {
|
|
210
|
+
nodeId: nodeId,
|
|
211
|
+
layer: "nodeToolbar",
|
|
212
|
+
children: toolbarContent
|
|
213
|
+
});
|
|
214
|
+
return toolbarContent;
|
|
208
215
|
};
|
|
209
216
|
const NodeToolbar = /*#__PURE__*/ memo(NodeToolbarComponent);
|
|
210
217
|
export { NodeToolbar };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeToolbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAElB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,aAAa,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeToolbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAElB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B"}
|
|
@@ -36,6 +36,9 @@ var __webpack_modules__ = {
|
|
|
36
36
|
"./HierarchicalCanvas" (module) {
|
|
37
37
|
module.exports = require("./HierarchicalCanvas/index.cjs");
|
|
38
38
|
},
|
|
39
|
+
"./LoopNode?4ffc" (module) {
|
|
40
|
+
module.exports = require("./LoopNode/index.cjs");
|
|
41
|
+
},
|
|
39
42
|
"./MiniCanvasNavigator?564d" (module) {
|
|
40
43
|
module.exports = require("./MiniCanvasNavigator/index.cjs");
|
|
41
44
|
},
|
|
@@ -158,45 +161,49 @@ var __webpack_exports__ = {};
|
|
|
158
161
|
var __rspack_reexport = {};
|
|
159
162
|
for(const __rspack_import_key in _HierarchicalCanvas__rspack_import_11)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_HierarchicalCanvas__rspack_import_11[__rspack_import_key];
|
|
160
163
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
161
|
-
var
|
|
164
|
+
var _LoopNode__rspack_import_12 = __webpack_require__("./LoopNode?4ffc");
|
|
165
|
+
var __rspack_reexport = {};
|
|
166
|
+
for(const __rspack_import_key in _LoopNode__rspack_import_12)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_LoopNode__rspack_import_12[__rspack_import_key];
|
|
167
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
168
|
+
var _MiniCanvasNavigator__rspack_import_13 = __webpack_require__("./MiniCanvasNavigator?564d");
|
|
162
169
|
var __rspack_reexport = {};
|
|
163
|
-
for(const __rspack_import_key in
|
|
170
|
+
for(const __rspack_import_key in _MiniCanvasNavigator__rspack_import_13)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_MiniCanvasNavigator__rspack_import_13[__rspack_import_key];
|
|
164
171
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
165
|
-
var
|
|
172
|
+
var _NodeContextMenu__rspack_import_14 = __webpack_require__("./NodeContextMenu");
|
|
166
173
|
var __rspack_reexport = {};
|
|
167
|
-
for(const __rspack_import_key in
|
|
174
|
+
for(const __rspack_import_key in _NodeContextMenu__rspack_import_14)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_NodeContextMenu__rspack_import_14[__rspack_import_key];
|
|
168
175
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
169
|
-
var
|
|
176
|
+
var _NodeInspector__rspack_import_15 = __webpack_require__("./NodeInspector");
|
|
170
177
|
var __rspack_reexport = {};
|
|
171
|
-
for(const __rspack_import_key in
|
|
178
|
+
for(const __rspack_import_key in _NodeInspector__rspack_import_15)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_NodeInspector__rspack_import_15[__rspack_import_key];
|
|
172
179
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
173
|
-
var
|
|
180
|
+
var _NodePropertiesPanel__rspack_import_16 = __webpack_require__("./NodePropertiesPanel?a3e8");
|
|
174
181
|
var __rspack_reexport = {};
|
|
175
|
-
for(const __rspack_import_key in
|
|
182
|
+
for(const __rspack_import_key in _NodePropertiesPanel__rspack_import_16)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_NodePropertiesPanel__rspack_import_16[__rspack_import_key];
|
|
176
183
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
177
|
-
var
|
|
184
|
+
var _StageNode__rspack_import_17 = __webpack_require__("./StageNode");
|
|
178
185
|
var __rspack_reexport = {};
|
|
179
|
-
for(const __rspack_import_key in
|
|
186
|
+
for(const __rspack_import_key in _StageNode__rspack_import_17)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_StageNode__rspack_import_17[__rspack_import_key];
|
|
180
187
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
181
|
-
var
|
|
188
|
+
var _StickyNoteNode__rspack_import_18 = __webpack_require__("./StickyNoteNode?d2a3");
|
|
182
189
|
var __rspack_reexport = {};
|
|
183
|
-
for(const __rspack_import_key in
|
|
190
|
+
for(const __rspack_import_key in _StickyNoteNode__rspack_import_18)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_StickyNoteNode__rspack_import_18[__rspack_import_key];
|
|
184
191
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
185
|
-
var
|
|
192
|
+
var _TaskIcon__rspack_import_19 = __webpack_require__("./TaskIcon");
|
|
186
193
|
var __rspack_reexport = {};
|
|
187
|
-
for(const __rspack_import_key in
|
|
194
|
+
for(const __rspack_import_key in _TaskIcon__rspack_import_19)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_TaskIcon__rspack_import_19[__rspack_import_key];
|
|
188
195
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
189
|
-
var
|
|
196
|
+
var _Toolbar__rspack_import_20 = __webpack_require__("./Toolbar");
|
|
190
197
|
var __rspack_reexport = {};
|
|
191
|
-
for(const __rspack_import_key in
|
|
198
|
+
for(const __rspack_import_key in _Toolbar__rspack_import_20)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_Toolbar__rspack_import_20[__rspack_import_key];
|
|
192
199
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
193
|
-
var
|
|
200
|
+
var _Toolbox__rspack_import_21 = __webpack_require__("./Toolbox?2740");
|
|
194
201
|
var __rspack_reexport = {};
|
|
195
|
-
for(const __rspack_import_key in
|
|
202
|
+
for(const __rspack_import_key in _Toolbox__rspack_import_21)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_Toolbox__rspack_import_21[__rspack_import_key];
|
|
196
203
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
197
|
-
var
|
|
204
|
+
var _TriggerNode__rspack_import_22 = __webpack_require__("./TriggerNode");
|
|
198
205
|
var __rspack_reexport = {};
|
|
199
|
-
for(const __rspack_import_key in
|
|
206
|
+
for(const __rspack_import_key in _TriggerNode__rspack_import_22)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_TriggerNode__rspack_import_22[__rspack_import_key];
|
|
200
207
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
201
208
|
})();
|
|
202
209
|
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
@@ -10,6 +10,7 @@ export * from './ExecutionStatusIcon';
|
|
|
10
10
|
export * from './FloatingCanvasPanel';
|
|
11
11
|
export * from './GroupNode';
|
|
12
12
|
export * from './HierarchicalCanvas';
|
|
13
|
+
export * from './LoopNode';
|
|
13
14
|
export * from './MiniCanvasNavigator';
|
|
14
15
|
export * from './NodeContextMenu';
|
|
15
16
|
export * from './NodeInspector';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC"}
|
|
@@ -10,6 +10,7 @@ export * from "./ExecutionStatusIcon/index.js";
|
|
|
10
10
|
export * from "./FloatingCanvasPanel/index.js";
|
|
11
11
|
export * from "./GroupNode/index.js";
|
|
12
12
|
export * from "./HierarchicalCanvas/index.js";
|
|
13
|
+
export * from "./LoopNode/index.js";
|
|
13
14
|
export * from "./MiniCanvasNavigator/index.js";
|
|
14
15
|
export * from "./NodeContextMenu/index.js";
|
|
15
16
|
export * from "./NodeInspector.js";
|
|
@@ -27,6 +27,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
27
27
|
CANVAS_COMPACT_BREAKPOINT: ()=>CANVAS_COMPACT_BREAKPOINT,
|
|
28
28
|
DEFAULT_NODE_SIZE: ()=>DEFAULT_NODE_SIZE,
|
|
29
29
|
DEFAULT_RECTANGLE_NODE_WIDTH: ()=>DEFAULT_RECTANGLE_NODE_WIDTH,
|
|
30
|
+
DEFAULT_SOURCE_HANDLE_ID: ()=>DEFAULT_SOURCE_HANDLE_ID,
|
|
30
31
|
FLOATING_CANVAS_PANEL_OFFSET: ()=>FLOATING_CANVAS_PANEL_OFFSET,
|
|
31
32
|
GRID_SPACING: ()=>GRID_SPACING,
|
|
32
33
|
NODE_BADGE_INSET_CIRCLE: ()=>NODE_BADGE_INSET_CIRCLE,
|
|
@@ -54,6 +55,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
54
55
|
});
|
|
55
56
|
const PREVIEW_NODE_ID = 'preview-node-id';
|
|
56
57
|
const PREVIEW_EDGE_ID = 'preview-edge-id';
|
|
58
|
+
const DEFAULT_SOURCE_HANDLE_ID = 'output';
|
|
57
59
|
const DEFAULT_NODE_SIZE = 96;
|
|
58
60
|
const GRID_SPACING = 16;
|
|
59
61
|
const CANVAS_COMPACT_BREAKPOINT = 600;
|
|
@@ -82,6 +84,7 @@ const NODE_BADGE_INSET_CIRCLE = 12;
|
|
|
82
84
|
exports.CANVAS_COMPACT_BREAKPOINT = __webpack_exports__.CANVAS_COMPACT_BREAKPOINT;
|
|
83
85
|
exports.DEFAULT_NODE_SIZE = __webpack_exports__.DEFAULT_NODE_SIZE;
|
|
84
86
|
exports.DEFAULT_RECTANGLE_NODE_WIDTH = __webpack_exports__.DEFAULT_RECTANGLE_NODE_WIDTH;
|
|
87
|
+
exports.DEFAULT_SOURCE_HANDLE_ID = __webpack_exports__.DEFAULT_SOURCE_HANDLE_ID;
|
|
85
88
|
exports.FLOATING_CANVAS_PANEL_OFFSET = __webpack_exports__.FLOATING_CANVAS_PANEL_OFFSET;
|
|
86
89
|
exports.GRID_SPACING = __webpack_exports__.GRID_SPACING;
|
|
87
90
|
exports.NODE_BADGE_INSET_CIRCLE = __webpack_exports__.NODE_BADGE_INSET_CIRCLE;
|
|
@@ -110,6 +113,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
110
113
|
"CANVAS_COMPACT_BREAKPOINT",
|
|
111
114
|
"DEFAULT_NODE_SIZE",
|
|
112
115
|
"DEFAULT_RECTANGLE_NODE_WIDTH",
|
|
116
|
+
"DEFAULT_SOURCE_HANDLE_ID",
|
|
113
117
|
"FLOATING_CANVAS_PANEL_OFFSET",
|
|
114
118
|
"GRID_SPACING",
|
|
115
119
|
"NODE_BADGE_INSET_CIRCLE",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const PREVIEW_NODE_ID = "preview-node-id";
|
|
2
2
|
export declare const PREVIEW_EDGE_ID = "preview-edge-id";
|
|
3
|
+
export declare const DEFAULT_SOURCE_HANDLE_ID = "output";
|
|
3
4
|
export declare const DEFAULT_NODE_SIZE = 96;
|
|
4
5
|
export declare const GRID_SPACING = 16;
|
|
5
6
|
export declare const CANVAS_COMPACT_BREAKPOINT = 600;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/canvas/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,YAAY,KAAK,CAAC;AAG/B,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAG7C,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,WAAW,KAAK,CAAC;AAU9B,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAG/C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAGhD,eAAO,MAAM,mBAAmB,QAAmB,CAAC;AACpD,eAAO,MAAM,yBAAyB,QAAmB,CAAC;AAC1D,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAC3D,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAO3D,eAAO,MAAM,2BAA2B,QAAyB,CAAC;AAClE,eAAO,MAAM,sBAAsB,QAAyB,CAAC;AAC7D,eAAO,MAAM,qBAAqB,QAAyB,CAAC;AAC5D,eAAO,MAAM,uBAAuB,QAAyB,CAAC;AAC9D,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAGlC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,oCAAoC,MAAM,CAAC;AAGxD,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,uBAAuB,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/canvas/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,wBAAwB,WAAW,CAAC;AACjD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,YAAY,KAAK,CAAC;AAG/B,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAG7C,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,WAAW,KAAK,CAAC;AAU9B,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAG/C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAGhD,eAAO,MAAM,mBAAmB,QAAmB,CAAC;AACpD,eAAO,MAAM,yBAAyB,QAAmB,CAAC;AAC1D,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAC3D,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAO3D,eAAO,MAAM,2BAA2B,QAAyB,CAAC;AAClE,eAAO,MAAM,sBAAsB,QAAyB,CAAC;AAC7D,eAAO,MAAM,qBAAqB,QAAyB,CAAC;AAC5D,eAAO,MAAM,uBAAuB,QAAyB,CAAC;AAC9D,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAGlC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,oCAAoC,MAAM,CAAC;AAGxD,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,uBAAuB,KAAK,CAAC"}
|
package/dist/canvas/constants.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const PREVIEW_NODE_ID = 'preview-node-id';
|
|
2
2
|
const PREVIEW_EDGE_ID = 'preview-edge-id';
|
|
3
|
+
const DEFAULT_SOURCE_HANDLE_ID = 'output';
|
|
3
4
|
const DEFAULT_NODE_SIZE = 96;
|
|
4
5
|
const GRID_SPACING = 16;
|
|
5
6
|
const CANVAS_COMPACT_BREAKPOINT = 600;
|
|
@@ -25,4 +26,4 @@ const NODE_TEXT_BOTTOM_OFFSET_WITH_HANDLES = -40;
|
|
|
25
26
|
const NODE_BADGE_SIZE = 20;
|
|
26
27
|
const NODE_BADGE_INSET_SQUARE = 6;
|
|
27
28
|
const NODE_BADGE_INSET_CIRCLE = 12;
|
|
28
|
-
export { CANVAS_COMPACT_BREAKPOINT, DEFAULT_NODE_SIZE, DEFAULT_RECTANGLE_NODE_WIDTH, FLOATING_CANVAS_PANEL_OFFSET, GRID_SPACING, NODE_BADGE_INSET_CIRCLE, NODE_BADGE_INSET_SQUARE, NODE_BADGE_SIZE, NODE_BORDER_SIZE, NODE_CONTAINER_RADIUS_RATIO, NODE_ERROR_ICON_SIZE, NODE_HEIGHT_DEFAULT, NODE_HEIGHT_FOOTER_BUTTON, NODE_HEIGHT_FOOTER_DOUBLE, NODE_HEIGHT_FOOTER_SINGLE, NODE_INNER_ICON_RATIO, NODE_INNER_RADIUS_RATIO, NODE_INNER_SHAPE_RATIO, NODE_TEXT_BOTTOM_OFFSET, NODE_TEXT_BOTTOM_OFFSET_WITH_HANDLES, PREVIEW_EDGE_ID, PREVIEW_NODE_ID, TOOLBOX_GAP, TOOLBOX_HEIGHT, TOOLBOX_PADDING_X, TOOLBOX_PADDING_Y, TOOLBOX_WIDTH };
|
|
29
|
+
export { CANVAS_COMPACT_BREAKPOINT, DEFAULT_NODE_SIZE, DEFAULT_RECTANGLE_NODE_WIDTH, DEFAULT_SOURCE_HANDLE_ID, FLOATING_CANVAS_PANEL_OFFSET, GRID_SPACING, NODE_BADGE_INSET_CIRCLE, NODE_BADGE_INSET_SQUARE, NODE_BADGE_SIZE, NODE_BORDER_SIZE, NODE_CONTAINER_RADIUS_RATIO, NODE_ERROR_ICON_SIZE, NODE_HEIGHT_DEFAULT, NODE_HEIGHT_FOOTER_BUTTON, NODE_HEIGHT_FOOTER_DOUBLE, NODE_HEIGHT_FOOTER_SINGLE, NODE_INNER_ICON_RATIO, NODE_INNER_RADIUS_RATIO, NODE_INNER_SHAPE_RATIO, NODE_TEXT_BOTTOM_OFFSET, NODE_TEXT_BOTTOM_OFFSET_WITH_HANDLES, PREVIEW_EDGE_ID, PREVIEW_NODE_ID, TOOLBOX_GAP, TOOLBOX_HEIGHT, TOOLBOX_PADDING_X, TOOLBOX_PADDING_Y, TOOLBOX_WIDTH };
|
|
@@ -32,12 +32,32 @@ const external_CategoryTreeAdapter_cjs_namespaceObject = require("./CategoryTree
|
|
|
32
32
|
class NodeTypeRegistry {
|
|
33
33
|
categoryById = new Map();
|
|
34
34
|
nodeByType = new Map();
|
|
35
|
-
|
|
35
|
+
nodeByTypeVersion = new Map();
|
|
36
|
+
nodeHandlesByTypeVersion = new Map();
|
|
36
37
|
categoriesByParent = new Map();
|
|
37
38
|
nodesByCategory = new Map();
|
|
38
39
|
categoryAncestors = new Map();
|
|
39
40
|
categoryDescendants = new Map();
|
|
40
41
|
categoryTree = null;
|
|
42
|
+
getNodeHandles(manifest) {
|
|
43
|
+
if (!manifest) return {};
|
|
44
|
+
const manifestKey = this.getTypeVersionKey(manifest.nodeType, manifest.version);
|
|
45
|
+
const cachedHandles = this.nodeHandlesByTypeVersion.get(manifestKey);
|
|
46
|
+
if (cachedHandles) return cachedHandles;
|
|
47
|
+
return this.computeNodeHandles(manifest);
|
|
48
|
+
}
|
|
49
|
+
computeNodeHandles(manifest) {
|
|
50
|
+
const handlesByType = {};
|
|
51
|
+
for (const group of manifest.handleConfiguration)for (const handle of group.handles){
|
|
52
|
+
const handles = handlesByType[handle.type] ?? [];
|
|
53
|
+
handles.push(handle);
|
|
54
|
+
handlesByType[handle.type] = handles;
|
|
55
|
+
}
|
|
56
|
+
return handlesByType;
|
|
57
|
+
}
|
|
58
|
+
getTypeVersionKey(nodeType, version) {
|
|
59
|
+
return `${nodeType}:${version}`;
|
|
60
|
+
}
|
|
41
61
|
registerNodeManifests(nodes) {
|
|
42
62
|
const categoryMap = new Map();
|
|
43
63
|
for (const node of nodes){
|
|
@@ -59,18 +79,16 @@ class NodeTypeRegistry {
|
|
|
59
79
|
c.id,
|
|
60
80
|
c
|
|
61
81
|
]));
|
|
62
|
-
this.nodeByType = new Map(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}, {})
|
|
73
|
-
]));
|
|
82
|
+
this.nodeByType = new Map();
|
|
83
|
+
this.nodeByTypeVersion = new Map();
|
|
84
|
+
this.nodeHandlesByTypeVersion = new Map();
|
|
85
|
+
for (const nodeManifest of nodeManifests){
|
|
86
|
+
const manifestKey = this.getTypeVersionKey(nodeManifest.nodeType, nodeManifest.version);
|
|
87
|
+
this.nodeByTypeVersion.set(manifestKey, nodeManifest);
|
|
88
|
+
this.nodeHandlesByTypeVersion.set(manifestKey, this.computeNodeHandles(nodeManifest));
|
|
89
|
+
this.nodeByType.set(nodeManifest.nodeType, nodeManifest);
|
|
90
|
+
}
|
|
91
|
+
const defaultNodeManifests = Array.from(this.nodeByType.values());
|
|
74
92
|
this.categoriesByParent = new Map();
|
|
75
93
|
for (const cat of categoryManifests){
|
|
76
94
|
const siblings = this.categoriesByParent.get(cat.parentId) ?? [];
|
|
@@ -104,18 +122,22 @@ class NodeTypeRegistry {
|
|
|
104
122
|
this.categoryDescendants.set(cat.id, descendants);
|
|
105
123
|
}
|
|
106
124
|
this.nodesByCategory = new Map();
|
|
107
|
-
for (const node of
|
|
125
|
+
for (const node of defaultNodeManifests){
|
|
108
126
|
const categoryKey = node.category ?? void 0;
|
|
109
127
|
const nodes = this.nodesByCategory.get(categoryKey) ?? [];
|
|
110
128
|
nodes.push(node);
|
|
111
129
|
this.nodesByCategory.set(categoryKey, nodes);
|
|
112
130
|
}
|
|
113
|
-
this.categoryTree = new external_CategoryTree_cjs_namespaceObject.CategoryTree(categoryManifests,
|
|
131
|
+
this.categoryTree = new external_CategoryTree_cjs_namespaceObject.CategoryTree(categoryManifests, defaultNodeManifests);
|
|
114
132
|
}
|
|
115
|
-
getManifest(nodeType) {
|
|
116
|
-
return this.nodeByType.get(nodeType);
|
|
133
|
+
getManifest(nodeType, version) {
|
|
134
|
+
if (!version) return this.nodeByType.get(nodeType);
|
|
135
|
+
return this.nodeByTypeVersion.get(this.getTypeVersionKey(nodeType, version));
|
|
117
136
|
}
|
|
118
137
|
getAllManifests() {
|
|
138
|
+
return Array.from(this.nodeByTypeVersion.values());
|
|
139
|
+
}
|
|
140
|
+
getDefaultManifests() {
|
|
119
141
|
return Array.from(this.nodeByType.values());
|
|
120
142
|
}
|
|
121
143
|
getAllCategories() {
|
|
@@ -124,18 +146,19 @@ class NodeTypeRegistry {
|
|
|
124
146
|
getAllNodeTypes() {
|
|
125
147
|
return Array.from(this.nodeByType.keys());
|
|
126
148
|
}
|
|
127
|
-
getHandlesByNodeType(nodeType) {
|
|
128
|
-
|
|
149
|
+
getHandlesByNodeType(nodeType, version) {
|
|
150
|
+
const manifest = this.getManifest(nodeType, version);
|
|
151
|
+
return this.getNodeHandles(manifest);
|
|
129
152
|
}
|
|
130
|
-
getDefaultHandle(nodeType, handleType) {
|
|
131
|
-
const handles = this.
|
|
153
|
+
getDefaultHandle(nodeType, handleType, version) {
|
|
154
|
+
const handles = this.getHandlesByNodeType(nodeType, version)[handleType];
|
|
132
155
|
return handles?.find((h)=>h.isDefaultForType) ?? handles?.[0];
|
|
133
156
|
}
|
|
134
|
-
createDefaultData(nodeType, label) {
|
|
135
|
-
const manifest = this.getManifest(nodeType);
|
|
157
|
+
createDefaultData(nodeType, label, typeVersion) {
|
|
158
|
+
const manifest = this.getManifest(nodeType, typeVersion);
|
|
136
159
|
if (!manifest) return {
|
|
137
160
|
nodeType,
|
|
138
|
-
|
|
161
|
+
typeVersion: typeVersion ?? '1.0.0',
|
|
139
162
|
display: {
|
|
140
163
|
label: label || nodeType
|
|
141
164
|
}
|
|
@@ -151,7 +174,7 @@ class NodeTypeRegistry {
|
|
|
151
174
|
};
|
|
152
175
|
return {
|
|
153
176
|
nodeType,
|
|
154
|
-
|
|
177
|
+
typeVersion: manifest.version,
|
|
155
178
|
parameters: manifest.defaultProperties ?? {},
|
|
156
179
|
display: display
|
|
157
180
|
};
|
|
@@ -161,8 +184,9 @@ class NodeTypeRegistry {
|
|
|
161
184
|
}
|
|
162
185
|
clear() {
|
|
163
186
|
this.nodesByCategory.clear();
|
|
164
|
-
this.nodeHandles.clear();
|
|
165
187
|
this.nodeByType.clear();
|
|
188
|
+
this.nodeByTypeVersion.clear();
|
|
189
|
+
this.nodeHandlesByTypeVersion.clear();
|
|
166
190
|
this.categoryById.clear();
|
|
167
191
|
this.categoryAncestors.clear();
|
|
168
192
|
this.categoryDescendants.clear();
|
|
@@ -9,21 +9,26 @@ interface NodeHandles {
|
|
|
9
9
|
export declare class NodeTypeRegistry {
|
|
10
10
|
private categoryById;
|
|
11
11
|
private nodeByType;
|
|
12
|
-
private
|
|
12
|
+
private nodeByTypeVersion;
|
|
13
|
+
private nodeHandlesByTypeVersion;
|
|
13
14
|
private categoriesByParent;
|
|
14
15
|
private nodesByCategory;
|
|
15
16
|
private categoryAncestors;
|
|
16
17
|
private categoryDescendants;
|
|
17
18
|
private categoryTree;
|
|
19
|
+
private getNodeHandles;
|
|
20
|
+
private computeNodeHandles;
|
|
21
|
+
private getTypeVersionKey;
|
|
18
22
|
registerNodeManifests(nodes: NodeManifest[]): void;
|
|
19
23
|
registerManifest(nodeManifests: NodeManifest[], categoryManifests: CategoryManifest[]): void;
|
|
20
|
-
getManifest(nodeType: string): NodeManifest | undefined;
|
|
24
|
+
getManifest(nodeType: string, version?: string): NodeManifest | undefined;
|
|
21
25
|
getAllManifests(): NodeManifest[];
|
|
26
|
+
getDefaultManifests(): NodeManifest[];
|
|
22
27
|
getAllCategories(): string[];
|
|
23
28
|
getAllNodeTypes(): string[];
|
|
24
|
-
getHandlesByNodeType(nodeType: string): NodeHandles;
|
|
25
|
-
getDefaultHandle(nodeType: string, handleType: 'source' | 'target'): HandleManifest | undefined;
|
|
26
|
-
createDefaultData(nodeType: string, label?: string): BaseNodeData;
|
|
29
|
+
getHandlesByNodeType(nodeType: string, version?: string): NodeHandles;
|
|
30
|
+
getDefaultHandle(nodeType: string, handleType: 'source' | 'target', version?: string): HandleManifest | undefined;
|
|
31
|
+
createDefaultData(nodeType: string, label?: string, typeVersion?: string): BaseNodeData;
|
|
27
32
|
getCategoryTree(): CategoryTree | null;
|
|
28
33
|
clear(): void;
|
|
29
34
|
isValidCategoryForConnection(categoryId: string, previewNodeConnectionInfo: PreviewNodeConnectionInfo[] | null | undefined): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeTypeRegistry.d.ts","sourceRoot":"","sources":["../../../src/canvas/core/NodeTypeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAMhG,OAAO,EAAE,YAAY,EAA4B,MAAM,gBAAgB,CAAC;AAGxE,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAMD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"NodeTypeRegistry.d.ts","sourceRoot":"","sources":["../../../src/canvas/core/NodeTypeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAMhG,OAAO,EAAE,YAAY,EAA4B,MAAM,gBAAgB,CAAC;AAGxE,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAMD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,wBAAwB,CAAkC;IAClE,OAAO,CAAC,kBAAkB,CAAqD;IAC/E,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB;IAYzB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE;IA8B3C,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE;IAyErF,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAWzE,eAAe,IAAI,YAAY,EAAE;IAQjC,mBAAmB,IAAI,YAAY,EAAE;IAQrC,gBAAgB,IAAI,MAAM,EAAE;IAQ5B,eAAe,IAAI,MAAM,EAAE;IAO3B,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW;IAQrE,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,QAAQ,GAAG,QAAQ,EAC/B,OAAO,CAAC,EAAE,MAAM,GACf,cAAc,GAAG,SAAS;IAW7B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY;IAqCvF,eAAe,IAAI,YAAY,GAAG,IAAI;IAOtC,KAAK,IAAI,IAAI;IAyBb,4BAA4B,CAC1B,UAAU,EAAE,MAAM,EAClB,yBAAyB,EAAE,yBAAyB,EAAE,GAAG,IAAI,GAAG,SAAS,GACxE,OAAO;IA6CV,wBAAwB,CACtB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,yBAAyB,EAAE,GAAG,IAAI,GAAG,SAAS;IAgE3E,OAAO,CAAC,yBAAyB;IAqCjC,cAAc,CAAC,OAAO,EAAE;QACtB,WAAW,CAAC,EAAE,yBAAyB,EAAE,GAAG,IAAI,CAAC;QACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,GAAG,QAAQ,EAAE;CAyCf"}
|
|
@@ -4,12 +4,32 @@ import { CategoryTreeAdapter } from "./CategoryTreeAdapter.js";
|
|
|
4
4
|
class NodeTypeRegistry {
|
|
5
5
|
categoryById = new Map();
|
|
6
6
|
nodeByType = new Map();
|
|
7
|
-
|
|
7
|
+
nodeByTypeVersion = new Map();
|
|
8
|
+
nodeHandlesByTypeVersion = new Map();
|
|
8
9
|
categoriesByParent = new Map();
|
|
9
10
|
nodesByCategory = new Map();
|
|
10
11
|
categoryAncestors = new Map();
|
|
11
12
|
categoryDescendants = new Map();
|
|
12
13
|
categoryTree = null;
|
|
14
|
+
getNodeHandles(manifest) {
|
|
15
|
+
if (!manifest) return {};
|
|
16
|
+
const manifestKey = this.getTypeVersionKey(manifest.nodeType, manifest.version);
|
|
17
|
+
const cachedHandles = this.nodeHandlesByTypeVersion.get(manifestKey);
|
|
18
|
+
if (cachedHandles) return cachedHandles;
|
|
19
|
+
return this.computeNodeHandles(manifest);
|
|
20
|
+
}
|
|
21
|
+
computeNodeHandles(manifest) {
|
|
22
|
+
const handlesByType = {};
|
|
23
|
+
for (const group of manifest.handleConfiguration)for (const handle of group.handles){
|
|
24
|
+
const handles = handlesByType[handle.type] ?? [];
|
|
25
|
+
handles.push(handle);
|
|
26
|
+
handlesByType[handle.type] = handles;
|
|
27
|
+
}
|
|
28
|
+
return handlesByType;
|
|
29
|
+
}
|
|
30
|
+
getTypeVersionKey(nodeType, version) {
|
|
31
|
+
return `${nodeType}:${version}`;
|
|
32
|
+
}
|
|
13
33
|
registerNodeManifests(nodes) {
|
|
14
34
|
const categoryMap = new Map();
|
|
15
35
|
for (const node of nodes){
|
|
@@ -31,18 +51,16 @@ class NodeTypeRegistry {
|
|
|
31
51
|
c.id,
|
|
32
52
|
c
|
|
33
53
|
]));
|
|
34
|
-
this.nodeByType = new Map(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}, {})
|
|
45
|
-
]));
|
|
54
|
+
this.nodeByType = new Map();
|
|
55
|
+
this.nodeByTypeVersion = new Map();
|
|
56
|
+
this.nodeHandlesByTypeVersion = new Map();
|
|
57
|
+
for (const nodeManifest of nodeManifests){
|
|
58
|
+
const manifestKey = this.getTypeVersionKey(nodeManifest.nodeType, nodeManifest.version);
|
|
59
|
+
this.nodeByTypeVersion.set(manifestKey, nodeManifest);
|
|
60
|
+
this.nodeHandlesByTypeVersion.set(manifestKey, this.computeNodeHandles(nodeManifest));
|
|
61
|
+
this.nodeByType.set(nodeManifest.nodeType, nodeManifest);
|
|
62
|
+
}
|
|
63
|
+
const defaultNodeManifests = Array.from(this.nodeByType.values());
|
|
46
64
|
this.categoriesByParent = new Map();
|
|
47
65
|
for (const cat of categoryManifests){
|
|
48
66
|
const siblings = this.categoriesByParent.get(cat.parentId) ?? [];
|
|
@@ -76,18 +94,22 @@ class NodeTypeRegistry {
|
|
|
76
94
|
this.categoryDescendants.set(cat.id, descendants);
|
|
77
95
|
}
|
|
78
96
|
this.nodesByCategory = new Map();
|
|
79
|
-
for (const node of
|
|
97
|
+
for (const node of defaultNodeManifests){
|
|
80
98
|
const categoryKey = node.category ?? void 0;
|
|
81
99
|
const nodes = this.nodesByCategory.get(categoryKey) ?? [];
|
|
82
100
|
nodes.push(node);
|
|
83
101
|
this.nodesByCategory.set(categoryKey, nodes);
|
|
84
102
|
}
|
|
85
|
-
this.categoryTree = new CategoryTree(categoryManifests,
|
|
103
|
+
this.categoryTree = new CategoryTree(categoryManifests, defaultNodeManifests);
|
|
86
104
|
}
|
|
87
|
-
getManifest(nodeType) {
|
|
88
|
-
return this.nodeByType.get(nodeType);
|
|
105
|
+
getManifest(nodeType, version) {
|
|
106
|
+
if (!version) return this.nodeByType.get(nodeType);
|
|
107
|
+
return this.nodeByTypeVersion.get(this.getTypeVersionKey(nodeType, version));
|
|
89
108
|
}
|
|
90
109
|
getAllManifests() {
|
|
110
|
+
return Array.from(this.nodeByTypeVersion.values());
|
|
111
|
+
}
|
|
112
|
+
getDefaultManifests() {
|
|
91
113
|
return Array.from(this.nodeByType.values());
|
|
92
114
|
}
|
|
93
115
|
getAllCategories() {
|
|
@@ -96,18 +118,19 @@ class NodeTypeRegistry {
|
|
|
96
118
|
getAllNodeTypes() {
|
|
97
119
|
return Array.from(this.nodeByType.keys());
|
|
98
120
|
}
|
|
99
|
-
getHandlesByNodeType(nodeType) {
|
|
100
|
-
|
|
121
|
+
getHandlesByNodeType(nodeType, version) {
|
|
122
|
+
const manifest = this.getManifest(nodeType, version);
|
|
123
|
+
return this.getNodeHandles(manifest);
|
|
101
124
|
}
|
|
102
|
-
getDefaultHandle(nodeType, handleType) {
|
|
103
|
-
const handles = this.
|
|
125
|
+
getDefaultHandle(nodeType, handleType, version) {
|
|
126
|
+
const handles = this.getHandlesByNodeType(nodeType, version)[handleType];
|
|
104
127
|
return handles?.find((h)=>h.isDefaultForType) ?? handles?.[0];
|
|
105
128
|
}
|
|
106
|
-
createDefaultData(nodeType, label) {
|
|
107
|
-
const manifest = this.getManifest(nodeType);
|
|
129
|
+
createDefaultData(nodeType, label, typeVersion) {
|
|
130
|
+
const manifest = this.getManifest(nodeType, typeVersion);
|
|
108
131
|
if (!manifest) return {
|
|
109
132
|
nodeType,
|
|
110
|
-
|
|
133
|
+
typeVersion: typeVersion ?? '1.0.0',
|
|
111
134
|
display: {
|
|
112
135
|
label: label || nodeType
|
|
113
136
|
}
|
|
@@ -123,7 +146,7 @@ class NodeTypeRegistry {
|
|
|
123
146
|
};
|
|
124
147
|
return {
|
|
125
148
|
nodeType,
|
|
126
|
-
|
|
149
|
+
typeVersion: manifest.version,
|
|
127
150
|
parameters: manifest.defaultProperties ?? {},
|
|
128
151
|
display: display
|
|
129
152
|
};
|
|
@@ -133,8 +156,9 @@ class NodeTypeRegistry {
|
|
|
133
156
|
}
|
|
134
157
|
clear() {
|
|
135
158
|
this.nodesByCategory.clear();
|
|
136
|
-
this.nodeHandles.clear();
|
|
137
159
|
this.nodeByType.clear();
|
|
160
|
+
this.nodeByTypeVersion.clear();
|
|
161
|
+
this.nodeHandlesByTypeVersion.clear();
|
|
138
162
|
this.categoryById.clear();
|
|
139
163
|
this.categoryAncestors.clear();
|
|
140
164
|
this.categoryDescendants.clear();
|