flow-lib-creomnia 1.0.9 → 1.0.11

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.
@@ -43,7 +43,7 @@ const FlowSandbox = ({ nodeDrawers, connectionDrawers, containerRef, permissions
43
43
  top: nodeDrawer.renderPoint.y,
44
44
  left: nodeDrawer.renderPoint.x - minWidth,
45
45
  }, children: (0, jsx_runtime_1.jsx)(Node, { nodeData: nodeDrawer.nodeData, renderPoint: nodeDrawer.renderPoint, id: nodeDrawer.id, type: nodeDrawer.type, isProcessed: processedNodeIds?.includes(nodeDrawer.nodeData?.id), isFailed: failedNodeId === nodeDrawer.nodeData?.id, failedNodeColor: failedNodeColor, onRedirect: onRedirect, onUpdatePosition: onUpdateNodePosition }) }, nodeDrawer.id));
46
- }), [minWidth, nodeDrawers]);
46
+ }), [minWidth, nodeDrawers, processedNodeIds, failedNodeId, failedNodeColor]);
47
47
  const FlowContainer = (0, react_1.useMemo)(() => (0, styled_1.createFlowContainer)({
48
48
  scaleValue: 1,
49
49
  width: maxWidth - minWidth,
@@ -27,6 +27,11 @@ export type IDrawerProps = {
27
27
  isOpen: boolean;
28
28
  onClose: () => void;
29
29
  onOpen: () => void;
30
+ externalNodeSettings?: {
31
+ enabled: boolean;
32
+ selectedNode: NodeType | null;
33
+ onSelectedNodeChange: (node: NodeType | null) => void;
34
+ };
30
35
  };
31
36
  export type PermissionsTypes = "canUpdate" | "canRead" | "canCreate" | "canDelete";
32
37
  export type Permissions = {
@@ -31,7 +31,7 @@ const BaseNode = ({ nodeData, isProcessed, isFailed, failedNodeColor, onRedirect
31
31
  const props = (0, web_1.useSpring)({
32
32
  borderColor: color,
33
33
  config: {
34
- duration: isLongAction ? 1000 : 150
34
+ duration: 150
35
35
  },
36
36
  });
37
37
  const onNodeClick = () => {
@@ -35,7 +35,7 @@ const ChoiceNode = ({ nodeData, isProcessed, isFailed, failedNodeColor }) => {
35
35
  strokeWidth: 2,
36
36
  strokeLinecap: 'round',
37
37
  config: {
38
- duration: isLongAction ? 1000 : 150
38
+ duration: 150
39
39
  },
40
40
  });
41
41
  const ChoiceNodeImg = (0, react_1.useMemo)(() => (0, styled_1.createChoiceNodeImg)(), [color, node?.id, nodeData?.id]);
@@ -14,20 +14,37 @@ const settingsContextValue = {
14
14
  };
15
15
  const SettingsContext = (0, react_1.createContext)(settingsContextValue);
16
16
  exports.SettingsContext = SettingsContext;
17
- const NodeSettingsProvider = ({ children, permissions: { canUpdate, canDelete }, drawerProps: { isOpen, onClose, onOpen }, }) => {
18
- const [node, setNodeBase] = (0, react_1.useState)(null);
17
+ const NodeSettingsProvider = ({ children, permissions: { canUpdate, canDelete }, drawerProps: { isOpen, onClose, onOpen, externalNodeSettings }, }) => {
18
+ const [internalNode, setInternalNodeBase] = (0, react_1.useState)(null);
19
+ const isExternalNodeSettingsEnabled = !!externalNodeSettings?.enabled;
20
+ const node = isExternalNodeSettingsEnabled
21
+ ? externalNodeSettings?.selectedNode || null
22
+ : internalNode;
23
+ const setNodeBase = (nodeData) => {
24
+ if (isExternalNodeSettingsEnabled) {
25
+ externalNodeSettings?.onSelectedNodeChange(nodeData || null);
26
+ return;
27
+ }
28
+ setInternalNodeBase(nodeData || null);
29
+ };
19
30
  const setNode = (nodeData) => {
20
31
  const delay = node ? config_1.Config.SET_NODE_DELAY : 0;
21
32
  setTimeout(() => {
22
33
  setNodeBase(nodeData || null);
23
- onOpen();
34
+ if (!isExternalNodeSettingsEnabled) {
35
+ onOpen();
36
+ }
24
37
  }, delay);
25
38
  };
26
39
  const isNodeWithoutSave = node?.type && config_1.Config.NODES_WITHOUT_SAVE_BUTTON.includes(node?.type);
27
40
  const handleClose = () => {
41
+ if (isExternalNodeSettingsEnabled) {
42
+ externalNodeSettings?.onSelectedNodeChange(null);
43
+ return;
44
+ }
28
45
  onClose();
29
46
  setTimeout(() => {
30
- setNodeBase(null);
47
+ setInternalNodeBase(null);
31
48
  }, config_1.Config.CLEAR_NODE_DELAY);
32
49
  };
33
50
  const onSaveNode = () => {
@@ -44,6 +61,6 @@ const NodeSettingsProvider = ({ children, permissions: { canUpdate, canDelete },
44
61
  node?.settings?.footer?.onDelete?.(node?.id);
45
62
  handleClose();
46
63
  };
47
- return ((0, jsx_runtime_1.jsxs)(SettingsContext.Provider, { value: { node, setNode }, children: [children, canUpdate && ((0, jsx_runtime_1.jsx)(components_1.HorizontalDrawer, { open: isOpen, onClose: handleClose, HeaderContent: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(styled_1.IconWrapper, { children: [(0, jsx_runtime_1.jsx)(styled_1.IconBorder, {}), node?.icon] }), (0, jsx_runtime_1.jsx)(styled_1.NameContainer, { children: node?.nodeType || 'unknown' })] }), Content: (0, jsx_runtime_1.jsxs)(styled_1.SettingsContent, { children: [(0, jsx_runtime_1.jsx)(material_1.Box, { display: 'flex', flexDirection: 'column', flexGrow: 1, children: node?.settings?.settingsForm }), node?.settings?.customFooter ?? ((0, jsx_runtime_1.jsxs)(styled_1.DefaultFooterContainer, { children: [!isNodeWithoutSave && ((0, jsx_runtime_1.jsx)(material_2.Button, { onClick: onSaveNode, variant: "contained", children: node?.settings?.footer?.saveText || "Save" })), (0, jsx_runtime_1.jsx)(material_1.Box, { flexGrow: 1, children: (0, jsx_runtime_1.jsx)(material_2.Button, { variant: "outlined", onClick: onCancel, children: node?.settings?.footer?.cancelText || "Cancel " }) }), canDelete && ((0, jsx_runtime_1.jsx)(material_2.Button, { onClick: onDeleteNode, color: "error", variant: "text", children: node?.settings?.footer?.deleteText || "Delete node" }))] }))] }) }))] }));
64
+ return ((0, jsx_runtime_1.jsxs)(SettingsContext.Provider, { value: { node, setNode }, children: [children, canUpdate && !isExternalNodeSettingsEnabled && ((0, jsx_runtime_1.jsx)(components_1.HorizontalDrawer, { open: isOpen, onClose: handleClose, HeaderContent: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(styled_1.IconWrapper, { children: [(0, jsx_runtime_1.jsx)(styled_1.IconBorder, {}), node?.icon] }), (0, jsx_runtime_1.jsx)(styled_1.NameContainer, { children: node?.nodeType || 'unknown' })] }), Content: (0, jsx_runtime_1.jsxs)(styled_1.SettingsContent, { children: [(0, jsx_runtime_1.jsx)(material_1.Box, { display: 'flex', flexDirection: 'column', flexGrow: 1, children: node?.settings?.settingsForm }), node?.settings?.customFooter ?? ((0, jsx_runtime_1.jsxs)(styled_1.DefaultFooterContainer, { children: [!isNodeWithoutSave && ((0, jsx_runtime_1.jsx)(material_2.Button, { onClick: onSaveNode, variant: "contained", children: node?.settings?.footer?.saveText || "Save" })), (0, jsx_runtime_1.jsx)(material_1.Box, { flexGrow: 1, children: (0, jsx_runtime_1.jsx)(material_2.Button, { variant: "outlined", onClick: onCancel, children: node?.settings?.footer?.cancelText || "Cancel " }) }), canDelete && ((0, jsx_runtime_1.jsx)(material_2.Button, { onClick: onDeleteNode, color: "error", variant: "text", children: node?.settings?.footer?.deleteText || "Delete node" }))] }))] }) }))] }));
48
65
  };
49
66
  exports.NodeSettingsProvider = NodeSettingsProvider;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flow-lib-creomnia",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",