@pega/react-sdk-components 0.25.8 → 0.25.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.css +46 -0
  2. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts +2 -1
  3. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts.map +1 -1
  4. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +18 -16
  5. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -1
  6. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +1 -1
  7. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
  8. package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
  9. package/lib/components/infra/Assignment/Assignment.js +6 -2
  10. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  11. package/lib/components/infra/Assignment/useValidationBanner.d.ts +7 -0
  12. package/lib/components/infra/Assignment/useValidationBanner.d.ts.map +1 -0
  13. package/lib/components/infra/Assignment/useValidationBanner.js +26 -0
  14. package/lib/components/infra/Assignment/useValidationBanner.js.map +1 -0
  15. package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
  16. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +4 -5
  17. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
  18. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts +4 -0
  19. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts.map +1 -1
  20. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +1 -1
  21. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
  22. package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts +4 -0
  23. package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts.map +1 -1
  24. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +4 -7
  25. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
  26. package/lib/components/infra/DeferLoad/DeferLoad.d.ts +1 -0
  27. package/lib/components/infra/DeferLoad/DeferLoad.d.ts.map +1 -1
  28. package/lib/components/infra/DeferLoad/DeferLoad.js +24 -9
  29. package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
  30. package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
  31. package/lib/components/infra/NavBar/NavBar.js +6 -0
  32. package/lib/components/infra/NavBar/NavBar.js.map +1 -1
  33. package/lib/components/infra/Reference/Reference.d.ts.map +1 -1
  34. package/lib/components/infra/Reference/Reference.js +4 -0
  35. package/lib/components/infra/Reference/Reference.js.map +1 -1
  36. package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
  37. package/lib/components/infra/RootContainer/RootContainer.js +4 -5
  38. package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
  39. package/lib/components/infra/View/View.d.ts.map +1 -1
  40. package/lib/components/infra/View/View.js +5 -6
  41. package/lib/components/infra/View/View.js.map +1 -1
  42. package/lib/components/template/AppShell/AppShell.css +0 -4
  43. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts +1 -0
  44. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
  45. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +7 -3
  46. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
  47. package/lib/components/template/HierarchicalForm/HierarchicalForm.d.ts +4 -0
  48. package/lib/components/template/HierarchicalForm/HierarchicalForm.d.ts.map +1 -0
  49. package/lib/components/template/HierarchicalForm/HierarchicalForm.js +16 -0
  50. package/lib/components/template/HierarchicalForm/HierarchicalForm.js.map +1 -0
  51. package/lib/components/template/HierarchicalForm/hooks.d.ts +15 -0
  52. package/lib/components/template/HierarchicalForm/hooks.d.ts.map +1 -0
  53. package/lib/components/template/HierarchicalForm/hooks.js +163 -0
  54. package/lib/components/template/HierarchicalForm/hooks.js.map +1 -0
  55. package/lib/components/template/HierarchicalForm/index.d.ts +2 -0
  56. package/lib/components/template/HierarchicalForm/index.d.ts.map +1 -0
  57. package/lib/components/template/HierarchicalForm/index.js +2 -0
  58. package/lib/components/template/HierarchicalForm/index.js.map +1 -0
  59. package/lib/components/template/ListView/ListView.d.ts +1 -0
  60. package/lib/components/template/ListView/ListView.d.ts.map +1 -1
  61. package/lib/components/template/ListView/ListView.js +56 -9
  62. package/lib/components/template/ListView/ListView.js.map +1 -1
  63. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts +3 -1
  64. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts.map +1 -1
  65. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js +13 -1
  66. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js.map +1 -1
  67. package/lib/components/template/ObjectPage/index.d.ts +2 -0
  68. package/lib/components/template/ObjectPage/index.d.ts.map +1 -0
  69. package/lib/components/template/ObjectPage/index.js +2 -0
  70. package/lib/components/template/ObjectPage/index.js.map +1 -0
  71. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.d.ts.map +1 -1
  72. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js +13 -2
  73. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js.map +1 -1
  74. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
  75. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +8 -6
  76. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
  77. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.d.ts +17 -0
  78. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.d.ts.map +1 -0
  79. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.js +94 -0
  80. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.js.map +1 -0
  81. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.d.ts +2 -0
  82. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.d.ts.map +1 -0
  83. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.js +2 -0
  84. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.js.map +1 -0
  85. package/lib/hooks/useFocusFirstField.d.ts +3 -3
  86. package/lib/hooks/useFocusFirstField.d.ts.map +1 -1
  87. package/lib/hooks/useFocusFirstField.js +19 -12
  88. package/lib/hooks/useFocusFirstField.js.map +1 -1
  89. package/lib/sdk-pega-component-map.d.ts +6 -0
  90. package/lib/sdk-pega-component-map.d.ts.map +1 -1
  91. package/lib/sdk-pega-component-map.js +6 -0
  92. package/lib/sdk-pega-component-map.js.map +1 -1
  93. package/package.json +1 -1
@@ -0,0 +1,46 @@
1
+ .alert-banner-title {
2
+ font-weight: 700;
3
+ font-size: 1rem;
4
+ display: flex;
5
+ align-items: center;
6
+ gap: 0.25rem;
7
+ }
8
+
9
+ .alert-banner-badge {
10
+ display: inline-flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ min-width: 1rem;
14
+ height: 1rem;
15
+ padding: 0 0.2rem;
16
+ border-radius: 999px;
17
+ font-size: 0.6rem;
18
+ font-weight: 700;
19
+ line-height: 1;
20
+ vertical-align: middle;
21
+ }
22
+
23
+ .alert-banner-badge--urgent {
24
+ background: var(--app-error-dark-color);
25
+ color: #fff;
26
+ }
27
+
28
+ .alert-banner-badge--warning {
29
+ background: var(--app-warning-color-dark);
30
+ color: #fff;
31
+ }
32
+
33
+ .alert-banner-badge--success {
34
+ background: var(--stepper-completed-bg-color);
35
+ color: #fff;
36
+ }
37
+
38
+ .alert-banner-badge--info {
39
+ background: var(--link-button-color);
40
+ color: #fff;
41
+ }
42
+
43
+ .alert-banner-list {
44
+ margin: 0;
45
+ padding-left: 1.25rem;
46
+ }
@@ -1,9 +1,10 @@
1
+ import './AlertBanner.css';
1
2
  interface AlertBannerProps {
2
3
  id: string;
3
4
  variant: string;
4
5
  messages: string[];
5
6
  onDismiss?: any;
6
7
  }
7
- export default function AlertBanner(props: AlertBannerProps): import("react/jsx-runtime").JSX.Element;
8
+ export default function AlertBanner({ id, variant, messages, onDismiss }: AlertBannerProps): import("react/jsx-runtime").JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=AlertBanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AlertBanner.d.ts","sourceRoot":"","sources":["../../../../src/components/designSystemExtension/AlertBanner/AlertBanner.tsx"],"names":[],"mappings":"AAIA,UAAU,gBAAgB;IAExB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AASD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAmB1D"}
1
+ {"version":3,"file":"AlertBanner.d.ts","sourceRoot":"","sources":["../../../../src/components/designSystemExtension/AlertBanner/AlertBanner.tsx"],"names":[],"mappings":"AACA,OAAO,mBAAmB,CAAC;AAI3B,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAoBD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAyBzF"}
@@ -1,19 +1,21 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Alert } from '@mui/material';
3
- const SEVERITY_MAP = {
4
- urgent: 'error',
5
- warning: 'warning',
6
- success: 'success',
7
- info: 'info'
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Alert, AlertTitle } from '@mui/material';
3
+ import './AlertBanner.css';
4
+ const VARIANT_MAP = {
5
+ urgent: { severity: 'error', label: 'Error' },
6
+ warning: { severity: 'warning', label: 'Warning' },
7
+ success: { severity: 'success', label: 'Success' },
8
+ info: { severity: 'info', label: 'Info' }
8
9
  };
9
- export default function AlertBanner(props) {
10
- const { id, variant, messages, onDismiss } = props;
11
- let additionalProps = {};
12
- if (onDismiss) {
13
- additionalProps = {
14
- onClose: onDismiss
15
- };
16
- }
17
- return (_jsx("div", { id: id, children: messages.map(message => (_jsx(Alert, { variant: 'outlined', severity: SEVERITY_MAP[variant], ...additionalProps, children: message }, message))) }));
10
+ function renderMessage(message) {
11
+ const colonIndex = message.indexOf(':');
12
+ if (colonIndex === -1)
13
+ return message;
14
+ return (_jsxs(_Fragment, { children: [_jsx("strong", { children: message.slice(0, colonIndex + 1) }), message.slice(colonIndex + 1)] }));
15
+ }
16
+ export default function AlertBanner({ id, variant, messages, onDismiss }) {
17
+ const { severity, label } = VARIANT_MAP[variant] ?? VARIANT_MAP.info;
18
+ const isMultiple = messages.length > 1;
19
+ return (_jsx("div", { id: id, children: _jsxs(Alert, { variant: 'outlined', severity: severity, ...(onDismiss && { onClose: onDismiss }), children: [isMultiple && (_jsxs(AlertTitle, { className: 'alert-banner-title', children: [label, _jsx("span", { className: `alert-banner-badge alert-banner-badge--${variant}`, children: messages.length })] })), isMultiple ? (_jsx("ul", { className: 'alert-banner-list', children: messages.map(message => (_jsx("li", { children: renderMessage(message) }, message))) })) : (renderMessage(messages[0]))] }) }));
18
20
  }
19
21
  //# sourceMappingURL=AlertBanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AlertBanner.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtension/AlertBanner/AlertBanner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAYtC,MAAM,YAAY,GAAG;IACnB,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAuB;IACzD,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACnD,IAAI,eAAe,GAAG,EAAE,CAAC;IAEzB,IAAI,SAAS,EAAE,CAAC;QACd,eAAe,GAAG;YAChB,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,EAAE,EAAE,EAAE,YACR,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CACvB,KAAC,KAAK,IAAe,OAAO,EAAC,UAAU,EAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,KAAM,eAAe,YACzF,OAAO,IADE,OAAO,CAEX,CACT,CAAC,GACE,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { Alert } from '@mui/material';\n\n// AlertBanner is one of the few components that does NOT have getPConnect.\n// So, no need to extend PConnProps\ninterface AlertBannerProps {\n // If any, enter additional props that only exist on Date here\n id: string;\n variant: string;\n messages: string[];\n onDismiss?: any;\n}\n\nconst SEVERITY_MAP = {\n urgent: 'error',\n warning: 'warning',\n success: 'success',\n info: 'info'\n};\n\nexport default function AlertBanner(props: AlertBannerProps) {\n const { id, variant, messages, onDismiss } = props;\n let additionalProps = {};\n\n if (onDismiss) {\n additionalProps = {\n onClose: onDismiss\n };\n }\n\n return (\n <div id={id}>\n {messages.map(message => (\n <Alert key={message} variant='outlined' severity={SEVERITY_MAP[variant]} {...additionalProps}>\n {message}\n </Alert>\n ))}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"AlertBanner.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtension/AlertBanner/AlertBanner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,mBAAmB,CAAC;AAW3B,MAAM,WAAW,GAAwD;IACvE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC7C,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IAClD,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IAClD,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CAC1C,CAAC;AAEF,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IACtC,OAAO,CACL,8BACE,2BAAS,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAU,EAClD,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,IAC7B,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAoB;IACxF,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC;IACrE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAEvC,OAAO,CACL,cAAK,EAAE,EAAE,EAAE,YACT,MAAC,KAAK,IAAC,OAAO,EAAC,UAAU,EAAC,QAAQ,EAAE,QAAe,KAAM,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,aAC3F,UAAU,IAAI,CACb,MAAC,UAAU,IAAC,SAAS,EAAC,oBAAoB,aACvC,KAAK,EACN,eAAM,SAAS,EAAE,0CAA0C,OAAO,EAAE,YAAG,QAAQ,CAAC,MAAM,GAAQ,IACnF,CACd,EACA,UAAU,CAAC,CAAC,CAAC,CACZ,aAAI,SAAS,EAAC,mBAAmB,YAC9B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CACvB,uBAAmB,aAAa,CAAC,OAAO,CAAC,IAAhC,OAAO,CAA+B,CAChD,CAAC,GACC,CACN,CAAC,CAAC,CAAC,CACF,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC3B,IACK,GACJ,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { Alert, AlertTitle } from '@mui/material';\nimport './AlertBanner.css';\n\n// AlertBanner is one of the few components that does NOT have getPConnect.\n// So, no need to extend PConnProps\ninterface AlertBannerProps {\n id: string;\n variant: string;\n messages: string[];\n onDismiss?: any;\n}\n\nconst VARIANT_MAP: Record<string, { severity: string; label: string }> = {\n urgent: { severity: 'error', label: 'Error' },\n warning: { severity: 'warning', label: 'Warning' },\n success: { severity: 'success', label: 'Success' },\n info: { severity: 'info', label: 'Info' }\n};\n\nfunction renderMessage(message: string) {\n const colonIndex = message.indexOf(':');\n if (colonIndex === -1) return message;\n return (\n <>\n <strong>{message.slice(0, colonIndex + 1)}</strong>\n {message.slice(colonIndex + 1)}\n </>\n );\n}\n\nexport default function AlertBanner({ id, variant, messages, onDismiss }: AlertBannerProps) {\n const { severity, label } = VARIANT_MAP[variant] ?? VARIANT_MAP.info;\n const isMultiple = messages.length > 1;\n\n return (\n <div id={id}>\n <Alert variant='outlined' severity={severity as any} {...(onDismiss && { onClose: onDismiss })}>\n {isMultiple && (\n <AlertTitle className='alert-banner-title'>\n {label}\n <span className={`alert-banner-badge alert-banner-badge--${variant}`}>{messages.length}</span>\n </AlertTitle>\n )}\n {isMultiple ? (\n <ul className='alert-banner-list'>\n {messages.map(message => (\n <li key={message}>{renderMessage(message)}</li>\n ))}\n </ul>\n ) : (\n renderMessage(messages[0])\n )}\n </Alert>\n </div>\n );\n}\n"]}
@@ -10,6 +10,6 @@ export default function FieldGroupList(props) {
10
10
  }
11
11
  return (_jsx(Grid2, { container: true, spacing: 4, justifyContent: 'space-between', children: _jsx(Grid2, { style: { width: '100%' }, children: _jsxs(Grid2, { container: true, spacing: 1, children: [props.items.map(item => (_jsxs(Grid2, { style: { width: '100%' }, children: [_jsx("b", { children: item.name }), props.onDelete && (_jsx("button", { type: 'button', style: { float: 'right' }, className: 'psdk-utility-button', id: `delete-row-${item.id}`, "aria-label": 'Delete Row', onClick: () => {
12
12
  props.onDelete(item.id);
13
- }, children: _jsx("img", { className: 'psdk-utility-card-action-svg-icon', src: menuIconOverride$ }) })), item.children, _jsx("br", {}), props.onAdd && _jsx(Divider, {}), _jsx("br", {})] }))), props.onAdd && (_jsx(Link, { onClick: props.onAdd, style: { cursor: 'pointer' }, underline: 'hover', children: "+Add" }))] }) }) }));
13
+ }, children: _jsx("img", { className: 'psdk-utility-card-action-svg-icon', src: menuIconOverride$ }) })), item.children, _jsx("br", {}), props.onAdd && _jsx(Divider, {}), _jsx("br", {})] }, item.name))), props.onAdd && (_jsx(Link, { onClick: props.onAdd, style: { cursor: 'pointer' }, underline: 'hover', children: "+Add" }))] }) }) }));
14
14
  }
15
15
  //# sourceMappingURL=FieldGroupList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldGroupList.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAW5C,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAA0B;IAC/D,IAAI,iBAAiB,GAAG,OAAO,CAAC;IAChC,IAAI,iBAAiB,EAAE,CAAC;QACtB,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,CACL,KAAC,KAAK,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe,YACzD,KAAC,KAAK,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAC7B,MAAC,KAAK,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,aACxB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,MAAC,KAAK,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAC7B,sBAAI,IAAI,CAAC,IAAI,GAAK,EACjB,KAAK,CAAC,QAAQ,IAAI,CACjB,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EACzB,SAAS,EAAC,qBAAqB,EAC/B,EAAE,EAAE,cAAc,IAAI,CAAC,EAAE,EAAE,gBAChB,YAAY,EACvB,OAAO,EAAE,GAAG,EAAE;oCACZ,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAC1B,CAAC,YAED,cAAK,SAAS,EAAC,mCAAmC,EAAC,GAAG,EAAE,iBAAiB,GAAI,GACtE,CACV,EACA,IAAI,CAAC,QAAQ,EACd,cAAM,EACL,KAAK,CAAC,KAAK,IAAI,KAAC,OAAO,KAAG,EAC3B,cAAM,IACA,CACT,CAAC,EACD,KAAK,CAAC,KAAK,IAAI,CACd,KAAC,IAAI,IAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAC,OAAO,qBAEpE,CACR,IACK,GACF,GACF,CACT,CAAC;AACJ,CAAC","sourcesContent":["import Grid2 from '@mui/material/Grid2';\nimport Divider from '@mui/material/Divider';\nimport Link from '@mui/material/Link';\n\nimport { Utils } from '../../helpers/utils';\n\n// FieldGroupList is one of the few components that does NOT have getPConnect.\n// So, no need to extend PConnProps\ninterface FieldGroupListProps {\n // If any, enter additional props that only exist on this component\n items: any[] | any;\n onDelete: any;\n onAdd: any;\n}\n\nexport default function FieldGroupList(props: FieldGroupListProps) {\n let menuIconOverride$ = 'trash';\n if (menuIconOverride$) {\n menuIconOverride$ = Utils.getImageSrc(menuIconOverride$, Utils.getSDKStaticConentUrl());\n }\n\n return (\n <Grid2 container spacing={4} justifyContent='space-between'>\n <Grid2 style={{ width: '100%' }}>\n <Grid2 container spacing={1}>\n {props.items.map(item => (\n <Grid2 style={{ width: '100%' }}>\n <b>{item.name}</b>\n {props.onDelete && (\n <button\n type='button'\n style={{ float: 'right' }}\n className='psdk-utility-button'\n id={`delete-row-${item.id}`}\n aria-label='Delete Row'\n onClick={() => {\n props.onDelete(item.id);\n }}\n >\n <img className='psdk-utility-card-action-svg-icon' src={menuIconOverride$} />\n </button>\n )}\n {item.children}\n <br />\n {props.onAdd && <Divider />}\n <br />\n </Grid2>\n ))}\n {props.onAdd && (\n <Link onClick={props.onAdd} style={{ cursor: 'pointer' }} underline='hover'>\n +Add\n </Link>\n )}\n </Grid2>\n </Grid2>\n </Grid2>\n );\n}\n"]}
1
+ {"version":3,"file":"FieldGroupList.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAW5C,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAA0B;IAC/D,IAAI,iBAAiB,GAAG,OAAO,CAAC;IAChC,IAAI,iBAAiB,EAAE,CAAC;QACtB,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,CACL,KAAC,KAAK,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe,YACzD,KAAC,KAAK,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAC7B,MAAC,KAAK,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,aACxB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,MAAC,KAAK,IAAiB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAC7C,sBAAI,IAAI,CAAC,IAAI,GAAK,EACjB,KAAK,CAAC,QAAQ,IAAI,CACjB,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EACzB,SAAS,EAAC,qBAAqB,EAC/B,EAAE,EAAE,cAAc,IAAI,CAAC,EAAE,EAAE,gBAChB,YAAY,EACvB,OAAO,EAAE,GAAG,EAAE;oCACZ,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAC1B,CAAC,YAED,cAAK,SAAS,EAAC,mCAAmC,EAAC,GAAG,EAAE,iBAAiB,GAAI,GACtE,CACV,EACA,IAAI,CAAC,QAAQ,EACd,cAAM,EACL,KAAK,CAAC,KAAK,IAAI,KAAC,OAAO,KAAG,EAC3B,cAAM,KAnBI,IAAI,CAAC,IAAI,CAoBb,CACT,CAAC,EACD,KAAK,CAAC,KAAK,IAAI,CACd,KAAC,IAAI,IAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAC,OAAO,qBAEpE,CACR,IACK,GACF,GACF,CACT,CAAC;AACJ,CAAC","sourcesContent":["import Grid2 from '@mui/material/Grid2';\nimport Divider from '@mui/material/Divider';\nimport Link from '@mui/material/Link';\n\nimport { Utils } from '../../helpers/utils';\n\n// FieldGroupList is one of the few components that does NOT have getPConnect.\n// So, no need to extend PConnProps\ninterface FieldGroupListProps {\n // If any, enter additional props that only exist on this component\n items: any[] | any;\n onDelete: any;\n onAdd: any;\n}\n\nexport default function FieldGroupList(props: FieldGroupListProps) {\n let menuIconOverride$ = 'trash';\n if (menuIconOverride$) {\n menuIconOverride$ = Utils.getImageSrc(menuIconOverride$, Utils.getSDKStaticConentUrl());\n }\n\n return (\n <Grid2 container spacing={4} justifyContent='space-between'>\n <Grid2 style={{ width: '100%' }}>\n <Grid2 container spacing={1}>\n {props.items.map(item => (\n <Grid2 key={item.name} style={{ width: '100%' }}>\n <b>{item.name}</b>\n {props.onDelete && (\n <button\n type='button'\n style={{ float: 'right' }}\n className='psdk-utility-button'\n id={`delete-row-${item.id}`}\n aria-label='Delete Row'\n onClick={() => {\n props.onDelete(item.id);\n }}\n >\n <img className='psdk-utility-card-action-svg-icon' src={menuIconOverride$} />\n </button>\n )}\n {item.children}\n <br />\n {props.onAdd && <Divider />}\n <br />\n </Grid2>\n ))}\n {props.onAdd && (\n <Link onClick={props.onAdd} style={{ cursor: 'pointer' }} underline='hover'>\n +Add\n </Link>\n )}\n </Grid2>\n </Grid2>\n </Grid2>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Assignment.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAQ3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,eAAgB,SAAQ,UAAU;IAE1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,GAAG,EAAE,CAAC;IAEf,aAAa,EAAE,GAAG,EAAE,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,2CAmV3E"}
1
+ {"version":3,"file":"Assignment.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAU3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,eAAgB,SAAQ,UAAU;IAE1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,GAAG,EAAE,CAAC;IAEf,aAAa,EAAE,GAAG,EAAE,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,iBAAiB,CAAC,eAAe,CAAC,2CA0V3E"}
@@ -5,11 +5,14 @@ import IconButton from '@mui/material/IconButton';
5
5
  import CloseIcon from '@mui/icons-material/Close';
6
6
  import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
7
7
  import { useFocusFirstField, useScrolltoTop } from '../../../hooks';
8
+ import AlertBanner from '../../designSystemExtension/AlertBanner/AlertBanner';
9
+ import { useValidationBanner } from './useValidationBanner';
8
10
  export default function Assignment(props) {
9
11
  // Get emitted components from map (so we can get any override that may exist)
10
12
  const AssignmentCard = getComponentFromMap('AssignmentCard');
11
13
  const MultiStep = getComponentFromMap('MultiStep');
12
14
  const { getPConnect, children, itemKey = '', isInModal = false, banners = [] } = props;
15
+ const validationMessages = useValidationBanner(itemKey);
13
16
  const thePConn = getPConnect();
14
17
  const [bHasNavigation, setHasNavigation] = useState(false);
15
18
  const [actionButtons, setActionButtons] = useState([]);
@@ -68,8 +71,9 @@ export default function Assignment(props) {
68
71
  return formedSteps;
69
72
  }
70
73
  const scrollId = window.location.href.includes('embedded') ? '#pega-part-of-page' : '#portal';
74
+ const currentAssignmentViewName = getPConnect().getCaseInfo().getCurrentAssignmentViewName();
71
75
  useScrolltoTop(scrollId, children);
72
- useFocusFirstField('Assignment', children);
76
+ useFocusFirstField('Assignment', currentAssignmentViewName);
73
77
  useEffect(() => {
74
78
  if (children) {
75
79
  const firstChild = Array.isArray(children) ? children[0] : children;
@@ -246,6 +250,6 @@ export default function Assignment(props) {
246
250
  }), `${pageReference}.${prop[1]}`, `${context}/${pageReference}`, context);
247
251
  });
248
252
  }
249
- return (_jsxs("div", { id: 'Assignment', children: [banners, bHasNavigation ? (_jsxs(_Fragment, { children: [_jsx(MultiStep, { getPConnect: getPConnect, itemKey: itemKey, actionButtons: actionButtons, onButtonPress: buttonPress, bIsVertical: bIsVertical, arCurrentStepIndicies: arCurrentStepIndicies, arNavigationSteps: arNavigationSteps, children: children }), _jsx(Snackbar, { open: showSnackbar, autoHideDuration: 3000, onClose: handleSnackbarClose, message: snackbarMessage, action: _jsx(IconButton, { size: 'small', "aria-label": 'close', color: 'inherit', onClick: handleSnackbarClose, children: _jsx(CloseIcon, { fontSize: 'small' }) }) })] })) : (_jsxs(_Fragment, { children: [_jsx(AssignmentCard, { getPConnect: getPConnect, itemKey: itemKey, actionButtons: actionButtons, onButtonPress: buttonPress, children: children }), _jsx(Snackbar, { open: showSnackbar, autoHideDuration: 3000, onClose: handleSnackbarClose, message: snackbarMessage, action: _jsx(IconButton, { size: 'small', "aria-label": 'close', color: 'inherit', onClick: handleSnackbarClose, children: _jsx(CloseIcon, { fontSize: 'small' }) }) })] }))] }));
253
+ return (_jsxs("div", { id: 'Assignment', children: [validationMessages.length > 0 && (_jsx("div", { style: { marginBottom: '1rem' }, children: _jsx(AlertBanner, { id: `validation-banner-${itemKey}`, variant: 'urgent', messages: validationMessages }) })), banners, bHasNavigation ? (_jsxs(_Fragment, { children: [_jsx(MultiStep, { getPConnect: getPConnect, itemKey: itemKey, actionButtons: actionButtons, onButtonPress: buttonPress, bIsVertical: bIsVertical, arCurrentStepIndicies: arCurrentStepIndicies, arNavigationSteps: arNavigationSteps, children: children }), _jsx(Snackbar, { open: showSnackbar, autoHideDuration: 3000, onClose: handleSnackbarClose, message: snackbarMessage, action: _jsx(IconButton, { size: 'small', "aria-label": 'close', color: 'inherit', onClick: handleSnackbarClose, children: _jsx(CloseIcon, { fontSize: 'small' }) }) })] })) : (_jsxs(_Fragment, { children: [_jsx(AssignmentCard, { getPConnect: getPConnect, itemKey: itemKey, actionButtons: actionButtons, onButtonPress: buttonPress, children: children }), _jsx(Snackbar, { open: showSnackbar, autoHideDuration: 3000, onClose: handleSnackbarClose, message: snackbarMessage, action: _jsx(IconButton, { size: 'small', "aria-label": 'close', color: 'inherit', onClick: handleSnackbarClose, children: _jsx(CloseIcon, { fontSize: 'small' }) }) })] }))] }));
250
254
  }
251
255
  //# sourceMappingURL=Assignment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Assignment.js","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { type PropsWithChildren, useEffect, useState } from 'react';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { useFocusFirstField, useScrolltoTop } from '../../../hooks';\n\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface AssignmentProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n itemKey: string;\n isInModal: boolean;\n banners: any[];\n\n actionButtons: any[];\n}\n\nexport default function Assignment(props: PropsWithChildren<AssignmentProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const AssignmentCard = getComponentFromMap('AssignmentCard');\n const MultiStep = getComponentFromMap('MultiStep');\n\n const { getPConnect, children, itemKey = '', isInModal = false, banners = [] } = props;\n const thePConn = getPConnect();\n\n const [bHasNavigation, setHasNavigation] = useState(false);\n const [actionButtons, setActionButtons] = useState([]);\n const [bIsVertical, setIsVertical] = useState(false);\n const [arCurrentStepIndicies, setArCurrentStepIndicies] = useState<any[]>([]);\n const [arNavigationSteps, setArNavigationSteps] = useState<any[]>([]);\n\n const actionsAPI = thePConn.getActionsApi();\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localizationService = thePConn.getLocalizationService();\n const localeCategory = 'Assignment';\n\n // store off bound functions to above pointers\n const finishAssignment = actionsAPI.finishAssignment.bind(actionsAPI);\n const navigateToStep = actionsAPI.navigateToStep.bind(actionsAPI);\n const cancelAssignment = actionsAPI.cancelAssignment.bind(actionsAPI);\n const saveAssignment = actionsAPI.saveAssignment?.bind(actionsAPI);\n const cancelCreateStageAssignment = actionsAPI.cancelCreateStageAssignment.bind(actionsAPI);\n const approveCase = actionsAPI.approveCase?.bind(actionsAPI);\n const rejectCase = actionsAPI.rejectCase?.bind(actionsAPI);\n // const showPage = actionsAPI.showPage.bind(actionsAPI);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n function findCurrentIndicies(arStepperSteps: any[], arIndicies: number[], depth: number): number[] {\n let count = 0;\n arStepperSteps.forEach(step => {\n if (step.visited_status === 'current') {\n arIndicies[depth] = count;\n\n // add in\n step.step_status = '';\n } else if (step.visited_status === 'success') {\n count += 1;\n step.step_status = 'completed';\n } else {\n count += 1;\n step.step_status = '';\n }\n\n if (step.steps) {\n arIndicies = findCurrentIndicies(step.steps, arIndicies, depth + 1);\n }\n });\n\n return arIndicies;\n }\n\n function getStepsInfo(steps, formedSteps: any = []) {\n steps.forEach(step => {\n if (step.name) {\n step.name = localizationService.getLocalizedText(step.name);\n }\n if (step.steps) {\n formedSteps = getStepsInfo(step.steps, formedSteps);\n } else {\n formedSteps.push(step);\n }\n });\n return formedSteps;\n }\n\n const scrollId = window.location.href.includes('embedded') ? '#pega-part-of-page' : '#portal';\n useScrolltoTop(scrollId, children);\n useFocusFirstField('Assignment', children);\n\n useEffect(() => {\n if (children) {\n const firstChild = Array.isArray(children) ? children[0] : children;\n const oWorkItem = firstChild.props.getPConnect();\n const oWorkData = oWorkItem.getDataObject();\n const oData: any = thePConn.getDataObject(''); // 1st arg empty string until typedefs allow it to be optional\n const caseInfo = oData?.caseInfo;\n if (!oWorkData?.caseInfo || oWorkData.caseInfo.assignments === null || !caseInfo) {\n return;\n }\n\n // Set action buttons\n if (caseInfo.actionButtons) {\n setActionButtons(caseInfo.actionButtons);\n }\n\n // Handle navigation setup\n const navigation = caseInfo.navigation;\n if (!navigation) {\n setHasNavigation(false);\n return;\n }\n\n const isStandardTemplate = navigation.template?.toLowerCase() === 'standard';\n const hasSingleStep = navigation.steps?.length === 1;\n const shouldHideNavigation = isStandardTemplate || hasSingleStep;\n\n setHasNavigation(!shouldHideNavigation);\n\n if (shouldHideNavigation) {\n return;\n }\n\n // set vertical navigation\n const isVerticalTemplate = navigation.template?.toLowerCase() === 'vertical';\n setIsVertical(isVerticalTemplate);\n\n if (navigation.steps) {\n const steps = JSON.parse(JSON.stringify(navigation.steps));\n const formedSteps = getStepsInfo(steps);\n setArNavigationSteps(formedSteps);\n }\n\n setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0));\n }\n }, [children]);\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent<any> | Event, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function onSaveActionSuccess(data) {\n actionsAPI.cancelAssignment(itemKey, false).then(() => {\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CREATE_STAGE_SAVED, data);\n });\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n if (sButtonType === 'secondary') {\n switch (sAction) {\n case 'navigateToStep': {\n const navigatePromise = navigateToStep('previous', itemKey);\n\n navigatePromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Navigation failed!', localeCategory)}`);\n });\n\n break;\n }\n\n case 'saveAssignment': {\n const caseID = thePConn.getCaseInfo().getKey();\n const assignmentID = thePConn.getCaseInfo().getAssignmentID();\n const savePromise = saveAssignment(itemKey);\n\n savePromise\n .then(() => {\n const caseType = thePConn.getCaseInfo().c11nEnv.getValue(PCore.getConstants().CASE_INFO.CASE_TYPE_ID);\n onSaveActionSuccess({ caseType, caseID, assignmentID });\n })\n .catch(() => {\n showToast(`${localizedVal('Save failed', localeCategory)}`);\n });\n\n break;\n }\n\n case 'cancelAssignment': {\n // check if create stage (modal)\n const { PUB_SUB_EVENTS } = PCore.getConstants();\n const { publish } = PCore.getPubSubUtils();\n const isAssignmentInCreateStage = thePConn.getCaseInfo().isAssignmentInCreateStage();\n const isLocalAction =\n thePConn.getCaseInfo().isLocalAction() ||\n (PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION && getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION));\n if (isAssignmentInCreateStage && isInModal && !isLocalAction) {\n const cancelPromise = cancelCreateStageAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`${localizedVal('Cancel failed!', localeCategory)}`);\n });\n } else {\n const cancelPromise = cancelAssignment(itemKey, false);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`${localizedVal('Cancel failed!', localeCategory)}`);\n });\n }\n break;\n }\n\n case 'rejectCase': {\n const rejectPromise = rejectCase(itemKey);\n\n rejectPromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Rejection failed!', localeCategory)}`);\n });\n\n break;\n }\n\n default:\n break;\n }\n } else if (sButtonType === 'primary') {\n switch (sAction) {\n case 'finishAssignment': {\n const finishPromise = finishAssignment(itemKey);\n\n finishPromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Submit failed!', localeCategory)}`);\n });\n\n break;\n }\n\n case 'approveCase': {\n const approvePromise = approveCase(itemKey);\n\n approvePromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Approve failed!', localeCategory)}`);\n });\n\n break;\n }\n\n default:\n break;\n }\n }\n }\n\n function getRefreshProps(refreshConditions) {\n // refreshConditions cuurently supports only \"Changes\" event\n if (!refreshConditions) {\n return [];\n }\n return refreshConditions.filter(item => item.event && item.event === 'Changes').map(item => [item.field, item.field?.substring(1)]) || [];\n }\n\n // expected format of refreshConditions : [{field: \".Name\", event: \"Changes\"}]\n const refreshConditions = thePConn.getCaseInfo()?.getActionRefreshConditions();\n const context = thePConn.getContextName();\n const pageReference = thePConn.getPageReference();\n\n // refresh api de-registration\n PCore.getRefreshManager().deRegisterForRefresh(context);\n\n // refresh api registration\n const refreshProps = getRefreshProps(refreshConditions);\n const caseKey = thePConn.getCaseInfo().getKey();\n const refreshOptions = {\n autoDetectRefresh: true,\n preserveClientChanges: false\n };\n if (refreshProps.length > 0) {\n refreshProps.forEach(prop => {\n PCore.getRefreshManager().registerForRefresh(\n 'PROP_CHANGE',\n thePConn.getActionsApi().refreshCaseView.bind(thePConn.getActionsApi(), caseKey, '', pageReference, {\n ...refreshOptions,\n refreshFor: prop[0]\n }),\n `${pageReference}.${prop[1]}`,\n `${context}/${pageReference}`,\n context\n );\n });\n }\n\n return (\n <div id='Assignment'>\n {banners}\n {bHasNavigation ? (\n <>\n <MultiStep\n getPConnect={getPConnect}\n itemKey={itemKey}\n actionButtons={actionButtons}\n onButtonPress={buttonPress}\n bIsVertical={bIsVertical}\n arCurrentStepIndicies={arCurrentStepIndicies}\n arNavigationSteps={arNavigationSteps}\n >\n {children}\n </MultiStep>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n ) : (\n <>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n )}\n </div>\n );\n}\n\n// From WC SDK\n// const aHtml = html`\n// ${this.bHasNavigation?\n// html`\n// <div class=\"psdk-stepper\">\n// <multi-step-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// .bIsVertical=${this.bIsVertical} .arCurrentStepIndicies=${this.arCurrentStepIndicies}\n// .arNavigationSteps=${this.arNavigationSteps}\n// @MultiStepActionButtonClick=\"${this._onActionButtonClick}\">\n// </multi-step-component>\n// <lit-toast></lit-toast>\n// </div>`\n// :\n// html`\n// <div>\n// <assignment-card-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// @AssignmentActionButtonClick=\"${this._onActionButtonClick}\">\n// </assignment-card-component>\n// <lit-toast></lit-toast>\n// </div>`}\n// `;\n"]}
1
+ {"version":3,"file":"Assignment.js","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { type PropsWithChildren, useEffect, useState } from 'react';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { useFocusFirstField, useScrolltoTop } from '../../../hooks';\nimport AlertBanner from '../../designSystemExtension/AlertBanner/AlertBanner';\nimport { useValidationBanner } from './useValidationBanner';\n\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface AssignmentProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n itemKey: string;\n isInModal: boolean;\n banners: any[];\n\n actionButtons: any[];\n}\n\nexport default function Assignment(props: PropsWithChildren<AssignmentProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const AssignmentCard = getComponentFromMap('AssignmentCard');\n const MultiStep = getComponentFromMap('MultiStep');\n\n const { getPConnect, children, itemKey = '', isInModal = false, banners = [] } = props;\n const validationMessages = useValidationBanner(itemKey);\n const thePConn = getPConnect();\n\n const [bHasNavigation, setHasNavigation] = useState(false);\n const [actionButtons, setActionButtons] = useState([]);\n const [bIsVertical, setIsVertical] = useState(false);\n const [arCurrentStepIndicies, setArCurrentStepIndicies] = useState<any[]>([]);\n const [arNavigationSteps, setArNavigationSteps] = useState<any[]>([]);\n\n const actionsAPI = thePConn.getActionsApi();\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localizationService = thePConn.getLocalizationService();\n const localeCategory = 'Assignment';\n\n // store off bound functions to above pointers\n const finishAssignment = actionsAPI.finishAssignment.bind(actionsAPI);\n const navigateToStep = actionsAPI.navigateToStep.bind(actionsAPI);\n const cancelAssignment = actionsAPI.cancelAssignment.bind(actionsAPI);\n const saveAssignment = actionsAPI.saveAssignment?.bind(actionsAPI);\n const cancelCreateStageAssignment = actionsAPI.cancelCreateStageAssignment.bind(actionsAPI);\n const approveCase = actionsAPI.approveCase?.bind(actionsAPI);\n const rejectCase = actionsAPI.rejectCase?.bind(actionsAPI);\n // const showPage = actionsAPI.showPage.bind(actionsAPI);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n function findCurrentIndicies(arStepperSteps: any[], arIndicies: number[], depth: number): number[] {\n let count = 0;\n arStepperSteps.forEach(step => {\n if (step.visited_status === 'current') {\n arIndicies[depth] = count;\n\n // add in\n step.step_status = '';\n } else if (step.visited_status === 'success') {\n count += 1;\n step.step_status = 'completed';\n } else {\n count += 1;\n step.step_status = '';\n }\n\n if (step.steps) {\n arIndicies = findCurrentIndicies(step.steps, arIndicies, depth + 1);\n }\n });\n\n return arIndicies;\n }\n\n function getStepsInfo(steps, formedSteps: any = []) {\n steps.forEach(step => {\n if (step.name) {\n step.name = localizationService.getLocalizedText(step.name);\n }\n if (step.steps) {\n formedSteps = getStepsInfo(step.steps, formedSteps);\n } else {\n formedSteps.push(step);\n }\n });\n return formedSteps;\n }\n\n const scrollId = window.location.href.includes('embedded') ? '#pega-part-of-page' : '#portal';\n const currentAssignmentViewName = getPConnect().getCaseInfo().getCurrentAssignmentViewName();\n useScrolltoTop(scrollId, children);\n useFocusFirstField('Assignment', currentAssignmentViewName);\n\n useEffect(() => {\n if (children) {\n const firstChild = Array.isArray(children) ? children[0] : children;\n const oWorkItem = firstChild.props.getPConnect();\n const oWorkData = oWorkItem.getDataObject();\n const oData: any = thePConn.getDataObject(''); // 1st arg empty string until typedefs allow it to be optional\n const caseInfo = oData?.caseInfo;\n if (!oWorkData?.caseInfo || oWorkData.caseInfo.assignments === null || !caseInfo) {\n return;\n }\n\n // Set action buttons\n if (caseInfo.actionButtons) {\n setActionButtons(caseInfo.actionButtons);\n }\n\n // Handle navigation setup\n const navigation = caseInfo.navigation;\n if (!navigation) {\n setHasNavigation(false);\n return;\n }\n\n const isStandardTemplate = navigation.template?.toLowerCase() === 'standard';\n const hasSingleStep = navigation.steps?.length === 1;\n const shouldHideNavigation = isStandardTemplate || hasSingleStep;\n\n setHasNavigation(!shouldHideNavigation);\n\n if (shouldHideNavigation) {\n return;\n }\n\n // set vertical navigation\n const isVerticalTemplate = navigation.template?.toLowerCase() === 'vertical';\n setIsVertical(isVerticalTemplate);\n\n if (navigation.steps) {\n const steps = JSON.parse(JSON.stringify(navigation.steps));\n const formedSteps = getStepsInfo(steps);\n setArNavigationSteps(formedSteps);\n }\n\n setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0));\n }\n }, [children]);\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent<any> | Event, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function onSaveActionSuccess(data) {\n actionsAPI.cancelAssignment(itemKey, false).then(() => {\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CREATE_STAGE_SAVED, data);\n });\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n if (sButtonType === 'secondary') {\n switch (sAction) {\n case 'navigateToStep': {\n const navigatePromise = navigateToStep('previous', itemKey);\n\n navigatePromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Navigation failed!', localeCategory)}`);\n });\n\n break;\n }\n\n case 'saveAssignment': {\n const caseID = thePConn.getCaseInfo().getKey();\n const assignmentID = thePConn.getCaseInfo().getAssignmentID();\n const savePromise = saveAssignment(itemKey);\n\n savePromise\n .then(() => {\n const caseType = thePConn.getCaseInfo().c11nEnv.getValue(PCore.getConstants().CASE_INFO.CASE_TYPE_ID);\n onSaveActionSuccess({ caseType, caseID, assignmentID });\n })\n .catch(() => {\n showToast(`${localizedVal('Save failed', localeCategory)}`);\n });\n\n break;\n }\n\n case 'cancelAssignment': {\n // check if create stage (modal)\n const { PUB_SUB_EVENTS } = PCore.getConstants();\n const { publish } = PCore.getPubSubUtils();\n const isAssignmentInCreateStage = thePConn.getCaseInfo().isAssignmentInCreateStage();\n const isLocalAction =\n thePConn.getCaseInfo().isLocalAction() ||\n (PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION && getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION));\n if (isAssignmentInCreateStage && isInModal && !isLocalAction) {\n const cancelPromise = cancelCreateStageAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`${localizedVal('Cancel failed!', localeCategory)}`);\n });\n } else {\n const cancelPromise = cancelAssignment(itemKey, false);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`${localizedVal('Cancel failed!', localeCategory)}`);\n });\n }\n break;\n }\n\n case 'rejectCase': {\n const rejectPromise = rejectCase(itemKey);\n\n rejectPromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Rejection failed!', localeCategory)}`);\n });\n\n break;\n }\n\n default:\n break;\n }\n } else if (sButtonType === 'primary') {\n switch (sAction) {\n case 'finishAssignment': {\n const finishPromise = finishAssignment(itemKey);\n\n finishPromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Submit failed!', localeCategory)}`);\n });\n\n break;\n }\n\n case 'approveCase': {\n const approvePromise = approveCase(itemKey);\n\n approvePromise\n .then(() => {})\n .catch(() => {\n showToast(`${localizedVal('Approve failed!', localeCategory)}`);\n });\n\n break;\n }\n\n default:\n break;\n }\n }\n }\n\n function getRefreshProps(refreshConditions) {\n // refreshConditions cuurently supports only \"Changes\" event\n if (!refreshConditions) {\n return [];\n }\n return refreshConditions.filter(item => item.event && item.event === 'Changes').map(item => [item.field, item.field?.substring(1)]) || [];\n }\n\n // expected format of refreshConditions : [{field: \".Name\", event: \"Changes\"}]\n const refreshConditions = thePConn.getCaseInfo()?.getActionRefreshConditions();\n const context = thePConn.getContextName();\n const pageReference = thePConn.getPageReference();\n\n // refresh api de-registration\n PCore.getRefreshManager().deRegisterForRefresh(context);\n\n // refresh api registration\n const refreshProps = getRefreshProps(refreshConditions);\n const caseKey = thePConn.getCaseInfo().getKey();\n const refreshOptions = {\n autoDetectRefresh: true,\n preserveClientChanges: false\n };\n if (refreshProps.length > 0) {\n refreshProps.forEach(prop => {\n PCore.getRefreshManager().registerForRefresh(\n 'PROP_CHANGE',\n thePConn.getActionsApi().refreshCaseView.bind(thePConn.getActionsApi(), caseKey, '', pageReference, {\n ...refreshOptions,\n refreshFor: prop[0]\n }),\n `${pageReference}.${prop[1]}`,\n `${context}/${pageReference}`,\n context\n );\n });\n }\n\n return (\n <div id='Assignment'>\n {validationMessages.length > 0 && (\n <div style={{ marginBottom: '1rem' }}>\n <AlertBanner id={`validation-banner-${itemKey}`} variant='urgent' messages={validationMessages} />\n </div>\n )}\n {banners}\n {bHasNavigation ? (\n <>\n <MultiStep\n getPConnect={getPConnect}\n itemKey={itemKey}\n actionButtons={actionButtons}\n onButtonPress={buttonPress}\n bIsVertical={bIsVertical}\n arCurrentStepIndicies={arCurrentStepIndicies}\n arNavigationSteps={arNavigationSteps}\n >\n {children}\n </MultiStep>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n ) : (\n <>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n )}\n </div>\n );\n}\n\n// From WC SDK\n// const aHtml = html`\n// ${this.bHasNavigation?\n// html`\n// <div class=\"psdk-stepper\">\n// <multi-step-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// .bIsVertical=${this.bIsVertical} .arCurrentStepIndicies=${this.arCurrentStepIndicies}\n// .arNavigationSteps=${this.arNavigationSteps}\n// @MultiStepActionButtonClick=\"${this._onActionButtonClick}\">\n// </multi-step-component>\n// <lit-toast></lit-toast>\n// </div>`\n// :\n// html`\n// <div>\n// <assignment-card-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// @AssignmentActionButtonClick=\"${this._onActionButtonClick}\">\n// </assignment-card-component>\n// <lit-toast></lit-toast>\n// </div>`}\n// `;\n"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Subscribes to the PCore store and returns formatted validation error messages
3
+ * for the given itemKey. Reacts to any ADD_MESSAGES / CLEAR_MESSAGES dispatch
4
+ * (blur, tab, submit, etc.) so the banner appears and clears in real time.
5
+ */
6
+ export declare function useValidationBanner(itemKey: string): string[];
7
+ //# sourceMappingURL=useValidationBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useValidationBanner.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/useValidationBanner.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAe7D"}
@@ -0,0 +1,26 @@
1
+ import { useState, useEffect, useCallback } from 'react';
2
+ function formatError(error, localizedVal) {
3
+ if (typeof error === 'string')
4
+ return localizedVal(error, 'Messages');
5
+ const label = error.label?.endsWith(':') ? error.label : `${error.label}:`;
6
+ return localizedVal(`${label} ${error.description}`, 'Messages');
7
+ }
8
+ /**
9
+ * Subscribes to the PCore store and returns formatted validation error messages
10
+ * for the given itemKey. Reacts to any ADD_MESSAGES / CLEAR_MESSAGES dispatch
11
+ * (blur, tab, submit, etc.) so the banner appears and clears in real time.
12
+ */
13
+ export function useValidationBanner(itemKey) {
14
+ const [messages, setMessages] = useState([]);
15
+ const readMessages = useCallback(() => {
16
+ const localizedVal = PCore.getLocaleUtils().getLocaleValue;
17
+ const errors = PCore.getMessageManager().getValidationErrorMessages(itemKey) || [];
18
+ setMessages(errors.map(error => formatError(error, localizedVal)));
19
+ }, [itemKey]);
20
+ useEffect(() => {
21
+ readMessages();
22
+ return PCore.getStore().subscribe(readMessages);
23
+ }, [readMessages]);
24
+ return messages;
25
+ }
26
+ //# sourceMappingURL=useValidationBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useValidationBanner.js","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/useValidationBanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEzD,SAAS,WAAW,CAAC,KAAU,EAAE,YAAsB;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC;IAC3E,OAAO,YAAY,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC;QAC3D,MAAM,MAAM,GAAU,KAAK,CAAC,iBAAiB,EAAE,CAAC,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1F,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,EAAE,CAAC;QACf,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import { useState, useEffect, useCallback } from 'react';\n\nfunction formatError(error: any, localizedVal: Function): string {\n if (typeof error === 'string') return localizedVal(error, 'Messages');\n const label = error.label?.endsWith(':') ? error.label : `${error.label}:`;\n return localizedVal(`${label} ${error.description}`, 'Messages');\n}\n\n/**\n * Subscribes to the PCore store and returns formatted validation error messages\n * for the given itemKey. Reacts to any ADD_MESSAGES / CLEAR_MESSAGES dispatch\n * (blur, tab, submit, etc.) so the banner appears and clears in real time.\n */\nexport function useValidationBanner(itemKey: string): string[] {\n const [messages, setMessages] = useState<string[]>([]);\n\n const readMessages = useCallback(() => {\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const errors: any[] = PCore.getMessageManager().getValidationErrorMessages(itemKey) || [];\n setMessages(errors.map(error => formatError(error, localizedVal)));\n }, [itemKey]);\n\n useEffect(() => {\n readMessages();\n return PCore.getStore().subscribe(readMessages);\n }, [readMessages]);\n\n return messages;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FlowContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D,UAAU,kBAAmB,SAAQ,UAAU;IAE7C,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,gCAAgC,EAAE,QAAQ,CAAC;IAC3C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AA6BD,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,4CAsNtD,CAAC;;AAEF,wBAA8D"}
1
+ {"version":3,"file":"FlowContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D,UAAU,kBAAmB,SAAQ,UAAU;IAE7C,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,gCAAgC,EAAE,QAAQ,CAAC;IAC3C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AA4BD,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,4CAsNtD,CAAC;;AAEF,wBAA8D"}
@@ -10,11 +10,10 @@ import { withSimpleViewContainerRenderer } from '../SimpleView/SimpleView';
10
10
  import { addContainerItem, getToDoAssignments, showBanner, hasContainerItems } from './helpers';
11
11
  import { LocalizationProvider } from '@mui/x-date-pickers';
12
12
  import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
13
- //
14
- // WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
15
- // Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and
16
- // is totally at your own risk.
17
- //
13
+ /**
14
+ * WARNING: This file is part of the infrastructure component responsible for working with Redux and managing the creation and update of Redux containers and PConnect.
15
+ * You may override Material components within this component if needed, but do not modify any container-related logic. Changing this logic can lead to unexpected behavior.
16
+ */
18
17
  const useStyles = makeStyles(theme => ({
19
18
  root: {
20
19
  paddingRight: theme.spacing(2),
@@ -1 +1 @@
1
- {"version":3,"file":"FlowContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,YAAY,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAWhE,EAAE;AACF,qHAAqH;AACrH,uHAAuH;AACvH,+BAA+B;AAC/B,EAAE;AAEF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE;QACJ,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACjC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/B;IACD,KAAK,EAAE;QACL,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC7B;IACD,MAAM,EAAE;QACN,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;QAC5C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;KAClE;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE;IACzD,qGAAqG;IACrG,MAAM,UAAU,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,6DAA6D;IACvG,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;IAChC,MAAM,eAAe,GAAG,OAAO,CAAC;IAEhC,MAAM,EACJ,WAAW,EAAE,0BAA0B,EACvC,YAAY,EACZ,eAAe,EACf,gCAAgC,EAChC,eAAe,EACf,qBAAqB,EAAE,OAAO,EAC/B,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAM,YAAY,CAAC,CAAC;IACxD,MAAM,uBAAuB,GAAG,0BAA0B,EAAE,CAAC;IAC7D,MAAM,aAAa,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,aAAa,IAAI,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,gCAAgC,IAAI,0BAA0B,CAAC;IACnF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5C,0CAA0C;IAC1C,+DAA+D;IAE/D,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1D,6DAA6D;IAC7D,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEpD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/D,6DAA6D;IAC7D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC;IAC3D,MAAM,cAAc,GAAG,UAAU,CAAC;IAElC,MAAM,GAAG,GAAG,WAAW,EAAE,EAAE,sBAAsB,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,SAAS,YAAY;QACnB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAE/B,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,iBAAiB,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAEpD,IAAI,CAAC,iBAAiB;YAAE,iBAAiB,GAAG,EAAE,CAAC;QAC/C,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC;IACvE,CAAC;IAED,SAAS,iBAAiB;QACxB,MAAM,YAAY,GAAG,WAAW,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACzE,IAAI,YAAY,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,CAAC,YAAY,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,SAAS,aAAa;QACpB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAE/B,YAAY;QACZ,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEjC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAE1B,YAAY;QACZ,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,wCAAwC;QACxC,aAAa,EAAE,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,kGAAkG;QAClG,IAAI,aAAa,IAAI,uBAAuB,CAAC,WAAW,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjF,sEAAsE;YACtE,+EAA+E;YAC/E,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,4FAA4F;IAC5F,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;QAE7B,qEAAqE;QACrE,0DAA0D;QAE1D,IAAI,WAAgB,CAAC;QACrB,IAAI,CAAC;YACH,6DAA6D;YAC7D,WAAW,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC1C,6DAA6D;QAC/D,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACpE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC;QAClD,IAAI,YAAY,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9C,UAAU,CAAC,GAAG,EAAE;gBACd,gCAAgC;gBAChC,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBACrD,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC3D,iBAAiB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC/C,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;aAAM,IAAI,YAAY,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YACtD,UAAU;YACV,YAAY;YACZ,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,2CAA2C;QAC3C,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC;QAExF,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;QACpG,MAAM,YAAY,GAAG,QAAQ,IAAI,WAAW,CAAC;QAE7C,IAAI,YAAY,EAAE,CAAC;YACjB,uFAAuF;YACvF,sFAAsF;YACtF,eAAe,CAAC,eAAe,IAAI,YAAY,CAAC,sEAAsE,EAAE,cAAc,CAAC,CAAC,CAAC;YACzI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,cAAc,CAAC,IAAI,CAAC,CAAC;YAErB,YAAY;YACZ,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,YAAY;YACZ,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1H,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/F,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9G,SAAS,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,OAAO,SAAS,IAAI,KAAC,WAAW,IAAC,EAAE,EAAC,qBAAqB,EAAC,OAAO,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC;IACpG,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAC,yBAAyB,aAClF,CAAC,YAAY;gBACZ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAChB,CAAC,aAAa,CAAC,CAAC,CAAC,CACf,MAAC,IAAI,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,YAAY,aAC1C,KAAC,UAAU,IACT,EAAE,EAAC,mBAAmB,EACtB,KAAK,EAAE,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,YAAE,YAAY,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,GAAc,EAC1F,SAAS,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,WAAW,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,EAC1G,MAAM,EAAE,KAAC,MAAM,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,cAAc,YAAG,gBAAgB,GAAU,GACvF,EACD,mBAAmB,EAAE,EACtB,KAAC,oBAAoB,IAAC,WAAW,EAAE,YAAY,YAC7C,KAAC,UAAU,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,YACnD,eAAe,GACL,GACQ,IAClB,CACR,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,YAAY,aAC1C,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,YAAE,YAAY,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,GAAc,EAClF,mBAAmB,EAAE,EACtB,KAAC,oBAAoB,IAAC,WAAW,EAAE,YAAY,YAC7C,KAAC,UAAU,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,YACnD,eAAe,GACL,GACQ,IAClB,CACR,CACF,CAAC,CAAC,CAAC,CACF,wBACE,KAAC,IAAI,IAEH,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,iBAAiB,EAC/B,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,OAAO,EAChB,SAAS,UATJ,IAAI,CAAC,MAAM,EAAE,CAUlB,GACE,CACP,CAAC,EACH,gBAAgB,IAAI,CACnB,cAAK,SAAS,EAAE,GAAG,OAAO,CAAC,KAAK,aAAa,YAC3C,KAAC,KAAK,IAAC,QAAQ,EAAC,SAAS,YAAE,YAAY,GAAS,GAC5C,CACP,EACA,YAAY,IAAI,WAAW,IAAI,wBAAM,eAAe,GAAO,IACxD,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,+BAA+B,CAAC,aAAa,CAAC,CAAC","sourcesContent":["import { useState, useEffect, useContext } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Alert, Card, CardHeader, Avatar, Typography } from '@mui/material';\n\nimport StoreContext from '../../../../bridge/Context/StoreContext';\nimport { Utils } from '../../../helpers/utils';\nimport { isContainerInitialized } from '../container-helpers';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { withSimpleViewContainerRenderer } from '../SimpleView/SimpleView';\n\nimport { addContainerItem, getToDoAssignments, showBanner, hasContainerItems } from './helpers';\nimport type { PConnProps } from '../../../../types/PConnProps';\nimport { LocalizationProvider } from '@mui/x-date-pickers';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\n\ninterface FlowContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n pageMessages: any[];\n rootViewElement: React.ReactNode;\n getPConnectOfActiveContainerItem: Function;\n assignmentNames: string[];\n activeContainerItemID: string;\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingTop: theme.spacing(1.5),\n paddingBottom: theme.spacing(1.5),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n alert: {\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1)\n },\n avatar: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n }\n}));\n\nexport const FlowContainer = (props: FlowContainerProps) => {\n // Get the proper implementation (local or Pega-provided) for these components that are emitted below\n const Assignment = getComponentFromMap('Assignment');\n const ToDo = getComponentFromMap('Todo'); // NOTE: ConstellationJS Engine uses \"Todo\" and not \"ToDo\"!!!\n const AlertBanner = getComponentFromMap('AlertBanner');\n\n const pCoreConstants = PCore.getConstants();\n const { TODO } = pCoreConstants;\n const todo_headerText = 'To do';\n\n const {\n getPConnect: getPConnectOfFlowContainer,\n pageMessages,\n rootViewElement,\n getPConnectOfActiveContainerItem,\n assignmentNames,\n activeContainerItemID: itemKey\n } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n const pConnectOfFlowContainer = getPConnectOfFlowContainer();\n const isInitialized = isContainerInitialized(pConnectOfFlowContainer);\n const hasItems = isInitialized && hasContainerItems(pConnectOfFlowContainer);\n const getPConnect = getPConnectOfActiveContainerItem || getPConnectOfFlowContainer;\n const thePConn = getPConnect();\n const containerName = assignmentNames && assignmentNames.length > 0 ? assignmentNames[0] : '';\n const bShowBanner = showBanner(getPConnect);\n // const [init, setInit] = useState(true);\n // const [fcState, setFCState] = useState({ hasError: false });\n\n const [todo_showTodo, setShowTodo] = useState(false);\n const [todo_caseInfoID, setCaseInfoID] = useState('');\n const [todo_showTodoList, setShowTodoList] = useState(false);\n const [todo_datasource, setTodoDatasource] = useState({});\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [todo_context, setTodoContext] = useState('');\n\n const [caseMessages, setCaseMessages] = useState('');\n const [bHasCaseMessages, setHasCaseMessages] = useState(false);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [checkSvg, setCheckSvg] = useState('');\n\n const [buildName, setBuildName] = useState('');\n const [bShowConfirm, setShowConfirm] = useState(false);\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Messages';\n\n const key = getPConnect()?.getCaseLocaleReference();\n const classes = useStyles();\n\n function getBuildName(): string {\n const ourPConn = getPConnect();\n\n const context = ourPConn.getContextName();\n let viewContainerName = ourPConn.getContainerName();\n\n if (!viewContainerName) viewContainerName = '';\n return `${context.toUpperCase()}/${viewContainerName.toUpperCase()}`;\n }\n\n function getTodoVisibility() {\n const caseViewMode = getPConnect().getValue('context_data.caseViewMode');\n if (caseViewMode && caseViewMode === 'review') {\n return true;\n }\n return !(caseViewMode && caseViewMode === 'perform');\n }\n\n function initComponent() {\n const ourPConn = getPConnect();\n\n // debugger;\n setShowTodo(getTodoVisibility());\n\n ourPConn.isBoundToState();\n\n // debugger;\n setBuildName(getBuildName());\n }\n\n useEffect(() => {\n // from WC SDK connectedCallback (mount)\n initComponent();\n }, []);\n\n useEffect(() => {\n // @ts-expect-error - Property 'getMetadata' is private and only accessible within class 'C11nEnv'\n if (isInitialized && pConnectOfFlowContainer.getMetadata().children && !hasItems) {\n // ensuring not to add container items, if container already has items\n // because during multi doc mode, we will have container items already in store\n addContainerItem(pConnectOfFlowContainer);\n }\n }, [isInitialized, hasItems]);\n\n // From SDK-WC updateSelf - so do this in useEffect that's run only when the props change...\n useEffect(() => {\n setBuildName(getBuildName());\n\n // routingInfo was added as component prop in populateAdditionalProps\n // let routingInfo = this.getComponentProp(\"routingInfo\");\n\n let loadingInfo: any;\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n loadingInfo = thePConn.getLoadingStatus();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (ex) {\n console.error(`${thePConn.getComponentName()}: loadingInfo catch block`);\n }\n\n const caseViewMode = thePConn.getValue('context_data.caseViewMode');\n const { CASE_INFO: CASE_CONSTS } = pCoreConstants;\n if (caseViewMode && caseViewMode === 'review') {\n setTimeout(() => {\n // updated for 8.7 - 30-Mar-2022\n const todoAssignments = getToDoAssignments(thePConn);\n setCaseInfoID(thePConn.getValue(CASE_CONSTS.CASE_INFO_ID));\n setTodoDatasource({ source: todoAssignments });\n setShowTodo(true);\n setShowTodoList(false);\n }, 100);\n } else if (caseViewMode && caseViewMode === 'perform') {\n // perform\n // debugger;\n setShowTodo(false);\n }\n\n // if have caseMessage show message and end\n const theCaseMessages = localizedVal(thePConn.getValue('caseMessages'), localeCategory);\n\n const rootInfo = PCore.getContainerUtils().getContainerItemData(getPConnect().getTarget(), itemKey);\n const bConfirmView = rootInfo && bShowBanner;\n\n if (bConfirmView) {\n // Temp fix for 8.7 change: confirmationNote no longer coming through in caseMessages$.\n // So, if we get here and caseMessages$ is empty, use default value in DX API response\n setCaseMessages(theCaseMessages || localizedVal('Thank you! The next step in this case has been routed appropriately.', localeCategory));\n setHasCaseMessages(true);\n setShowConfirm(true);\n\n // debugger;\n setCheckSvg(Utils.getImageSrc('check', Utils.getSDKStaticConentUrl()));\n } else {\n // debugger;\n setHasCaseMessages(false);\n setShowConfirm(false);\n }\n }, [props]);\n\n const caseId = thePConn.getCaseSummary().content.pyID;\n const urgency = getPConnect().getCaseSummary().assignments ? getPConnect().getCaseSummary().assignments?.[0].urgency : '';\n const operatorInitials = Utils.getInitials(PCore.getEnvironmentInfo().getOperatorName() || '');\n\n const displayPageMessages = () => {\n let hasBanner = false;\n const messages = pageMessages ? pageMessages.map(msg => localizedVal(msg.message, 'Messages')) : pageMessages;\n hasBanner = messages && messages.length > 0;\n return hasBanner && <AlertBanner id='flowContainerBanner' variant='urgent' messages={messages} />;\n };\n\n return (\n <div style={{ textAlign: 'left' }} id={buildName} className='psdk-flow-container-top'>\n {!bShowConfirm &&\n (!todo_showTodo ? (\n !displayOnlyFA ? (\n <Card className={`${classes.root} psdk-root`}>\n <CardHeader\n id='assignment-header'\n title={<Typography variant='h6'>{localizedVal(containerName, undefined, key)}</Typography>}\n subheader={`${localizedVal('In', 'Todo')} ${caseId} \\u2022 ${localizedVal('Priority', 'Todo')} ${urgency}`}\n avatar={<Avatar className={`${classes.avatar} psdk-avatar`}>{operatorInitials}</Avatar>}\n />\n {displayPageMessages()}\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </LocalizationProvider>\n </Card>\n ) : (\n <Card className={`${classes.root} psdk-root`}>\n <Typography variant='h6'>{localizedVal(containerName, undefined, key)}</Typography>\n {displayPageMessages()}\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </LocalizationProvider>\n </Card>\n )\n ) : (\n <div>\n <ToDo\n key={Math.random()}\n getPConnect={getPConnect}\n caseInfoID={todo_caseInfoID}\n datasource={todo_datasource}\n showTodoList={todo_showTodoList}\n headerText={todo_headerText}\n type={TODO}\n context={todo_context}\n itemKey={itemKey}\n isConfirm\n />\n </div>\n ))}\n {bHasCaseMessages && (\n <div className={`${classes.alert} psdk-alert`}>\n <Alert severity='success'>{caseMessages}</Alert>\n </div>\n )}\n {bShowConfirm && bShowBanner && <div>{rootViewElement}</div>}\n </div>\n );\n};\n\nexport default withSimpleViewContainerRenderer(FlowContainer);\n"]}
1
+ {"version":3,"file":"FlowContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, useContext } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Alert, Card, CardHeader, Avatar, Typography } from '@mui/material';\n\nimport StoreContext from '../../../../bridge/Context/StoreContext';\nimport { Utils } from '../../../helpers/utils';\nimport { isContainerInitialized } from '../container-helpers';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { withSimpleViewContainerRenderer } from '../SimpleView/SimpleView';\n\nimport { addContainerItem, getToDoAssignments, showBanner, hasContainerItems } from './helpers';\nimport type { PConnProps } from '../../../../types/PConnProps';\nimport { LocalizationProvider } from '@mui/x-date-pickers';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\n\ninterface FlowContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n pageMessages: any[];\n rootViewElement: React.ReactNode;\n getPConnectOfActiveContainerItem: Function;\n assignmentNames: string[];\n activeContainerItemID: string;\n}\n\n/**\n * WARNING: This file is part of the infrastructure component responsible for working with Redux and managing the creation and update of Redux containers and PConnect.\n * You may override Material components within this component if needed, but do not modify any container-related logic. Changing this logic can lead to unexpected behavior.\n */\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingTop: theme.spacing(1.5),\n paddingBottom: theme.spacing(1.5),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n alert: {\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1)\n },\n avatar: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n }\n}));\n\nexport const FlowContainer = (props: FlowContainerProps) => {\n // Get the proper implementation (local or Pega-provided) for these components that are emitted below\n const Assignment = getComponentFromMap('Assignment');\n const ToDo = getComponentFromMap('Todo'); // NOTE: ConstellationJS Engine uses \"Todo\" and not \"ToDo\"!!!\n const AlertBanner = getComponentFromMap('AlertBanner');\n\n const pCoreConstants = PCore.getConstants();\n const { TODO } = pCoreConstants;\n const todo_headerText = 'To do';\n\n const {\n getPConnect: getPConnectOfFlowContainer,\n pageMessages,\n rootViewElement,\n getPConnectOfActiveContainerItem,\n assignmentNames,\n activeContainerItemID: itemKey\n } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n const pConnectOfFlowContainer = getPConnectOfFlowContainer();\n const isInitialized = isContainerInitialized(pConnectOfFlowContainer);\n const hasItems = isInitialized && hasContainerItems(pConnectOfFlowContainer);\n const getPConnect = getPConnectOfActiveContainerItem || getPConnectOfFlowContainer;\n const thePConn = getPConnect();\n const containerName = assignmentNames && assignmentNames.length > 0 ? assignmentNames[0] : '';\n const bShowBanner = showBanner(getPConnect);\n // const [init, setInit] = useState(true);\n // const [fcState, setFCState] = useState({ hasError: false });\n\n const [todo_showTodo, setShowTodo] = useState(false);\n const [todo_caseInfoID, setCaseInfoID] = useState('');\n const [todo_showTodoList, setShowTodoList] = useState(false);\n const [todo_datasource, setTodoDatasource] = useState({});\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [todo_context, setTodoContext] = useState('');\n\n const [caseMessages, setCaseMessages] = useState('');\n const [bHasCaseMessages, setHasCaseMessages] = useState(false);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [checkSvg, setCheckSvg] = useState('');\n\n const [buildName, setBuildName] = useState('');\n const [bShowConfirm, setShowConfirm] = useState(false);\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Messages';\n\n const key = getPConnect()?.getCaseLocaleReference();\n const classes = useStyles();\n\n function getBuildName(): string {\n const ourPConn = getPConnect();\n\n const context = ourPConn.getContextName();\n let viewContainerName = ourPConn.getContainerName();\n\n if (!viewContainerName) viewContainerName = '';\n return `${context.toUpperCase()}/${viewContainerName.toUpperCase()}`;\n }\n\n function getTodoVisibility() {\n const caseViewMode = getPConnect().getValue('context_data.caseViewMode');\n if (caseViewMode && caseViewMode === 'review') {\n return true;\n }\n return !(caseViewMode && caseViewMode === 'perform');\n }\n\n function initComponent() {\n const ourPConn = getPConnect();\n\n // debugger;\n setShowTodo(getTodoVisibility());\n\n ourPConn.isBoundToState();\n\n // debugger;\n setBuildName(getBuildName());\n }\n\n useEffect(() => {\n // from WC SDK connectedCallback (mount)\n initComponent();\n }, []);\n\n useEffect(() => {\n // @ts-expect-error - Property 'getMetadata' is private and only accessible within class 'C11nEnv'\n if (isInitialized && pConnectOfFlowContainer.getMetadata().children && !hasItems) {\n // ensuring not to add container items, if container already has items\n // because during multi doc mode, we will have container items already in store\n addContainerItem(pConnectOfFlowContainer);\n }\n }, [isInitialized, hasItems]);\n\n // From SDK-WC updateSelf - so do this in useEffect that's run only when the props change...\n useEffect(() => {\n setBuildName(getBuildName());\n\n // routingInfo was added as component prop in populateAdditionalProps\n // let routingInfo = this.getComponentProp(\"routingInfo\");\n\n let loadingInfo: any;\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n loadingInfo = thePConn.getLoadingStatus();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (ex) {\n console.error(`${thePConn.getComponentName()}: loadingInfo catch block`);\n }\n\n const caseViewMode = thePConn.getValue('context_data.caseViewMode');\n const { CASE_INFO: CASE_CONSTS } = pCoreConstants;\n if (caseViewMode && caseViewMode === 'review') {\n setTimeout(() => {\n // updated for 8.7 - 30-Mar-2022\n const todoAssignments = getToDoAssignments(thePConn);\n setCaseInfoID(thePConn.getValue(CASE_CONSTS.CASE_INFO_ID));\n setTodoDatasource({ source: todoAssignments });\n setShowTodo(true);\n setShowTodoList(false);\n }, 100);\n } else if (caseViewMode && caseViewMode === 'perform') {\n // perform\n // debugger;\n setShowTodo(false);\n }\n\n // if have caseMessage show message and end\n const theCaseMessages = localizedVal(thePConn.getValue('caseMessages'), localeCategory);\n\n const rootInfo = PCore.getContainerUtils().getContainerItemData(getPConnect().getTarget(), itemKey);\n const bConfirmView = rootInfo && bShowBanner;\n\n if (bConfirmView) {\n // Temp fix for 8.7 change: confirmationNote no longer coming through in caseMessages$.\n // So, if we get here and caseMessages$ is empty, use default value in DX API response\n setCaseMessages(theCaseMessages || localizedVal('Thank you! The next step in this case has been routed appropriately.', localeCategory));\n setHasCaseMessages(true);\n setShowConfirm(true);\n\n // debugger;\n setCheckSvg(Utils.getImageSrc('check', Utils.getSDKStaticConentUrl()));\n } else {\n // debugger;\n setHasCaseMessages(false);\n setShowConfirm(false);\n }\n }, [props]);\n\n const caseId = thePConn.getCaseSummary().content.pyID;\n const urgency = getPConnect().getCaseSummary().assignments ? getPConnect().getCaseSummary().assignments?.[0].urgency : '';\n const operatorInitials = Utils.getInitials(PCore.getEnvironmentInfo().getOperatorName() || '');\n\n const displayPageMessages = () => {\n let hasBanner = false;\n const messages = pageMessages ? pageMessages.map(msg => localizedVal(msg.message, 'Messages')) : pageMessages;\n hasBanner = messages && messages.length > 0;\n return hasBanner && <AlertBanner id='flowContainerBanner' variant='urgent' messages={messages} />;\n };\n\n return (\n <div style={{ textAlign: 'left' }} id={buildName} className='psdk-flow-container-top'>\n {!bShowConfirm &&\n (!todo_showTodo ? (\n !displayOnlyFA ? (\n <Card className={`${classes.root} psdk-root`}>\n <CardHeader\n id='assignment-header'\n title={<Typography variant='h6'>{localizedVal(containerName, undefined, key)}</Typography>}\n subheader={`${localizedVal('In', 'Todo')} ${caseId} \\u2022 ${localizedVal('Priority', 'Todo')} ${urgency}`}\n avatar={<Avatar className={`${classes.avatar} psdk-avatar`}>{operatorInitials}</Avatar>}\n />\n {displayPageMessages()}\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </LocalizationProvider>\n </Card>\n ) : (\n <Card className={`${classes.root} psdk-root`}>\n <Typography variant='h6'>{localizedVal(containerName, undefined, key)}</Typography>\n {displayPageMessages()}\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </LocalizationProvider>\n </Card>\n )\n ) : (\n <div>\n <ToDo\n key={Math.random()}\n getPConnect={getPConnect}\n caseInfoID={todo_caseInfoID}\n datasource={todo_datasource}\n showTodoList={todo_showTodoList}\n headerText={todo_headerText}\n type={TODO}\n context={todo_context}\n itemKey={itemKey}\n isConfirm\n />\n </div>\n ))}\n {bHasCaseMessages && (\n <div className={`${classes.alert} psdk-alert`}>\n <Alert severity='success'>{caseMessages}</Alert>\n </div>\n )}\n {bShowConfirm && bShowBanner && <div>{rootViewElement}</div>}\n </div>\n );\n};\n\nexport default withSimpleViewContainerRenderer(FlowContainer);\n"]}
@@ -1,4 +1,8 @@
1
1
  import type { PConnProps } from '../../../../types/PConnProps';
2
+ /**
3
+ * WARNING: This file is part of the infrastructure component responsible for working with Redux and managing the creation and update of Redux containers and PConnect.
4
+ * You may override Material components within this component if needed, but do not modify any container-related logic. Changing this logic can lead to unexpected behavior.
5
+ */
2
6
  interface ModalViewContainerProps extends PConnProps {
3
7
  loadingInfo?: string;
4
8
  routingInfo?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalViewContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ModalViewContainer/ModalViewContainer.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,UAAU,uBAAwB,SAAQ,UAAU;IAElD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAsFD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CA+OxE"}
1
+ {"version":3,"file":"ModalViewContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ModalViewContainer/ModalViewContainer.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;;GAGG;AAEH,UAAU,uBAAwB,SAAQ,UAAU;IAElD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAsFD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CA+OxE"}
@@ -255,7 +255,7 @@ export default function ModalViewContainer(props) {
255
255
  // actionsDialog.current = true;
256
256
  setShowModal(false);
257
257
  }
258
- return (_jsxs(_Fragment, { children: [_jsxs(Dialog, { open: bShowModal, "aria-labelledby": 'form-dialog-title', maxWidth: false, children: [_jsx(DialogTitle, { id: 'form-dialog-title', className: `${classes.dlgTitle} psdk-dialog-title`, children: title }), _jsx(DialogContent, { className: `${classes.dlgContent} psdk-dialog-content`, children: bShowModal ? (_jsx(LocalizationProvider, { dateAdapter: AdapterDayjs, children: _jsx(Assignment, { getPConnect: createdView.configObject.getPConnect, itemKey: itemKey, isInModal: true, banners: getBanners({
258
+ return (_jsxs(_Fragment, { children: [_jsxs(Dialog, { open: bShowModal, "aria-labelledby": 'form-dialog-title', maxWidth: 'sm', fullWidth: true, children: [_jsx(DialogTitle, { id: 'form-dialog-title', className: `${classes.dlgTitle} psdk-dialog-title`, children: title }), _jsx(DialogContent, { className: `${classes.dlgContent} psdk-dialog-content`, children: bShowModal ? (_jsx(LocalizationProvider, { dateAdapter: AdapterDayjs, children: _jsx(Assignment, { getPConnect: createdView.configObject.getPConnect, itemKey: itemKey, isInModal: true, banners: getBanners({
259
259
  target: itemKey,
260
260
  pageMessages
261
261
  }), children: arNewChildrenAsReact }) })) : null }), isMultiRecordData && (_jsx(ListViewActionButtons, { getPConnect: createdView.configObject.getPConnect, context: createdView.latestItem.context, closeActionsDialog: closeActionsDialog }))] }), bShowCancelAlert && _jsx(CancelAlert, { ...cancelAlertProps, dismiss: dismissCancelAlert })] }));