@pega/react-sdk-components 0.25.3 → 0.25.5

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 (90) hide show
  1. package/lib/components/designSystemExtension/Banner/Banner.d.ts.map +1 -1
  2. package/lib/components/designSystemExtension/Banner/Banner.js +1 -1
  3. package/lib/components/designSystemExtension/Banner/Banner.js.map +1 -1
  4. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  5. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js +29 -25
  6. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js.map +1 -1
  7. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.css +6 -13
  8. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.d.ts.map +1 -1
  9. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +11 -1
  10. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
  11. package/lib/components/field/Group/Group.d.ts.map +1 -1
  12. package/lib/components/field/Group/Group.js +2 -1
  13. package/lib/components/field/Group/Group.js.map +1 -1
  14. package/lib/components/field/Location/Location.css +4 -0
  15. package/lib/components/field/Location/Location.d.ts +1 -0
  16. package/lib/components/field/Location/Location.d.ts.map +1 -1
  17. package/lib/components/field/Location/Location.js +1 -0
  18. package/lib/components/field/Location/Location.js.map +1 -1
  19. package/lib/components/field/RadioButtons/RadioButtons.js +1 -1
  20. package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
  21. package/lib/components/field/RichText/RichText.css +79 -0
  22. package/lib/components/field/RichText/RichText.d.ts +1 -0
  23. package/lib/components/field/RichText/RichText.d.ts.map +1 -1
  24. package/lib/components/field/RichText/RichText.js +1 -0
  25. package/lib/components/field/RichText/RichText.js.map +1 -1
  26. package/lib/components/field/SelectableCard/SelectableCard.js +2 -2
  27. package/lib/components/field/SelectableCard/SelectableCard.js.map +1 -1
  28. package/lib/components/field/UserReference/UserReference.d.ts.map +1 -1
  29. package/lib/components/field/UserReference/UserReference.js +1 -1
  30. package/lib/components/field/UserReference/UserReference.js.map +1 -1
  31. package/lib/components/helpers/simpleTableHelpers.js +1 -1
  32. package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
  33. package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
  34. package/lib/components/infra/Assignment/Assignment.js +29 -24
  35. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  36. package/lib/components/infra/MultiStep/MultiStep.css +44 -64
  37. package/lib/components/infra/MultiStep/MultiStep.d.ts.map +1 -1
  38. package/lib/components/infra/MultiStep/MultiStep.js +18 -36
  39. package/lib/components/infra/MultiStep/MultiStep.js.map +1 -1
  40. package/lib/components/infra/View/View.d.ts.map +1 -1
  41. package/lib/components/infra/View/View.js +2 -1
  42. package/lib/components/infra/View/View.js.map +1 -1
  43. package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
  44. package/lib/components/template/AppShell/AppShell.js +2 -4
  45. package/lib/components/template/AppShell/AppShell.js.map +1 -1
  46. package/lib/components/template/CaseSummary/CaseSummary.d.ts +2 -0
  47. package/lib/components/template/CaseSummary/CaseSummary.d.ts.map +1 -1
  48. package/lib/components/template/CaseSummary/CaseSummary.js +2 -68
  49. package/lib/components/template/CaseSummary/CaseSummary.js.map +1 -1
  50. package/lib/components/template/CaseView/CaseView.d.ts.map +1 -1
  51. package/lib/components/template/CaseView/CaseView.js +16 -12
  52. package/lib/components/template/CaseView/CaseView.js.map +1 -1
  53. package/lib/components/template/DefaultPage/DefaultPage.d.ts +36 -0
  54. package/lib/components/template/DefaultPage/DefaultPage.d.ts.map +1 -0
  55. package/lib/components/template/DefaultPage/DefaultPage.js +28 -0
  56. package/lib/components/template/DefaultPage/DefaultPage.js.map +1 -0
  57. package/lib/components/template/DefaultPage/index.d.ts +2 -0
  58. package/lib/components/template/DefaultPage/index.d.ts.map +1 -0
  59. package/lib/components/template/DefaultPage/index.js +2 -0
  60. package/lib/components/template/DefaultPage/index.js.map +1 -0
  61. package/lib/components/template/ListView/ListView.d.ts.map +1 -1
  62. package/lib/components/template/ListView/ListView.js +26 -31
  63. package/lib/components/template/ListView/ListView.js.map +1 -1
  64. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.d.ts +2 -0
  65. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.d.ts.map +1 -0
  66. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js +73 -0
  67. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js.map +1 -0
  68. package/lib/components/template/SelfServiceCaseView/index.d.ts +2 -0
  69. package/lib/components/template/SelfServiceCaseView/index.d.ts.map +1 -0
  70. package/lib/components/template/SelfServiceCaseView/index.js +2 -0
  71. package/lib/components/template/SelfServiceCaseView/index.js.map +1 -0
  72. package/lib/components/template/WssNavBar/WssNavBar.js +3 -3
  73. package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
  74. package/lib/components/template/utils.d.ts +7 -0
  75. package/lib/components/template/utils.d.ts.map +1 -0
  76. package/lib/components/template/utils.js +52 -0
  77. package/lib/components/template/utils.js.map +1 -0
  78. package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
  79. package/lib/components/widget/ToDo/ToDo.js +1 -5
  80. package/lib/components/widget/ToDo/ToDo.js.map +1 -1
  81. package/lib/samples/Embedded/styles.css +26 -0
  82. package/lib/sdk-pega-component-map.d.ts +4 -0
  83. package/lib/sdk-pega-component-map.d.ts.map +1 -1
  84. package/lib/sdk-pega-component-map.js +4 -0
  85. package/lib/sdk-pega-component-map.js.map +1 -1
  86. package/lib/theme.d.ts +7 -1
  87. package/lib/theme.d.ts.map +1 -1
  88. package/lib/theme.js +35 -15
  89. package/lib/theme.js.map +1 -1
  90. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CaseSummary.js","sourceRoot":"","sources":["../../../../src/components/template/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAOhF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAA0C;IAC5E,8EAA8E;IAC9E,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAEnE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAExC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,cAAc,GAAQ,QAAQ,CAAC,cAAc,EAAE,CAAC;IACtD,iDAAiD;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;IACrC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC;IAC3D,MAAM,cAAc,GAAG,gBAAgB,CAAC;IACxC,mCAAmC;IACnC,sGAAsG;IACtG,8DAA8D;IAC9D,mDAAmD;IACnD,qDAAqD;IAErD,kBAAkB;IAClB,uDAAuD;IACvD,IAAI,eAAe,GAAU,EAAE,CAAC;IAChC,IAAI,iBAAiB,GAAU,EAAE,CAAC;IAElC,SAAS,6BAA6B,CAAC,YAAY,EAAE,WAAW;QAC9D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;QAC1C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAE/B,MAAM,0BAA0B,GAAQ,EAAE,CAAC;QAE3C,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC;QAC9B,MAAM,gBAAgB,GAAG,QAAQ,CAAC,eAAe,CAAC;YAChD,IAAI;YACJ,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACvC,MAAM,EAAE;gBACN,GAAG,MAAM;aACV;SACF,CAAC,CAAC;QAEH,0BAA0B,CAAC,KAAK,GAAG,gBAAgB,CAAC;QACpD,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED,SAAS,sBAAsB,CAAC,oBAAoB;QAClD,MAAM,4BAA4B,GAAG,GAAG,CAAC,EAAE;YACzC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;gBACnC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;gBAC/C,MAAM,0BAA0B,GAAG,6BAA6B,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;gBACnG,0BAA0B,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;gBAC1C,OAAO,0BAA0B,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,oBAAoB,CAAC,CAAC,CAAC,4BAA4B,CAAC,oBAAoB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9G,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,QAA0B,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAI,KAAsB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/D,MAAM,cAAc,GAAG,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QAClF,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,gBAAgB,EAAE,CAAC;YAC3D,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;YAC1C,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC9B,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACnE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,kBAAkB,EAAE,CAAC;YACpE,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAClE,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC;YAC5C,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACzC,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YACjF,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,uDAAuD;IAEvD,+BAA+B;IAC/B,mFAAmF;IACnF,uFAAuF;IAEvF,OAAO,CACL,eAAK,EAAE,EAAC,aAAa,aACnB,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,GAAI,EACzF,KAAC,iBAAiB,IAAC,SAAS,EAAE,iBAAiB,GAAI,IAC/C,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type { PropsWithChildren, ReactElement } from 'react';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface CaseSummaryProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n}\n\nexport default function CaseSummary(props: PropsWithChildren<CaseSummaryProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const CaseSummaryFields = getComponentFromMap('CaseSummaryFields');\n\n const { getPConnect, children } = props;\n\n const thePConn = getPConnect();\n const theConfigProps: any = thePConn.getConfigProps();\n // const { status, showStatus } = theConfigProps;\n const status = theConfigProps.status;\n const showStatus = theConfigProps.showStatus;\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'ModalContainer';\n // from Constellation DX Components\n // get the primary and secondary fields with the raw data (which has the non-resolved property values)\n // const regionsRaw = getPConnect().getRawMetadata().children;\n // const primaryFieldsRaw = regionsRaw[0].children;\n // const secondaryFieldsRaw = regionsRaw[1].children;\n\n // From other SDKs\n // may want to move these into useEffect/useState combo\n let arPrimaryFields: any[] = [];\n let arSecondaryFields: any[] = [];\n\n function prepareComponentInCaseSummary(pConnectMeta, getPConnect) {\n const { config, children } = pConnectMeta;\n const pConnect = getPConnect();\n\n const caseSummaryComponentObject: any = {};\n\n const { type } = pConnectMeta;\n const createdComponent = pConnect.createComponent({\n type,\n children: children ? [...children] : [],\n config: {\n ...config\n }\n });\n\n caseSummaryComponentObject.value = createdComponent;\n return caseSummaryComponentObject;\n }\n\n function prepareCaseSummaryData(summaryFieldChildren) {\n const convertChildrenToSummaryData = kid => {\n return kid?.map((childItem, index) => {\n const childMeta = childItem.getPConnect().meta;\n const caseSummaryComponentObject = prepareComponentInCaseSummary(childMeta, childItem.getPConnect);\n caseSummaryComponentObject.id = index + 1;\n return caseSummaryComponentObject;\n });\n };\n return summaryFieldChildren ? convertChildrenToSummaryData(summaryFieldChildren?.getChildren()) : undefined;\n }\n\n for (const child of children as ReactElement[]) {\n const childPConn = (child as ReactElement).props.getPConnect();\n const childPConnData = childPConn.resolveConfigProps(childPConn.getRawMetadata());\n if (childPConnData.name.toLowerCase() === 'primary fields') {\n arPrimaryFields = childPConnData.children;\n arPrimaryFields.forEach(field => {\n if (field.config?.value && typeof field.config?.value === 'string') {\n field.config.value = localizedVal(field.config.value, localeCategory);\n }\n });\n } else if (childPConnData.name.toLowerCase() === 'secondary fields') {\n const secondarySummaryFields = prepareCaseSummaryData(childPConn);\n arSecondaryFields = childPConnData.children;\n arSecondaryFields.forEach((field, index) => {\n field.config.displayLabel = secondarySummaryFields[index]?.value?.props?.label;\n });\n }\n }\n\n // At this point, should hand off to another component for layout and rendering\n // of primary and secondary fields in the Case Summary\n\n // debugging/investigation help\n // console.log(`CaseSummary: arPrimaryFields: ${JSON.stringify(arPrimaryFields)}`);\n // console.log(`CaseSummary: arSecondaryFields: ${JSON.stringify(arSecondaryFields)}`);\n\n return (\n <div id='CaseSummary'>\n <CaseSummaryFields status={status} showStatus={showStatus} theFields={arPrimaryFields} />\n <CaseSummaryFields theFields={arSecondaryFields} />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"CaseSummary.js","sourceRoot":"","sources":["../../../../src/components/template/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAShF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAA0C;IAC5E,8EAA8E;IAC9E,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAEnE,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAErD,OAAO,CACL,eAAK,EAAE,EAAC,aAAa,aACnB,KAAC,iBAAiB,IAAC,SAAS,EAAE,eAAe,GAAI,EACjD,KAAC,iBAAiB,IAAC,SAAS,EAAE,iBAAiB,GAAI,IAC/C,CACP,CAAC;AACJ,CAAC","sourcesContent":["import type { PropsWithChildren } from 'react';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface CaseSummaryProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n arPrimaryFields: any[];\n arSecondaryFields: any[];\n}\n\nexport default function CaseSummary(props: PropsWithChildren<CaseSummaryProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const CaseSummaryFields = getComponentFromMap('CaseSummaryFields');\n\n const { arPrimaryFields, arSecondaryFields } = props;\n\n return (\n <div id='CaseSummary'>\n <CaseSummaryFields theFields={arPrimaryFields} />\n <CaseSummaryFields theFields={arSecondaryFields} />\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/CaseView/CaseView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAsD,MAAM,OAAO,CAAC;AAUnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,aAAc,SAAQ,UAAU;IAExC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC;IACd,kBAAkB,EAAE,GAAG,CAAC;CACzB;AA6BD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CAoNvE"}
1
+ {"version":3,"file":"CaseView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/CaseView/CaseView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAsD,MAAM,OAAO,CAAC;AAUnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,UAAU,aAAc,SAAQ,UAAU;IAExC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC;IACd,kBAAkB,EAAE,GAAG,CAAC;CACzB;AA0BD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CA2NvE"}
@@ -8,6 +8,7 @@ import Grid2 from '@mui/material/Grid2';
8
8
  import { Utils } from '../../helpers/utils';
9
9
  import StoreContext from '../../../bridge/Context/StoreContext';
10
10
  import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
11
+ import { prepareCaseSummaryData } from '../utils';
11
12
  const useStyles = makeStyles(theme => ({
12
13
  root: {
13
14
  paddingRight: theme.spacing(1),
@@ -29,9 +30,6 @@ const useStyles = makeStyles(theme => ({
29
30
  width: theme.spacing(8),
30
31
  height: theme.spacing(8),
31
32
  padding: theme.spacing(1)
32
- },
33
- caseViewIconImage: {
34
- filter: 'var(--svg-color)'
35
33
  }
36
34
  }));
37
35
  export default function CaseView(props) {
@@ -39,9 +37,8 @@ export default function CaseView(props) {
39
37
  const CaseViewActionsMenu = getComponentFromMap('CaseViewActionsMenu');
40
38
  const VerticalTabs = getComponentFromMap('VerticalTabs');
41
39
  const DeferLoad = getComponentFromMap('DeferLoad');
42
- const { getPConnect, icon = '', header, subheader, children = [],
43
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
44
- showIconInHeader = true, caseInfo: { availableActions = [], availableProcesses = [], hasNewAttachments, caseTypeID = '', caseTypeName = '' } } = props;
40
+ const CaseSummary = getComponentFromMap('CaseSummary');
41
+ const { getPConnect, icon = '', header, subheader, children = [], caseInfo: { availableActions = [], availableProcesses = [], hasNewAttachments, caseTypeID = '', caseTypeName = '', caseTypeIcon } } = props;
45
42
  const { lastUpdateCaseTime = getPConnect().getValue('caseInfo.lastUpdateTime') } = props;
46
43
  const currentCaseID = props.caseInfo.ID;
47
44
  let isComponentMounted = true;
@@ -58,25 +55,32 @@ export default function CaseView(props) {
58
55
  */
59
56
  function getChildRegionByName(inName) {
60
57
  for (const child of children) {
61
- const theMetadataType = child.props.getPConnect().getRawMetadata().type.toLowerCase();
62
- const theMetadataName = child.props.getPConnect().getRawMetadata().name.toLowerCase();
58
+ const theMetadataType = child.props.getPConnect().getRawMetadata().type?.toLowerCase();
59
+ const theMetadataName = child.props.getPConnect().getRawMetadata().name?.toLowerCase();
63
60
  if (theMetadataType === 'region' && theMetadataName === inName) {
64
61
  return child;
65
62
  }
66
63
  }
67
64
  return null;
68
65
  }
69
- const theSummaryRegion = getChildRegionByName('summary');
66
+ const theSummaryRegion = children && children[0];
67
+ const data = prepareCaseSummaryData(theSummaryRegion);
68
+ const primarySummaryFields = data.primarySummaryFields;
69
+ const secondarySummaryFields = data.secondarySummaryFields;
70
70
  const theStagesRegion = getChildRegionByName('stages');
71
71
  const theTodoRegion = getChildRegionByName('todo');
72
72
  const theUtilitiesRegion = getChildRegionByName('utilities');
73
73
  const theTabsRegion = getChildRegionByName('tabs');
74
- const svgCase = Utils.getImageSrc(icon, Utils.getSDKStaticConentUrl());
74
+ let iconForCaseType = caseTypeIcon ? caseTypeIcon.replace('pi pi-', '') : icon;
75
+ if (!iconForCaseType || iconForCaseType.includes('.')) {
76
+ iconForCaseType = 'polaris-solid';
77
+ }
78
+ const caseSvgIconUrl = Utils.getImageSrc(iconForCaseType, Utils.getSDKStaticConentUrl());
75
79
  const [activeVertTab, setActiveVertTab] = useState(0);
76
80
  // const tmpLoadData1 = { config: { label: "Details", name: "pyDetailsTabContent" }, type: "DeferLoad" };
77
81
  // const tmpLoadData2 = { config: { label: "Case History", name: "CaseHistory" }, type: "DeferLoad" };
78
82
  // Extract the tabs we need to display from theTabsRegion (one tab per entry in theTabsRegionChildren)
79
- const theTabsRegionChildren = theTabsRegion.props.getPConnect().getChildren();
83
+ const theTabsRegionChildren = theTabsRegion?.props.getPConnect().getChildren();
80
84
  // vertTabInfo is sent to VerticalTabs component
81
85
  const vertTabInfo = [];
82
86
  // deferLoadInfo is sent to DeferLoad component (currently selected entry)
@@ -141,7 +145,7 @@ export default function CaseView(props) {
141
145
  function getContainerContents() {
142
146
  if (!displayOnlyFA) {
143
147
  // show full portal
144
- return (_jsxs(Grid2, { container: true, children: [_jsxs(Grid2, { size: { xs: 3 }, children: [_jsx("div", { hidden: true, id: 'current-caseID', children: currentCaseID }), _jsxs(Card, { className: classes.root, children: [_jsx(CardHeader, { className: classes.caseViewHeader, title: _jsx(Typography, { variant: 'h6', component: 'div', id: 'case-name', children: PCore.getLocaleUtils().getLocaleValue(header, '', localeKey) }), subheader: _jsx(Typography, { variant: 'body1', component: 'div', id: 'caseId', children: subheader }), avatar: _jsx(Avatar, { className: classes.caseViewIconBox, variant: 'square', children: _jsx("img", { src: svgCase, className: classes.caseViewIconImage }) }) }), getActionButtonsHtml(), _jsx(Divider, {}), theSummaryRegion, _jsx(Divider, {}), vertTabInfo.length > 1 && _jsx(VerticalTabs, { tabconfig: vertTabInfo })] })] }), _jsxs(Grid2, { size: { xs: 6 }, children: [theStagesRegion, theTodoRegion, deferLoadInfo.length > 0 && (_jsx(DeferLoad, { getPConnect: getPConnect, name: deferLoadInfo[activeVertTab].config.name, isTab: true, lastUpdateCaseTime: lastUpdateCaseTime }))] }), _jsx(Grid2, { size: { xs: 3 }, children: theUtilitiesRegion })] }));
148
+ return (_jsxs(Grid2, { container: true, children: [_jsxs(Grid2, { size: { xs: 3 }, children: [_jsx("div", { hidden: true, id: 'current-caseID', children: currentCaseID }), _jsxs(Card, { className: classes.root, children: [_jsx(CardHeader, { className: classes.caseViewHeader, title: _jsx(Typography, { variant: 'h6', component: 'div', id: 'case-name', children: PCore.getLocaleUtils().getLocaleValue(header, '', localeKey) }), subheader: _jsx(Typography, { variant: 'body1', component: 'div', id: 'caseId', children: subheader }), avatar: _jsx(Avatar, { className: classes.caseViewIconBox, variant: 'square', children: _jsx("img", { src: caseSvgIconUrl }) }) }), getActionButtonsHtml(), _jsx(Divider, {}), _jsx(CaseSummary, { arPrimaryFields: primarySummaryFields, arSecondaryFields: secondarySummaryFields }), _jsx(Divider, {}), vertTabInfo.length > 1 && _jsx(VerticalTabs, { tabconfig: vertTabInfo })] })] }), _jsxs(Grid2, { size: { xs: 6 }, children: [theStagesRegion, theTodoRegion, deferLoadInfo.length > 0 && (_jsx(DeferLoad, { getPConnect: getPConnect, name: deferLoadInfo[activeVertTab].config.name, isTab: true, lastUpdateCaseTime: lastUpdateCaseTime }))] }), _jsx(Grid2, { size: { xs: 3 }, children: theUtilitiesRegion })] }));
145
149
  }
146
150
  // displayOnlyFA - only show the "todo" region
147
151
  return (_jsx(Grid2, { container: true, children: _jsx(Grid2, { size: { xs: 12 }, children: theTodoRegion }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.js","sourceRoot":"","sources":["../../../../src/components/template/CaseView/CaseView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, type ReactElement, useContext, useEffect, useState } from 'react';\nimport { Avatar, Card, CardHeader, Divider, Typography } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Grid2 from '@mui/material/Grid2';\n\nimport { Utils } from '../../helpers/utils';\nimport StoreContext from '../../../bridge/Context/StoreContext';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface CaseViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n icon: string;\n subheader: string;\n header: string;\n showIconInHeader: boolean;\n caseInfo: any;\n lastUpdateCaseTime: any;\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n caseViewHeader: {\n backgroundColor: theme.palette.info.light,\n color: theme.palette.getContrastText(theme.palette.info.light),\n borderRadius: 'inherit'\n },\n caseViewIconBox: {\n backgroundColor: theme.palette.info.dark,\n width: theme.spacing(8),\n height: theme.spacing(8),\n padding: theme.spacing(1)\n },\n caseViewIconImage: {\n filter: 'var(--svg-color)'\n }\n}));\n\nexport default function CaseView(props: PropsWithChildren<CaseViewProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const CaseViewActionsMenu = getComponentFromMap('CaseViewActionsMenu');\n const VerticalTabs = getComponentFromMap('VerticalTabs');\n const DeferLoad = getComponentFromMap('DeferLoad');\n\n const {\n getPConnect,\n icon = '',\n header,\n subheader,\n children = [],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n showIconInHeader = true,\n caseInfo: { availableActions = [], availableProcesses = [], hasNewAttachments, caseTypeID = '', caseTypeName = '' }\n } = props;\n const { lastUpdateCaseTime = getPConnect().getValue('caseInfo.lastUpdateTime') } = props;\n\n const currentCaseID = props.caseInfo.ID;\n let isComponentMounted = true;\n const { displayOnlyFA } = useContext<any>(StoreContext);\n\n const thePConn = getPConnect();\n\n const classes = useStyles();\n\n const editAction = availableActions.find(action => action.ID === 'pyUpdateCaseDetails');\n\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'CaseView';\n const localeKey = `${caseTypeID}!CASE!${caseTypeName}`.toUpperCase();\n /**\n *\n * @param inName the metadata <em>name</em> that will cause a region to be returned\n */\n function getChildRegionByName(inName: string): any {\n for (const child of children as ReactElement[]) {\n const theMetadataType: string = (child as ReactElement).props.getPConnect().getRawMetadata().type.toLowerCase();\n const theMetadataName: string = (child as ReactElement).props.getPConnect().getRawMetadata().name.toLowerCase();\n\n if (theMetadataType === 'region' && theMetadataName === inName) {\n return child;\n }\n }\n\n return null;\n }\n\n const theSummaryRegion = getChildRegionByName('summary');\n const theStagesRegion = getChildRegionByName('stages');\n const theTodoRegion = getChildRegionByName('todo');\n const theUtilitiesRegion = getChildRegionByName('utilities');\n const theTabsRegion = getChildRegionByName('tabs');\n\n const svgCase = Utils.getImageSrc(icon, Utils.getSDKStaticConentUrl());\n\n const [activeVertTab, setActiveVertTab] = useState(0);\n\n // const tmpLoadData1 = { config: { label: \"Details\", name: \"pyDetailsTabContent\" }, type: \"DeferLoad\" };\n // const tmpLoadData2 = { config: { label: \"Case History\", name: \"CaseHistory\" }, type: \"DeferLoad\" };\n\n // Extract the tabs we need to display from theTabsRegion (one tab per entry in theTabsRegionChildren)\n const theTabsRegionChildren = theTabsRegion.props.getPConnect().getChildren();\n\n // vertTabInfo is sent to VerticalTabs component\n const vertTabInfo: object[] = [];\n\n // deferLoadInfo is sent to DeferLoad component (currently selected entry)\n const deferLoadInfo: any[] = [];\n\n if (theTabsRegionChildren) {\n // populate vertTabInfo and deferLoadInfo\n theTabsRegionChildren.forEach((tabComp, index) => {\n const theTabCompConfig = tabComp.getPConnect().getConfigProps();\n // eslint-disable-next-line prefer-const\n let { label, inheritedProps } = theTabCompConfig;\n // For some tabs, \"label\" property is not avaialable in theTabCompConfig, so will get them from inheritedProps\n if (!label) {\n inheritedProps.forEach(inheritedProp => {\n if (inheritedProp.prop === 'label') {\n label = inheritedProp.value;\n }\n });\n }\n // We'll display the tabs when either visibility property doesn't exist or is true(if exists)\n if (theTabCompConfig.visibility === undefined || theTabCompConfig.visibility === true) {\n vertTabInfo.push({ name: label, id: index });\n deferLoadInfo.push({ type: 'DeferLoad', config: theTabCompConfig });\n }\n });\n }\n\n function handleVerticalTabClick(eventDetail: any) {\n const theItem = parseInt(eventDetail.additionalData.itemClicked, 10);\n\n // only call useEffectSetter if the component is mounted\n if (isComponentMounted) {\n setActiveVertTab(theItem);\n }\n }\n\n // Add and Remove event listener for VerticalTabClick only at startup and teardown\n useEffect(() => {\n document.addEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n\n return (): void => {\n // inform that the component is unmounted so other code can\n // know not to try to call useState setters (to avoid console warnings)\n isComponentMounted = false;\n\n document.removeEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n };\n }, []);\n\n useEffect(() => {\n if (hasNewAttachments) {\n PCore.getPubSubUtils().publish((PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW, true);\n }\n }, [hasNewAttachments]);\n\n function _editClick() {\n const actionsAPI = thePConn.getActionsApi();\n const openLocalAction = actionsAPI.openLocalAction.bind(actionsAPI);\n\n openLocalAction(editAction.ID, { ...editAction, containerName: 'modal', type: 'express' });\n }\n\n function getActionButtonsHtml(): any {\n return (\n <Box>\n {editAction && (\n <Button\n id='edit'\n onClick={() => {\n _editClick();\n }}\n >\n {localizedVal('Edit', localeCategory)}\n </Button>\n )}\n <CaseViewActionsMenu\n getPConnect={getPConnect}\n availableActions={availableActions}\n availableProcesses={availableProcesses}\n caseTypeName={caseTypeName}\n caseTypeID={caseTypeID}\n />\n </Box>\n );\n }\n\n function getContainerContents() {\n if (!displayOnlyFA) {\n // show full portal\n return (\n <Grid2 container>\n <Grid2 size={{ xs: 3 }}>\n <div hidden={true} id='current-caseID'>\n {currentCaseID}\n </div>\n <Card className={classes.root}>\n <CardHeader\n className={classes.caseViewHeader}\n title={\n <Typography variant='h6' component='div' id='case-name'>\n {PCore.getLocaleUtils().getLocaleValue(header, '', localeKey)}\n </Typography>\n }\n subheader={\n <Typography variant='body1' component='div' id='caseId'>\n {subheader}\n </Typography>\n }\n avatar={\n <Avatar className={classes.caseViewIconBox} variant='square'>\n <img src={svgCase} className={classes.caseViewIconImage} />\n </Avatar>\n }\n />\n {getActionButtonsHtml()}\n <Divider />\n {theSummaryRegion}\n <Divider />\n {vertTabInfo.length > 1 && <VerticalTabs tabconfig={vertTabInfo} />}\n </Card>\n </Grid2>\n\n <Grid2 size={{ xs: 6 }}>\n {theStagesRegion}\n {theTodoRegion}\n {deferLoadInfo.length > 0 && (\n <DeferLoad getPConnect={getPConnect} name={deferLoadInfo[activeVertTab].config.name} isTab lastUpdateCaseTime={lastUpdateCaseTime} />\n )}\n </Grid2>\n\n <Grid2 size={{ xs: 3 }}>{theUtilitiesRegion}</Grid2>\n </Grid2>\n );\n }\n // displayOnlyFA - only show the \"todo\" region\n return (\n <Grid2 container>\n <Grid2 size={{ xs: 12 }}>{theTodoRegion}</Grid2>\n </Grid2>\n );\n }\n\n return getContainerContents();\n}\n"]}
1
+ {"version":3,"file":"CaseView.js","sourceRoot":"","sources":["../../../../src/components/template/CaseView/CaseView.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, type ReactElement, useContext, useEffect, useState } from 'react';\nimport { Avatar, Card, CardHeader, Divider, Typography } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Grid2 from '@mui/material/Grid2';\n\nimport { Utils } from '../../helpers/utils';\nimport StoreContext from '../../../bridge/Context/StoreContext';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\nimport { prepareCaseSummaryData } from '../utils';\n\ninterface CaseViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n icon: string;\n subheader: string;\n header: string;\n showIconInHeader: boolean;\n caseInfo: any;\n lastUpdateCaseTime: any;\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n caseViewHeader: {\n backgroundColor: theme.palette.info.light,\n color: theme.palette.getContrastText(theme.palette.info.light),\n borderRadius: 'inherit'\n },\n caseViewIconBox: {\n backgroundColor: theme.palette.info.dark,\n width: theme.spacing(8),\n height: theme.spacing(8),\n padding: theme.spacing(1)\n }\n}));\n\nexport default function CaseView(props: PropsWithChildren<CaseViewProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const CaseViewActionsMenu = getComponentFromMap('CaseViewActionsMenu');\n const VerticalTabs = getComponentFromMap('VerticalTabs');\n const DeferLoad = getComponentFromMap('DeferLoad');\n const CaseSummary = getComponentFromMap('CaseSummary');\n\n const {\n getPConnect,\n icon = '',\n header,\n subheader,\n children = [],\n caseInfo: { availableActions = [], availableProcesses = [], hasNewAttachments, caseTypeID = '', caseTypeName = '', caseTypeIcon }\n } = props;\n const { lastUpdateCaseTime = getPConnect().getValue('caseInfo.lastUpdateTime') } = props;\n const currentCaseID = props.caseInfo.ID;\n let isComponentMounted = true;\n const { displayOnlyFA } = useContext<any>(StoreContext);\n\n const thePConn = getPConnect();\n\n const classes = useStyles();\n\n const editAction = availableActions.find(action => action.ID === 'pyUpdateCaseDetails');\n\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'CaseView';\n const localeKey = `${caseTypeID}!CASE!${caseTypeName}`.toUpperCase();\n /**\n *\n * @param inName the metadata <em>name</em> that will cause a region to be returned\n */\n function getChildRegionByName(inName: string): any {\n for (const child of children as ReactElement[]) {\n const theMetadataType: string = (child as ReactElement).props.getPConnect().getRawMetadata().type?.toLowerCase();\n const theMetadataName: string = (child as ReactElement).props.getPConnect().getRawMetadata().name?.toLowerCase();\n if (theMetadataType === 'region' && theMetadataName === inName) {\n return child;\n }\n }\n\n return null;\n }\n\n const theSummaryRegion = children && children[0];\n\n const data = prepareCaseSummaryData(theSummaryRegion);\n const primarySummaryFields = data.primarySummaryFields;\n const secondarySummaryFields = data.secondarySummaryFields;\n\n const theStagesRegion = getChildRegionByName('stages');\n const theTodoRegion = getChildRegionByName('todo');\n const theUtilitiesRegion = getChildRegionByName('utilities');\n const theTabsRegion = getChildRegionByName('tabs');\n\n let iconForCaseType = caseTypeIcon ? caseTypeIcon.replace('pi pi-', '') : icon;\n\n if (!iconForCaseType || iconForCaseType.includes('.')) {\n iconForCaseType = 'polaris-solid';\n }\n const caseSvgIconUrl = Utils.getImageSrc(iconForCaseType, Utils.getSDKStaticConentUrl());\n\n const [activeVertTab, setActiveVertTab] = useState(0);\n\n // const tmpLoadData1 = { config: { label: \"Details\", name: \"pyDetailsTabContent\" }, type: \"DeferLoad\" };\n // const tmpLoadData2 = { config: { label: \"Case History\", name: \"CaseHistory\" }, type: \"DeferLoad\" };\n\n // Extract the tabs we need to display from theTabsRegion (one tab per entry in theTabsRegionChildren)\n const theTabsRegionChildren = theTabsRegion?.props.getPConnect().getChildren();\n\n // vertTabInfo is sent to VerticalTabs component\n const vertTabInfo: object[] = [];\n\n // deferLoadInfo is sent to DeferLoad component (currently selected entry)\n const deferLoadInfo: any[] = [];\n\n if (theTabsRegionChildren) {\n // populate vertTabInfo and deferLoadInfo\n theTabsRegionChildren.forEach((tabComp, index) => {\n const theTabCompConfig = tabComp.getPConnect().getConfigProps();\n // eslint-disable-next-line prefer-const\n let { label, inheritedProps } = theTabCompConfig;\n // For some tabs, \"label\" property is not avaialable in theTabCompConfig, so will get them from inheritedProps\n if (!label) {\n inheritedProps.forEach(inheritedProp => {\n if (inheritedProp.prop === 'label') {\n label = inheritedProp.value;\n }\n });\n }\n // We'll display the tabs when either visibility property doesn't exist or is true(if exists)\n if (theTabCompConfig.visibility === undefined || theTabCompConfig.visibility === true) {\n vertTabInfo.push({ name: label, id: index });\n deferLoadInfo.push({ type: 'DeferLoad', config: theTabCompConfig });\n }\n });\n }\n\n function handleVerticalTabClick(eventDetail: any) {\n const theItem = parseInt(eventDetail.additionalData.itemClicked, 10);\n\n // only call useEffectSetter if the component is mounted\n if (isComponentMounted) {\n setActiveVertTab(theItem);\n }\n }\n\n // Add and Remove event listener for VerticalTabClick only at startup and teardown\n useEffect(() => {\n document.addEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n\n return (): void => {\n // inform that the component is unmounted so other code can\n // know not to try to call useState setters (to avoid console warnings)\n isComponentMounted = false;\n\n document.removeEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n };\n }, []);\n\n useEffect(() => {\n if (hasNewAttachments) {\n PCore.getPubSubUtils().publish((PCore.getEvents().getCaseEvent() as any).CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW, true);\n }\n }, [hasNewAttachments]);\n\n function _editClick() {\n const actionsAPI = thePConn.getActionsApi();\n const openLocalAction = actionsAPI.openLocalAction.bind(actionsAPI);\n\n openLocalAction(editAction.ID, { ...editAction, containerName: 'modal', type: 'express' });\n }\n\n function getActionButtonsHtml(): any {\n return (\n <Box>\n {editAction && (\n <Button\n id='edit'\n onClick={() => {\n _editClick();\n }}\n >\n {localizedVal('Edit', localeCategory)}\n </Button>\n )}\n <CaseViewActionsMenu\n getPConnect={getPConnect}\n availableActions={availableActions}\n availableProcesses={availableProcesses}\n caseTypeName={caseTypeName}\n caseTypeID={caseTypeID}\n />\n </Box>\n );\n }\n\n function getContainerContents() {\n if (!displayOnlyFA) {\n // show full portal\n return (\n <Grid2 container>\n <Grid2 size={{ xs: 3 }}>\n <div hidden={true} id='current-caseID'>\n {currentCaseID}\n </div>\n <Card className={classes.root}>\n <CardHeader\n className={classes.caseViewHeader}\n title={\n <Typography variant='h6' component='div' id='case-name'>\n {PCore.getLocaleUtils().getLocaleValue(header, '', localeKey)}\n </Typography>\n }\n subheader={\n <Typography variant='body1' component='div' id='caseId'>\n {subheader}\n </Typography>\n }\n avatar={\n <Avatar className={classes.caseViewIconBox} variant='square'>\n <img src={caseSvgIconUrl} />\n </Avatar>\n }\n />\n {getActionButtonsHtml()}\n <Divider />\n <CaseSummary arPrimaryFields={primarySummaryFields} arSecondaryFields={secondarySummaryFields}></CaseSummary>\n <Divider />\n {vertTabInfo.length > 1 && <VerticalTabs tabconfig={vertTabInfo} />}\n </Card>\n </Grid2>\n\n <Grid2 size={{ xs: 6 }}>\n {theStagesRegion}\n {theTodoRegion}\n {deferLoadInfo.length > 0 && (\n <DeferLoad getPConnect={getPConnect} name={deferLoadInfo[activeVertTab].config.name} isTab lastUpdateCaseTime={lastUpdateCaseTime} />\n )}\n </Grid2>\n\n <Grid2 size={{ xs: 3 }}>{theUtilitiesRegion}</Grid2>\n </Grid2>\n );\n }\n // displayOnlyFA - only show the \"todo\" region\n return (\n <Grid2 container>\n <Grid2 size={{ xs: 12 }}>{theTodoRegion}</Grid2>\n </Grid2>\n );\n }\n\n return getContainerContents();\n}\n"]}
@@ -0,0 +1,36 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface CommonPageProps {
3
+ /** Page title */
4
+ title: string;
5
+ /** Page icon */
6
+ icon: string;
7
+ /** Region children */
8
+ children: ReactNode | ReactNode[];
9
+ /** Dynamic page pconnect object */
10
+ /** Enable GetNextWork in page */
11
+ enableGetNextWork?: boolean;
12
+ /** GetAI coaches configured in page */
13
+ /** Locale reference */
14
+ localeReference: string;
15
+ }
16
+ interface DefaultPageProps extends CommonPageProps {
17
+ /** Default page layout one or two columns */
18
+ layout: 'one-column' | 'two-column' | 'wide-narrow' | 'narrow-wide' | 'dynamic';
19
+ /** Flag to enable banner/hero */
20
+ enableBanner?: boolean;
21
+ /** Banner - Heading displayed */
22
+ heading?: string;
23
+ /** Banner - Message displayed */
24
+ message?: string;
25
+ /** Banner - Theme of the image */
26
+ imageTheme?: 'light' | 'dark' | undefined;
27
+ /** Banner - Background image */
28
+ backgroundImage?: string;
29
+ /** Banner - Background color */
30
+ backgroundColor?: string;
31
+ /** Banner - Tint image */
32
+ tintImage?: boolean;
33
+ }
34
+ export default function DefaultPage({ layout, children, enableBanner, heading, message, imageTheme, backgroundImage, backgroundColor, tintImage }: DefaultPageProps): import("react/jsx-runtime").JSX.Element;
35
+ export {};
36
+ //# sourceMappingURL=DefaultPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultPage.d.ts","sourceRoot":"","sources":["../../../../src/components/template/DefaultPage/DefaultPage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,eAAe;IAC9B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAElC,mCAAmC;IAGnC,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,uCAAuC;IAGvC,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AACD,UAAU,gBAAiB,SAAQ,eAAe;IAChD,6CAA6C;IAC7C,MAAM,EAAE,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,CAAC;IAEhF,iCAAiC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAE1C,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gCAAgC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CAIrB;AASD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,OAAY,EACZ,OAAY,EACZ,UAAU,EACV,eAAoB,EACpB,eAAoB,EACpB,SAAS,EACV,EAAE,gBAAgB,2CAkClB"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo, Children } from 'react';
3
+ import { Grid2 } from '@mui/material';
4
+ import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
5
+ const COLUMNS_WIDTHS = {
6
+ 'one-column': [12],
7
+ 'two-column': [6, 6],
8
+ 'narrow-wide': [4, 8],
9
+ 'wide-narrow': [8, 4]
10
+ };
11
+ export default function DefaultPage({ layout = 'one-column', children, enableBanner, heading = '', message = '', imageTheme, backgroundImage = '', backgroundColor = '', tintImage }) {
12
+ const Banner = getComponentFromMap('Banner');
13
+ const childArray = useMemo(() => {
14
+ return Children.toArray(children);
15
+ }, [children]);
16
+ if (enableBanner) {
17
+ return (_jsx(Banner, { variant: layout === 'one-column' ? 'two-column' : layout, a: [childArray[0]], b: [childArray[1]], banner: {
18
+ variant: imageTheme,
19
+ backgroundColor,
20
+ title: heading,
21
+ message,
22
+ backgroundImage,
23
+ tintImage
24
+ } }));
25
+ }
26
+ return (_jsx(Grid2, { container: true, spacing: 1, children: childArray.map((child, index) => (_jsx(Grid2, { size: COLUMNS_WIDTHS[layout][index], children: child }, index))) }));
27
+ }
28
+ //# sourceMappingURL=DefaultPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultPage.js","sourceRoot":"","sources":["../../../../src/components/template/DefaultPage/DefaultPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAqDhF,MAAM,cAAc,GAAG;IACrB,YAAY,EAAE,CAAC,EAAE,CAAC;IAClB,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACrB,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;CACtB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,GAAG,YAAY,EACrB,QAAQ,EACR,YAAY,EACZ,OAAO,GAAG,EAAE,EACZ,OAAO,GAAG,EAAE,EACZ,UAAU,EACV,eAAe,GAAG,EAAE,EACpB,eAAe,GAAG,EAAE,EACpB,SAAS,EACQ;IACjB,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CACL,KAAC,MAAM,IACL,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EACxD,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAClB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAClB,MAAM,EAAE;gBACN,OAAO,EAAE,UAAU;gBACnB,eAAe;gBACf,KAAK,EAAE,OAAO;gBACd,OAAO;gBACP,eAAe;gBACf,SAAS;aACV,GACD,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,KAAK,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,YACxB,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAChC,KAAC,KAAK,IAAa,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,YACnD,KAAK,IADI,KAAK,CAET,CACT,CAAC,GACI,CACT,CAAC;AACJ,CAAC","sourcesContent":["import { useMemo, Children } from 'react';\nimport type { ReactNode } from 'react';\nimport { Grid2 } from '@mui/material';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\n\nexport interface CommonPageProps {\n /** Page title */\n title: string;\n\n /** Page icon */\n icon: string;\n\n /** Region children */\n children: ReactNode | ReactNode[];\n\n /** Dynamic page pconnect object */\n // getPConnect: () => PConnect;\n\n /** Enable GetNextWork in page */\n enableGetNextWork?: boolean;\n\n /** GetAI coaches configured in page */\n // coaches?: GenAICoach[];\n\n /** Locale reference */\n localeReference: string;\n}\ninterface DefaultPageProps extends CommonPageProps {\n /** Default page layout one or two columns */\n layout: 'one-column' | 'two-column' | 'wide-narrow' | 'narrow-wide' | 'dynamic';\n\n /** Flag to enable banner/hero */\n enableBanner?: boolean;\n\n /** Banner - Heading displayed */\n heading?: string;\n\n /** Banner - Message displayed */\n message?: string;\n\n /** Banner - Theme of the image */\n imageTheme?: 'light' | 'dark' | undefined;\n\n /** Banner - Background image */\n backgroundImage?: string;\n\n /** Banner - Background color */\n backgroundColor?: string;\n\n /** Banner - Tint image */\n tintImage?: boolean;\n\n /** Flag to enable layout model */\n // layoutModel?: GridLayoutModel | undefined;\n}\n\nconst COLUMNS_WIDTHS = {\n 'one-column': [12],\n 'two-column': [6, 6],\n 'narrow-wide': [4, 8],\n 'wide-narrow': [8, 4]\n};\n\nexport default function DefaultPage({\n layout = 'one-column',\n children,\n enableBanner,\n heading = '',\n message = '',\n imageTheme,\n backgroundImage = '',\n backgroundColor = '',\n tintImage\n}: DefaultPageProps) {\n const Banner = getComponentFromMap('Banner');\n\n const childArray = useMemo(() => {\n return Children.toArray(children);\n }, [children]);\n\n if (enableBanner) {\n return (\n <Banner\n variant={layout === 'one-column' ? 'two-column' : layout}\n a={[childArray[0]]}\n b={[childArray[1]]}\n banner={{\n variant: imageTheme,\n backgroundColor,\n title: heading,\n message,\n backgroundImage,\n tintImage\n }}\n />\n );\n }\n\n return (\n <Grid2 container spacing={1}>\n {childArray.map((child, index) => (\n <Grid2 key={index} size={COLUMNS_WIDTHS[layout][index]}>\n {child}\n </Grid2>\n ))}\n </Grid2>\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export { default } from './DefaultPage';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/template/DefaultPage/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './DefaultPage';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/template/DefaultPage/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { default } from './DefaultPage';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"AAoCA,OAAO,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,aAAc,SAAQ,UAAU;IAExC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,2CA6uCpD"}
1
+ {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"AAoCA,OAAO,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,aAAc,SAAQ,UAAU;IAExC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAwuCpD"}
@@ -102,10 +102,9 @@ export default function ListView(props) {
102
102
  width: '100%',
103
103
  marginTop: theme.spacing(2),
104
104
  marginBottom: theme.spacing(2),
105
- display: 'grid'
106
- },
107
- search: {
108
- padding: '5px 5px'
105
+ display: 'grid',
106
+ borderRadius: 16,
107
+ padding: 20
109
108
  },
110
109
  table: {
111
110
  minWidth: 750
@@ -134,10 +133,6 @@ export default function ListView(props) {
134
133
  position: 'absolute',
135
134
  top: 20,
136
135
  width: 1
137
- },
138
- title: {
139
- marginTop: theme.spacing(1),
140
- marginLeft: theme.spacing(1)
141
136
  }
142
137
  }));
143
138
  const classes = useStyles();
@@ -879,31 +874,31 @@ export default function ListView(props) {
879
874
  }
880
875
  return val;
881
876
  };
882
- return (_jsxs(_Fragment, { children: [arColumns && arColumns.length > 0 && (_jsxs(Paper, { className: classes.paper, children: [_jsx(Typography, { className: classes.title, variant: 'h6', color: 'textPrimary', gutterBottom: true, children: _listTitle() }), globalSearch && (_jsxs(Grid2, { container: true, spacing: 1, alignItems: 'flex-end', className: classes.search, children: [_jsx(Grid2, { children: _jsx(SearchIcon, {}) }), _jsx(Grid2, { children: _jsx(TextField, { label: PCore.getLocaleUtils().getLocaleValue('Search', 'Search'), fullWidth: true, variant: 'outlined', placeholder: '', size: 'small', id: 'search', onChange: _onSearch }) })] })), _jsx(_Fragment, { children: !bInForm ? (_jsx(TableContainer, { id: 'list-view', className: classes.tableInForm, children: _jsxs(Table, { stickyHeader: true, "aria-label": 'sticky table', children: [_jsx(TableHead, { children: _jsx(TableRow, { children: arColumns.map(column => {
883
- return (_jsxs(TableCell, { className: classes.cell, sortDirection: orderBy === column.id ? order : false, children: [_jsxs(TableSortLabel, { active: orderBy === column.id, direction: orderBy === column.id ? order : 'asc', onClick: createSortHandler(column.id), children: [column.label, _showFilteredIcon(column.id) && _jsx(FilterListIcon, { className: classes.filteredIcon }), orderBy === column.id ? (_jsx("span", { className: classes.visuallyHidden, children: order === 'desc' ? 'sorted descending' : 'sorted ascending' })) : null] }), _jsx(MoreIcon, { className: classes.moreIcon, onClick: event => {
884
- _menuClick(event, column.id, column.type, column.label);
885
- } })] }, column.id));
886
- }) }) }), _jsx(TableBody, { children: arRows &&
877
+ return (_jsxs(_Fragment, { children: [arColumns && arColumns.length > 0 && (_jsxs(Paper, { className: classes.paper, children: [_jsxs(Grid2, { container: true, justifyContent: 'space-between', children: [_jsx(Typography, { variant: 'h6', color: 'textPrimary', gutterBottom: true, children: _listTitle() }), globalSearch && (_jsxs(Grid2, { container: true, spacing: 1, alignItems: 'flex-end', children: [_jsx(Grid2, { children: _jsx(SearchIcon, {}) }), _jsx(Grid2, { children: _jsx(TextField, { label: PCore.getLocaleUtils().getLocaleValue('Search', 'Search'), fullWidth: true, variant: 'outlined', placeholder: '', size: 'small', id: 'search', onChange: _onSearch }) })] }))] }), !bInForm ? (_jsx(TableContainer, { id: 'list-view', className: classes.tableInForm, children: _jsxs(Table, { stickyHeader: true, "aria-label": 'sticky table', children: [_jsx(TableHead, { children: _jsx(TableRow, { children: arColumns.map(column => {
878
+ return (_jsxs(TableCell, { className: classes.cell, sortDirection: orderBy === column.id ? order : false, children: [_jsxs(TableSortLabel, { active: orderBy === column.id, direction: orderBy === column.id ? order : 'asc', onClick: createSortHandler(column.id), children: [column.label, _showFilteredIcon(column.id) && _jsx(FilterListIcon, { className: classes.filteredIcon }), orderBy === column.id ? (_jsx("span", { className: classes.visuallyHidden, children: order === 'desc' ? 'sorted descending' : 'sorted ascending' })) : null] }), _jsx(MoreIcon, { className: classes.moreIcon, onClick: event => {
879
+ _menuClick(event, column.id, column.type, column.label);
880
+ } })] }, column.id));
881
+ }) }) }), _jsx(TableBody, { children: arRows &&
882
+ stableSort(arRows, getComparator(order, orderBy))
883
+ .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
884
+ .map(row => {
885
+ return (_jsx(TableRow, { children: arColumns.map(column => {
886
+ const value = row[column.id];
887
+ return (_jsx(TableCell, { align: column.align, className: classes.cell, children: _showButton(column.id, row) || column.displayAsLink ? (_jsx(Link, { component: 'button', onClick: () => {
888
+ _listViewClick(row, column);
889
+ }, underline: 'hover', children: column.format && typeof value === 'number' ? column.format(value) : value })) : (_jsx(_Fragment, { children: column.format && typeof value === 'number' ? column.format(value) : value || '---' })) }, column.id));
890
+ }) }, row.pxRefObjectInsName || row.pyID));
891
+ }) })] }) })) : (_jsxs(TableContainer, { id: 'list-view', children: [_jsxs(Table, { children: [_jsx(TableHead, { children: _jsxs(TableRow, { children: [(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && _jsx(TableCell, {}), arColumns.map(column => {
892
+ return (_jsx(TableCell, { className: classes.cell, sortDirection: orderBy === column.id ? order : false, children: _jsxs(TableSortLabel, { active: orderBy === column.id, direction: orderBy === column.id ? order : 'asc', onClick: createSortHandler(column.id), children: [column.label, orderBy === column.id ? (_jsx("span", { className: classes.visuallyHidden, children: order === 'desc' ? 'sorted descending' : 'sorted ascending' })) : null] }) }, column.id));
893
+ })] }) }), _jsx(TableBody, { children: arRows &&
894
+ arRows.length > 0 &&
887
895
  stableSort(arRows, getComparator(order, orderBy))
888
896
  .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
889
897
  .map(row => {
890
- return (_jsx(TableRow, { children: arColumns.map(column => {
891
- const value = row[column.id];
892
- return (_jsx(TableCell, { align: column.align, className: classes.cell, children: _showButton(column.id, row) || column.displayAsLink ? (_jsx(Link, { component: 'button', onClick: () => {
893
- _listViewClick(row, column);
894
- }, underline: 'hover', children: column.format && typeof value === 'number' ? column.format(value) : value })) : (_jsx(_Fragment, { children: column.format && typeof value === 'number' ? column.format(value) : value || '---' })) }, column.id));
895
- }) }, row.pxRefObjectInsName || row.pyID));
896
- }) })] }) })) : (_jsxs(TableContainer, { id: 'list-view', children: [_jsxs(Table, { children: [_jsx(TableHead, { children: _jsxs(TableRow, { children: [(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && _jsx(TableCell, {}), arColumns.map(column => {
897
- return (_jsx(TableCell, { className: classes.cell, sortDirection: orderBy === column.id ? order : false, children: _jsxs(TableSortLabel, { active: orderBy === column.id, direction: orderBy === column.id ? order : 'asc', onClick: createSortHandler(column.id), children: [column.label, orderBy === column.id ? (_jsx("span", { className: classes.visuallyHidden, children: order === 'desc' ? 'sorted descending' : 'sorted ascending' })) : null] }) }, column.id));
898
- })] }) }), _jsx(TableBody, { children: arRows &&
899
- arRows.length > 0 &&
900
- stableSort(arRows, getComparator(order, orderBy))
901
- .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
902
- .map(row => {
903
- return (_jsxs(TableRow, { children: [selectionMode === SELECTION_MODE.SINGLE && (_jsx(TableCell, { children: _jsx(Radio, { onChange: handleChange, value: row[rowID], name: 'radio-buttons', inputProps: { 'aria-label': 'A' }, checked: selectedValue === row[rowID] }) })), selectionMode === SELECTION_MODE.MULTI && (_jsx(TableCell, { children: _jsx(Checkbox, { onChange: onCheckboxClick, checked: selectedValues.some(selectedValue => selectedValue[rowID] === row[rowID]), value: row[rowID] }) })), arColumns.map(column => {
904
- const value = row[column.id];
905
- return (_jsx(TableCell, { className: classes.cell, align: column.align, children: processColumnValue(column, value) }, column.id));
906
- })] }, row[rowID]));
907
- }) })] }), (!arRows || arRows.length === 0) && (_jsx("div", { className: 'no-records', children: getGenericFieldsLocalizedValue('CosmosFields.fields.lists', 'No records found.') }))] })) }), arRows && arRows.length > 0 && (_jsx(TablePagination, { id: 'pagination', rowsPerPageOptions: [10, 25, 100], component: 'div', count: arRows.length, rowsPerPage: rowsPerPage, page: page, onPageChange: handleChangePage, onRowsPerPageChange: handleChangeRowsPerPage }))] })), _jsxs(Menu, { id: 'simple-menu', anchorEl: anchorEl, keepMounted: true, open: Boolean(anchorEl), onClose: _menuClose, children: [_jsxs(MenuItem, { onClick: _filterMenu, children: [_jsx(FilterListIcon, {}), " Filter"] }), _jsxs(MenuItem, { onClick: _groupMenu, children: [_jsx(SubjectIcon, {}), " Group"] })] }), _jsxs(Dialog, { open: open, onClose: _closeDialog, "aria-labelledby": 'form-dialog-title', children: [_jsxs(DialogTitle, { id: 'form-dialog-title', children: ["Filter: ", filterBy] }), _jsx(DialogContent, { children: containsDateOrTime ? (_jsxs(_Fragment, { children: [_jsxs(Select, { variant: 'standard', value: displayDialogDateFilter, onChange: _dialogDateFilter, fullWidth: true, children: [_jsx(MenuItem, { value: 'notequal', children: "is not equal to" }), _jsx(MenuItem, { value: 'after', children: "after" }), _jsx(MenuItem, { value: 'before', children: "before" }), _jsx(MenuItem, { value: 'null', children: "is null" }), _jsx(MenuItem, { value: 'notnull', children: "is not null" })] }), filterType === 'Date' && (_jsx(TextField, { variant: 'standard', autoFocus: true, margin: 'dense', id: 'containsFilter', type: 'date', fullWidth: true, value: displayDialogDateValue, onChange: _dialogDateValue })), filterType === 'DateTime' && (_jsx(TextField, { variant: 'standard', autoFocus: true, margin: 'dense', id: 'containsFilter', type: 'datetime-local', fullWidth: true, value: displayDialogDateValue, onChange: _dialogDateValue })), filterType === 'Time' && (_jsx(TextField, { variant: 'standard', autoFocus: true, margin: 'dense', id: 'containsFilter', type: 'time', fullWidth: true, value: displayDialogDateValue, onChange: _dialogDateValue }))] })) : (_jsxs(_Fragment, { children: [_jsxs(Select, { variant: 'standard', fullWidth: true, onChange: _dialogContainsFilter, value: displayDialogContainsFilter, children: [_jsx(MenuItem, { value: 'contains', children: "Contains" }), _jsx(MenuItem, { value: 'equals', children: "Equals" }), _jsx(MenuItem, { value: 'startswith', children: "Starts with" })] }), _jsx(TextField, { variant: 'standard', autoFocus: true, margin: 'dense', id: 'containsFilter', type: 'text', fullWidth: true, value: displayDialogContainsValue, onChange: _dialogContainsValue })] })) }), _jsxs(DialogActions, { children: [_jsx(Button, { onClick: _closeDialog, color: 'secondary', children: "Cancel" }), _jsx(Button, { onClick: _submitFilter, color: 'primary', children: "Submit" })] })] }), _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' }) }) })] }));
898
+ return (_jsxs(TableRow, { children: [selectionMode === SELECTION_MODE.SINGLE && (_jsx(TableCell, { children: _jsx(Radio, { onChange: handleChange, value: row[rowID], name: 'radio-buttons', inputProps: { 'aria-label': 'A' }, checked: selectedValue === row[rowID] }) })), selectionMode === SELECTION_MODE.MULTI && (_jsx(TableCell, { children: _jsx(Checkbox, { onChange: onCheckboxClick, checked: selectedValues.some(selectedValue => selectedValue[rowID] === row[rowID]), value: row[rowID] }) })), arColumns.map(column => {
899
+ const value = row[column.id];
900
+ return (_jsx(TableCell, { className: classes.cell, align: column.align, children: processColumnValue(column, value) }, column.id));
901
+ })] }, row[rowID]));
902
+ }) })] }), (!arRows || arRows.length === 0) && (_jsx("div", { className: 'no-records', children: getGenericFieldsLocalizedValue('CosmosFields.fields.lists', 'No records found.') }))] })), arRows && arRows.length > 0 && (_jsx(TablePagination, { id: 'pagination', rowsPerPageOptions: [10, 25, 100], component: 'div', count: arRows.length, rowsPerPage: rowsPerPage, page: page, onPageChange: handleChangePage, onRowsPerPageChange: handleChangeRowsPerPage }))] })), _jsxs(Menu, { id: 'simple-menu', anchorEl: anchorEl, keepMounted: true, open: Boolean(anchorEl), onClose: _menuClose, children: [_jsxs(MenuItem, { onClick: _filterMenu, children: [_jsx(FilterListIcon, {}), " Filter"] }), _jsxs(MenuItem, { onClick: _groupMenu, children: [_jsx(SubjectIcon, {}), " Group"] })] }), _jsxs(Dialog, { open: open, onClose: _closeDialog, "aria-labelledby": 'form-dialog-title', children: [_jsxs(DialogTitle, { id: 'form-dialog-title', children: ["Filter: ", filterBy] }), _jsx(DialogContent, { children: containsDateOrTime ? (_jsxs(_Fragment, { children: [_jsxs(Select, { variant: 'standard', value: displayDialogDateFilter, onChange: _dialogDateFilter, fullWidth: true, children: [_jsx(MenuItem, { value: 'notequal', children: "is not equal to" }), _jsx(MenuItem, { value: 'after', children: "after" }), _jsx(MenuItem, { value: 'before', children: "before" }), _jsx(MenuItem, { value: 'null', children: "is null" }), _jsx(MenuItem, { value: 'notnull', children: "is not null" })] }), filterType === 'Date' && (_jsx(TextField, { variant: 'standard', autoFocus: true, margin: 'dense', id: 'containsFilter', type: 'date', fullWidth: true, value: displayDialogDateValue, onChange: _dialogDateValue })), filterType === 'DateTime' && (_jsx(TextField, { variant: 'standard', autoFocus: true, margin: 'dense', id: 'containsFilter', type: 'datetime-local', fullWidth: true, value: displayDialogDateValue, onChange: _dialogDateValue })), filterType === 'Time' && (_jsx(TextField, { variant: 'standard', autoFocus: true, margin: 'dense', id: 'containsFilter', type: 'time', fullWidth: true, value: displayDialogDateValue, onChange: _dialogDateValue }))] })) : (_jsxs(_Fragment, { children: [_jsxs(Select, { variant: 'standard', fullWidth: true, onChange: _dialogContainsFilter, value: displayDialogContainsFilter, children: [_jsx(MenuItem, { value: 'contains', children: "Contains" }), _jsx(MenuItem, { value: 'equals', children: "Equals" }), _jsx(MenuItem, { value: 'startswith', children: "Starts with" })] }), _jsx(TextField, { variant: 'standard', autoFocus: true, margin: 'dense', id: 'containsFilter', type: 'text', fullWidth: true, value: displayDialogContainsValue, onChange: _dialogContainsValue })] })) }), _jsxs(DialogActions, { children: [_jsx(Button, { onClick: _closeDialog, color: 'secondary', children: "Cancel" }), _jsx(Button, { onClick: _submitFilter, color: 'primary', children: "Submit" })] })] }), _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' }) }) })] }));
908
903
  }
909
904
  //# sourceMappingURL=ListView.js.map