@uipath/apollo-react 6.27.0 → 6.29.0
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/AgentCanvas/agent-flow.manifest.d.ts +2 -0
- package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts.map +1 -1
- package/dist/canvas/components/BaseCanvas/BaseCanvas.cjs +27 -3
- package/dist/canvas/components/BaseCanvas/BaseCanvas.d.ts.map +1 -1
- package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.cjs +21 -3
- package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.d.ts +1 -0
- package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.d.ts.map +1 -1
- package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.js +18 -3
- package/dist/canvas/components/BaseCanvas/BaseCanvas.js +28 -4
- package/dist/canvas/components/BaseCanvas/BaseCanvas.stories.fixtures.cjs +87 -0
- package/dist/canvas/components/BaseCanvas/BaseCanvas.stories.fixtures.d.ts +4 -0
- package/dist/canvas/components/BaseCanvas/BaseCanvas.stories.fixtures.d.ts.map +1 -0
- package/dist/canvas/components/BaseCanvas/BaseCanvas.stories.fixtures.js +53 -0
- package/dist/canvas/components/BaseCanvas/BaseCanvas.types.d.ts.map +1 -1
- package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.cjs +30 -3
- package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.d.ts +3 -0
- package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.d.ts.map +1 -1
- package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.js +21 -3
- package/dist/canvas/components/BaseCanvas/index.cjs +43 -32
- package/dist/canvas/components/BaseCanvas/index.d.ts +1 -1
- package/dist/canvas/components/BaseCanvas/index.d.ts.map +1 -1
- package/dist/canvas/components/BaseCanvas/index.js +2 -2
- package/dist/canvas/components/BaseCanvas/useReadOnlyConnectionCallbacks.cjs +87 -0
- package/dist/canvas/components/BaseCanvas/useReadOnlyConnectionCallbacks.d.ts +13 -0
- package/dist/canvas/components/BaseCanvas/useReadOnlyConnectionCallbacks.d.ts.map +1 -0
- package/dist/canvas/components/BaseCanvas/useReadOnlyConnectionCallbacks.js +53 -0
- package/dist/canvas/components/CaseFlow/case-flow.manifest.d.ts +2 -0
- package/dist/canvas/components/CaseFlow/case-flow.manifest.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +21 -3
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +21 -3
- package/dist/canvas/schema/node-definition/index.cjs +2 -1
- package/dist/canvas/schema/node-definition/index.d.ts +4 -2
- package/dist/canvas/schema/node-definition/index.d.ts.map +1 -1
- package/dist/canvas/schema/node-definition/index.js +2 -1
- package/dist/canvas/schema/node-definition/node-manifest.cjs +4 -12
- package/dist/canvas/schema/node-definition/node-manifest.d.ts +12 -7
- package/dist/canvas/schema/node-definition/node-manifest.d.ts.map +1 -1
- package/dist/canvas/schema/node-definition/node-manifest.js +2 -7
- package/dist/canvas/schema/node-definition/shape.cjs +42 -0
- package/dist/canvas/schema/node-definition/shape.d.ts +9 -0
- package/dist/canvas/schema/node-definition/shape.d.ts.map +1 -0
- package/dist/canvas/schema/node-definition/shape.js +8 -0
- package/dist/canvas/schema/node-instance/base.cjs +2 -2
- package/dist/canvas/schema/node-instance/base.js +1 -1
- package/dist/canvas/schema/toolbar.cjs +2 -0
- package/dist/canvas/schema/toolbar.d.ts +30 -0
- package/dist/canvas/schema/toolbar.d.ts.map +1 -1
- package/dist/canvas/schema/toolbar.js +2 -0
- package/dist/canvas/storybook-utils/manifests/index.d.ts +2 -0
- package/dist/canvas/storybook-utils/manifests/index.d.ts.map +1 -1
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- package/dist/canvas/utils/createPreviewGraph.cjs +13 -8
- package/dist/canvas/utils/createPreviewGraph.d.ts +5 -2
- package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -1
- package/dist/canvas/utils/createPreviewGraph.js +13 -8
- package/dist/canvas/utils/manifest-resolver.cjs +2 -1
- package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
- package/dist/canvas/utils/manifest-resolver.js +2 -1
- package/dist/canvas/utils/toolbar-resolver.cjs +31 -4
- package/dist/canvas/utils/toolbar-resolver.d.ts.map +1 -1
- package/dist/canvas/utils/toolbar-resolver.js +31 -4
- package/package.json +1 -1
|
@@ -100,14 +100,14 @@ function createPreviewGraph(options) {
|
|
|
100
100
|
edges
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
|
-
function showPreviewGraph(options) {
|
|
103
|
+
function showPreviewGraph(options, applicationOptions = {}) {
|
|
104
104
|
const preview = createPreviewGraph(options);
|
|
105
|
-
if (preview) applyPreviewGraphToReactFlow(preview, options.reactFlowInstance);
|
|
105
|
+
if (preview) applyPreviewGraphToReactFlow(preview, options.reactFlowInstance, applicationOptions);
|
|
106
106
|
return preview;
|
|
107
107
|
}
|
|
108
|
-
function applyPreviewGraphToReactFlow(preview, reactFlowInstance) {
|
|
108
|
+
function applyPreviewGraphToReactFlow(preview, reactFlowInstance, { canApply } = {}) {
|
|
109
109
|
const originalEdge = preview.node.data?.originalEdge;
|
|
110
|
-
|
|
110
|
+
const applyNodes = ()=>{
|
|
111
111
|
reactFlowInstance.setNodes((nodes)=>[
|
|
112
112
|
...nodes.filter((node)=>node.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID).map((node)=>({
|
|
113
113
|
...node,
|
|
@@ -115,10 +115,15 @@ function applyPreviewGraphToReactFlow(preview, reactFlowInstance) {
|
|
|
115
115
|
})),
|
|
116
116
|
preview.node
|
|
117
117
|
]);
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
};
|
|
119
|
+
const applyEdges = (edges)=>[
|
|
120
|
+
...edges.filter((edge)=>!(0, external_createPreviewNode_cjs_namespaceObject.isPreviewEdge)(edge) && edge.id !== originalEdge?.id),
|
|
121
|
+
...preview.edges
|
|
122
|
+
];
|
|
123
|
+
setTimeout(()=>{
|
|
124
|
+
if (canApply?.(reactFlowInstance.getEdges()) === false) return;
|
|
125
|
+
applyNodes();
|
|
126
|
+
reactFlowInstance.setEdges(applyEdges);
|
|
122
127
|
}, 0);
|
|
123
128
|
}
|
|
124
129
|
exports.applyPreviewGraphToReactFlow = __webpack_exports__.applyPreviewGraphToReactFlow;
|
|
@@ -6,6 +6,9 @@ export interface PreviewGraph {
|
|
|
6
6
|
node: Node;
|
|
7
7
|
edges: Edge[];
|
|
8
8
|
}
|
|
9
|
+
export interface PreviewApplicationOptions {
|
|
10
|
+
canApply?: (edges: Edge[]) => boolean;
|
|
11
|
+
}
|
|
9
12
|
export interface PreviewEndpoint {
|
|
10
13
|
nodeId: string;
|
|
11
14
|
handleId?: string | null;
|
|
@@ -35,6 +38,6 @@ export interface CreatePreviewGraphOptions {
|
|
|
35
38
|
export type PreviewGraphOverrides = Partial<Pick<CreatePreviewGraphOptions, 'containerId' | 'data' | 'position' | 'positionMode' | 'target' | 'trailingEdgeId' | 'trailingEdgeStyle'>>;
|
|
36
39
|
export declare function reparentPreviewNodeToContainer(previewNode: Node, containerId: string, reactFlowInstance: ReactFlowInstance): Node | null;
|
|
37
40
|
export declare function createPreviewGraph(options: CreatePreviewGraphOptions): PreviewGraph | null;
|
|
38
|
-
export declare function showPreviewGraph(options: CreatePreviewGraphOptions): PreviewGraph | null;
|
|
39
|
-
export declare function applyPreviewGraphToReactFlow(preview: PreviewGraph, reactFlowInstance: ReactFlowInstance): void;
|
|
41
|
+
export declare function showPreviewGraph(options: CreatePreviewGraphOptions, applicationOptions?: PreviewApplicationOptions): PreviewGraph | null;
|
|
42
|
+
export declare function applyPreviewGraphToReactFlow(preview: PreviewGraph, reactFlowInstance: ReactFlowInstance, { canApply }?: PreviewApplicationOptions): void;
|
|
40
43
|
//# sourceMappingURL=createPreviewGraph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPreviewGraph.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/createPreviewGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG/E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAGD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAMD,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACvC,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAOlC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,IAAI,CACF,yBAAyB,EACvB,aAAa,GACb,MAAM,GACN,UAAU,GACV,cAAc,GACd,QAAQ,GACR,gBAAgB,GAChB,mBAAmB,CACtB,CACF,CAAC;AAgCF,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,IAAI,EACjB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,GAAG,IAAI,CAkBb;AAwDD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAqB1F;AAOD,wBAAgB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"createPreviewGraph.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/createPreviewGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG/E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IAKxC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC;CACvC;AAGD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAMD,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACvC,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAOlC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,IAAI,CACF,yBAAyB,EACvB,aAAa,GACb,MAAM,GACN,UAAU,GACV,cAAc,GACd,QAAQ,GACR,gBAAgB,GAChB,mBAAmB,CACtB,CACF,CAAC;AAgCF,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,IAAI,EACjB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,GAAG,IAAI,CAkBb;AAwDD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAqB1F;AAOD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,yBAAyB,EAClC,kBAAkB,GAAE,yBAA8B,GACjD,YAAY,GAAG,IAAI,CAMrB;AAOD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,YAAY,EACrB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,QAAQ,EAAE,GAAE,yBAA8B,GAC3C,IAAI,CAuBN"}
|
|
@@ -69,14 +69,14 @@ function createPreviewGraph(options) {
|
|
|
69
69
|
edges
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
-
function showPreviewGraph(options) {
|
|
72
|
+
function showPreviewGraph(options, applicationOptions = {}) {
|
|
73
73
|
const preview = createPreviewGraph(options);
|
|
74
|
-
if (preview) applyPreviewGraphToReactFlow(preview, options.reactFlowInstance);
|
|
74
|
+
if (preview) applyPreviewGraphToReactFlow(preview, options.reactFlowInstance, applicationOptions);
|
|
75
75
|
return preview;
|
|
76
76
|
}
|
|
77
|
-
function applyPreviewGraphToReactFlow(preview, reactFlowInstance) {
|
|
77
|
+
function applyPreviewGraphToReactFlow(preview, reactFlowInstance, { canApply } = {}) {
|
|
78
78
|
const originalEdge = preview.node.data?.originalEdge;
|
|
79
|
-
|
|
79
|
+
const applyNodes = ()=>{
|
|
80
80
|
reactFlowInstance.setNodes((nodes)=>[
|
|
81
81
|
...nodes.filter((node)=>node.id !== PREVIEW_NODE_ID).map((node)=>({
|
|
82
82
|
...node,
|
|
@@ -84,10 +84,15 @@ function applyPreviewGraphToReactFlow(preview, reactFlowInstance) {
|
|
|
84
84
|
})),
|
|
85
85
|
preview.node
|
|
86
86
|
]);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
};
|
|
88
|
+
const applyEdges = (edges)=>[
|
|
89
|
+
...edges.filter((edge)=>!isPreviewEdge(edge) && edge.id !== originalEdge?.id),
|
|
90
|
+
...preview.edges
|
|
91
|
+
];
|
|
92
|
+
setTimeout(()=>{
|
|
93
|
+
if (canApply?.(reactFlowInstance.getEdges()) === false) return;
|
|
94
|
+
applyNodes();
|
|
95
|
+
reactFlowInstance.setEdges(applyEdges);
|
|
91
96
|
}, 0);
|
|
92
97
|
}
|
|
93
98
|
export { applyPreviewGraphToReactFlow, createPreviewGraph, reparentPreviewNodeToContainer, showPreviewGraph };
|
|
@@ -64,10 +64,11 @@ function replaceTemplateVars(template, vars) {
|
|
|
64
64
|
function resolveHandles(handleGroups, context) {
|
|
65
65
|
const isCollapsed = context?.isCollapsed ?? false;
|
|
66
66
|
return handleGroups.map((group)=>{
|
|
67
|
+
const hidesGroup = isCollapsed && 'inner' === group.boundary;
|
|
67
68
|
const handles = group.handles.flatMap((handle)=>{
|
|
68
69
|
const isArtifactHandle = 'artifact' === handle.handleType;
|
|
69
70
|
const handleBaseVisible = resolveVisibility(handle.visible, context);
|
|
70
|
-
const handleVisible = isCollapsed && isArtifactHandle ? false : handleBaseVisible;
|
|
71
|
+
const handleVisible = hidesGroup || isCollapsed && isArtifactHandle ? false : handleBaseVisible;
|
|
71
72
|
if (handle.repeat) {
|
|
72
73
|
const array = getPropertyByPath(context, handle.repeat);
|
|
73
74
|
if (!Array.isArray(array)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-resolver.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/manifest-resolver.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAKrE,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEhE,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAEhC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAUD,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5C,CAAC;AAKF,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IAE7F,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAE9C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEjD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAClD;AAKD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC;IAE/E,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAKD,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkBD,wBAAgB,cAAc,CAC5B,eAAe,CAAC,EAAE,mBAAmB,EACrC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,eAAe,CAwCjB;AA6BD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,EACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAmBT;AAiCD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAKhF;AAuCD,wBAAgB,cAAc,CAC5B,YAAY,EAAE,mBAAmB,EAAE,EACnC,OAAO,EAAE,iBAAiB,GACzB,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"manifest-resolver.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/manifest-resolver.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAKrE,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEhE,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAEhC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAUD,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5C,CAAC;AAKF,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IAE7F,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAE9C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEjD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAClD;AAKD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC;IAE/E,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAKD,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkBD,wBAAgB,cAAc,CAC5B,eAAe,CAAC,EAAE,mBAAmB,EACrC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,eAAe,CAwCjB;AA6BD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,EACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAmBT;AAiCD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAKhF;AAuCD,wBAAgB,cAAc,CAC5B,YAAY,EAAE,mBAAmB,EAAE,EACnC,OAAO,EAAE,iBAAiB,GACzB,mBAAmB,EAAE,CAsEvB"}
|
|
@@ -33,10 +33,11 @@ function replaceTemplateVars(template, vars) {
|
|
|
33
33
|
function resolveHandles(handleGroups, context) {
|
|
34
34
|
const isCollapsed = context?.isCollapsed ?? false;
|
|
35
35
|
return handleGroups.map((group)=>{
|
|
36
|
+
const hidesGroup = isCollapsed && 'inner' === group.boundary;
|
|
36
37
|
const handles = group.handles.flatMap((handle)=>{
|
|
37
38
|
const isArtifactHandle = 'artifact' === handle.handleType;
|
|
38
39
|
const handleBaseVisible = resolveVisibility(handle.visible, context);
|
|
39
|
-
const handleVisible = isCollapsed && isArtifactHandle ? false : handleBaseVisible;
|
|
40
|
+
const handleVisible = hidesGroup || isCollapsed && isArtifactHandle ? false : handleBaseVisible;
|
|
40
41
|
if (handle.repeat) {
|
|
41
42
|
const array = getPropertyByPath(context, handle.repeat);
|
|
42
43
|
if (!Array.isArray(array)) {
|
|
@@ -42,6 +42,16 @@ const DEFAULT_ACTIONS_FOR_ALL_MODES = [
|
|
|
42
42
|
}
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: 'collapse',
|
|
48
|
+
icon: 'chevrons-down-up',
|
|
49
|
+
label: 'Toggle collapse',
|
|
50
|
+
condition: {
|
|
51
|
+
shapes: [
|
|
52
|
+
'container'
|
|
53
|
+
]
|
|
54
|
+
}
|
|
45
55
|
}
|
|
46
56
|
];
|
|
47
57
|
const DEFAULT_MODE_TOOLBARS = {
|
|
@@ -95,6 +105,10 @@ function evaluateCondition(manifest, action, nodeType, context) {
|
|
|
95
105
|
}
|
|
96
106
|
if (condition.hideOnExecution && context.executionState) return false;
|
|
97
107
|
if (condition.nodeTypes && !condition.nodeTypes.includes(nodeType)) return false;
|
|
108
|
+
if (condition.shapes?.length) {
|
|
109
|
+
const shape = manifest.display?.shape;
|
|
110
|
+
if (!shape || !condition.shapes.includes(shape)) return false;
|
|
111
|
+
}
|
|
98
112
|
if (condition.handles?.length) {
|
|
99
113
|
const manifestHandles = manifest.handleConfiguration.flatMap((group)=>group.handles);
|
|
100
114
|
const hasMatchingHandle = condition.handles.some((requiredHandle)=>manifestHandles.some((manifestHandle)=>manifestHandle.handleType === requiredHandle.handleType && (void 0 === requiredHandle.type || manifestHandle.type === requiredHandle.type)));
|
|
@@ -122,19 +136,31 @@ function convertToNodeAction(action, mode, nodeData) {
|
|
|
122
136
|
}
|
|
123
137
|
};
|
|
124
138
|
}
|
|
139
|
+
function dedupeById(actions) {
|
|
140
|
+
const byId = new Map();
|
|
141
|
+
for (const action of actions)byId.set(action.id, action);
|
|
142
|
+
return [
|
|
143
|
+
...byId.values()
|
|
144
|
+
];
|
|
145
|
+
}
|
|
125
146
|
function mergeToolbarConfigs(base, extension) {
|
|
126
147
|
if (!base && !extension) return {
|
|
127
148
|
actions: []
|
|
128
149
|
};
|
|
129
150
|
if (!base) return extension;
|
|
130
151
|
if (!extension) return base;
|
|
152
|
+
const extensionIds = new Set([
|
|
153
|
+
...extension.actions,
|
|
154
|
+
...extension.overflowActions ?? []
|
|
155
|
+
].map((action)=>action.id));
|
|
156
|
+
const notOverridden = (action)=>!extensionIds.has(action.id);
|
|
131
157
|
return {
|
|
132
158
|
actions: [
|
|
133
|
-
...base.actions,
|
|
159
|
+
...base.actions.filter(notOverridden),
|
|
134
160
|
...extension.actions
|
|
135
161
|
],
|
|
136
162
|
overflowActions: [
|
|
137
|
-
...base.overflowActions ?? [],
|
|
163
|
+
...(base.overflowActions ?? []).filter(notOverridden),
|
|
138
164
|
...extension.overflowActions ?? []
|
|
139
165
|
]
|
|
140
166
|
};
|
|
@@ -150,8 +176,9 @@ function resolveToolbar(manifest, context, nodeData) {
|
|
|
150
176
|
} : rawDefaults;
|
|
151
177
|
const nodeExtensions = manifestToolbarExtensions?.[mode];
|
|
152
178
|
const merged = mergeToolbarConfigs(modeDefaults, nodeExtensions);
|
|
153
|
-
const
|
|
154
|
-
const
|
|
179
|
+
const resolveActions = (actions)=>dedupeById(actions.filter((action)=>evaluateCondition(manifest, action, nodeType, context))).map((action)=>convertToNodeAction(action, mode, nodeData));
|
|
180
|
+
const filteredActions = resolveActions(merged.actions);
|
|
181
|
+
const filteredOverflow = resolveActions(merged.overflowActions ?? []);
|
|
155
182
|
if (0 === filteredActions.length && 0 === filteredOverflow.length) return;
|
|
156
183
|
return {
|
|
157
184
|
actions: filteredActions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar-resolver.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/toolbar-resolver.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAKrC,UAAU,mBAAoB,SAAQ,iBAAiB;IAErD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"toolbar-resolver.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/toolbar-resolver.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAKrC,UAAU,mBAAoB,SAAQ,iBAAiB;IAErD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAsKD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,iBAAiB,GAAG,SAAS,CA8C/B"}
|
|
@@ -14,6 +14,16 @@ const DEFAULT_ACTIONS_FOR_ALL_MODES = [
|
|
|
14
14
|
}
|
|
15
15
|
]
|
|
16
16
|
}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: 'collapse',
|
|
20
|
+
icon: 'chevrons-down-up',
|
|
21
|
+
label: 'Toggle collapse',
|
|
22
|
+
condition: {
|
|
23
|
+
shapes: [
|
|
24
|
+
'container'
|
|
25
|
+
]
|
|
26
|
+
}
|
|
17
27
|
}
|
|
18
28
|
];
|
|
19
29
|
const DEFAULT_MODE_TOOLBARS = {
|
|
@@ -67,6 +77,10 @@ function evaluateCondition(manifest, action, nodeType, context) {
|
|
|
67
77
|
}
|
|
68
78
|
if (condition.hideOnExecution && context.executionState) return false;
|
|
69
79
|
if (condition.nodeTypes && !condition.nodeTypes.includes(nodeType)) return false;
|
|
80
|
+
if (condition.shapes?.length) {
|
|
81
|
+
const shape = manifest.display?.shape;
|
|
82
|
+
if (!shape || !condition.shapes.includes(shape)) return false;
|
|
83
|
+
}
|
|
70
84
|
if (condition.handles?.length) {
|
|
71
85
|
const manifestHandles = manifest.handleConfiguration.flatMap((group)=>group.handles);
|
|
72
86
|
const hasMatchingHandle = condition.handles.some((requiredHandle)=>manifestHandles.some((manifestHandle)=>manifestHandle.handleType === requiredHandle.handleType && (void 0 === requiredHandle.type || manifestHandle.type === requiredHandle.type)));
|
|
@@ -94,19 +108,31 @@ function convertToNodeAction(action, mode, nodeData) {
|
|
|
94
108
|
}
|
|
95
109
|
};
|
|
96
110
|
}
|
|
111
|
+
function dedupeById(actions) {
|
|
112
|
+
const byId = new Map();
|
|
113
|
+
for (const action of actions)byId.set(action.id, action);
|
|
114
|
+
return [
|
|
115
|
+
...byId.values()
|
|
116
|
+
];
|
|
117
|
+
}
|
|
97
118
|
function mergeToolbarConfigs(base, extension) {
|
|
98
119
|
if (!base && !extension) return {
|
|
99
120
|
actions: []
|
|
100
121
|
};
|
|
101
122
|
if (!base) return extension;
|
|
102
123
|
if (!extension) return base;
|
|
124
|
+
const extensionIds = new Set([
|
|
125
|
+
...extension.actions,
|
|
126
|
+
...extension.overflowActions ?? []
|
|
127
|
+
].map((action)=>action.id));
|
|
128
|
+
const notOverridden = (action)=>!extensionIds.has(action.id);
|
|
103
129
|
return {
|
|
104
130
|
actions: [
|
|
105
|
-
...base.actions,
|
|
131
|
+
...base.actions.filter(notOverridden),
|
|
106
132
|
...extension.actions
|
|
107
133
|
],
|
|
108
134
|
overflowActions: [
|
|
109
|
-
...base.overflowActions ?? [],
|
|
135
|
+
...(base.overflowActions ?? []).filter(notOverridden),
|
|
110
136
|
...extension.overflowActions ?? []
|
|
111
137
|
]
|
|
112
138
|
};
|
|
@@ -122,8 +148,9 @@ function resolveToolbar(manifest, context, nodeData) {
|
|
|
122
148
|
} : rawDefaults;
|
|
123
149
|
const nodeExtensions = manifestToolbarExtensions?.[mode];
|
|
124
150
|
const merged = mergeToolbarConfigs(modeDefaults, nodeExtensions);
|
|
125
|
-
const
|
|
126
|
-
const
|
|
151
|
+
const resolveActions = (actions)=>dedupeById(actions.filter((action)=>evaluateCondition(manifest, action, nodeType, context))).map((action)=>convertToNodeAction(action, mode, nodeData));
|
|
152
|
+
const filteredActions = resolveActions(merged.actions);
|
|
153
|
+
const filteredOverflow = resolveActions(merged.overflowActions ?? []);
|
|
127
154
|
if (0 === filteredActions.length && 0 === filteredOverflow.length) return;
|
|
128
155
|
return {
|
|
129
156
|
actions: filteredActions,
|