@pega/cosmos-react-demos 3.0.0-dev.15.0 → 3.0.0-dev.16.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.
Files changed (129) hide show
  1. package/jsx/build/AppHeader/AppHeader.stories.d.ts +1 -1
  2. package/jsx/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
  3. package/jsx/build/AppHeader/AppHeader.stories.jsx +102 -80
  4. package/jsx/build/AppHeader/AppHeader.stories.jsx.map +1 -1
  5. package/jsx/build/FlowModeller/AddNodeUtils.mocks.d.ts +4 -4
  6. package/jsx/build/FlowModeller/AddNodeUtils.mocks.d.ts.map +1 -1
  7. package/jsx/build/FlowModeller/AddNodeUtils.mocks.js.map +1 -1
  8. package/jsx/build/FlowModeller/FlowModeller.mocks.d.ts +1 -1
  9. package/jsx/build/FlowModeller/FlowModeller.mocks.d.ts.map +1 -1
  10. package/jsx/build/FlowModeller/FlowModeller.mocks.jsx +23 -7
  11. package/jsx/build/FlowModeller/FlowModeller.mocks.jsx.map +1 -1
  12. package/jsx/build/FlowModeller/FlowModeller.stories.d.ts.map +1 -1
  13. package/jsx/build/FlowModeller/FlowModeller.stories.jsx +54 -21
  14. package/jsx/build/FlowModeller/FlowModeller.stories.jsx.map +1 -1
  15. package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
  16. package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx +91 -42
  17. package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx.map +1 -1
  18. package/jsx/build/Workbench/Workbench.stories.jsx +1 -1
  19. package/jsx/build/Workbench/Workbench.stories.jsx.map +1 -1
  20. package/jsx/condition-builder/ConditionBuilder/props.mock.d.ts.map +1 -1
  21. package/jsx/condition-builder/ConditionBuilder/props.mock.js +91 -57
  22. package/jsx/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
  23. package/jsx/core/Currency/Currency.stories.d.ts.map +1 -1
  24. package/jsx/core/Currency/Currency.stories.jsx +9 -3
  25. package/jsx/core/Currency/Currency.stories.jsx.map +1 -1
  26. package/jsx/core/Dialog/Dialog.stories.d.ts +6 -0
  27. package/jsx/core/Dialog/Dialog.stories.d.ts.map +1 -0
  28. package/jsx/core/Dialog/Dialog.stories.jsx +79 -0
  29. package/jsx/core/Dialog/Dialog.stories.jsx.map +1 -0
  30. package/jsx/core/ListToolbar/ListToolbar.stories.jsx +1 -1
  31. package/jsx/core/ListToolbar/ListToolbar.stories.jsx.map +1 -1
  32. package/jsx/social/Email/Email.mocks.d.ts +0 -16
  33. package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
  34. package/jsx/social/Email/Email.mocks.jsx +4 -5
  35. package/jsx/social/Email/Email.mocks.jsx.map +1 -1
  36. package/jsx/social/Email/Email.stories.d.ts.map +1 -1
  37. package/jsx/social/Email/Email.stories.jsx +2 -1
  38. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  39. package/jsx/social/Feed/Feed.mocks.d.ts +12 -17
  40. package/jsx/social/Feed/Feed.mocks.d.ts.map +1 -1
  41. package/jsx/social/Feed/Feed.mocks.jsx +10 -5
  42. package/jsx/social/Feed/Feed.mocks.jsx.map +1 -1
  43. package/jsx/social/Feed/Feed.stories.d.ts.map +1 -1
  44. package/jsx/social/Feed/Feed.stories.jsx +4 -3
  45. package/jsx/social/Feed/Feed.stories.jsx.map +1 -1
  46. package/jsx/social/Feed/FeedNewPost.stories.d.ts.map +1 -1
  47. package/jsx/social/Feed/FeedNewPost.stories.jsx +4 -3
  48. package/jsx/social/Feed/FeedNewPost.stories.jsx.map +1 -1
  49. package/jsx/social/Feed/FeedPost.stories.d.ts.map +1 -1
  50. package/jsx/social/Feed/FeedPost.stories.jsx +4 -3
  51. package/jsx/social/Feed/FeedPost.stories.jsx.map +1 -1
  52. package/jsx/social/Feed/FeedReplyInput.stories.d.ts.map +1 -1
  53. package/jsx/social/Feed/FeedReplyInput.stories.jsx +4 -3
  54. package/jsx/social/Feed/FeedReplyInput.stories.jsx.map +1 -1
  55. package/jsx/work/AppAnnouncement/AppAnnouncement.stories.d.ts.map +1 -1
  56. package/jsx/work/AppAnnouncement/AppAnnouncement.stories.jsx +3 -1
  57. package/jsx/work/AppAnnouncement/AppAnnouncement.stories.jsx.map +1 -1
  58. package/jsx/work/Tasks/TaskList.stories.d.ts.map +1 -1
  59. package/jsx/work/Tasks/TaskList.stories.jsx +3 -1
  60. package/jsx/work/Tasks/TaskList.stories.jsx.map +1 -1
  61. package/jsx/work/Tasks/Tasks.stories.d.ts +1 -0
  62. package/jsx/work/Tasks/Tasks.stories.d.ts.map +1 -1
  63. package/jsx/work/Tasks/Tasks.stories.jsx +5 -6
  64. package/jsx/work/Tasks/Tasks.stories.jsx.map +1 -1
  65. package/lib/build/AppHeader/AppHeader.stories.d.ts +1 -1
  66. package/lib/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
  67. package/lib/build/AppHeader/AppHeader.stories.js +100 -80
  68. package/lib/build/AppHeader/AppHeader.stories.js.map +1 -1
  69. package/lib/build/FlowModeller/AddNodeUtils.mocks.d.ts +4 -4
  70. package/lib/build/FlowModeller/AddNodeUtils.mocks.d.ts.map +1 -1
  71. package/lib/build/FlowModeller/AddNodeUtils.mocks.js.map +1 -1
  72. package/lib/build/FlowModeller/FlowModeller.mocks.d.ts +1 -1
  73. package/lib/build/FlowModeller/FlowModeller.mocks.d.ts.map +1 -1
  74. package/lib/build/FlowModeller/FlowModeller.mocks.js +24 -7
  75. package/lib/build/FlowModeller/FlowModeller.mocks.js.map +1 -1
  76. package/lib/build/FlowModeller/FlowModeller.stories.d.ts.map +1 -1
  77. package/lib/build/FlowModeller/FlowModeller.stories.js +56 -18
  78. package/lib/build/FlowModeller/FlowModeller.stories.js.map +1 -1
  79. package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
  80. package/lib/build/ObjectSelect/ObjectSelect.mocks.js +91 -42
  81. package/lib/build/ObjectSelect/ObjectSelect.mocks.js.map +1 -1
  82. package/lib/build/Workbench/Workbench.stories.js +1 -1
  83. package/lib/build/Workbench/Workbench.stories.js.map +1 -1
  84. package/lib/condition-builder/ConditionBuilder/props.mock.d.ts.map +1 -1
  85. package/lib/condition-builder/ConditionBuilder/props.mock.js +91 -57
  86. package/lib/condition-builder/ConditionBuilder/props.mock.js.map +1 -1
  87. package/lib/core/Currency/Currency.stories.d.ts.map +1 -1
  88. package/lib/core/Currency/Currency.stories.js +9 -3
  89. package/lib/core/Currency/Currency.stories.js.map +1 -1
  90. package/lib/core/Dialog/Dialog.stories.d.ts +6 -0
  91. package/lib/core/Dialog/Dialog.stories.d.ts.map +1 -0
  92. package/lib/core/Dialog/Dialog.stories.js +47 -0
  93. package/lib/core/Dialog/Dialog.stories.js.map +1 -0
  94. package/lib/core/ListToolbar/ListToolbar.stories.js +1 -1
  95. package/lib/core/ListToolbar/ListToolbar.stories.js.map +1 -1
  96. package/lib/social/Email/Email.mocks.d.ts +0 -16
  97. package/lib/social/Email/Email.mocks.d.ts.map +1 -1
  98. package/lib/social/Email/Email.mocks.js +4 -5
  99. package/lib/social/Email/Email.mocks.js.map +1 -1
  100. package/lib/social/Email/Email.stories.d.ts.map +1 -1
  101. package/lib/social/Email/Email.stories.js +2 -1
  102. package/lib/social/Email/Email.stories.js.map +1 -1
  103. package/lib/social/Feed/Feed.mocks.d.ts +12 -17
  104. package/lib/social/Feed/Feed.mocks.d.ts.map +1 -1
  105. package/lib/social/Feed/Feed.mocks.js +10 -5
  106. package/lib/social/Feed/Feed.mocks.js.map +1 -1
  107. package/lib/social/Feed/Feed.stories.d.ts.map +1 -1
  108. package/lib/social/Feed/Feed.stories.js +4 -3
  109. package/lib/social/Feed/Feed.stories.js.map +1 -1
  110. package/lib/social/Feed/FeedNewPost.stories.d.ts.map +1 -1
  111. package/lib/social/Feed/FeedNewPost.stories.js +4 -3
  112. package/lib/social/Feed/FeedNewPost.stories.js.map +1 -1
  113. package/lib/social/Feed/FeedPost.stories.d.ts.map +1 -1
  114. package/lib/social/Feed/FeedPost.stories.js +4 -3
  115. package/lib/social/Feed/FeedPost.stories.js.map +1 -1
  116. package/lib/social/Feed/FeedReplyInput.stories.d.ts.map +1 -1
  117. package/lib/social/Feed/FeedReplyInput.stories.js +4 -3
  118. package/lib/social/Feed/FeedReplyInput.stories.js.map +1 -1
  119. package/lib/work/AppAnnouncement/AppAnnouncement.stories.d.ts.map +1 -1
  120. package/lib/work/AppAnnouncement/AppAnnouncement.stories.js +3 -1
  121. package/lib/work/AppAnnouncement/AppAnnouncement.stories.js.map +1 -1
  122. package/lib/work/Tasks/TaskList.stories.d.ts.map +1 -1
  123. package/lib/work/Tasks/TaskList.stories.js +3 -1
  124. package/lib/work/Tasks/TaskList.stories.js.map +1 -1
  125. package/lib/work/Tasks/Tasks.stories.d.ts +1 -0
  126. package/lib/work/Tasks/Tasks.stories.d.ts.map +1 -1
  127. package/lib/work/Tasks/Tasks.stories.js +5 -4
  128. package/lib/work/Tasks/Tasks.stories.js.map +1 -1
  129. package/package.json +9 -9
@@ -1,7 +1,7 @@
1
1
  import { memo, useState } from 'react';
2
2
  import { action } from '@storybook/addon-actions';
3
3
  import { FlowModeller, DirectedGraph, FlowModellerHelper, Workbench } from '@pega/cosmos-react-build';
4
- import { useOuterEvent, useEscape, useElement, Input } from '@pega/cosmos-react-core';
4
+ import { useOuterEvent, useEscape, useElement } from '@pega/cosmos-react-core';
5
5
  import { nodeLibrary, nodeActions, exampleCRMNodesData, exampleCRMConnectorsData, emptyNodesData, emptyConnectorsData, DecisionTable, DeletePopover } from './FlowModeller.mocks';
6
6
  import { StyledWrapper } from './FlowModeller.styles';
7
7
  export default {
@@ -20,9 +20,13 @@ export const EmptyFlowChartView = () => {
20
20
  const [open, setOpen] = useState(false);
21
21
  const [nodeData, setNodeData] = useState();
22
22
  const [showPopover, setPopover] = useState(false);
23
- const [buffer, setBuffer] = useState();
23
+ const [buffer, setBuffer] = useState({
24
+ nodes: [],
25
+ connectors: []
26
+ });
24
27
  const [target, setTarget] = useState(null);
25
28
  const [deletePopoverEl, setDeletePopoverEl] = useElement(null);
29
+ const [connectorData, setConnectorData] = useState();
26
30
  const selectNode = (nodeId) => {
27
31
  const graph = new DirectedGraph(graphData);
28
32
  const selectedNode = graph.getNode(nodeId);
@@ -48,7 +52,7 @@ export const EmptyFlowChartView = () => {
48
52
  metaData
49
53
  });
50
54
  if (UpdatedData) {
51
- setGraphData(UpdatedData);
55
+ setGraphData(UpdatedData.graphData);
52
56
  }
53
57
  };
54
58
  const deleteNode = (params) => {
@@ -60,9 +64,10 @@ export const EmptyFlowChartView = () => {
60
64
  setNodeData({ nodes: nodeData.nodes, connectors: outConnectors });
61
65
  setGraphData(updatedData);
62
66
  };
63
- const onDeleteRow = (updatedData, highlightsData, e) => {
67
+ const onDeleteRow = (updatedData, connector, highlightsData, e) => {
64
68
  setHighlightItems(highlightsData);
65
- setPopover(!showPopover);
69
+ setPopover(prevState => !prevState);
70
+ setConnectorData(connector);
66
71
  setBuffer(updatedData);
67
72
  if (e?.target instanceof Element) {
68
73
  const targetElem = e.target;
@@ -71,11 +76,25 @@ export const EmptyFlowChartView = () => {
71
76
  };
72
77
  const onDelete = () => {
73
78
  setHighlightItems(undefined);
74
- const graph = new DirectedGraph(buffer);
79
+ const updatedGraphData = buffer;
80
+ if (nodeData?.connectors.length === 2) {
81
+ const defaultConnector = nodeData?.connectors[0].id !== connectorData?.id
82
+ ? nodeData?.connectors[0]
83
+ : nodeData?.connectors[1];
84
+ for (let i = 0; i < updatedGraphData.connectors.length; i += 1) {
85
+ const connectorEdge = updatedGraphData.connectors[i];
86
+ if (connectorEdge.id === defaultConnector.id &&
87
+ (connectorEdge.label === 'Default' || connectorEdge.label === 'Otherwise')) {
88
+ connectorEdge.label = '';
89
+ break;
90
+ }
91
+ }
92
+ }
93
+ const graph = new DirectedGraph(updatedGraphData);
75
94
  const outConnectors = graph.getOutConnectors(nodeData.nodes[0].id);
76
95
  setNodeData({ nodes: nodeData.nodes, connectors: outConnectors });
77
- if (buffer)
78
- setGraphData(buffer);
96
+ if (updatedGraphData)
97
+ setGraphData(updatedGraphData);
79
98
  setPopover(false);
80
99
  };
81
100
  const onCancel = () => {
@@ -114,9 +133,13 @@ export const CRMFlowChartView = (args) => {
114
133
  const [open, setOpen] = useState(false);
115
134
  const [nodeData, setNodeData] = useState();
116
135
  const [showPopover, setPopover] = useState(false);
117
- const [buffer, setBuffer] = useState();
136
+ const [buffer, setBuffer] = useState({
137
+ nodes: [],
138
+ connectors: []
139
+ });
118
140
  const [target, setTarget] = useState(null);
119
141
  const [deletePopoverEl, setDeletePopoverEl] = useElement(null);
142
+ const [connectorData, setConnectorData] = useState();
120
143
  const exampleErrorNodes = exampleCRMNodesData.map((node) => {
121
144
  if (node.id === '101' || node.id === '105' || node.id === '110' || node.id === '112') {
122
145
  return { ...node, error: 'Something is wrong!' };
@@ -148,7 +171,7 @@ export const CRMFlowChartView = (args) => {
148
171
  metaData
149
172
  });
150
173
  if (UpdatedData) {
151
- setGraphData(UpdatedData);
174
+ setGraphData(UpdatedData.graphData);
152
175
  }
153
176
  };
154
177
  const deleteNode = (params) => {
@@ -160,9 +183,10 @@ export const CRMFlowChartView = (args) => {
160
183
  setNodeData({ nodes: nodeData.nodes, connectors: outConnectors });
161
184
  setGraphData(updatedData);
162
185
  };
163
- const onDeleteRow = (updatedData, highlightsData, e) => {
186
+ const onDeleteRow = (updatedData, connector, highlightsData, e) => {
164
187
  setHighlightItems(highlightsData);
165
- setPopover(!showPopover);
188
+ setPopover(prevState => !prevState);
189
+ setConnectorData(connector);
166
190
  setBuffer(updatedData);
167
191
  if (e?.target instanceof Element) {
168
192
  const targetElem = e.target;
@@ -172,24 +196,33 @@ export const CRMFlowChartView = (args) => {
172
196
  const onDelete = () => {
173
197
  setPopover(false);
174
198
  setHighlightItems(undefined);
175
- const graph = new DirectedGraph(buffer);
199
+ const updatedGraphData = buffer;
200
+ if (nodeData?.connectors.length === 2) {
201
+ const defaultConnector = nodeData?.connectors[0].id !== connectorData?.id
202
+ ? nodeData?.connectors[0]
203
+ : nodeData?.connectors[1];
204
+ for (let i = 0; i < updatedGraphData.connectors.length; i += 1) {
205
+ const connectorEdge = updatedGraphData.connectors[i];
206
+ if (connectorEdge.id === defaultConnector.id &&
207
+ (connectorEdge.label === 'Default' || connectorEdge.label === 'Otherwise')) {
208
+ connectorEdge.label = '';
209
+ break;
210
+ }
211
+ }
212
+ }
213
+ const graph = new DirectedGraph(updatedGraphData);
176
214
  const outConnectors = graph.getOutConnectors(nodeData.nodes[0].id);
177
215
  setNodeData({ nodes: nodeData.nodes, connectors: outConnectors });
178
- if (buffer)
179
- setGraphData(buffer);
216
+ if (updatedGraphData)
217
+ setGraphData(updatedGraphData);
180
218
  };
181
219
  const onCancel = () => {
182
220
  setHighlightItems(undefined);
183
221
  setPopover(false);
184
222
  };
185
223
  const WorkbenchContent = memo(() => {
186
- const connectorsLength = nodeData?.nodes[0].type.minConnectors || 1;
187
224
  return (<>
188
- {nodeData && connectorsLength > 1 && (<DecisionTable updatedData={graphData} connectors={nodeData?.connectors} onDeleteRow={onDeleteRow} node={nodeData?.nodes[0]} onAddRow={onAddRow} readOnly={args.readOnly}/>)}
189
- {nodeData && connectorsLength <= 1 && (<>
190
- <Input label='Label' defaultValue={nodeData?.nodes[0].label}/>
191
- <Input label='Description' defaultValue={nodeData?.nodes[0].description}/>
192
- </>)}
225
+ {nodeData && (<DecisionTable updatedData={graphData} connectors={nodeData?.connectors} onDeleteRow={onDeleteRow} node={nodeData?.nodes[0]} onAddRow={onAddRow} readOnly={args.readOnly}/>)}
193
226
  </>);
194
227
  });
195
228
  useEscape(onCancel);
@@ -1 +1 @@
1
- {"version":3,"file":"FlowModeller.stories.jsx","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { memo, useState } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n FlowModeller,\n ActionParams,\n NodeProps,\n NodeType,\n DirectedGraph,\n GraphData,\n DeleteNodeOutcome,\n ConnectorProps,\n FlowModellerHelper,\n AddNodeHandlerParams,\n RendererProps,\n Workbench,\n FlowModellerProps\n} from '@pega/cosmos-react-build';\nimport { useOuterEvent, useEscape, useElement, Input } from '@pega/cosmos-react-core';\n\nimport {\n nodeLibrary,\n nodeActions,\n exampleCRMNodesData,\n exampleCRMConnectorsData,\n emptyNodesData,\n emptyConnectorsData,\n DecisionTable,\n DeletePopover\n} from './FlowModeller.mocks';\nimport { StyledWrapper } from './FlowModeller.styles';\n\nexport default {\n title: 'Build/FlowModeller',\n component: FlowModeller,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\ninterface FlowChartDemoProps extends FlowModellerProps {\n showErrorState?: boolean;\n readOnly?: boolean;\n}\n\nexport const EmptyFlowChartView: Story = () => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: emptyNodesData,\n connectors: emptyConnectorsData\n });\n const [highlightItems, setHighlightItems] = useState<RendererProps['highlights']>();\n const [open, setOpen] = useState(false);\n const [nodeData, setNodeData] = useState<GraphData<NodeProps, ConnectorProps>>();\n const [showPopover, setPopover] = useState(false);\n const [buffer, setBuffer] = useState<GraphData<NodeProps, ConnectorProps>>();\n const [target, setTarget] = useState<string | null>(null);\n const [deletePopoverEl, setDeletePopoverEl] = useElement<HTMLElement>(null);\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const selectedNode = graph.getNode(nodeId);\n const outConnectors = graph.getOutConnectors(nodeId);\n setOpen(true);\n setNodeData({\n nodes: [selectedNode],\n connectors: outConnectors\n });\n };\n\n const onNodeActionClick = (params: ActionParams) => {\n if (params.actionId === 'action-2') {\n action(`ressigned ${params.nodeId}`)();\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Unknown action ${params.actionId}`);\n }\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n metaData\n });\n if (UpdatedData) {\n setGraphData(UpdatedData);\n }\n };\n\n const deleteNode = (params: ActionParams) => {\n setGraphData((params.additionalData as DeleteNodeOutcome)?.graphData);\n };\n\n const onAddRow = (updatedData: GraphData<NodeProps, ConnectorProps>) => {\n const graph = new DirectedGraph(updatedData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n setGraphData(updatedData);\n };\n\n const onDeleteRow = (\n updatedData: GraphData<NodeProps, ConnectorProps>,\n highlightsData?: RendererProps['highlights'],\n e?: MouseEvent\n ) => {\n setHighlightItems(highlightsData);\n setPopover(!showPopover);\n setBuffer(updatedData);\n if (e?.target instanceof Element) {\n const targetElem = e.target;\n setTarget(targetElem?.getAttribute('id'));\n }\n };\n\n const onDelete = () => {\n setHighlightItems(undefined);\n const graph = new DirectedGraph(buffer);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n if (buffer) setGraphData(buffer);\n setPopover(false);\n };\n\n const onCancel = () => {\n setHighlightItems(undefined);\n setPopover(false);\n };\n\n const WorkbenchContent = memo(() => {\n return (\n <>\n {nodeData && (\n <DecisionTable\n updatedData={graphData}\n connectors={nodeData?.connectors}\n onDeleteRow={onDeleteRow}\n node={nodeData?.nodes[0]}\n onAddRow={onAddRow}\n />\n )}\n </>\n );\n });\n useEscape(() => {\n onCancel();\n });\n\n useOuterEvent('mousedown', [deletePopoverEl], onCancel);\n\n return (\n <StyledWrapper>\n <Workbench\n initiallyVisiblePanelId={undefined}\n configurationPanel={{\n open,\n content: <WorkbenchContent />,\n header: nodeData?.nodes[0].label as string,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowModeller\n graphData={graphData}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n highlightData={highlightItems}\n onNodeActionClick={onNodeActionClick}\n onDelete={deleteNode}\n />\n <DeletePopover\n targetId={target}\n ref={setDeletePopoverEl}\n onDelete={onDelete}\n onCancel={onCancel}\n showPopover={showPopover}\n />\n </Workbench>\n </StyledWrapper>\n );\n};\n\nexport const CRMFlowChartView: Story<Partial<FlowChartDemoProps>> = (\n args: Partial<FlowChartDemoProps>\n) => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: exampleCRMNodesData,\n connectors: exampleCRMConnectorsData\n });\n const [highlightItems, setHighlightItems] = useState<RendererProps['highlights']>();\n const [open, setOpen] = useState(false);\n // nodeData maintains the state of selected node\n const [nodeData, setNodeData] = useState<GraphData<NodeProps, ConnectorProps>>();\n const [showPopover, setPopover] = useState(false);\n const [buffer, setBuffer] = useState<GraphData<NodeProps, ConnectorProps>>();\n const [target, setTarget] = useState<string | null>(null);\n const [deletePopoverEl, setDeletePopoverEl] = useElement<HTMLElement>(null);\n\n const exampleErrorNodes = exampleCRMNodesData.map((node: NodeProps) => {\n if (node.id === '101' || node.id === '105' || node.id === '110' || node.id === '112') {\n return { ...node, error: 'Something is wrong!' };\n }\n return node;\n });\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const selectedNode = graph.getNode(nodeId);\n const outConnectors = graph.getOutConnectors(nodeId);\n setOpen(true);\n setNodeData({\n nodes: [selectedNode],\n connectors: outConnectors\n });\n };\n\n const onNodeActionClick = (params: ActionParams) => {\n if (params.actionId === 'action-2') {\n action(`ressigned ${params.nodeId}`)();\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Unknown action ${params.actionId}`);\n }\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n metaData\n });\n if (UpdatedData) {\n setGraphData(UpdatedData);\n }\n };\n\n const deleteNode = (params: ActionParams) => {\n setGraphData((params.additionalData as DeleteNodeOutcome)?.graphData);\n };\n\n const onAddRow = (updatedData: GraphData<NodeProps, ConnectorProps>) => {\n const graph = new DirectedGraph(updatedData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n setGraphData(updatedData);\n };\n\n const onDeleteRow = (\n updatedData: GraphData<NodeProps, ConnectorProps>,\n highlightsData?: RendererProps['highlights'],\n e?: MouseEvent\n ) => {\n setHighlightItems(highlightsData);\n setPopover(!showPopover);\n setBuffer(updatedData);\n if (e?.target instanceof Element) {\n const targetElem = e.target;\n setTarget(targetElem?.getAttribute('id'));\n }\n };\n\n const onDelete = () => {\n setPopover(false);\n setHighlightItems(undefined);\n const graph = new DirectedGraph(buffer);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n if (buffer) setGraphData(buffer);\n };\n\n const onCancel = () => {\n setHighlightItems(undefined);\n setPopover(false);\n };\n\n const WorkbenchContent = memo(() => {\n // Decision table is shown only to those nodes with min 2 connectors.\n const connectorsLength = nodeData?.nodes[0].type.minConnectors || 1;\n return (\n <>\n {nodeData && connectorsLength > 1 && (\n <DecisionTable\n updatedData={graphData}\n connectors={nodeData?.connectors}\n onDeleteRow={onDeleteRow}\n node={nodeData?.nodes[0]}\n onAddRow={onAddRow}\n readOnly={args.readOnly}\n />\n )}\n {nodeData && connectorsLength <= 1 && (\n <>\n <Input label='Label' defaultValue={nodeData?.nodes[0].label} />\n <Input label='Description' defaultValue={nodeData?.nodes[0].description} />\n </>\n )}\n </>\n );\n });\n\n useEscape(onCancel);\n\n useOuterEvent('mousedown', [deletePopoverEl], onCancel);\n\n return (\n <StyledWrapper>\n <Workbench\n initiallyVisiblePanelId={undefined}\n configurationPanel={{\n open,\n content: <WorkbenchContent />,\n header: nodeData?.nodes[0].label as string,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowModeller\n graphData={args.showErrorState ? { ...graphData, nodes: exampleErrorNodes } : graphData}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n highlightData={highlightItems}\n onNodeActionClick={onNodeActionClick}\n onDelete={deleteNode}\n readOnly={args.readOnly}\n />\n <DeletePopover\n targetId={target}\n ref={setDeletePopoverEl}\n onDelete={onDelete}\n onCancel={onCancel}\n showPopover={showPopover}\n />\n </Workbench>\n </StyledWrapper>\n );\n};\n\nCRMFlowChartView.args = {\n showErrorState: false,\n readOnly: false\n};\n\nCRMFlowChartView.argTypes = {\n showErrorState: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"FlowModeller.stories.jsx","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { memo, useState } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n FlowModeller,\n ActionParams,\n NodeProps,\n NodeType,\n DirectedGraph,\n GraphData,\n DeleteNodeOutcome,\n ConnectorProps,\n FlowModellerHelper,\n AddNodeHandlerParams,\n RendererProps,\n Workbench,\n FlowModellerProps\n} from '@pega/cosmos-react-build';\nimport { useOuterEvent, useEscape, useElement } from '@pega/cosmos-react-core';\n\nimport {\n nodeLibrary,\n nodeActions,\n exampleCRMNodesData,\n exampleCRMConnectorsData,\n emptyNodesData,\n emptyConnectorsData,\n DecisionTable,\n DeletePopover\n} from './FlowModeller.mocks';\nimport { StyledWrapper } from './FlowModeller.styles';\n\nexport default {\n title: 'Build/FlowModeller',\n component: FlowModeller,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\ninterface FlowChartDemoProps extends FlowModellerProps {\n showErrorState?: boolean;\n readOnly?: boolean;\n}\n\nexport const EmptyFlowChartView: Story = () => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: emptyNodesData,\n connectors: emptyConnectorsData\n });\n const [highlightItems, setHighlightItems] = useState<RendererProps['highlights']>();\n const [open, setOpen] = useState(false);\n const [nodeData, setNodeData] = useState<GraphData<NodeProps, ConnectorProps>>();\n const [showPopover, setPopover] = useState(false);\n const [buffer, setBuffer] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: [],\n connectors: []\n });\n const [target, setTarget] = useState<string | null>(null);\n const [deletePopoverEl, setDeletePopoverEl] = useElement<HTMLElement>(null);\n const [connectorData, setConnectorData] = useState<ConnectorProps>();\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const selectedNode = graph.getNode(nodeId);\n const outConnectors = graph.getOutConnectors(nodeId);\n setOpen(true);\n setNodeData({\n nodes: [selectedNode],\n connectors: outConnectors\n });\n };\n\n const onNodeActionClick = (params: ActionParams) => {\n if (params.actionId === 'action-2') {\n action(`ressigned ${params.nodeId}`)();\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Unknown action ${params.actionId}`);\n }\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n metaData\n });\n if (UpdatedData) {\n setGraphData(UpdatedData.graphData);\n }\n };\n\n const deleteNode = (params: ActionParams) => {\n setGraphData((params.additionalData as DeleteNodeOutcome)?.graphData);\n };\n\n const onAddRow = (updatedData: GraphData<NodeProps, ConnectorProps>) => {\n const graph = new DirectedGraph(updatedData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n setGraphData(updatedData);\n };\n\n const onDeleteRow = (\n updatedData: GraphData<NodeProps, ConnectorProps>,\n connector: ConnectorProps,\n highlightsData?: RendererProps['highlights'],\n e?: MouseEvent\n ) => {\n setHighlightItems(highlightsData);\n setPopover(prevState => !prevState);\n setConnectorData(connector);\n setBuffer(updatedData);\n if (e?.target instanceof Element) {\n const targetElem = e.target;\n setTarget(targetElem?.getAttribute('id'));\n }\n };\n\n const onDelete = () => {\n setHighlightItems(undefined);\n\n const updatedGraphData: GraphData<NodeProps, ConnectorProps> = buffer;\n // Remove default labels when the current number of connectors are one\n if (nodeData?.connectors.length === 2) {\n const defaultConnector: ConnectorProps =\n nodeData?.connectors[0].id !== connectorData?.id\n ? nodeData?.connectors[0]\n : nodeData?.connectors[1];\n for (let i = 0; i < updatedGraphData.connectors.length; i += 1) {\n const connectorEdge: ConnectorProps = updatedGraphData.connectors[i];\n if (\n connectorEdge.id === defaultConnector.id &&\n (connectorEdge.label === 'Default' || connectorEdge.label === 'Otherwise')\n ) {\n connectorEdge.label = '';\n break;\n }\n }\n }\n\n const graph = new DirectedGraph(updatedGraphData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n if (updatedGraphData) setGraphData(updatedGraphData);\n setPopover(false);\n };\n\n const onCancel = () => {\n setHighlightItems(undefined);\n setPopover(false);\n };\n\n const WorkbenchContent = memo(() => {\n return (\n <>\n {nodeData && (\n <DecisionTable\n updatedData={graphData}\n connectors={nodeData?.connectors}\n onDeleteRow={onDeleteRow}\n node={nodeData?.nodes[0]}\n onAddRow={onAddRow}\n />\n )}\n </>\n );\n });\n useEscape(() => {\n onCancel();\n });\n\n useOuterEvent('mousedown', [deletePopoverEl], onCancel);\n\n return (\n <StyledWrapper>\n <Workbench\n initiallyVisiblePanelId={undefined}\n configurationPanel={{\n open,\n content: <WorkbenchContent />,\n header: nodeData?.nodes[0].label as string,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowModeller\n graphData={graphData}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n highlightData={highlightItems}\n onNodeActionClick={onNodeActionClick}\n onDelete={deleteNode}\n />\n <DeletePopover\n targetId={target}\n ref={setDeletePopoverEl}\n onDelete={onDelete}\n onCancel={onCancel}\n showPopover={showPopover}\n />\n </Workbench>\n </StyledWrapper>\n );\n};\n\nexport const CRMFlowChartView: Story<Partial<FlowChartDemoProps>> = (\n args: Partial<FlowChartDemoProps>\n) => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: exampleCRMNodesData,\n connectors: exampleCRMConnectorsData\n });\n const [highlightItems, setHighlightItems] = useState<RendererProps['highlights']>();\n const [open, setOpen] = useState(false);\n // nodeData maintains the state of selected node\n const [nodeData, setNodeData] = useState<GraphData<NodeProps, ConnectorProps>>();\n const [showPopover, setPopover] = useState(false);\n const [buffer, setBuffer] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: [],\n connectors: []\n });\n const [target, setTarget] = useState<string | null>(null);\n const [deletePopoverEl, setDeletePopoverEl] = useElement<HTMLElement>(null);\n const [connectorData, setConnectorData] = useState<ConnectorProps>();\n\n const exampleErrorNodes = exampleCRMNodesData.map((node: NodeProps) => {\n if (node.id === '101' || node.id === '105' || node.id === '110' || node.id === '112') {\n return { ...node, error: 'Something is wrong!' };\n }\n return node;\n });\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const selectedNode = graph.getNode(nodeId);\n const outConnectors = graph.getOutConnectors(nodeId);\n setOpen(true);\n setNodeData({\n nodes: [selectedNode],\n connectors: outConnectors\n });\n };\n\n const onNodeActionClick = (params: ActionParams) => {\n if (params.actionId === 'action-2') {\n action(`ressigned ${params.nodeId}`)();\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Unknown action ${params.actionId}`);\n }\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n metaData\n });\n if (UpdatedData) {\n setGraphData(UpdatedData.graphData);\n }\n };\n\n const deleteNode = (params: ActionParams) => {\n setGraphData((params.additionalData as DeleteNodeOutcome)?.graphData);\n };\n\n const onAddRow = (updatedData: GraphData<NodeProps, ConnectorProps>) => {\n const graph = new DirectedGraph(updatedData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n setGraphData(updatedData);\n };\n\n const onDeleteRow = (\n updatedData: GraphData<NodeProps, ConnectorProps>,\n connector: ConnectorProps,\n highlightsData?: RendererProps['highlights'],\n e?: MouseEvent\n ) => {\n setHighlightItems(highlightsData);\n setPopover(prevState => !prevState);\n setConnectorData(connector);\n setBuffer(updatedData);\n if (e?.target instanceof Element) {\n const targetElem = e.target;\n setTarget(targetElem?.getAttribute('id'));\n }\n };\n\n const onDelete = () => {\n setPopover(false);\n setHighlightItems(undefined);\n\n const updatedGraphData: GraphData<NodeProps, ConnectorProps> = buffer;\n // Remove default labels when the current number of connectors are one\n if (nodeData?.connectors.length === 2) {\n const defaultConnector: ConnectorProps =\n nodeData?.connectors[0].id !== connectorData?.id\n ? nodeData?.connectors[0]\n : nodeData?.connectors[1];\n for (let i = 0; i < updatedGraphData.connectors.length; i += 1) {\n const connectorEdge: ConnectorProps = updatedGraphData.connectors[i];\n if (\n connectorEdge.id === defaultConnector.id &&\n (connectorEdge.label === 'Default' || connectorEdge.label === 'Otherwise')\n ) {\n connectorEdge.label = '';\n break;\n }\n }\n }\n\n const graph = new DirectedGraph(updatedGraphData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n if (updatedGraphData) setGraphData(updatedGraphData);\n };\n\n const onCancel = () => {\n setHighlightItems(undefined);\n setPopover(false);\n };\n\n const WorkbenchContent = memo(() => {\n return (\n <>\n {nodeData && (\n <DecisionTable\n updatedData={graphData}\n connectors={nodeData?.connectors}\n onDeleteRow={onDeleteRow}\n node={nodeData?.nodes[0]}\n onAddRow={onAddRow}\n readOnly={args.readOnly}\n />\n )}\n </>\n );\n });\n\n useEscape(onCancel);\n\n useOuterEvent('mousedown', [deletePopoverEl], onCancel);\n\n return (\n <StyledWrapper>\n <Workbench\n initiallyVisiblePanelId={undefined}\n configurationPanel={{\n open,\n content: <WorkbenchContent />,\n header: nodeData?.nodes[0].label as string,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowModeller\n graphData={args.showErrorState ? { ...graphData, nodes: exampleErrorNodes } : graphData}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n highlightData={highlightItems}\n onNodeActionClick={onNodeActionClick}\n onDelete={deleteNode}\n readOnly={args.readOnly}\n />\n <DeletePopover\n targetId={target}\n ref={setDeletePopoverEl}\n onDelete={onDelete}\n onCancel={onCancel}\n showPopover={showPopover}\n />\n </Workbench>\n </StyledWrapper>\n );\n};\n\nCRMFlowChartView.args = {\n showErrorState: false,\n readOnly: false\n};\n\nCRMFlowChartView.argTypes = {\n showErrorState: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectSelect.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAuB,MAAM,OAAO,CAAC;AAErF,OAAO,EAML,mBAAmB,EACnB,KAAK,EACN,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAOL,aAAa,EAGb,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAI1F,UAAU,SAAU,SAAQ,gBAAgB;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;CACzC;AAED,UAAU,WAAW;IACnB,UAAU,CAAC,EAAE,aAAa,GAAG;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,YAAY;;;;;GAmCxB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;GAiDrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,EAkD7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAqB/B,CAAC;AAEF,eAAO,MAAM,UAAU,QAAO,SAAS,EAyBtC,CAAC;AAEF,eAAO,MAAM,YAAY,WACf,SAAS,EAAE,oBAKf,YAAY,gBAAgB,GAAG,mBAAmB,CAAC,GACnD,WAAW,gBAAgB,GAAG,mBAAmB,CAAC,gBAiBvD,CAAC;AAEF,eAAO,MAAM,cAAc,8CAA+C,WAAW,gBA4CpF,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,GAAG,gBA+C7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,sBAAsB,CA4GvD,CAAC"}
1
+ {"version":3,"file":"ObjectSelect.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAuB,MAAM,OAAO,CAAC;AAErF,OAAO,EAML,mBAAmB,EACnB,KAAK,EACN,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAOL,aAAa,EAGb,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAI1F,UAAU,SAAU,SAAQ,gBAAgB;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;CACzC;AAED,UAAU,WAAW;IACnB,UAAU,CAAC,EAAE,aAAa,GAAG;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,YAAY;;;;;GAmCxB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;GAiDrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,EAmG7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAqB/B,CAAC;AAEF,eAAO,MAAM,UAAU,QAAO,SAAS,EAyBtC,CAAC;AAEF,eAAO,MAAM,YAAY,WACf,SAAS,EAAE,oBAKf,YAAY,gBAAgB,GAAG,mBAAmB,CAAC,GACnD,WAAW,gBAAgB,GAAG,mBAAmB,CAAC,gBAiBvD,CAAC;AAEF,eAAO,MAAM,cAAc,8CAA+C,WAAW,gBA4CpF,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,GAAG,gBA+C7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,sBAAsB,CA4GvD,CAAC"}
@@ -90,55 +90,104 @@ export const dataPages = [
90
90
  }
91
91
  ];
92
92
  export const demoFields = [
93
- { name: 'employeeId', label: 'Employee ID', type: 'TEXT' },
94
- { name: 'firstName', label: 'First Name', type: 'TEXT' },
95
- { name: 'lastName', label: 'Last Name', type: 'TEXT' },
96
- { name: 'gender', label: 'Gender', type: 'TEXT' },
93
+ { id: 'employeeId', primary: 'Employee ID', type: 'TEXT' },
97
94
  {
98
- name: 'department',
99
- label: 'Department',
100
- type: 'TEXT',
101
- possibleValues: [
102
- 'Customer Service',
103
- 'Engineering',
104
- 'Facilities',
105
- 'Finance',
106
- 'HR',
107
- 'IT',
108
- 'Sales'
95
+ id: 'details',
96
+ primary: 'Details',
97
+ items: [
98
+ {
99
+ id: 'firstName',
100
+ primary: 'First Name',
101
+ type: 'TEXT'
102
+ },
103
+ {
104
+ id: 'lastName',
105
+ primary: 'Last Name',
106
+ type: 'TEXT',
107
+ possibleValues: () => {
108
+ return new Promise(resolve => {
109
+ setTimeout(() => {
110
+ resolve([
111
+ 'Value 1',
112
+ 'Value 2',
113
+ 'Value 3',
114
+ 'Value 4',
115
+ 'Value 5',
116
+ 'Value 6',
117
+ 'Value 7'
118
+ ]);
119
+ }, 5000);
120
+ });
121
+ }
122
+ },
123
+ { id: 'gender', primary: 'Gender', type: 'TEXT' },
124
+ {
125
+ id: 'age',
126
+ primary: 'Age',
127
+ type: 'NUMBER'
128
+ },
129
+ {
130
+ id: 'profileDetails',
131
+ primary: 'Profile Details',
132
+ items: [
133
+ {
134
+ id: 'experience',
135
+ primary: 'Experience (yrs)',
136
+ type: 'NUMBER'
137
+ },
138
+ {
139
+ id: 'department',
140
+ primary: 'Department',
141
+ type: 'TEXT',
142
+ possibleValues: [
143
+ 'Customer Service',
144
+ 'Engineering',
145
+ 'Facilities',
146
+ 'Finance',
147
+ 'HR',
148
+ 'IT',
149
+ 'Sales'
150
+ ]
151
+ }
152
+ ]
153
+ }
109
154
  ]
110
155
  },
111
- { name: 'age', label: 'Age', type: 'NUMBER' },
112
- { name: 'experience', label: 'Experience (yrs)', type: 'NUMBER' },
113
- { name: 'salary', label: 'Salary', type: 'NUMBER' },
114
- { name: 'hireDate', label: 'Hire Date', type: 'DATE_ONLY' },
115
- { name: 'dateOfBirth', label: 'Date of Birth', type: 'DATE_ONLY' },
116
- {
117
- name: 'shiftStartTime',
118
- label: 'Shift start time',
119
- type: 'TIME_ONLY',
120
- groupLabel: 'Technical details'
121
- },
122
156
  {
123
- name: 'shiftEndTime',
124
- label: 'Shift end time',
125
- type: 'TIME_ONLY',
126
- groupLabel: 'Technical details'
157
+ id: 'salary',
158
+ primary: 'Salary',
159
+ type: 'NUMBER'
127
160
  },
161
+ { id: 'hireDate', primary: 'Hire Date', type: 'DATE_ONLY' },
162
+ { id: 'dateOfBirth', primary: 'Date of Birth', type: 'DATE_ONLY' },
128
163
  {
129
- name: 'lastActivityAt',
130
- label: 'Last activity at',
131
- type: 'DATE_TIME',
132
- groupLabel: 'Technical details'
133
- },
134
- {
135
- name: 'nextPasswordReset',
136
- label: 'Next password reset',
137
- type: 'DATE_TIME',
138
- groupLabel: 'Technical details'
164
+ id: 'technicalDetails',
165
+ primary: 'Technical details',
166
+ items: [
167
+ {
168
+ id: 'shiftStartTime',
169
+ primary: 'Shift start time',
170
+ type: 'TIME_ONLY'
171
+ },
172
+ {
173
+ id: 'shiftEndTime',
174
+ primary: 'Shift end time',
175
+ type: 'TIME_ONLY'
176
+ },
177
+ {
178
+ id: 'lastActivityAt',
179
+ primary: 'Last activity at',
180
+ type: 'DATE_TIME'
181
+ },
182
+ {
183
+ id: 'nextPasswordReset',
184
+ primary: 'Next password reset',
185
+ type: 'DATE_TIME'
186
+ }
187
+ ]
139
188
  },
140
- { name: 'isSeniorCitizen', label: 'Is Senior Citizen', type: 'BOOLEAN' },
141
- { name: 'isRemoteEmployee', label: 'Is Remote Employee', type: 'BOOLEAN' }
189
+ { id: 'isSeniorCitizen', primary: 'Is Senior Citizen', type: 'BOOLEAN' },
190
+ { id: 'isRemoteEmployee', primary: 'Is Remote Employee', type: 'BOOLEAN' }
142
191
  ];
143
192
  export const demoDateFunctions = {
144
193
  DATE_TIME: [
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectSelect.mocks.jsx","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words XPTI\nimport { ChangeEvent, FC, FocusEvent, MouseEvent, useState, useEffect } from 'react';\n\nimport {\n AtomicCondition,\n LeafCondition,\n getInitConditionForLhs,\n RHSType,\n formatCondition,\n DateFunctionsByType,\n Field\n} from '@pega/cosmos-react-condition-builder';\nimport {\n Flex,\n Input,\n Card,\n CardContent,\n Text,\n menuHelpers,\n MenuItemProps,\n useI18n,\n StyledRegion,\n FormControlProps\n} from '@pega/cosmos-react-core';\nimport { ObjectSelect, ObjectSelectProps, ObjectPreview } from '@pega/cosmos-react-build';\n\nimport { StyledCodeBlock, StyledConfigurationContent } from './ObjectSelect.styles';\n\ninterface FormField extends FormControlProps {\n help?: string;\n error?: string;\n validator: (this: FormField) => boolean;\n}\n\ninterface DrawerProps {\n drawerData?: MenuItemProps & { metaData: any };\n drawerOpen: boolean;\n setDrawerOpen: (value: boolean) => void;\n}\n\nexport interface ObjectSelectStoryProps extends ObjectSelectProps {\n onSubmit?: (id: string, e: MouseEvent<HTMLElement>) => void;\n onCancel?: (id: string, e: MouseEvent<HTMLElement>) => void;\n popoverContent?: string;\n}\n\nexport const skeletonData = [\n {\n id: '01-1',\n primary: 'primary-link-1',\n secondary: ['secondary-1'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'primary-link-2',\n secondary: [\n 'secondary-1',\n 'secondary-2',\n 'secondary-3',\n 'secondary-4',\n 'secondary-5',\n 'secondary-6',\n 'secondary-7',\n 'secondary-8',\n 'secondary-9'\n ],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'primary-link-3',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'primary-link-4',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n }\n];\n\nexport const dataPages = [\n {\n id: '01-1',\n primary: 'MortgageRequestList-DataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-MortgageRequest'\n }\n ],\n secondary: ['O1XPTI-CCompass-Work-MortgageRequest'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'Credit Scores List Data Source',\n metaData: [\n {\n name: 'Scope',\n value: 'CreditScore'\n }\n ],\n secondary: ['Scope', 'CreditScore'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'GetAutoLoanByIDDataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n secondary: ['Scope', 'O1XPTI-CCompass-Work-AutoLoan'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'DS_pyMyWorkList',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n secondary: ['Scope', 'Assign-Worklist'],\n href: 'http://www.pega.com'\n }\n];\n\nexport const demoFields: Field[] = [\n { name: 'employeeId', label: 'Employee ID', type: 'TEXT' },\n { name: 'firstName', label: 'First Name', type: 'TEXT' },\n { name: 'lastName', label: 'Last Name', type: 'TEXT' },\n { name: 'gender', label: 'Gender', type: 'TEXT' },\n {\n name: 'department',\n label: 'Department',\n type: 'TEXT',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n },\n { name: 'age', label: 'Age', type: 'NUMBER' },\n { name: 'experience', label: 'Experience (yrs)', type: 'NUMBER' },\n { name: 'salary', label: 'Salary', type: 'NUMBER' },\n { name: 'hireDate', label: 'Hire Date', type: 'DATE_ONLY' },\n { name: 'dateOfBirth', label: 'Date of Birth', type: 'DATE_ONLY' },\n {\n name: 'shiftStartTime',\n label: 'Shift start time',\n type: 'TIME_ONLY',\n groupLabel: 'Technical details'\n },\n {\n name: 'shiftEndTime',\n label: 'Shift end time',\n type: 'TIME_ONLY',\n groupLabel: 'Technical details'\n },\n {\n name: 'lastActivityAt',\n label: 'Last activity at',\n type: 'DATE_TIME',\n groupLabel: 'Technical details'\n },\n {\n name: 'nextPasswordReset',\n label: 'Next password reset',\n type: 'DATE_TIME',\n groupLabel: 'Technical details'\n },\n { name: 'isSeniorCitizen', label: 'Is Senior Citizen', type: 'BOOLEAN' },\n { name: 'isRemoteEmployee', label: 'Is Remote Employee', type: 'BOOLEAN' }\n];\n\nexport const demoDateFunctions: DateFunctionsByType = {\n DATE_TIME: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'DAYS',\n 'HOURS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ],\n DATE_ONLY: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ]\n};\n\nexport const initFields = (): FormField[] => {\n const common = { value: undefined, status: undefined };\n return [\n {\n ...common,\n name: 'name',\n required: true,\n error: 'Please enter a valid name for table',\n validator() {\n if (!this.value) return false;\n return /^[a-z]{1}[a-z0-9]+$/i.test(this.value);\n }\n },\n {\n ...common,\n name: 'description',\n required: true,\n help: 'Give an appropriate description for the table',\n error: 'Field cannot be empty',\n validator() {\n if (!this.value) return false;\n return true;\n }\n }\n ];\n};\n\nexport const fieldReducer = (\n fields: FormField[],\n {\n target,\n type\n }:\n | ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n | FocusEvent<HTMLInputElement | HTMLTextAreaElement>\n) => {\n return fields.map(field => {\n if (field.name === target.name) {\n field.value = target.value;\n if (type === 'blur' || field.status === 'error') {\n if ((field.required || field.value) && !field.validator()) {\n field.status = 'error';\n field.info = field.error;\n } else {\n field.status = undefined;\n field.info = field.help;\n }\n }\n }\n return field;\n });\n};\n\nexport const ViewportDrawer = ({ drawerData, drawerOpen, setDrawerOpen }: DrawerProps) => {\n return (\n <ObjectPreview\n open={drawerOpen}\n onDismiss={() => setDrawerOpen(false)}\n header={{\n title: drawerData?.primary || '',\n metadata: drawerData?.metaData || [],\n additionalInfo: {\n title: drawerData?.primary || '',\n description: 'Interest rate for the savings account',\n fields: drawerData?.metaData || [],\n onEdit: () => {}\n }\n }}\n content={\n <StyledConfigurationContent>\n <StyledRegion style={{ minHeight: '100vh' }} />\n </StyledConfigurationContent>\n }\n primaryAction={{\n id: 'PA',\n text: 'Save',\n onClick: () => {}\n }}\n secondaryAction={{\n id: 'SA',\n text: 'Open rule',\n onClick: () => {}\n }}\n actions={{\n items: [\n {\n id: '1',\n text: 'Page action 1'\n },\n {\n id: '2',\n text: 'Page action 2'\n }\n ]\n }}\n />\n );\n};\n\nexport const ConfigurationContent = (args: any) => {\n const [showErrorIndicators] = useState(false);\n\n const ConditionBuilder = (\n <AtomicCondition\n condition={args.condition}\n fields={demoFields}\n indicateErrors={showErrorIndicators}\n dateFunctions={demoDateFunctions}\n onChange={c => args.setCondition(c)}\n itemDirection='row'\n showLhsAsLabel={false}\n validRhsTypes={args.validRHSTypes}\n />\n );\n\n const Inputs = (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Text variant='h4'>Inputs</Text>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {Array(10)\n .fill(0)\n .map((_, index) => (\n <Flex container={{ alignItems: 'end', gap: 1 }}>\n <Input\n label={`Name ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample key ${index + 1}`}\n disabled\n readOnly={args.readOnly}\n />\n <Input\n label={`Value ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample value ${index + 1}`}\n readOnly={args.readOnly}\n disabled={args.disabled}\n />\n </Flex>\n ))}\n </Flex>\n </Flex>\n );\n\n return args.popoverContent === 'advanced' ? ConditionBuilder : Inputs;\n};\n\nexport const ObjectSelectComp: FC<ObjectSelectStoryProps> = ({\n popoverContent,\n ...args\n}: ObjectSelectStoryProps) => {\n const t = useI18n();\n const [value, setValue] = useState<ObjectSelectProps['value']>(args.value);\n\n const convertRhsTypes = (\n useLiteralRHSType: boolean,\n useFieldRHSType: boolean,\n useRelativeDatesType: boolean,\n dateFunctions?: DateFunctionsByType\n ) => {\n const setRhsTypes: Set<RHSType> = new Set<RHSType>();\n if (useLiteralRHSType) setRhsTypes.add('LITERAL');\n if (useFieldRHSType) setRhsTypes.add('FIELD');\n if (dateFunctions) setRhsTypes.add('DATE_FUNCTION');\n if (useRelativeDatesType) setRhsTypes.add('RELATIVE_DATE');\n return setRhsTypes;\n };\n\n const [dataPagesDelayed, setDataPagesDelayed] = useState<ObjectSelectProps['items']>([]);\n const validRHSTypes: Set<RHSType> = convertRhsTypes(true, true, true, demoDateFunctions);\n const [submitCondition, setSubmitCondition] = useState<LeafCondition | undefined>(undefined);\n const [condition, setCondition] = useState(\n () =>\n submitCondition ||\n getInitConditionForLhs(\n { field: 'age' },\n demoFields,\n validRHSTypes,\n undefined,\n demoDateFunctions\n )\n );\n\n const handleSubmission = () => {\n setSubmitCondition(condition);\n };\n\n useEffect(() => {\n setTimeout(() => setDataPagesDelayed(dataPages), 2000);\n }, []);\n\n return (\n <Flex container={{ direction: 'column', gap: 1 }}>\n <ObjectSelect\n {...args}\n loading={dataPagesDelayed.length === 0}\n onChange={id => {\n const data = menuHelpers.getItem(dataPages, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n href: data.href ?? '#',\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n items={dataPagesDelayed}\n configuration={{\n label: args.disabled || args.readOnly ? 'View Configuration' : 'Edit Configuration',\n heading: 'Map Parameters',\n primaryAction: {\n id: 'submit',\n text: 'Submit',\n onClick: popoverContent === 'advanced' ? handleSubmission : args.onSubmit\n },\n secondaryAction: {\n id: 'cancel',\n text: 'Cancel',\n onClick: args.onCancel\n },\n content: (\n <ConfigurationContent\n {...args}\n popoverContent={popoverContent}\n condition={condition}\n setCondition={setCondition}\n validRHSTypes={validRHSTypes}\n />\n )\n }}\n value={value}\n onPreview={(id, e: { href: string }) => {\n args.onPreview?.(id, e);\n }}\n />\n {popoverContent === 'advanced' && (\n <Card>\n <CardContent>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {submitCondition ? JSON.stringify(submitCondition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {submitCondition\n ? formatCondition({ condition: submitCondition }, demoFields, t)\n : '(No condition)'}\n </StyledCodeBlock>\n </CardContent>\n </Card>\n )}\n </Flex>\n );\n};\n"]}
1
+ {"version":3,"file":"ObjectSelect.mocks.jsx","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words XPTI\nimport { ChangeEvent, FC, FocusEvent, MouseEvent, useState, useEffect } from 'react';\n\nimport {\n AtomicCondition,\n LeafCondition,\n getInitConditionForLhs,\n RHSType,\n formatCondition,\n DateFunctionsByType,\n Field\n} from '@pega/cosmos-react-condition-builder';\nimport {\n Flex,\n Input,\n Card,\n CardContent,\n Text,\n menuHelpers,\n MenuItemProps,\n useI18n,\n StyledRegion,\n FormControlProps\n} from '@pega/cosmos-react-core';\nimport { ObjectSelect, ObjectSelectProps, ObjectPreview } from '@pega/cosmos-react-build';\n\nimport { StyledCodeBlock, StyledConfigurationContent } from './ObjectSelect.styles';\n\ninterface FormField extends FormControlProps {\n help?: string;\n error?: string;\n validator: (this: FormField) => boolean;\n}\n\ninterface DrawerProps {\n drawerData?: MenuItemProps & { metaData: any };\n drawerOpen: boolean;\n setDrawerOpen: (value: boolean) => void;\n}\n\nexport interface ObjectSelectStoryProps extends ObjectSelectProps {\n onSubmit?: (id: string, e: MouseEvent<HTMLElement>) => void;\n onCancel?: (id: string, e: MouseEvent<HTMLElement>) => void;\n popoverContent?: string;\n}\n\nexport const skeletonData = [\n {\n id: '01-1',\n primary: 'primary-link-1',\n secondary: ['secondary-1'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'primary-link-2',\n secondary: [\n 'secondary-1',\n 'secondary-2',\n 'secondary-3',\n 'secondary-4',\n 'secondary-5',\n 'secondary-6',\n 'secondary-7',\n 'secondary-8',\n 'secondary-9'\n ],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'primary-link-3',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'primary-link-4',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n }\n];\n\nexport const dataPages = [\n {\n id: '01-1',\n primary: 'MortgageRequestList-DataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-MortgageRequest'\n }\n ],\n secondary: ['O1XPTI-CCompass-Work-MortgageRequest'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'Credit Scores List Data Source',\n metaData: [\n {\n name: 'Scope',\n value: 'CreditScore'\n }\n ],\n secondary: ['Scope', 'CreditScore'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'GetAutoLoanByIDDataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n secondary: ['Scope', 'O1XPTI-CCompass-Work-AutoLoan'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'DS_pyMyWorkList',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n secondary: ['Scope', 'Assign-Worklist'],\n href: 'http://www.pega.com'\n }\n];\n\nexport const demoFields: Field[] = [\n { id: 'employeeId', primary: 'Employee ID', type: 'TEXT' },\n {\n id: 'details',\n primary: 'Details',\n items: [\n {\n id: 'firstName',\n primary: 'First Name',\n type: 'TEXT'\n },\n {\n id: 'lastName',\n primary: 'Last Name',\n type: 'TEXT',\n possibleValues: () => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n 'Value 1',\n 'Value 2',\n 'Value 3',\n 'Value 4',\n 'Value 5',\n 'Value 6',\n 'Value 7'\n ]);\n }, 5000);\n });\n }\n },\n { id: 'gender', primary: 'Gender', type: 'TEXT' },\n {\n id: 'age',\n primary: 'Age',\n type: 'NUMBER'\n },\n {\n id: 'profileDetails',\n primary: 'Profile Details',\n items: [\n {\n id: 'experience',\n primary: 'Experience (yrs)',\n type: 'NUMBER'\n },\n {\n id: 'department',\n primary: 'Department',\n type: 'TEXT',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n }\n ]\n }\n ]\n },\n {\n id: 'salary',\n primary: 'Salary',\n type: 'NUMBER'\n },\n { id: 'hireDate', primary: 'Hire Date', type: 'DATE_ONLY' },\n { id: 'dateOfBirth', primary: 'Date of Birth', type: 'DATE_ONLY' },\n {\n id: 'technicalDetails',\n primary: 'Technical details',\n items: [\n {\n id: 'shiftStartTime',\n primary: 'Shift start time',\n type: 'TIME_ONLY'\n },\n {\n id: 'shiftEndTime',\n primary: 'Shift end time',\n type: 'TIME_ONLY'\n },\n {\n id: 'lastActivityAt',\n primary: 'Last activity at',\n type: 'DATE_TIME'\n },\n {\n id: 'nextPasswordReset',\n primary: 'Next password reset',\n type: 'DATE_TIME'\n }\n ]\n },\n { id: 'isSeniorCitizen', primary: 'Is Senior Citizen', type: 'BOOLEAN' },\n { id: 'isRemoteEmployee', primary: 'Is Remote Employee', type: 'BOOLEAN' }\n];\n\nexport const demoDateFunctions: DateFunctionsByType = {\n DATE_TIME: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'DAYS',\n 'HOURS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ],\n DATE_ONLY: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ]\n};\n\nexport const initFields = (): FormField[] => {\n const common = { value: undefined, status: undefined };\n return [\n {\n ...common,\n name: 'name',\n required: true,\n error: 'Please enter a valid name for table',\n validator() {\n if (!this.value) return false;\n return /^[a-z]{1}[a-z0-9]+$/i.test(this.value);\n }\n },\n {\n ...common,\n name: 'description',\n required: true,\n help: 'Give an appropriate description for the table',\n error: 'Field cannot be empty',\n validator() {\n if (!this.value) return false;\n return true;\n }\n }\n ];\n};\n\nexport const fieldReducer = (\n fields: FormField[],\n {\n target,\n type\n }:\n | ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n | FocusEvent<HTMLInputElement | HTMLTextAreaElement>\n) => {\n return fields.map(field => {\n if (field.name === target.name) {\n field.value = target.value;\n if (type === 'blur' || field.status === 'error') {\n if ((field.required || field.value) && !field.validator()) {\n field.status = 'error';\n field.info = field.error;\n } else {\n field.status = undefined;\n field.info = field.help;\n }\n }\n }\n return field;\n });\n};\n\nexport const ViewportDrawer = ({ drawerData, drawerOpen, setDrawerOpen }: DrawerProps) => {\n return (\n <ObjectPreview\n open={drawerOpen}\n onDismiss={() => setDrawerOpen(false)}\n header={{\n title: drawerData?.primary || '',\n metadata: drawerData?.metaData || [],\n additionalInfo: {\n title: drawerData?.primary || '',\n description: 'Interest rate for the savings account',\n fields: drawerData?.metaData || [],\n onEdit: () => {}\n }\n }}\n content={\n <StyledConfigurationContent>\n <StyledRegion style={{ minHeight: '100vh' }} />\n </StyledConfigurationContent>\n }\n primaryAction={{\n id: 'PA',\n text: 'Save',\n onClick: () => {}\n }}\n secondaryAction={{\n id: 'SA',\n text: 'Open rule',\n onClick: () => {}\n }}\n actions={{\n items: [\n {\n id: '1',\n text: 'Page action 1'\n },\n {\n id: '2',\n text: 'Page action 2'\n }\n ]\n }}\n />\n );\n};\n\nexport const ConfigurationContent = (args: any) => {\n const [showErrorIndicators] = useState(false);\n\n const ConditionBuilder = (\n <AtomicCondition\n condition={args.condition}\n fields={demoFields}\n indicateErrors={showErrorIndicators}\n dateFunctions={demoDateFunctions}\n onChange={c => args.setCondition(c)}\n itemDirection='row'\n showLhsAsLabel={false}\n validRhsTypes={args.validRHSTypes}\n />\n );\n\n const Inputs = (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Text variant='h4'>Inputs</Text>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {Array(10)\n .fill(0)\n .map((_, index) => (\n <Flex container={{ alignItems: 'end', gap: 1 }}>\n <Input\n label={`Name ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample key ${index + 1}`}\n disabled\n readOnly={args.readOnly}\n />\n <Input\n label={`Value ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample value ${index + 1}`}\n readOnly={args.readOnly}\n disabled={args.disabled}\n />\n </Flex>\n ))}\n </Flex>\n </Flex>\n );\n\n return args.popoverContent === 'advanced' ? ConditionBuilder : Inputs;\n};\n\nexport const ObjectSelectComp: FC<ObjectSelectStoryProps> = ({\n popoverContent,\n ...args\n}: ObjectSelectStoryProps) => {\n const t = useI18n();\n const [value, setValue] = useState<ObjectSelectProps['value']>(args.value);\n\n const convertRhsTypes = (\n useLiteralRHSType: boolean,\n useFieldRHSType: boolean,\n useRelativeDatesType: boolean,\n dateFunctions?: DateFunctionsByType\n ) => {\n const setRhsTypes: Set<RHSType> = new Set<RHSType>();\n if (useLiteralRHSType) setRhsTypes.add('LITERAL');\n if (useFieldRHSType) setRhsTypes.add('FIELD');\n if (dateFunctions) setRhsTypes.add('DATE_FUNCTION');\n if (useRelativeDatesType) setRhsTypes.add('RELATIVE_DATE');\n return setRhsTypes;\n };\n\n const [dataPagesDelayed, setDataPagesDelayed] = useState<ObjectSelectProps['items']>([]);\n const validRHSTypes: Set<RHSType> = convertRhsTypes(true, true, true, demoDateFunctions);\n const [submitCondition, setSubmitCondition] = useState<LeafCondition | undefined>(undefined);\n const [condition, setCondition] = useState(\n () =>\n submitCondition ||\n getInitConditionForLhs(\n { field: 'age' },\n demoFields,\n validRHSTypes,\n undefined,\n demoDateFunctions\n )\n );\n\n const handleSubmission = () => {\n setSubmitCondition(condition);\n };\n\n useEffect(() => {\n setTimeout(() => setDataPagesDelayed(dataPages), 2000);\n }, []);\n\n return (\n <Flex container={{ direction: 'column', gap: 1 }}>\n <ObjectSelect\n {...args}\n loading={dataPagesDelayed.length === 0}\n onChange={id => {\n const data = menuHelpers.getItem(dataPages, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n href: data.href ?? '#',\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n items={dataPagesDelayed}\n configuration={{\n label: args.disabled || args.readOnly ? 'View Configuration' : 'Edit Configuration',\n heading: 'Map Parameters',\n primaryAction: {\n id: 'submit',\n text: 'Submit',\n onClick: popoverContent === 'advanced' ? handleSubmission : args.onSubmit\n },\n secondaryAction: {\n id: 'cancel',\n text: 'Cancel',\n onClick: args.onCancel\n },\n content: (\n <ConfigurationContent\n {...args}\n popoverContent={popoverContent}\n condition={condition}\n setCondition={setCondition}\n validRHSTypes={validRHSTypes}\n />\n )\n }}\n value={value}\n onPreview={(id, e: { href: string }) => {\n args.onPreview?.(id, e);\n }}\n />\n {popoverContent === 'advanced' && (\n <Card>\n <CardContent>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {submitCondition ? JSON.stringify(submitCondition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {submitCondition\n ? formatCondition({ condition: submitCondition }, demoFields, t)\n : '(No condition)'}\n </StyledCodeBlock>\n </CardContent>\n </Card>\n )}\n </Flex>\n );\n};\n"]}
@@ -62,7 +62,7 @@ export const WorkbenchDemo = (args) => {
62
62
  metaData
63
63
  });
64
64
  if (UpdatedData) {
65
- const newGraphData = UpdatedData;
65
+ const newGraphData = UpdatedData.graphData;
66
66
  setGraphData(newGraphData);
67
67
  }
68
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Workbench.stories.jsx","sourceRoot":"","sources":["../../../src/build/Workbench/Workbench.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState } from 'react';\n\nimport {\n StandardTreeProps,\n treeHelpers,\n StandardTree,\n Flex,\n SearchInput,\n TextArea,\n Input,\n Configuration,\n BuildTheme\n} from '@pega/cosmos-react-core';\nimport { FlowModeller, Workbench } from '@pega/cosmos-react-build';\nimport { IconNames } from '@pega/cosmos-react-core/lib/components/Icon/iconNames';\nimport {\n NodeProps,\n NodeType\n} from '@pega/cosmos-react-build/lib/components/FlowModeller/Node/Node.types';\nimport {\n DirectedGraph,\n GraphData,\n ConnectorProps\n} from '@pega/cosmos-react-build/lib/components/FlowModeller/Renderer/Utils/Graph';\nimport FlowModellerHelper from '@pega/cosmos-react-build/lib/components/FlowModeller/helper';\nimport { AddNodeHandlerParams } from '@pega/cosmos-react-build/lib/components/FlowModeller/Renderer/Renderer.types';\n\nimport {\n nodeLibrary,\n nodeActions,\n exampleCRMNodesData as nodesData,\n exampleCRMConnectorsData as connectorsData\n} from '../FlowModeller/FlowModeller.mocks';\n\nimport { sideList } from './Workbench.mocks';\n\nexport default {\n title: 'Build/Workbench',\n parameters: {\n layout: 'fullscreen'\n },\n decorators: [\n StoryComp => (\n <div style={{ height: '100vh' }}>\n <StoryComp />\n </div>\n )\n ]\n} as Meta;\n\nexport interface WorkbenchStoryProps {\n showActions?: boolean;\n hideSidePanel?: boolean;\n zoom?: boolean;\n}\n\nexport const WorkbenchDemo: Story<WorkbenchStoryProps> = (args: WorkbenchStoryProps) => {\n const [open, setOpen] = useState(false);\n const [heading, setHeading] = useState('');\n const [description, setDescription] = useState('');\n const Content = () => {\n const [currentNodeId, setCurrentNodeId] = useState<string | undefined>();\n const [allNodes, setAllNodes] = useState<StandardTreeProps['nodes']>(sideList);\n\n return (\n <>\n <SearchInput />\n <StandardTree\n currentNodeId={currentNodeId}\n nodes={allNodes}\n onNodeClick={id => {\n const clickedNode = treeHelpers.getNode(allNodes, id);\n setCurrentNodeId(id);\n // If a leaf node, just set to current\n if (!clickedNode?.nodes) return;\n\n setAllNodes(tree =>\n treeHelpers.mapNode(tree, id, node => {\n return {\n ...node,\n expanded: !node.expanded\n };\n })\n );\n }}\n />\n </>\n );\n };\n\n const ConfigContent = () => {\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input defaultValue={heading} />\n <TextArea\n name='Description'\n required\n label='Description'\n displayCharCount\n maxLength={300}\n value={description}\n />\n </Flex>\n );\n };\n\n const FlowChartView = () => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: nodesData,\n connectors: connectorsData\n });\n\n const launchPropertyModal = (node: NodeProps) => {\n setHeading(node.label);\n setDescription(node.description || '');\n setOpen(true);\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n metaData\n });\n if (UpdatedData) {\n const newGraphData: GraphData<NodeProps, ConnectorProps> = UpdatedData;\n setGraphData(newGraphData);\n }\n };\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const node = graph.getNode(nodeId);\n launchPropertyModal(node);\n };\n\n return (\n <FlowModeller\n graphData={graphData}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n />\n );\n };\n\n const ExplorerContent = () => {\n return <SearchInput />;\n };\n\n const utilityPanels = [\n { title: 'Steps', id: '1', icon: 'plus' as IconNames, content: <Content /> },\n { title: 'Explorer', id: '2', icon: 'app' as IconNames, content: <ExplorerContent /> },\n { title: 'Views', id: '3', icon: 'headline' as IconNames, content: <Content /> }\n ];\n\n const toolbarActions = {\n undo: { id: 'undo', disabled: false, onClick: () => {} },\n redo: { id: 'redo', disabled: true, onClick: () => {} }\n };\n\n return (\n <Configuration theme={BuildTheme}>\n <Workbench\n utilityPanels={utilityPanels}\n initiallyVisiblePanelId={utilityPanels[0].id}\n toolbar={{\n toolbarActions: args.showActions ? toolbarActions : undefined\n }}\n configurationPanel={{\n open,\n content: <ConfigContent />,\n header: heading,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowChartView />\n </Workbench>\n </Configuration>\n );\n};\n\nWorkbenchDemo.args = {\n showActions: true,\n hideSidePanel: false\n};\n\nWorkbenchDemo.argTypes = {\n showActions: { control: { type: 'boolean' } },\n hideSidePanel: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"Workbench.stories.jsx","sourceRoot":"","sources":["../../../src/build/Workbench/Workbench.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState } from 'react';\n\nimport {\n StandardTreeProps,\n treeHelpers,\n StandardTree,\n Flex,\n SearchInput,\n TextArea,\n Input,\n Configuration,\n BuildTheme\n} from '@pega/cosmos-react-core';\nimport { FlowModeller, Workbench } from '@pega/cosmos-react-build';\nimport { IconNames } from '@pega/cosmos-react-core/lib/components/Icon/iconNames';\nimport {\n NodeProps,\n NodeType\n} from '@pega/cosmos-react-build/lib/components/FlowModeller/Node/Node.types';\nimport {\n DirectedGraph,\n GraphData,\n ConnectorProps\n} from '@pega/cosmos-react-build/lib/components/FlowModeller/Renderer/Utils/Graph';\nimport FlowModellerHelper from '@pega/cosmos-react-build/lib/components/FlowModeller/helper';\nimport { AddNodeHandlerParams } from '@pega/cosmos-react-build/lib/components/FlowModeller/Renderer/Renderer.types';\n\nimport {\n nodeLibrary,\n nodeActions,\n exampleCRMNodesData as nodesData,\n exampleCRMConnectorsData as connectorsData\n} from '../FlowModeller/FlowModeller.mocks';\n\nimport { sideList } from './Workbench.mocks';\n\nexport default {\n title: 'Build/Workbench',\n parameters: {\n layout: 'fullscreen'\n },\n decorators: [\n StoryComp => (\n <div style={{ height: '100vh' }}>\n <StoryComp />\n </div>\n )\n ]\n} as Meta;\n\nexport interface WorkbenchStoryProps {\n showActions?: boolean;\n hideSidePanel?: boolean;\n zoom?: boolean;\n}\n\nexport const WorkbenchDemo: Story<WorkbenchStoryProps> = (args: WorkbenchStoryProps) => {\n const [open, setOpen] = useState(false);\n const [heading, setHeading] = useState('');\n const [description, setDescription] = useState('');\n const Content = () => {\n const [currentNodeId, setCurrentNodeId] = useState<string | undefined>();\n const [allNodes, setAllNodes] = useState<StandardTreeProps['nodes']>(sideList);\n\n return (\n <>\n <SearchInput />\n <StandardTree\n currentNodeId={currentNodeId}\n nodes={allNodes}\n onNodeClick={id => {\n const clickedNode = treeHelpers.getNode(allNodes, id);\n setCurrentNodeId(id);\n // If a leaf node, just set to current\n if (!clickedNode?.nodes) return;\n\n setAllNodes(tree =>\n treeHelpers.mapNode(tree, id, node => {\n return {\n ...node,\n expanded: !node.expanded\n };\n })\n );\n }}\n />\n </>\n );\n };\n\n const ConfigContent = () => {\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input defaultValue={heading} />\n <TextArea\n name='Description'\n required\n label='Description'\n displayCharCount\n maxLength={300}\n value={description}\n />\n </Flex>\n );\n };\n\n const FlowChartView = () => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: nodesData,\n connectors: connectorsData\n });\n\n const launchPropertyModal = (node: NodeProps) => {\n setHeading(node.label);\n setDescription(node.description || '');\n setOpen(true);\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n metaData\n });\n if (UpdatedData) {\n const newGraphData: GraphData<NodeProps, ConnectorProps> = UpdatedData.graphData;\n setGraphData(newGraphData);\n }\n };\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const node = graph.getNode(nodeId);\n launchPropertyModal(node);\n };\n\n return (\n <FlowModeller\n graphData={graphData}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n />\n );\n };\n\n const ExplorerContent = () => {\n return <SearchInput />;\n };\n\n const utilityPanels = [\n { title: 'Steps', id: '1', icon: 'plus' as IconNames, content: <Content /> },\n { title: 'Explorer', id: '2', icon: 'app' as IconNames, content: <ExplorerContent /> },\n { title: 'Views', id: '3', icon: 'headline' as IconNames, content: <Content /> }\n ];\n\n const toolbarActions = {\n undo: { id: 'undo', disabled: false, onClick: () => {} },\n redo: { id: 'redo', disabled: true, onClick: () => {} }\n };\n\n return (\n <Configuration theme={BuildTheme}>\n <Workbench\n utilityPanels={utilityPanels}\n initiallyVisiblePanelId={utilityPanels[0].id}\n toolbar={{\n toolbarActions: args.showActions ? toolbarActions : undefined\n }}\n configurationPanel={{\n open,\n content: <ConfigContent />,\n header: heading,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowChartView />\n </Workbench>\n </Configuration>\n );\n};\n\nWorkbenchDemo.args = {\n showActions: true,\n hideSidePanel: false\n};\n\nWorkbenchDemo.argTypes = {\n showActions: { control: { type: 'boolean' } },\n hideSidePanel: { control: { type: 'boolean' } }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"props.mock.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/ConditionBuilder/props.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,KAAK,EACN,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,UAAU,EAAE,KAAK,EAiE7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAiC3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAI9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAqB/B,CAAC"}
1
+ {"version":3,"file":"props.mock.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/ConditionBuilder/props.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,KAAK,EACN,MAAM,sCAAsC,CAAC;AAE9C,eAAO,MAAM,UAAU,EAAE,KAAK,EAmG7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAiC3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAI9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAqB/B,CAAC"}