@pega/cosmos-react-demos 3.0.0-dev.11.0 → 3.0.0-dev.14.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 (163) hide show
  1. package/jsx/build/FlowModeller/FlowModeller.mocks.d.ts +1 -0
  2. package/jsx/build/FlowModeller/FlowModeller.mocks.d.ts.map +1 -1
  3. package/jsx/build/FlowModeller/FlowModeller.mocks.jsx +4 -4
  4. package/jsx/build/FlowModeller/FlowModeller.mocks.jsx.map +1 -1
  5. package/jsx/build/FlowModeller/FlowModeller.stories.d.ts +1 -0
  6. package/jsx/build/FlowModeller/FlowModeller.stories.d.ts.map +1 -1
  7. package/jsx/build/FlowModeller/FlowModeller.stories.jsx +7 -7
  8. package/jsx/build/FlowModeller/FlowModeller.stories.jsx.map +1 -1
  9. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.stories.d.ts.map +1 -1
  10. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.stories.jsx +16 -2
  11. package/jsx/condition-builder/ConditionBuilder/ConditionBuilder.stories.jsx.map +1 -1
  12. package/jsx/condition-builder/ConditionInput/ConditionInput.stories.d.ts +10 -0
  13. package/jsx/condition-builder/ConditionInput/ConditionInput.stories.d.ts.map +1 -0
  14. package/jsx/condition-builder/ConditionInput/ConditionInput.stories.jsx +32 -0
  15. package/jsx/condition-builder/ConditionInput/ConditionInput.stories.jsx.map +1 -0
  16. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts +4 -0
  17. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -0
  18. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js +38 -0
  19. package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -0
  20. package/jsx/condition-builder/PromotedFilters/PromotedFilters.stories.d.ts +6 -0
  21. package/jsx/condition-builder/PromotedFilters/PromotedFilters.stories.d.ts.map +1 -0
  22. package/jsx/condition-builder/PromotedFilters/PromotedFilters.stories.jsx +22 -0
  23. package/jsx/condition-builder/PromotedFilters/PromotedFilters.stories.jsx.map +1 -0
  24. package/jsx/condition-builder/PromotedFilters/PromotedFilters.styles.d.ts +2 -0
  25. package/jsx/condition-builder/PromotedFilters/PromotedFilters.styles.d.ts.map +1 -0
  26. package/jsx/condition-builder/PromotedFilters/PromotedFilters.styles.js +8 -0
  27. package/jsx/condition-builder/PromotedFilters/PromotedFilters.styles.js.map +1 -0
  28. package/jsx/core/AppShell/AppShell.stories.d.ts +1 -0
  29. package/jsx/core/AppShell/AppShell.stories.d.ts.map +1 -1
  30. package/jsx/core/AppShell/AppShell.stories.jsx +3 -2
  31. package/jsx/core/AppShell/AppShell.stories.jsx.map +1 -1
  32. package/jsx/core/CompositeInput/CompositeInput.mocks.d.ts +8 -0
  33. package/jsx/core/CompositeInput/CompositeInput.mocks.d.ts.map +1 -0
  34. package/jsx/core/CompositeInput/CompositeInput.mocks.jsx +8 -0
  35. package/jsx/core/CompositeInput/CompositeInput.mocks.jsx.map +1 -0
  36. package/jsx/core/CompositeInput/CompositeInput.stories.d.ts +6 -0
  37. package/jsx/core/CompositeInput/CompositeInput.stories.d.ts.map +1 -0
  38. package/jsx/core/CompositeInput/CompositeInput.stories.jsx +50 -0
  39. package/jsx/core/CompositeInput/CompositeInput.stories.jsx.map +1 -0
  40. package/jsx/core/Lightbox/Lightbox.stories.jsx +1 -1
  41. package/jsx/core/Lightbox/Lightbox.stories.jsx.map +1 -1
  42. package/jsx/core/MultiStepForm/MultiStepForm.mocks.d.ts +34 -0
  43. package/jsx/core/MultiStepForm/MultiStepForm.mocks.d.ts.map +1 -0
  44. package/jsx/core/MultiStepForm/MultiStepForm.mocks.jsx +124 -0
  45. package/jsx/core/MultiStepForm/MultiStepForm.mocks.jsx.map +1 -0
  46. package/jsx/core/{MultiStep/MultiStep.stories.d.ts → MultiStepForm/MultiStepForm.stories.d.ts} +2 -2
  47. package/jsx/core/MultiStepForm/MultiStepForm.stories.d.ts.map +1 -0
  48. package/jsx/core/MultiStepForm/MultiStepForm.stories.jsx +208 -0
  49. package/jsx/core/MultiStepForm/MultiStepForm.stories.jsx.map +1 -0
  50. package/jsx/core/Number/Number.stories.d.ts.map +1 -1
  51. package/jsx/core/Number/Number.stories.jsx +41 -4
  52. package/jsx/core/Number/Number.stories.jsx.map +1 -1
  53. package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts +2 -0
  54. package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts.map +1 -1
  55. package/jsx/cs/CSCaseView/CSAppShell.stories.jsx +9 -5
  56. package/jsx/cs/CSCaseView/CSAppShell.stories.jsx.map +1 -1
  57. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.d.ts +6 -5
  58. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.d.ts.map +1 -1
  59. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.js +138 -10
  60. package/jsx/cs/CallControlPanel/CallControlPanel.mocks.js.map +1 -1
  61. package/jsx/cs/CallControlPanel/CallControlPanel.stories.d.ts +5 -3
  62. package/jsx/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
  63. package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx +129 -95
  64. package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx.map +1 -1
  65. package/jsx/cs/TaskManager/TaskManager.stories.jsx.map +1 -1
  66. package/jsx/rte/Editor/Editor.stories.d.ts.map +1 -1
  67. package/jsx/rte/Editor/Editor.stories.jsx +1 -1
  68. package/jsx/rte/Editor/Editor.stories.jsx.map +1 -1
  69. package/jsx/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
  70. package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx +1 -1
  71. package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx.map +1 -1
  72. package/jsx/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
  73. package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx +1 -1
  74. package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx.map +1 -1
  75. package/jsx/work/SearchResults/SearchResults.stories.d.ts +1 -0
  76. package/jsx/work/SearchResults/SearchResults.stories.d.ts.map +1 -1
  77. package/jsx/work/SearchResults/SearchResults.stories.jsx +10 -8
  78. package/jsx/work/SearchResults/SearchResults.stories.jsx.map +1 -1
  79. package/lib/build/FlowModeller/FlowModeller.mocks.d.ts +1 -0
  80. package/lib/build/FlowModeller/FlowModeller.mocks.d.ts.map +1 -1
  81. package/lib/build/FlowModeller/FlowModeller.mocks.js +4 -4
  82. package/lib/build/FlowModeller/FlowModeller.mocks.js.map +1 -1
  83. package/lib/build/FlowModeller/FlowModeller.stories.d.ts +1 -0
  84. package/lib/build/FlowModeller/FlowModeller.stories.d.ts.map +1 -1
  85. package/lib/build/FlowModeller/FlowModeller.stories.js +7 -7
  86. package/lib/build/FlowModeller/FlowModeller.stories.js.map +1 -1
  87. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.stories.d.ts.map +1 -1
  88. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.stories.js +10 -4
  89. package/lib/condition-builder/ConditionBuilder/ConditionBuilder.stories.js.map +1 -1
  90. package/lib/condition-builder/ConditionInput/ConditionInput.stories.d.ts +10 -0
  91. package/lib/condition-builder/ConditionInput/ConditionInput.stories.d.ts.map +1 -0
  92. package/lib/condition-builder/ConditionInput/ConditionInput.stories.js +33 -0
  93. package/lib/condition-builder/ConditionInput/ConditionInput.stories.js.map +1 -0
  94. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts +4 -0
  95. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -0
  96. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js +38 -0
  97. package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -0
  98. package/lib/condition-builder/PromotedFilters/PromotedFilters.stories.d.ts +6 -0
  99. package/lib/condition-builder/PromotedFilters/PromotedFilters.stories.d.ts.map +1 -0
  100. package/lib/condition-builder/PromotedFilters/PromotedFilters.stories.js +15 -0
  101. package/lib/condition-builder/PromotedFilters/PromotedFilters.stories.js.map +1 -0
  102. package/lib/condition-builder/PromotedFilters/PromotedFilters.styles.d.ts +2 -0
  103. package/lib/condition-builder/PromotedFilters/PromotedFilters.styles.d.ts.map +1 -0
  104. package/lib/condition-builder/PromotedFilters/PromotedFilters.styles.js +8 -0
  105. package/lib/condition-builder/PromotedFilters/PromotedFilters.styles.js.map +1 -0
  106. package/lib/core/AppShell/AppShell.stories.d.ts +1 -0
  107. package/lib/core/AppShell/AppShell.stories.d.ts.map +1 -1
  108. package/lib/core/AppShell/AppShell.stories.js +3 -2
  109. package/lib/core/AppShell/AppShell.stories.js.map +1 -1
  110. package/lib/core/CompositeInput/CompositeInput.mocks.d.ts +8 -0
  111. package/lib/core/CompositeInput/CompositeInput.mocks.d.ts.map +1 -0
  112. package/lib/core/CompositeInput/CompositeInput.mocks.js +6 -0
  113. package/lib/core/CompositeInput/CompositeInput.mocks.js.map +1 -0
  114. package/lib/core/CompositeInput/CompositeInput.stories.d.ts +6 -0
  115. package/lib/core/CompositeInput/CompositeInput.stories.d.ts.map +1 -0
  116. package/lib/core/CompositeInput/CompositeInput.stories.js +51 -0
  117. package/lib/core/CompositeInput/CompositeInput.stories.js.map +1 -0
  118. package/lib/core/Lightbox/Lightbox.stories.js +1 -1
  119. package/lib/core/Lightbox/Lightbox.stories.js.map +1 -1
  120. package/lib/core/MultiStepForm/MultiStepForm.mocks.d.ts +34 -0
  121. package/lib/core/MultiStepForm/MultiStepForm.mocks.d.ts.map +1 -0
  122. package/lib/core/MultiStepForm/MultiStepForm.mocks.js +75 -0
  123. package/lib/core/MultiStepForm/MultiStepForm.mocks.js.map +1 -0
  124. package/lib/core/{MultiStep/MultiStep.stories.d.ts → MultiStepForm/MultiStepForm.stories.d.ts} +2 -2
  125. package/lib/core/MultiStepForm/MultiStepForm.stories.d.ts.map +1 -0
  126. package/lib/core/MultiStepForm/MultiStepForm.stories.js +187 -0
  127. package/lib/core/MultiStepForm/MultiStepForm.stories.js.map +1 -0
  128. package/lib/core/Number/Number.stories.d.ts.map +1 -1
  129. package/lib/core/Number/Number.stories.js +41 -4
  130. package/lib/core/Number/Number.stories.js.map +1 -1
  131. package/lib/cs/CSCaseView/CSAppShell.stories.d.ts +2 -0
  132. package/lib/cs/CSCaseView/CSAppShell.stories.d.ts.map +1 -1
  133. package/lib/cs/CSCaseView/CSAppShell.stories.js +9 -5
  134. package/lib/cs/CSCaseView/CSAppShell.stories.js.map +1 -1
  135. package/lib/cs/CallControlPanel/CallControlPanel.mocks.d.ts +6 -5
  136. package/lib/cs/CallControlPanel/CallControlPanel.mocks.d.ts.map +1 -1
  137. package/lib/cs/CallControlPanel/CallControlPanel.mocks.js +138 -10
  138. package/lib/cs/CallControlPanel/CallControlPanel.mocks.js.map +1 -1
  139. package/lib/cs/CallControlPanel/CallControlPanel.stories.d.ts +5 -3
  140. package/lib/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
  141. package/lib/cs/CallControlPanel/CallControlPanel.stories.js +129 -99
  142. package/lib/cs/CallControlPanel/CallControlPanel.stories.js.map +1 -1
  143. package/lib/cs/TaskManager/TaskManager.stories.js.map +1 -1
  144. package/lib/rte/Editor/Editor.stories.d.ts.map +1 -1
  145. package/lib/rte/Editor/Editor.stories.js +1 -1
  146. package/lib/rte/Editor/Editor.stories.js.map +1 -1
  147. package/lib/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
  148. package/lib/rte/RichTextEditor/RichTextEditor.stories.js +1 -1
  149. package/lib/rte/RichTextEditor/RichTextEditor.stories.js.map +1 -1
  150. package/lib/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
  151. package/lib/rte/RichTextEditor/RichTextViewer.stories.js +1 -1
  152. package/lib/rte/RichTextEditor/RichTextViewer.stories.js.map +1 -1
  153. package/lib/work/SearchResults/SearchResults.stories.d.ts +1 -0
  154. package/lib/work/SearchResults/SearchResults.stories.d.ts.map +1 -1
  155. package/lib/work/SearchResults/SearchResults.stories.js +10 -8
  156. package/lib/work/SearchResults/SearchResults.stories.js.map +1 -1
  157. package/package.json +9 -9
  158. package/jsx/core/MultiStep/MultiStep.stories.d.ts.map +0 -1
  159. package/jsx/core/MultiStep/MultiStep.stories.jsx +0 -56
  160. package/jsx/core/MultiStep/MultiStep.stories.jsx.map +0 -1
  161. package/lib/core/MultiStep/MultiStep.stories.d.ts.map +0 -1
  162. package/lib/core/MultiStep/MultiStep.stories.js +0 -36
  163. package/lib/core/MultiStep/MultiStep.stories.js.map +0 -1
@@ -7,6 +7,7 @@ interface DecisionTableProps {
7
7
  node: NodeProps;
8
8
  onDeleteRow: (data: GraphData<NodeProps, ConnectorProps>, deleteItems?: DeleteNodeOutcome['deletes'], e?: MouseEvent) => void;
9
9
  onAddRow: (data: GraphData<NodeProps, ConnectorProps>) => void;
10
+ readOnly?: boolean;
10
11
  }
11
12
  interface DeletePopoverProps {
12
13
  targetId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"FlowModeller.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,EAAE,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EASL,MAAM,EACN,YAAY,EAOb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,SAAS,EACT,cAAc,EAGd,eAAe,EACf,iBAAiB,EAGjB,SAAS,EACV,MAAM,0BAA0B,CAAC;AAElC,UAAU,kBAAkB;IAC1B,WAAW,EAAE,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAClD,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,CACX,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,EAC1C,WAAW,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAC1C,CAAC,CAAC,EAAE,UAAU,KACX,IAAI,CAAC;IACV,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,IAAI,CAAC;CAChE;AACD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,GAAG,YAAY,CA4D/D,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,GAAG,YAAY,CAsC/D,CAAC;AAsGF,eAAO,MAAM,mBAAmB,EAAE,SAAS,EAmI1C,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAAc,EAyHpD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAWrC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAAc,EAO/C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,EAK/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAsCxC,CAAC"}
1
+ {"version":3,"file":"FlowModeller.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.mocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,EAAE,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EASL,MAAM,EACN,YAAY,EAOb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,SAAS,EACT,cAAc,EAGd,eAAe,EACf,iBAAiB,EAGjB,SAAS,EACV,MAAM,0BAA0B,CAAC;AAElC,UAAU,kBAAkB;IAC1B,WAAW,EAAE,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAClD,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,CACX,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,EAC1C,WAAW,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAC1C,CAAC,CAAC,EAAE,UAAU,KACX,IAAI,CAAC;IACV,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,GAAG,YAAY,CAgE/D,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,GAAG,YAAY,CAsC/D,CAAC;AAuGF,eAAO,MAAM,mBAAmB,EAAE,SAAS,EAmI1C,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAAc,EAyHpD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,EAWrC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAAc,EAO/C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,EAK/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAsCxC,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { useState, useEffect, forwardRef } from 'react';
2
2
  import { Input, Table, Text, Button, Icon, Flex, createUID, Card, CardContent, CardHeader, useI18n, Popover, CardFooter } from '@pega/cosmos-react-core';
3
3
  import { FlowModellerHelper, START_NODETYPE, STOP_NODETYPE } from '@pega/cosmos-react-build';
4
- export const DecisionTable = forwardRef(({ updatedData, connectors, onDeleteRow, onAddRow, node }, ref) => {
4
+ export const DecisionTable = forwardRef(({ updatedData, connectors, onDeleteRow, onAddRow, node, readOnly }, ref) => {
5
5
  const [tableData, setTableData] = useState(connectors);
6
6
  const t = useI18n();
7
7
  const onAddCondition = () => {
8
8
  const label = 'otherwise';
9
- const updatedGraphData = FlowModellerHelper.addConnector(updatedData, node.id, label);
9
+ const updatedGraphData = FlowModellerHelper.addConnector(updatedData, node.id, label).graphData;
10
10
  onAddRow(updatedGraphData);
11
11
  };
12
12
  const onDeleteCondition = (connector, e) => {
@@ -21,7 +21,7 @@ export const DecisionTable = forwardRef(({ updatedData, connectors, onDeleteRow,
21
21
  { renderer: () => <Text>No value</Text>, label: 'Decision output' },
22
22
  {
23
23
  renderer: connector => {
24
- return (<Button variant='simple' ref={ref} disabled={connectors.length < 3} id={connector.id} icon onClick={(e) => onDeleteCondition(connector, e)} label={t('delete')}>
24
+ return (<Button variant='simple' ref={ref} disabled={readOnly || connectors.length < 3} id={connector.id} icon onClick={(e) => onDeleteCondition(connector, e)} label={t('delete')}>
25
25
  <Icon name='trash'/>
26
26
  </Button>);
27
27
  },
@@ -34,7 +34,7 @@ export const DecisionTable = forwardRef(({ updatedData, connectors, onDeleteRow,
34
34
  return (<>
35
35
  <Table title='Decision outcomes' hoverHighlight data={tableData} columns={columns}/>
36
36
  <Flex container={{ pad: [1, 0] }}>
37
- <Button variant='simple' onClick={onAddCondition}>
37
+ <Button disabled={readOnly} variant='simple' onClick={onAddCondition}>
38
38
  Add Condition
39
39
  </Button>
40
40
  </Flex>
@@ -1 +1 @@
1
- {"version":3,"file":"FlowModeller.mocks.jsx","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, Ref, forwardRef, FC } from 'react';\n\nimport {\n Input,\n Table,\n ColumnProps,\n Text,\n Button,\n Icon,\n Flex,\n createUID,\n Action,\n ForwardProps,\n Card,\n CardContent,\n CardHeader,\n useI18n,\n Popover,\n CardFooter\n} from '@pega/cosmos-react-core';\nimport {\n NodeProps,\n ConnectorProps,\n FlowModellerHelper,\n NodeType,\n NodeLibraryItem,\n DeleteNodeOutcome,\n START_NODETYPE,\n STOP_NODETYPE,\n GraphData\n} from '@pega/cosmos-react-build';\n\ninterface DecisionTableProps {\n updatedData: GraphData<NodeProps, ConnectorProps>;\n connectors: ConnectorProps[];\n node: NodeProps;\n onDeleteRow: (\n data: GraphData<NodeProps, ConnectorProps>,\n deleteItems?: DeleteNodeOutcome['deletes'],\n e?: MouseEvent\n ) => void;\n onAddRow: (data: GraphData<NodeProps, ConnectorProps>) => void;\n}\ninterface DeletePopoverProps {\n targetId: string | null;\n showPopover: boolean;\n onCancel: () => void;\n onDelete: () => void;\n}\n\nexport const DecisionTable: FC<DecisionTableProps & ForwardProps> = forwardRef(\n (\n { updatedData, connectors, onDeleteRow, onAddRow, node }: DecisionTableProps,\n ref: Ref<HTMLButtonElement>\n ) => {\n const [tableData, setTableData] = useState<ConnectorProps[]>(connectors);\n const t = useI18n();\n\n const onAddCondition = () => {\n const label = 'otherwise';\n const updatedGraphData = FlowModellerHelper.addConnector(updatedData, node.id, label);\n onAddRow(updatedGraphData);\n };\n\n const onDeleteCondition = (connector: ConnectorProps, e: MouseEvent) => {\n const updatedGraphData = FlowModellerHelper.deleteConnector(updatedData, connector);\n onDeleteRow(updatedGraphData!.graphData, updatedGraphData!.deletes, e);\n };\n\n const columns: ColumnProps<ConnectorProps>[] = [\n {\n renderer: connector => <Input value={connector.label} readOnly />,\n label: 'Outcome'\n },\n { renderer: () => <Text>No value</Text>, label: 'Decision output' },\n {\n renderer: connector => {\n return (\n <Button\n variant='simple'\n ref={ref}\n disabled={connectors.length < 3}\n id={connector.id}\n icon\n onClick={(e: MouseEvent) => onDeleteCondition(connector, e)}\n label={t('delete')}\n >\n <Icon name='trash' />\n </Button>\n );\n },\n label: 'Action'\n }\n ];\n\n useEffect(() => {\n setTableData(connectors);\n }, [connectors]);\n\n return (\n <>\n <Table title='Decision outcomes' hoverHighlight data={tableData} columns={columns} />\n <Flex container={{ pad: [1, 0] }}>\n <Button variant='simple' onClick={onAddCondition}>\n Add Condition\n </Button>\n </Flex>\n </>\n );\n }\n);\n\nexport const DeletePopover: FC<DeletePopoverProps & ForwardProps> = forwardRef(\n ({ targetId, showPopover, onCancel, onDelete }, ref: Ref<HTMLDivElement>) => {\n const [elementTarget, setElementTarget] = useState<Element>();\n const t = useI18n();\n\n useEffect(() => {\n const element = document.querySelector(`button[id='${targetId}']`);\n if (element) {\n setElementTarget(element);\n }\n });\n\n return (\n <>\n {elementTarget && showPopover && (\n <Popover target={elementTarget} ref={ref} show={showPopover}>\n <Card>\n <CardHeader>\n <Text variant='h4'>Delete Outcome</Text>\n <Button variant='simple' icon label={t('close')} onClick={onCancel}>\n <Icon name='times' />\n </Button>\n </CardHeader>\n <CardContent>\n Are you sure you want to delete this outcome and all its steps?\n </CardContent>\n <CardFooter container={{ justify: 'between' }}>\n <Button onClick={onCancel}>Cancel</Button>\n <Button variant='primary' onClick={onDelete}>\n Delete\n </Button>\n </CardFooter>\n </Card>\n </Popover>\n )}\n </>\n );\n }\n);\nconst FlowShapeType: Record<string, NodeType> = Object.freeze({\n START: START_NODETYPE,\n STOP: STOP_NODETYPE,\n DECISION: {\n id: 'decision',\n name: 'Decision',\n color: 'darkYellow',\n icon: 'diamond',\n minConnectors: 2,\n defaults: {\n node: {\n label: 'Decision',\n description: 'Adjust the conditions using the property panel'\n },\n connector: [\n {\n label: 'Default'\n },\n {\n label: 'Otherwise'\n }\n ]\n }\n },\n QUESTION: {\n id: 'question',\n name: 'Question',\n color: 'japaneseLaurel',\n icon: 'chat-help',\n minConnectors: 3,\n defaults: {\n node: {\n label: 'Question'\n },\n connector: [\n {\n label: 'Question 1'\n },\n {\n label: 'Question 2'\n },\n {\n label: 'Question 3'\n }\n ]\n }\n },\n ASSIGNMENT: {\n id: 'assignment',\n name: 'Assignment',\n color: 'japaneseLaurel',\n icon: 'clipboard-data',\n minConnectors: 1,\n defaults: {\n node: {\n label: 'Assignment'\n },\n connector: [{ label: '' }]\n }\n },\n MESSAGE: {\n id: 'message',\n name: 'Message',\n color: 'orange',\n icon: 'chat',\n minConnectors: 1,\n defaults: {\n node: {\n label: 'Message'\n },\n connector: [{ label: '' }]\n }\n },\n SEND_EMAIL: {\n id: 'send_email',\n name: 'Send email',\n color: 'yellow',\n icon: 'mail',\n minConnectors: 1,\n defaults: {\n node: {\n label: 'Send email'\n },\n connector: [{ label: '' }]\n }\n },\n GENERATE_PDF: {\n id: 'generate_pdf',\n name: 'Generate PDF',\n color: 'congressBlue',\n icon: 'polaris',\n minConnectors: 1,\n defaults: {\n node: {\n label: 'Generate PDF'\n },\n connector: [{ label: '' }]\n }\n }\n});\n\nexport const exampleCRMNodesData: NodeProps[] = [\n {\n id: '100',\n label: 'Open',\n type: FlowShapeType.START\n },\n {\n id: '101',\n label: 'Is B2B',\n description: '',\n type: FlowShapeType.DECISION,\n additionalData: [],\n error: ''\n },\n {\n id: '102',\n label: 'Update Org Domains',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '103',\n label: 'CreateC2OFromContact',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '104',\n label: 'CreateC2AFromContact',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '105',\n label: 'Is B2C',\n description: '',\n type: FlowShapeType.DECISION,\n additionalData: [],\n error: ''\n },\n {\n id: '106',\n label: 'CreatePrimaryIndividualAccount',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '107',\n label: 'Capture Event',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '108',\n label: 'Update Private Data',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '109',\n label: 'Attach Business Card',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '110',\n label: 'Has Address',\n description: '',\n type: FlowShapeType.DECISION,\n additionalData: [],\n error: ''\n },\n {\n id: '111',\n label: 'RemoveWORelatedNBA',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '112',\n label: 'Bulk Processing',\n description: '',\n type: FlowShapeType.DECISION,\n additionalData: [],\n error: ''\n },\n {\n id: '113',\n label: 'Queue For Agent',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '114',\n label: 'Retrieve Lat Long',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '115',\n label: 'RemoveWORelatedNBA',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '121',\n label: 'STOP',\n type: FlowShapeType.STOP\n }\n];\n\nexport const exampleCRMConnectorsData: ConnectorProps[] = [\n {\n id: '100-101',\n label: '',\n fromNodeId: '100',\n toNodeId: '101'\n },\n {\n id: '101-102',\n label: 'isSellingModeB2BOrB2BB2C',\n fromNodeId: '101',\n toNodeId: '102'\n },\n {\n id: '102-103',\n label: '',\n fromNodeId: '102',\n toNodeId: '103'\n },\n {\n id: '103-104',\n label: '',\n fromNodeId: '103',\n toNodeId: '104'\n },\n {\n id: '104-105',\n label: '',\n fromNodeId: '104',\n toNodeId: '105'\n },\n {\n id: '101-105',\n label: 'Else',\n fromNodeId: '101',\n toNodeId: '105'\n },\n {\n id: '105-106',\n label: 'isSellingModeB2COrB2BB2C',\n fromNodeId: '105',\n toNodeId: '106'\n },\n {\n id: '106-107',\n label: '',\n fromNodeId: '106',\n toNodeId: '107'\n },\n {\n id: '105-107',\n label: 'Else',\n fromNodeId: '105',\n toNodeId: '107'\n },\n {\n id: '107-108',\n label: '',\n fromNodeId: '107',\n toNodeId: '108'\n },\n {\n id: '108-109',\n label: '',\n fromNodeId: '108',\n toNodeId: '109'\n },\n {\n id: '109-110',\n label: '',\n fromNodeId: '109',\n toNodeId: '110'\n },\n {\n id: '110-112',\n label: 'crmHasAddress',\n fromNodeId: '110',\n toNodeId: '112'\n },\n {\n id: '112-113',\n label: 'Bulk Processing',\n fromNodeId: '112',\n toNodeId: '113'\n },\n {\n id: '112-114',\n label: 'Manual',\n fromNodeId: '112',\n toNodeId: '114'\n },\n {\n id: '114-115',\n label: '',\n fromNodeId: '114',\n toNodeId: '115'\n },\n {\n id: '115-121',\n label: '',\n fromNodeId: '115',\n toNodeId: '121'\n },\n {\n id: '113-121',\n label: '',\n fromNodeId: '113',\n toNodeId: '121'\n },\n {\n id: '110-111',\n label: 'Else',\n fromNodeId: '110',\n toNodeId: '111'\n },\n {\n id: '111-121',\n label: '',\n fromNodeId: '111',\n toNodeId: '121'\n }\n];\n\nexport const emptyNodesData: NodeProps[] = [\n {\n id: '100',\n label: 'START',\n type: FlowShapeType.START\n },\n {\n id: '120',\n label: 'STOP',\n type: FlowShapeType.STOP\n }\n];\n\nexport const emptyConnectorsData: ConnectorProps[] = [\n {\n id: '100-120',\n label: 'happy path',\n fromNodeId: '100',\n toNodeId: '120'\n }\n];\n\nexport const nodeActions: Action[] = [\n {\n id: 'action-2',\n text: 'Reassign'\n }\n];\n\nexport const nodeLibrary: NodeLibraryItem[] = [\n {\n id: createUID(),\n primary: 'Assignment',\n type: FlowShapeType.ASSIGNMENT\n },\n {\n id: createUID(),\n primary: 'Decision',\n type: FlowShapeType.DECISION\n },\n {\n id: createUID(),\n primary: 'Send a message',\n type: FlowShapeType.MESSAGE\n },\n {\n id: createUID(),\n primary: 'Ask a question',\n type: FlowShapeType.QUESTION\n },\n {\n id: createUID(),\n primary: 'Automations',\n type: FlowShapeType.AUTOMATION,\n items: [\n {\n id: createUID(),\n primary: 'Send email',\n type: FlowShapeType.SEND_EMAIL\n },\n {\n id: createUID(),\n primary: 'Generate PDF',\n type: FlowShapeType.GENERATE_PDF\n }\n ]\n }\n];\n"]}
1
+ {"version":3,"file":"FlowModeller.mocks.jsx","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, Ref, forwardRef, FC } from 'react';\n\nimport {\n Input,\n Table,\n ColumnProps,\n Text,\n Button,\n Icon,\n Flex,\n createUID,\n Action,\n ForwardProps,\n Card,\n CardContent,\n CardHeader,\n useI18n,\n Popover,\n CardFooter\n} from '@pega/cosmos-react-core';\nimport {\n NodeProps,\n ConnectorProps,\n FlowModellerHelper,\n NodeType,\n NodeLibraryItem,\n DeleteNodeOutcome,\n START_NODETYPE,\n STOP_NODETYPE,\n GraphData\n} from '@pega/cosmos-react-build';\n\ninterface DecisionTableProps {\n updatedData: GraphData<NodeProps, ConnectorProps>;\n connectors: ConnectorProps[];\n node: NodeProps;\n onDeleteRow: (\n data: GraphData<NodeProps, ConnectorProps>,\n deleteItems?: DeleteNodeOutcome['deletes'],\n e?: MouseEvent\n ) => void;\n onAddRow: (data: GraphData<NodeProps, ConnectorProps>) => void;\n readOnly?: boolean;\n}\ninterface DeletePopoverProps {\n targetId: string | null;\n showPopover: boolean;\n onCancel: () => void;\n onDelete: () => void;\n}\n\nexport const DecisionTable: FC<DecisionTableProps & ForwardProps> = forwardRef(\n (\n { updatedData, connectors, onDeleteRow, onAddRow, node, readOnly }: DecisionTableProps,\n ref: Ref<HTMLButtonElement>\n ) => {\n const [tableData, setTableData] = useState<ConnectorProps[]>(connectors);\n const t = useI18n();\n\n const onAddCondition = () => {\n const label = 'otherwise';\n const updatedGraphData = FlowModellerHelper.addConnector(\n updatedData,\n node.id,\n label\n ).graphData;\n onAddRow(updatedGraphData);\n };\n\n const onDeleteCondition = (connector: ConnectorProps, e: MouseEvent) => {\n const updatedGraphData = FlowModellerHelper.deleteConnector(updatedData, connector);\n onDeleteRow(updatedGraphData!.graphData, updatedGraphData!.deletes, e);\n };\n\n const columns: ColumnProps<ConnectorProps>[] = [\n {\n renderer: connector => <Input value={connector.label} readOnly />,\n label: 'Outcome'\n },\n { renderer: () => <Text>No value</Text>, label: 'Decision output' },\n {\n renderer: connector => {\n return (\n <Button\n variant='simple'\n ref={ref}\n disabled={readOnly || connectors.length < 3}\n id={connector.id}\n icon\n onClick={(e: MouseEvent) => onDeleteCondition(connector, e)}\n label={t('delete')}\n >\n <Icon name='trash' />\n </Button>\n );\n },\n label: 'Action'\n }\n ];\n\n useEffect(() => {\n setTableData(connectors);\n }, [connectors]);\n\n return (\n <>\n <Table title='Decision outcomes' hoverHighlight data={tableData} columns={columns} />\n <Flex container={{ pad: [1, 0] }}>\n <Button disabled={readOnly} variant='simple' onClick={onAddCondition}>\n Add Condition\n </Button>\n </Flex>\n </>\n );\n }\n);\n\nexport const DeletePopover: FC<DeletePopoverProps & ForwardProps> = forwardRef(\n ({ targetId, showPopover, onCancel, onDelete }, ref: Ref<HTMLDivElement>) => {\n const [elementTarget, setElementTarget] = useState<Element>();\n const t = useI18n();\n\n useEffect(() => {\n const element = document.querySelector(`button[id='${targetId}']`);\n if (element) {\n setElementTarget(element);\n }\n });\n\n return (\n <>\n {elementTarget && showPopover && (\n <Popover target={elementTarget} ref={ref} show={showPopover}>\n <Card>\n <CardHeader>\n <Text variant='h4'>Delete Outcome</Text>\n <Button variant='simple' icon label={t('close')} onClick={onCancel}>\n <Icon name='times' />\n </Button>\n </CardHeader>\n <CardContent>\n Are you sure you want to delete this outcome and all its steps?\n </CardContent>\n <CardFooter container={{ justify: 'between' }}>\n <Button onClick={onCancel}>Cancel</Button>\n <Button variant='primary' onClick={onDelete}>\n Delete\n </Button>\n </CardFooter>\n </Card>\n </Popover>\n )}\n </>\n );\n }\n);\n\nconst FlowShapeType: Record<string, NodeType> = Object.freeze({\n START: START_NODETYPE,\n STOP: STOP_NODETYPE,\n DECISION: {\n id: 'decision',\n name: 'Decision',\n color: 'darkYellow',\n icon: 'diamond',\n minConnectors: 2,\n defaults: {\n node: {\n label: 'Decision',\n description: 'Adjust the conditions using the property panel'\n },\n connector: [\n {\n label: 'Default'\n },\n {\n label: 'Otherwise'\n }\n ]\n }\n },\n QUESTION: {\n id: 'question',\n name: 'Question',\n color: 'japaneseLaurel',\n icon: 'chat-help',\n minConnectors: 3,\n defaults: {\n node: {\n label: 'Question'\n },\n connector: [\n {\n label: 'Question 1'\n },\n {\n label: 'Question 2'\n },\n {\n label: 'Question 3'\n }\n ]\n }\n },\n ASSIGNMENT: {\n id: 'assignment',\n name: 'Assignment',\n color: 'japaneseLaurel',\n icon: 'clipboard-data',\n minConnectors: 1,\n defaults: {\n node: {\n label: 'Assignment'\n },\n connector: [{ label: '' }]\n }\n },\n MESSAGE: {\n id: 'message',\n name: 'Message',\n color: 'orange',\n icon: 'chat',\n minConnectors: 1,\n defaults: {\n node: {\n label: 'Message'\n },\n connector: [{ label: '' }]\n }\n },\n SEND_EMAIL: {\n id: 'send_email',\n name: 'Send email',\n color: 'yellow',\n icon: 'mail',\n minConnectors: 1,\n defaults: {\n node: {\n label: 'Send email'\n },\n connector: [{ label: '' }]\n }\n },\n GENERATE_PDF: {\n id: 'generate_pdf',\n name: 'Generate PDF',\n color: 'congressBlue',\n icon: 'polaris',\n minConnectors: 1,\n defaults: {\n node: {\n label: 'Generate PDF'\n },\n connector: [{ label: '' }]\n }\n }\n});\n\nexport const exampleCRMNodesData: NodeProps[] = [\n {\n id: '100',\n label: 'Open',\n type: FlowShapeType.START\n },\n {\n id: '101',\n label: 'Is B2B',\n description: '',\n type: FlowShapeType.DECISION,\n additionalData: [],\n error: ''\n },\n {\n id: '102',\n label: 'Update Org Domains',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '103',\n label: 'CreateC2OFromContact',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '104',\n label: 'CreateC2AFromContact',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '105',\n label: 'Is B2C',\n description: '',\n type: FlowShapeType.DECISION,\n additionalData: [],\n error: ''\n },\n {\n id: '106',\n label: 'CreatePrimaryIndividualAccount',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '107',\n label: 'Capture Event',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '108',\n label: 'Update Private Data',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '109',\n label: 'Attach Business Card',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '110',\n label: 'Has Address',\n description: '',\n type: FlowShapeType.DECISION,\n additionalData: [],\n error: ''\n },\n {\n id: '111',\n label: 'RemoveWORelatedNBA',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '112',\n label: 'Bulk Processing',\n description: '',\n type: FlowShapeType.DECISION,\n additionalData: [],\n error: ''\n },\n {\n id: '113',\n label: 'Queue For Agent',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '114',\n label: 'Retrieve Lat Long',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '115',\n label: 'RemoveWORelatedNBA',\n description: '',\n type: FlowShapeType.ASSIGNMENT,\n additionalData: [],\n error: ''\n },\n {\n id: '121',\n label: 'STOP',\n type: FlowShapeType.STOP\n }\n];\n\nexport const exampleCRMConnectorsData: ConnectorProps[] = [\n {\n id: '100-101',\n label: '',\n fromNodeId: '100',\n toNodeId: '101'\n },\n {\n id: '101-102',\n label: 'isSellingModeB2BOrB2BB2C',\n fromNodeId: '101',\n toNodeId: '102'\n },\n {\n id: '102-103',\n label: '',\n fromNodeId: '102',\n toNodeId: '103'\n },\n {\n id: '103-104',\n label: '',\n fromNodeId: '103',\n toNodeId: '104'\n },\n {\n id: '104-105',\n label: '',\n fromNodeId: '104',\n toNodeId: '105'\n },\n {\n id: '101-105',\n label: 'Else',\n fromNodeId: '101',\n toNodeId: '105'\n },\n {\n id: '105-106',\n label: 'isSellingModeB2COrB2BB2C',\n fromNodeId: '105',\n toNodeId: '106'\n },\n {\n id: '106-107',\n label: '',\n fromNodeId: '106',\n toNodeId: '107'\n },\n {\n id: '105-107',\n label: 'Else',\n fromNodeId: '105',\n toNodeId: '107'\n },\n {\n id: '107-108',\n label: '',\n fromNodeId: '107',\n toNodeId: '108'\n },\n {\n id: '108-109',\n label: '',\n fromNodeId: '108',\n toNodeId: '109'\n },\n {\n id: '109-110',\n label: '',\n fromNodeId: '109',\n toNodeId: '110'\n },\n {\n id: '110-112',\n label: 'crmHasAddress',\n fromNodeId: '110',\n toNodeId: '112'\n },\n {\n id: '112-113',\n label: 'Bulk Processing',\n fromNodeId: '112',\n toNodeId: '113'\n },\n {\n id: '112-114',\n label: 'Manual',\n fromNodeId: '112',\n toNodeId: '114'\n },\n {\n id: '114-115',\n label: '',\n fromNodeId: '114',\n toNodeId: '115'\n },\n {\n id: '115-121',\n label: '',\n fromNodeId: '115',\n toNodeId: '121'\n },\n {\n id: '113-121',\n label: '',\n fromNodeId: '113',\n toNodeId: '121'\n },\n {\n id: '110-111',\n label: 'Else',\n fromNodeId: '110',\n toNodeId: '111'\n },\n {\n id: '111-121',\n label: '',\n fromNodeId: '111',\n toNodeId: '121'\n }\n];\n\nexport const emptyNodesData: NodeProps[] = [\n {\n id: '100',\n label: 'START',\n type: FlowShapeType.START\n },\n {\n id: '120',\n label: 'STOP',\n type: FlowShapeType.STOP\n }\n];\n\nexport const emptyConnectorsData: ConnectorProps[] = [\n {\n id: '100-120',\n label: 'happy path',\n fromNodeId: '100',\n toNodeId: '120'\n }\n];\n\nexport const nodeActions: Action[] = [\n {\n id: 'action-2',\n text: 'Reassign'\n }\n];\n\nexport const nodeLibrary: NodeLibraryItem[] = [\n {\n id: createUID(),\n primary: 'Assignment',\n type: FlowShapeType.ASSIGNMENT\n },\n {\n id: createUID(),\n primary: 'Decision',\n type: FlowShapeType.DECISION\n },\n {\n id: createUID(),\n primary: 'Send a message',\n type: FlowShapeType.MESSAGE\n },\n {\n id: createUID(),\n primary: 'Ask a question',\n type: FlowShapeType.QUESTION\n },\n {\n id: createUID(),\n primary: 'Automations',\n type: FlowShapeType.AUTOMATION,\n items: [\n {\n id: createUID(),\n primary: 'Send email',\n type: FlowShapeType.SEND_EMAIL\n },\n {\n id: createUID(),\n primary: 'Generate PDF',\n type: FlowShapeType.GENERATE_PDF\n }\n ]\n }\n];\n"]}
@@ -4,6 +4,7 @@ declare const _default: Meta<import("@storybook/react").Args>;
4
4
  export default _default;
5
5
  interface FlowChartDemoProps extends FlowModellerProps {
6
6
  showErrorState?: boolean;
7
+ readOnly?: boolean;
7
8
  }
8
9
  export declare const EmptyFlowChartView: Story;
9
10
  export declare const CRMFlowChartView: Story<Partial<FlowChartDemoProps>>;
@@ -1 +1 @@
1
- {"version":3,"file":"FlowModeller.stories.d.ts","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAaL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;;AAelC,wBAMU;AACV,UAAU,kBAAmB,SAAQ,iBAAiB;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAyIhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CA2J/D,CAAC"}
1
+ {"version":3,"file":"FlowModeller.stories.d.ts","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAaL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;;AAelC,wBAMU;AACV,UAAU,kBAAmB,SAAQ,iBAAiB;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAyIhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CA4J/D,CAAC"}
@@ -185,16 +185,14 @@ export const CRMFlowChartView = (args) => {
185
185
  const WorkbenchContent = memo(() => {
186
186
  const connectorsLength = nodeData?.nodes[0].type.minConnectors || 1;
187
187
  return (<>
188
- {nodeData && connectorsLength > 1 && (<DecisionTable updatedData={graphData} connectors={nodeData?.connectors} onDeleteRow={onDeleteRow} node={nodeData?.nodes[0]} onAddRow={onAddRow}/>)}
188
+ {nodeData && connectorsLength > 1 && (<DecisionTable updatedData={graphData} connectors={nodeData?.connectors} onDeleteRow={onDeleteRow} node={nodeData?.nodes[0]} onAddRow={onAddRow} readOnly={args.readOnly}/>)}
189
189
  {nodeData && connectorsLength <= 1 && (<>
190
190
  <Input label='Label' defaultValue={nodeData?.nodes[0].label}/>
191
191
  <Input label='Description' defaultValue={nodeData?.nodes[0].description}/>
192
192
  </>)}
193
193
  </>);
194
194
  });
195
- useEscape(() => {
196
- onCancel();
197
- });
195
+ useEscape(onCancel);
198
196
  useOuterEvent('mousedown', [deletePopoverEl], onCancel);
199
197
  return (<StyledWrapper>
200
198
  <Workbench initiallyVisiblePanelId={undefined} configurationPanel={{
@@ -205,15 +203,17 @@ export const CRMFlowChartView = (args) => {
205
203
  setOpen(false);
206
204
  }
207
205
  }}>
208
- <FlowModeller graphData={args.showErrorState ? { ...graphData, nodes: exampleErrorNodes } : graphData} nodeLibrary={nodeLibrary} onNodeAdd={addNode} onNodeClick={selectNode} actions={nodeActions} highlightData={highlightItems} onNodeActionClick={onNodeActionClick} onDelete={deleteNode}/>
206
+ <FlowModeller graphData={args.showErrorState ? { ...graphData, nodes: exampleErrorNodes } : graphData} nodeLibrary={nodeLibrary} onNodeAdd={addNode} onNodeClick={selectNode} actions={nodeActions} highlightData={highlightItems} onNodeActionClick={onNodeActionClick} onDelete={deleteNode} readOnly={args.readOnly}/>
209
207
  <DeletePopover targetId={target} ref={setDeletePopoverEl} onDelete={onDelete} onCancel={onCancel} showPopover={showPopover}/>
210
208
  </Workbench>
211
209
  </StyledWrapper>);
212
210
  };
213
211
  CRMFlowChartView.args = {
214
- showErrorState: false
212
+ showErrorState: false,
213
+ readOnly: false
215
214
  };
216
215
  CRMFlowChartView.argTypes = {
217
- showErrorState: { control: { type: 'boolean' } }
216
+ showErrorState: { control: { type: 'boolean' } },
217
+ readOnly: { control: { type: 'boolean' } }
218
218
  };
219
219
  //# sourceMappingURL=FlowModeller.stories.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowModeller.stories.jsx","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EACL,YAAY,EAIZ,aAAa,EAIb,kBAAkB,EAGlB,SAAS,EAEV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEtF,OAAO,EACL,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,eAAe;IACb,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE;QACV,MAAM,EAAE,YAAY;KACrB;CACM,CAAC;AAKV,MAAM,CAAC,MAAM,kBAAkB,GAAU,GAAG,EAAE;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAuC;QAC/E,KAAK,EAAE,cAAc;QACrB,UAAU,EAAE,mBAAmB;KAChC,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAA+B,CAAC;IACpF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAwC,CAAC;IACjF,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAwC,CAAC;IAC7E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,UAAU,CAAc,IAAI,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,CAAC,MAAuB,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,WAAW,CAAC;YACV,KAAK,EAAE,CAAC,YAAY,CAAC;YACrB,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,MAAoB,EAAE,EAAE;QACjD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE;YAClC,MAAM,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;SACxC;aAAM;YAEL,OAAO,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,QAAkB,EAAE,QAA8B,EAAE,EAAE;QACrE,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC7C,QAAQ;YACR,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,WAAW,CAAC,CAAC;SAC3B;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAoB,EAAE,EAAE;QAC1C,YAAY,CAAE,MAAM,CAAC,cAAoC,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,WAAiD,EAAE,EAAE;QACrE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,WAAW,CAAC,EAAE,KAAK,EAAE,QAAS,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,WAAiD,EACjD,cAA4C,EAC5C,CAAc,EACd,EAAE;QACF,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAClC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;QACzB,SAAS,CAAC,WAAW,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,YAAY,OAAO,EAAE;YAChC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;YAC5B,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,WAAW,CAAC,EAAE,KAAK,EAAE,QAAS,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM;YAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACjC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;QACjC,OAAO,CACL,EACE;QAAA,CAAC,QAAQ,IAAI,CACX,CAAC,aAAa,CACZ,WAAW,CAAC,CAAC,SAAS,CAAC,CACvB,UAAU,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CACjC,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,QAAQ,CAAC,CAAC,QAAQ,CAAC,EACnB,CACH,CACH;MAAA,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAExD,OAAO,CACL,CAAC,aAAa,CACZ;MAAA,CAAC,SAAS,CACR,uBAAuB,CAAC,CAAC,SAAS,CAAC,CACnC,kBAAkB,CAAC,CAAC;YAClB,IAAI;YACJ,OAAO,EAAE,CAAC,gBAAgB,CAAC,AAAD,EAAG;YAC7B,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAe;YAC1C,SAAS,EAAE,GAAG,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;SACF,CAAC,CAEF;QAAA,CAAC,YAAY,CACX,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,SAAS,CAAC,CAAC,OAAO,CAAC,CACnB,WAAW,CAAC,CAAC,UAAU,CAAC,CACxB,OAAO,CAAC,CAAC,WAAW,CAAC,CACrB,aAAa,CAAC,CAAC,cAAc,CAAC,CAC9B,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAEvB;QAAA,CAAC,aAAa,CACZ,QAAQ,CAAC,CAAC,MAAM,CAAC,CACjB,GAAG,CAAC,CAAC,kBAAkB,CAAC,CACxB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,WAAW,CAAC,CAAC,WAAW,CAAC,EAE7B;MAAA,EAAE,SAAS,CACb;IAAA,EAAE,aAAa,CAAC,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAuC,CAClE,IAAiC,EACjC,EAAE;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAuC;QAC/E,KAAK,EAAE,mBAAmB;QAC1B,UAAU,EAAE,wBAAwB;KACrC,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAA+B,CAAC;IACpF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAwC,CAAC;IACjF,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAwC,CAAC;IAC7E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,UAAU,CAAc,IAAI,CAAC,CAAC;IAE5E,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAe,EAAE,EAAE;QACpE,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;YACpF,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;SAClD;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,MAAuB,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,WAAW,CAAC;YACV,KAAK,EAAE,CAAC,YAAY,CAAC;YACrB,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,MAAoB,EAAE,EAAE;QACjD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE;YAClC,MAAM,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;SACxC;aAAM;YAEL,OAAO,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,QAAkB,EAAE,QAA8B,EAAE,EAAE;QACrE,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC7C,QAAQ;YACR,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,WAAW,CAAC,CAAC;SAC3B;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAoB,EAAE,EAAE;QAC1C,YAAY,CAAE,MAAM,CAAC,cAAoC,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,WAAiD,EAAE,EAAE;QACrE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,WAAW,CAAC,EAAE,KAAK,EAAE,QAAS,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,WAAiD,EACjD,cAA4C,EAC5C,CAAc,EACd,EAAE;QACF,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAClC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;QACzB,SAAS,CAAC,WAAW,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,YAAY,OAAO,EAAE;YAChC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;YAC5B,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,WAAW,CAAC,EAAE,KAAK,EAAE,QAAS,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM;YAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;QAEjC,MAAM,gBAAgB,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QACpE,OAAO,CACL,EACE;QAAA,CAAC,QAAQ,IAAI,gBAAgB,GAAG,CAAC,IAAI,CACnC,CAAC,aAAa,CACZ,WAAW,CAAC,CAAC,SAAS,CAAC,CACvB,UAAU,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CACjC,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,QAAQ,CAAC,CAAC,QAAQ,CAAC,EACnB,CACH,CACD;QAAA,CAAC,QAAQ,IAAI,gBAAgB,IAAI,CAAC,IAAI,CACpC,EACE;YAAA,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAC5D;YAAA,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAC1E;UAAA,GAAG,CACJ,CACH;MAAA,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAExD,OAAO,CACL,CAAC,aAAa,CACZ;MAAA,CAAC,SAAS,CACR,uBAAuB,CAAC,CAAC,SAAS,CAAC,CACnC,kBAAkB,CAAC,CAAC;YAClB,IAAI;YACJ,OAAO,EAAE,CAAC,gBAAgB,CAAC,AAAD,EAAG;YAC7B,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAe;YAC1C,SAAS,EAAE,GAAG,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;SACF,CAAC,CAEF;QAAA,CAAC,YAAY,CACX,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CACxF,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,SAAS,CAAC,CAAC,OAAO,CAAC,CACnB,WAAW,CAAC,CAAC,UAAU,CAAC,CACxB,OAAO,CAAC,CAAC,WAAW,CAAC,CACrB,aAAa,CAAC,CAAC,cAAc,CAAC,CAC9B,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAEvB;QAAA,CAAC,aAAa,CACZ,QAAQ,CAAC,CAAC,MAAM,CAAC,CACjB,GAAG,CAAC,CAAC,kBAAkB,CAAC,CACxB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,WAAW,CAAC,CAAC,WAAW,CAAC,EAE7B;MAAA,EAAE,SAAS,CACb;IAAA,EAAE,aAAa,CAAC,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,gBAAgB,CAAC,IAAI,GAAG;IACtB,cAAc,EAAE,KAAK;CACtB,CAAC;AAEF,gBAAgB,CAAC,QAAQ,GAAG;IAC1B,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CACjD,CAAC","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}\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 />\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 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={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 />\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};\n\nCRMFlowChartView.argTypes = {\n showErrorState: { 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, 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 +1 @@
1
- {"version":3,"file":"ConditionBuilder.stories.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/ConditionBuilder/ConditionBuilder.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AA8B/C,wBAGU;AAEV,UAAU,0BAA0B;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,0BAA0B,CA8G5D,CAAC;AAgBF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,0BAA0B,CAkFhE,CAAC;AAcF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,0BAA0B,CAyJjE,CAAC"}
1
+ {"version":3,"file":"ConditionBuilder.stories.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/ConditionBuilder/ConditionBuilder.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AA+B/C,wBAGU;AAEV,UAAU,0BAA0B;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,0BAA0B,CA8G5D,CAAC;AAgBF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,0BAA0B,CAqGhE,CAAC;AAcF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,0BAA0B,CAyJjE,CAAC"}
@@ -108,10 +108,24 @@ export const FieldConditionDemo = (args) => {
108
108
  if (e.key === 'Escape')
109
109
  hidePopover();
110
110
  };
111
- const builderJsx = (<FieldCondition targetField='lastActivityAt' fields={demoFields} condition={condition} validComparators={args.validComparators ? demoComparators : undefined} validRhsTypes={new Set(['LITERAL', 'FIELD', 'DATE_FUNCTION', 'RELATIVE_DATE'])} dateFunctions={args.dateFunctions ? demoDateFunctions : undefined} onSubmit={c => {
111
+ const handle = useRef(null);
112
+ const builderJsx = (<Flex container={{ direction: 'column', gap: 2 }}>
113
+ <FieldCondition targetField='lastActivityAt' fields={demoFields} condition={condition} validComparators={args.validComparators ? demoComparators : undefined} validRhsTypes={new Set(['LITERAL', 'FIELD', 'DATE_FUNCTION', 'RELATIVE_DATE'])} dateFunctions={args.dateFunctions ? demoDateFunctions : undefined} handle={handle}/>
114
+
115
+ <Flex container={{ justify: 'end' }}>
116
+ <Button name='field-condition-submit' variant='primary' onClick={() => {
117
+ if (!handle.current)
118
+ return;
119
+ const [isValid, c] = handle.current.getCondition();
120
+ if (!isValid)
121
+ return;
112
122
  hidePopover();
113
123
  setCondition(c);
114
- }}/>);
124
+ }}>
125
+ Submit
126
+ </Button>
127
+ </Flex>
128
+ </Flex>);
115
129
  return (<StyledGrid container={{
116
130
  cols: 'repeat(2, minmax(0, 1fr))',
117
131
  justifyItems: 'stretch',
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilder.stories.jsx","sourceRoot":"","sources":["../../../src/condition-builder/ConditionBuilder/ConditionBuilder.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/no-unescaped-entities */\nimport { useRef, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Card,\n CardContent,\n Text,\n Button,\n Popover,\n useElement,\n useOuterEvent,\n Flex,\n useI18n\n} from '@pega/cosmos-react-core';\nimport {\n ConditionBuilder,\n FieldCondition,\n AtomicCondition,\n getInitConditionForLhs,\n isValidCondition,\n Condition,\n LeafCondition,\n formatCondition,\n RHSType\n} from '@pega/cosmos-react-condition-builder';\nimport { HandleProps } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/ConditionBuilder.types';\n\nimport { demoFields, demoCondition, demoComparators, demoDateFunctions } from './props.mock';\nimport { StyledCodeBlock, StyledGrid, StyledList } from './ConditionBuilder.styles';\nimport { convertRhsTypes } from './ConditionBuilder.mocks';\n\nexport default {\n title: 'Condition Builder/ConditionBuilder',\n component: ConditionBuilder\n} as Meta;\n\ninterface ConditionBuilderStoryProps {\n validComparators?: boolean;\n disallowNOT?: boolean;\n renderInPopover?: boolean;\n dateFunctions?: boolean;\n itemDirection?: 'column' | 'row';\n useLiteralRHSType?: boolean;\n useFieldRHSType?: boolean;\n useRelativeDatesRHSType?: boolean;\n showLhsAsLabel?: boolean;\n}\n\nexport const DefaultBuilder: Story<ConditionBuilderStoryProps> = (\n args: ConditionBuilderStoryProps\n) => {\n const translate = useI18n();\n const [condition, setCondition] = useState<Condition | undefined>(() => {\n // If a previous condition exists on the session, use it\n const prevCondition = sessionStorage.getItem('CBDemoCondition');\n if (prevCondition !== null) {\n // If an empty condition was submitted previously, start with an empty one\n if (prevCondition === 'undefined') {\n return undefined;\n }\n return JSON.parse(prevCondition);\n }\n return demoCondition;\n });\n\n // Set up content for rendering inside a Popover\n const buttonRef = useRef(null); // Ref for the opener button\n const [isOpen, setIsOpen] = useState(false);\n const [popoverEl, setPopoverEl] = useElement<HTMLElement>(null);\n const hidePopover = () => {\n if (isOpen) {\n setIsOpen(false);\n }\n };\n\n useOuterEvent('mousedown', [popoverEl, buttonRef.current], hidePopover); // Call the method on clicking outside these elements\n const hideOnEscape = (e: KeyboardEvent) => {\n if (e.key === 'Escape') hidePopover(); // Call the method when Escape key is pressed\n };\n\n const handle = useRef<HandleProps>(null);\n\n const builderJsx = (\n <>\n <ConditionBuilder\n fields={demoFields}\n condition={condition}\n validComparators={args.validComparators ? demoComparators : undefined}\n validRhsTypes={new Set(['LITERAL', 'FIELD', 'DATE_FUNCTION', 'RELATIVE_DATE'])}\n dateFunctions={args.dateFunctions ? demoDateFunctions : undefined}\n disallowNOT={args.disallowNOT}\n handle={handle}\n />\n <Button\n variant='primary'\n onClick={() => {\n if (handle?.current) {\n const [valid, newCondition] = handle.current.getCondition();\n if (valid) {\n setCondition(newCondition);\n hidePopover();\n sessionStorage.setItem('CBDemoCondition', JSON.stringify(newCondition)); // Persist on sessionStorage for the next time\n }\n }\n }}\n >\n Submit\n </Button>\n </>\n );\n\n return (\n <StyledGrid\n container={{\n cols: '1fr',\n rowGap: 3\n }}\n >\n {!args.renderInPopover && builderJsx}\n\n {args.renderInPopover && (\n <>\n <Button\n ref={buttonRef}\n aria-haspopup\n aria-expanded={isOpen}\n onClick={() => setIsOpen(!isOpen)}\n onKeyDown={hideOnEscape}\n >\n Open Condition builder\n </Button>\n\n <Popover\n show={isOpen}\n ref={setPopoverEl}\n target={buttonRef.current}\n placement='bottom-start'\n >\n <Flex container={{ pad: 1, direction: 'column' }}>{builderJsx}</Flex>\n </Popover>\n </>\n )}\n\n <div>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {condition ? JSON.stringify(condition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n </div>\n\n <div>\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {condition ? formatCondition(condition, demoFields, translate) : '(No condition)'}\n </StyledCodeBlock>\n </div>\n </StyledGrid>\n );\n};\n\nDefaultBuilder.args = {\n validComparators: false,\n disallowNOT: false,\n renderInPopover: false,\n dateFunctions: true\n};\n\nDefaultBuilder.argTypes = {\n validComparators: { control: { type: 'boolean' } },\n disallowNOT: { control: { type: 'boolean' } },\n renderInPopover: { control: { type: 'boolean' } },\n dateFunctions: { control: { type: 'boolean' } }\n};\n\nexport const FieldConditionDemo: Story<ConditionBuilderStoryProps> = (\n args: ConditionBuilderStoryProps\n) => {\n const translate = useI18n();\n const [condition, setCondition] = useState<LeafCondition | undefined>(undefined);\n\n // Set up content for rendering inside a Popover\n const buttonRef = useRef(null); // Ref for the opener button\n const [isOpen, setIsOpen] = useState(false);\n const [popoverEl, setPopoverEl] = useElement<HTMLElement>(null);\n const hidePopover = () => {\n if (isOpen) {\n setIsOpen(false);\n }\n };\n useOuterEvent('mousedown', [popoverEl, buttonRef.current], hidePopover); // Call the method on clicking outside these elements\n const hideOnEscape = (e: KeyboardEvent) => {\n if (e.key === 'Escape') hidePopover(); // Call the method when Escape key is pressed\n };\n\n const builderJsx = (\n <FieldCondition\n targetField='lastActivityAt'\n fields={demoFields}\n condition={condition}\n validComparators={args.validComparators ? demoComparators : undefined}\n validRhsTypes={new Set(['LITERAL', 'FIELD', 'DATE_FUNCTION', 'RELATIVE_DATE'])}\n dateFunctions={args.dateFunctions ? demoDateFunctions : undefined}\n onSubmit={c => {\n hidePopover();\n setCondition(c);\n }}\n />\n );\n\n return (\n <StyledGrid\n container={{\n cols: 'repeat(2, minmax(0, 1fr))',\n justifyItems: 'stretch',\n alignItems: 'start',\n colGap: 4\n }}\n >\n {!args.renderInPopover && builderJsx}\n\n {args.renderInPopover && (\n <>\n <Button\n ref={buttonRef}\n aria-haspopup\n aria-expanded={isOpen}\n onClick={() => setIsOpen(!isOpen)}\n onKeyDown={hideOnEscape}\n >\n Open Condition builder\n </Button>\n\n <Popover\n show={isOpen}\n ref={setPopoverEl}\n target={buttonRef.current}\n placement='bottom-start'\n >\n <Flex container={{ pad: 1 }}>{builderJsx}</Flex>\n </Popover>\n </>\n )}\n\n <div>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {condition ? JSON.stringify(condition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {condition ? formatCondition({ condition }, demoFields, translate) : '(No condition)'}\n </StyledCodeBlock>\n </div>\n </StyledGrid>\n );\n};\n\nFieldConditionDemo.args = {\n validComparators: false,\n renderInPopover: false,\n dateFunctions: true\n};\n\nFieldConditionDemo.argTypes = {\n validComparators: { control: { type: 'boolean' } },\n renderInPopover: { control: { type: 'boolean' } },\n dateFunctions: { control: { type: 'boolean' } }\n};\n\nexport const AtomicConditionDemo: Story<ConditionBuilderStoryProps> = (\n args: ConditionBuilderStoryProps\n) => {\n const translate = useI18n();\n\n const validRHSTypes: Set<RHSType> = convertRhsTypes(\n !!args.useLiteralRHSType,\n !!args.useFieldRHSType,\n !!args.useRelativeDatesRHSType,\n args.dateFunctions ? demoDateFunctions : undefined\n );\n\n // Story State object to simulate \"submitting\"\n const [submitCondition, setSubmitCondition] = useState<LeafCondition | undefined>(undefined);\n // State needed to use Popover in Story\n const buttonRef = useRef(null); // Ref for the opener button\n const [isOpen, setIsOpen] = useState(false);\n const [popoverEl, setPopoverEl] = useElement<HTMLElement>(null);\n const hidePopover = () => {\n if (isOpen) {\n setIsOpen(false);\n }\n };\n useOuterEvent('mousedown', [popoverEl, buttonRef.current], hidePopover); // Call the method on clicking outside these elements\n const hideOnEscape = (e: KeyboardEvent) => {\n if (e.key === 'Escape') hidePopover(); // Call the method when Escape key is pressed\n };\n\n // State handling needed to manage/use the AtomicCondition component\n const [showErrorIndicators, setShowErrorIndicators] = useState(false);\n const [condition, setCondition] = useState(\n // If editing use the seedCondition, otherwise, determine an initial condition based on the targetField\n () =>\n submitCondition ||\n getInitConditionForLhs(\n { field: 'age' },\n demoFields,\n validRHSTypes,\n args.validComparators ? demoComparators : undefined,\n args.dateFunctions ? demoDateFunctions : undefined\n )\n );\n\n const handleSubmission = () => {\n setShowErrorIndicators(false);\n if (isValidCondition(condition, demoFields, true)) {\n // Insert all \"submit\" logic to use the valid condition that you've created.\n if (args.renderInPopover) setIsOpen(false);\n setSubmitCondition(condition);\n } else {\n setShowErrorIndicators(true);\n }\n };\n\n const atomicConditionJSX = (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <AtomicCondition\n condition={condition}\n fields={demoFields}\n indicateErrors={showErrorIndicators}\n validComparators={args.validComparators ? demoComparators : undefined}\n dateFunctions={args.dateFunctions ? demoDateFunctions : undefined}\n onChange={c => setCondition(c)}\n itemDirection={args.itemDirection}\n showLhsAsLabel={args.showLhsAsLabel}\n validRhsTypes={validRHSTypes}\n />\n <Button variant='primary' onClick={handleSubmission}>\n Submit Condition\n </Button>\n </Flex>\n );\n\n return (\n <StyledGrid\n container={{\n cols: 'repeat(2, minmax(0, 1fr))',\n justifyItems: 'stretch',\n alignItems: 'start',\n colGap: 4\n }}\n >\n {!args.renderInPopover && atomicConditionJSX}\n\n {args.renderInPopover && (\n <>\n <Button\n ref={buttonRef}\n aria-haspopup\n aria-expanded={isOpen}\n onClick={() => setIsOpen(!isOpen)}\n onKeyDown={hideOnEscape}\n >\n {`${isOpen ? 'Close' : 'Open'} Atomic Condition`}\n </Button>\n\n <Popover\n show={isOpen}\n ref={setPopoverEl}\n target={buttonRef.current}\n placement='bottom-start'\n >\n <Flex container={{ pad: 1 }}>{atomicConditionJSX}</Flex>\n </Popover>\n </>\n )}\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, translate)\n : '(No condition)'}\n </StyledCodeBlock>\n <Flex container={{ gap: 1, direction: 'column' }}>\n <Flex container={{ gap: 1, direction: 'column' }}>\n <Text variant='h2' status='error'>\n validRhsTypes Prop Warning\n </Text>\n <Text>\n There are LHS(Left Hand Side Field)/Comparator pairings that <u>require</u> specific\n RHS(Right Hand Side Value) types. Please be mindful of these incompatibilities when\n limiting RHS value types using this prop. We <b>do not</b> support limiting RHS\n field types to incompatible types and it will result in a validation error if you do\n so. The pairings referred to here are as follows:\n </Text>\n </Flex>\n <StyledList>\n <li>\n BOOLEAN LHS Fields coupled with \"EQ\" or \"NEQ\" comparators, will <u>always yield</u>{' '}\n a Field RHS\n </li>\n <li>\n Any LHS Fields coupled with \"IN\" or \"NOT_IN\" comparators, will <u>always yield</u> a\n Literal RHS (Comma separated list)\n </li>\n </StyledList>\n <Flex container={{ direction: 'column' }}>\n <Text>\n If you would like to limit RHS value types and avoid these incompatibilities, you\n will need to exclude these comparators using the <b>validComparators</b> prop.\n </Text>\n </Flex>\n </Flex>\n </CardContent>\n </Card>\n </StyledGrid>\n );\n};\n\nAtomicConditionDemo.args = {\n validComparators: false,\n renderInPopover: false,\n dateFunctions: true,\n itemDirection: 'column',\n useLiteralRHSType: true,\n useFieldRHSType: true,\n useRelativeDatesRHSType: true,\n showLhsAsLabel: false\n};\n\nAtomicConditionDemo.argTypes = {\n validComparators: { control: { type: 'boolean' } },\n renderInPopover: { control: { type: 'boolean' } },\n dateFunctions: { control: { type: 'boolean' } },\n itemDirection: { options: ['column', 'row'], control: { type: 'select' } },\n useLiteralRHSType: { control: { type: 'boolean' } },\n useFieldRHSType: { control: { type: 'boolean' } },\n useRelativeDatesRHSType: { control: { type: 'boolean' } },\n showLhsAsLabel: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"ConditionBuilder.stories.jsx","sourceRoot":"","sources":["../../../src/condition-builder/ConditionBuilder/ConditionBuilder.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/no-unescaped-entities */\nimport { useRef, useState } from 'react';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n Card,\n CardContent,\n Text,\n Button,\n Popover,\n useElement,\n useOuterEvent,\n Flex,\n useI18n\n} from '@pega/cosmos-react-core';\nimport {\n ConditionBuilder,\n FieldCondition,\n AtomicCondition,\n getInitConditionForLhs,\n isValidCondition,\n Condition,\n LeafCondition,\n formatCondition,\n RHSType\n} from '@pega/cosmos-react-condition-builder';\nimport { HandleValue as ConditionBuilderHandleValue } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/ConditionBuilder.types';\nimport { HandleValue as FieldConditionHandleValue } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/FieldCondition.types';\n\nimport { demoFields, demoCondition, demoComparators, demoDateFunctions } from './props.mock';\nimport { StyledCodeBlock, StyledGrid, StyledList } from './ConditionBuilder.styles';\nimport { convertRhsTypes } from './ConditionBuilder.mocks';\n\nexport default {\n title: 'Condition Builder/ConditionBuilder',\n component: ConditionBuilder\n} as Meta;\n\ninterface ConditionBuilderStoryProps {\n validComparators?: boolean;\n disallowNOT?: boolean;\n renderInPopover?: boolean;\n dateFunctions?: boolean;\n itemDirection?: 'column' | 'row';\n useLiteralRHSType?: boolean;\n useFieldRHSType?: boolean;\n useRelativeDatesRHSType?: boolean;\n showLhsAsLabel?: boolean;\n}\n\nexport const DefaultBuilder: Story<ConditionBuilderStoryProps> = (\n args: ConditionBuilderStoryProps\n) => {\n const translate = useI18n();\n const [condition, setCondition] = useState<Condition | undefined>(() => {\n // If a previous condition exists on the session, use it\n const prevCondition = sessionStorage.getItem('CBDemoCondition');\n if (prevCondition !== null) {\n // If an empty condition was submitted previously, start with an empty one\n if (prevCondition === 'undefined') {\n return undefined;\n }\n return JSON.parse(prevCondition);\n }\n return demoCondition;\n });\n\n // Set up content for rendering inside a Popover\n const buttonRef = useRef(null); // Ref for the opener button\n const [isOpen, setIsOpen] = useState(false);\n const [popoverEl, setPopoverEl] = useElement<HTMLElement>(null);\n const hidePopover = () => {\n if (isOpen) {\n setIsOpen(false);\n }\n };\n\n useOuterEvent('mousedown', [popoverEl, buttonRef.current], hidePopover); // Call the method on clicking outside these elements\n const hideOnEscape = (e: KeyboardEvent) => {\n if (e.key === 'Escape') hidePopover(); // Call the method when Escape key is pressed\n };\n\n const handle = useRef<ConditionBuilderHandleValue>(null);\n\n const builderJsx = (\n <>\n <ConditionBuilder\n fields={demoFields}\n condition={condition}\n validComparators={args.validComparators ? demoComparators : undefined}\n validRhsTypes={new Set(['LITERAL', 'FIELD', 'DATE_FUNCTION', 'RELATIVE_DATE'])}\n dateFunctions={args.dateFunctions ? demoDateFunctions : undefined}\n disallowNOT={args.disallowNOT}\n handle={handle}\n />\n <Button\n variant='primary'\n onClick={() => {\n if (handle?.current) {\n const [valid, newCondition] = handle.current.getCondition();\n if (valid) {\n setCondition(newCondition);\n hidePopover();\n sessionStorage.setItem('CBDemoCondition', JSON.stringify(newCondition)); // Persist on sessionStorage for the next time\n }\n }\n }}\n >\n Submit\n </Button>\n </>\n );\n\n return (\n <StyledGrid\n container={{\n cols: '1fr',\n rowGap: 3\n }}\n >\n {!args.renderInPopover && builderJsx}\n\n {args.renderInPopover && (\n <>\n <Button\n ref={buttonRef}\n aria-haspopup\n aria-expanded={isOpen}\n onClick={() => setIsOpen(!isOpen)}\n onKeyDown={hideOnEscape}\n >\n Open Condition builder\n </Button>\n\n <Popover\n show={isOpen}\n ref={setPopoverEl}\n target={buttonRef.current}\n placement='bottom-start'\n >\n <Flex container={{ pad: 1, direction: 'column' }}>{builderJsx}</Flex>\n </Popover>\n </>\n )}\n\n <div>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {condition ? JSON.stringify(condition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n </div>\n\n <div>\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {condition ? formatCondition(condition, demoFields, translate) : '(No condition)'}\n </StyledCodeBlock>\n </div>\n </StyledGrid>\n );\n};\n\nDefaultBuilder.args = {\n validComparators: false,\n disallowNOT: false,\n renderInPopover: false,\n dateFunctions: true\n};\n\nDefaultBuilder.argTypes = {\n validComparators: { control: { type: 'boolean' } },\n disallowNOT: { control: { type: 'boolean' } },\n renderInPopover: { control: { type: 'boolean' } },\n dateFunctions: { control: { type: 'boolean' } }\n};\n\nexport const FieldConditionDemo: Story<ConditionBuilderStoryProps> = (\n args: ConditionBuilderStoryProps\n) => {\n const translate = useI18n();\n const [condition, setCondition] = useState<LeafCondition | undefined>(undefined);\n\n // Set up content for rendering inside a Popover\n const buttonRef = useRef(null); // Ref for the opener button\n const [isOpen, setIsOpen] = useState(false);\n const [popoverEl, setPopoverEl] = useElement<HTMLElement>(null);\n const hidePopover = () => {\n if (isOpen) {\n setIsOpen(false);\n }\n };\n useOuterEvent('mousedown', [popoverEl, buttonRef.current], hidePopover); // Call the method on clicking outside these elements\n const hideOnEscape = (e: KeyboardEvent) => {\n if (e.key === 'Escape') hidePopover(); // Call the method when Escape key is pressed\n };\n\n const handle = useRef<FieldConditionHandleValue>(null);\n\n const builderJsx = (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <FieldCondition\n targetField='lastActivityAt'\n fields={demoFields}\n condition={condition}\n validComparators={args.validComparators ? demoComparators : undefined}\n validRhsTypes={new Set(['LITERAL', 'FIELD', 'DATE_FUNCTION', 'RELATIVE_DATE'])}\n dateFunctions={args.dateFunctions ? demoDateFunctions : undefined}\n handle={handle}\n />\n\n <Flex container={{ justify: 'end' }}>\n <Button\n name='field-condition-submit'\n variant='primary'\n onClick={() => {\n if (!handle.current) return;\n\n const [isValid, c] = handle.current.getCondition();\n if (!isValid) return;\n\n hidePopover();\n setCondition(c);\n }}\n >\n Submit\n </Button>\n </Flex>\n </Flex>\n );\n\n return (\n <StyledGrid\n container={{\n cols: 'repeat(2, minmax(0, 1fr))',\n justifyItems: 'stretch',\n alignItems: 'start',\n colGap: 4\n }}\n >\n {!args.renderInPopover && builderJsx}\n\n {args.renderInPopover && (\n <>\n <Button\n ref={buttonRef}\n aria-haspopup\n aria-expanded={isOpen}\n onClick={() => setIsOpen(!isOpen)}\n onKeyDown={hideOnEscape}\n >\n Open Condition builder\n </Button>\n\n <Popover\n show={isOpen}\n ref={setPopoverEl}\n target={buttonRef.current}\n placement='bottom-start'\n >\n <Flex container={{ pad: 1 }}>{builderJsx}</Flex>\n </Popover>\n </>\n )}\n\n <div>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {condition ? JSON.stringify(condition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {condition ? formatCondition({ condition }, demoFields, translate) : '(No condition)'}\n </StyledCodeBlock>\n </div>\n </StyledGrid>\n );\n};\n\nFieldConditionDemo.args = {\n validComparators: false,\n renderInPopover: false,\n dateFunctions: true\n};\n\nFieldConditionDemo.argTypes = {\n validComparators: { control: { type: 'boolean' } },\n renderInPopover: { control: { type: 'boolean' } },\n dateFunctions: { control: { type: 'boolean' } }\n};\n\nexport const AtomicConditionDemo: Story<ConditionBuilderStoryProps> = (\n args: ConditionBuilderStoryProps\n) => {\n const translate = useI18n();\n\n const validRHSTypes: Set<RHSType> = convertRhsTypes(\n !!args.useLiteralRHSType,\n !!args.useFieldRHSType,\n !!args.useRelativeDatesRHSType,\n args.dateFunctions ? demoDateFunctions : undefined\n );\n\n // Story State object to simulate \"submitting\"\n const [submitCondition, setSubmitCondition] = useState<LeafCondition | undefined>(undefined);\n // State needed to use Popover in Story\n const buttonRef = useRef(null); // Ref for the opener button\n const [isOpen, setIsOpen] = useState(false);\n const [popoverEl, setPopoverEl] = useElement<HTMLElement>(null);\n const hidePopover = () => {\n if (isOpen) {\n setIsOpen(false);\n }\n };\n useOuterEvent('mousedown', [popoverEl, buttonRef.current], hidePopover); // Call the method on clicking outside these elements\n const hideOnEscape = (e: KeyboardEvent) => {\n if (e.key === 'Escape') hidePopover(); // Call the method when Escape key is pressed\n };\n\n // State handling needed to manage/use the AtomicCondition component\n const [showErrorIndicators, setShowErrorIndicators] = useState(false);\n const [condition, setCondition] = useState(\n // If editing use the seedCondition, otherwise, determine an initial condition based on the targetField\n () =>\n submitCondition ||\n getInitConditionForLhs(\n { field: 'age' },\n demoFields,\n validRHSTypes,\n args.validComparators ? demoComparators : undefined,\n args.dateFunctions ? demoDateFunctions : undefined\n )\n );\n\n const handleSubmission = () => {\n setShowErrorIndicators(false);\n if (isValidCondition(condition, demoFields, true)) {\n // Insert all \"submit\" logic to use the valid condition that you've created.\n if (args.renderInPopover) setIsOpen(false);\n setSubmitCondition(condition);\n } else {\n setShowErrorIndicators(true);\n }\n };\n\n const atomicConditionJSX = (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <AtomicCondition\n condition={condition}\n fields={demoFields}\n indicateErrors={showErrorIndicators}\n validComparators={args.validComparators ? demoComparators : undefined}\n dateFunctions={args.dateFunctions ? demoDateFunctions : undefined}\n onChange={c => setCondition(c)}\n itemDirection={args.itemDirection}\n showLhsAsLabel={args.showLhsAsLabel}\n validRhsTypes={validRHSTypes}\n />\n <Button variant='primary' onClick={handleSubmission}>\n Submit Condition\n </Button>\n </Flex>\n );\n\n return (\n <StyledGrid\n container={{\n cols: 'repeat(2, minmax(0, 1fr))',\n justifyItems: 'stretch',\n alignItems: 'start',\n colGap: 4\n }}\n >\n {!args.renderInPopover && atomicConditionJSX}\n\n {args.renderInPopover && (\n <>\n <Button\n ref={buttonRef}\n aria-haspopup\n aria-expanded={isOpen}\n onClick={() => setIsOpen(!isOpen)}\n onKeyDown={hideOnEscape}\n >\n {`${isOpen ? 'Close' : 'Open'} Atomic Condition`}\n </Button>\n\n <Popover\n show={isOpen}\n ref={setPopoverEl}\n target={buttonRef.current}\n placement='bottom-start'\n >\n <Flex container={{ pad: 1 }}>{atomicConditionJSX}</Flex>\n </Popover>\n </>\n )}\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, translate)\n : '(No condition)'}\n </StyledCodeBlock>\n <Flex container={{ gap: 1, direction: 'column' }}>\n <Flex container={{ gap: 1, direction: 'column' }}>\n <Text variant='h2' status='error'>\n validRhsTypes Prop Warning\n </Text>\n <Text>\n There are LHS(Left Hand Side Field)/Comparator pairings that <u>require</u> specific\n RHS(Right Hand Side Value) types. Please be mindful of these incompatibilities when\n limiting RHS value types using this prop. We <b>do not</b> support limiting RHS\n field types to incompatible types and it will result in a validation error if you do\n so. The pairings referred to here are as follows:\n </Text>\n </Flex>\n <StyledList>\n <li>\n BOOLEAN LHS Fields coupled with \"EQ\" or \"NEQ\" comparators, will <u>always yield</u>{' '}\n a Field RHS\n </li>\n <li>\n Any LHS Fields coupled with \"IN\" or \"NOT_IN\" comparators, will <u>always yield</u> a\n Literal RHS (Comma separated list)\n </li>\n </StyledList>\n <Flex container={{ direction: 'column' }}>\n <Text>\n If you would like to limit RHS value types and avoid these incompatibilities, you\n will need to exclude these comparators using the <b>validComparators</b> prop.\n </Text>\n </Flex>\n </Flex>\n </CardContent>\n </Card>\n </StyledGrid>\n );\n};\n\nAtomicConditionDemo.args = {\n validComparators: false,\n renderInPopover: false,\n dateFunctions: true,\n itemDirection: 'column',\n useLiteralRHSType: true,\n useFieldRHSType: true,\n useRelativeDatesRHSType: true,\n showLhsAsLabel: false\n};\n\nAtomicConditionDemo.argTypes = {\n validComparators: { control: { type: 'boolean' } },\n renderInPopover: { control: { type: 'boolean' } },\n dateFunctions: { control: { type: 'boolean' } },\n itemDirection: { options: ['column', 'row'], control: { type: 'select' } },\n useLiteralRHSType: { control: { type: 'boolean' } },\n useFieldRHSType: { control: { type: 'boolean' } },\n useRelativeDatesRHSType: { control: { type: 'boolean' } },\n showLhsAsLabel: { control: { type: 'boolean' } }\n};\n"]}
@@ -0,0 +1,10 @@
1
+ import { Meta, Story } from '@storybook/react';
2
+ import { ConditionInputMode, ConditionFieldType } from '@pega/cosmos-react-condition-builder';
3
+ declare const _default: Meta<import("@storybook/react").Args>;
4
+ export default _default;
5
+ interface ConditionInputStoryProps {
6
+ fieldType: ConditionFieldType;
7
+ mode: ConditionInputMode;
8
+ }
9
+ export declare const ConditionInputDemo: Story<ConditionInputStoryProps>;
10
+ //# sourceMappingURL=ConditionInput.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConditionInput.stories.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/ConditionInput/ConditionInput.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAEL,kBAAkB,EAElB,kBAAkB,EACnB,MAAM,sCAAsC,CAAC;;AAE9C,wBAGU;AAEV,UAAU,wBAAwB;IAChC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,wBAAwB,CAc9D,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { useState } from 'react';
2
+ import { ConditionInput } from '@pega/cosmos-react-condition-builder';
3
+ export default {
4
+ title: 'Condition Builder/ConditionInput',
5
+ component: ConditionInput
6
+ };
7
+ export const ConditionInputDemo = (args) => {
8
+ const [condition, setCondition] = useState();
9
+ return (<ConditionInput fieldName='Field Value' fieldType={args.fieldType} mode={args.mode} condition={condition} onChange={setCondition}/>);
10
+ };
11
+ ConditionInputDemo.args = {
12
+ fieldType: 'TEXT',
13
+ mode: 'advanced'
14
+ };
15
+ ConditionInputDemo.argTypes = {
16
+ fieldType: {
17
+ options: [
18
+ 'TEXT',
19
+ 'INTEGER',
20
+ 'BOOLEAN',
21
+ 'DECIMAL',
22
+ 'EMAIL',
23
+ 'URL',
24
+ 'PERCENTAGE',
25
+ 'CURRENCY',
26
+ 'PHONE'
27
+ ],
28
+ control: { type: 'select' }
29
+ },
30
+ mode: { options: ['default', 'advanced'], control: { type: 'select' } }
31
+ };
32
+ //# sourceMappingURL=ConditionInput.stories.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConditionInput.stories.jsx","sourceRoot":"","sources":["../../../src/condition-builder/ConditionInput/ConditionInput.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EACL,cAAc,EAIf,MAAM,sCAAsC,CAAC;AAE9C,eAAe;IACb,KAAK,EAAE,kCAAkC;IACzC,SAAS,EAAE,cAAc;CAClB,CAAC;AAOV,MAAM,CAAC,MAAM,kBAAkB,GAAoC,CACjE,IAA8B,EAC9B,EAAE;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAA6B,CAAC;IAExE,OAAO,CACL,CAAC,cAAc,CACb,SAAS,CAAC,aAAa,CACvB,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,QAAQ,CAAC,CAAC,YAAY,CAAC,EACvB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAkB,CAAC,IAAI,GAAG;IACxB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,kBAAkB,CAAC,QAAQ,GAAG;IAC5B,SAAS,EAAE;QACT,OAAO,EAAE;YACP,MAAM;YACN,SAAS;YACT,SAAS;YACT,SAAS;YACT,OAAO;YACP,KAAK;YACL,YAAY;YACZ,UAAU;YACV,OAAO;SACR;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5B;IACD,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;CACxE,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { useState } from 'react';\n\nimport {\n ConditionInput,\n ConditionInputMode,\n LeafCondition,\n ConditionFieldType\n} from '@pega/cosmos-react-condition-builder';\n\nexport default {\n title: 'Condition Builder/ConditionInput',\n component: ConditionInput\n} as Meta;\n\ninterface ConditionInputStoryProps {\n fieldType: ConditionFieldType;\n mode: ConditionInputMode;\n}\n\nexport const ConditionInputDemo: Story<ConditionInputStoryProps> = (\n args: ConditionInputStoryProps\n) => {\n const [condition, setCondition] = useState<LeafCondition | undefined>();\n\n return (\n <ConditionInput\n fieldName='Field Value'\n fieldType={args.fieldType}\n mode={args.mode}\n condition={condition}\n onChange={setCondition}\n />\n );\n};\n\nConditionInputDemo.args = {\n fieldType: 'TEXT',\n mode: 'advanced'\n};\n\nConditionInputDemo.argTypes = {\n fieldType: {\n options: [\n 'TEXT',\n 'INTEGER',\n 'BOOLEAN',\n 'DECIMAL',\n 'EMAIL',\n 'URL',\n 'PERCENTAGE',\n 'CURRENCY',\n 'PHONE'\n ],\n control: { type: 'select' }\n },\n mode: { options: ['default', 'advanced'], control: { type: 'select' } }\n};\n"]}
@@ -0,0 +1,4 @@
1
+ import { Condition, PromotedFiltersProps } from '@pega/cosmos-react-condition-builder';
2
+ export declare const demoCondition: Condition;
3
+ export declare const demoFilters: PromotedFiltersProps['filters'];
4
+ //# sourceMappingURL=PromotedFilters.mocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromotedFilters.mocks.d.ts","sourceRoot":"","sources":["../../../src/condition-builder/PromotedFilters/PromotedFilters.mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEvF,eAAO,MAAM,aAAa,EAAE,SAoB3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,oBAAoB,CAAC,SAAS,CAevD,CAAC"}