@pega/react-sdk-components 0.25.4 → 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 (76) 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 +5 -1
  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/infra/Assignment/Assignment.d.ts.map +1 -1
  32. package/lib/components/infra/Assignment/Assignment.js +29 -24
  33. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  34. package/lib/components/infra/MultiStep/MultiStep.css +44 -64
  35. package/lib/components/infra/MultiStep/MultiStep.d.ts.map +1 -1
  36. package/lib/components/infra/MultiStep/MultiStep.js +18 -36
  37. package/lib/components/infra/MultiStep/MultiStep.js.map +1 -1
  38. package/lib/components/infra/View/View.d.ts.map +1 -1
  39. package/lib/components/infra/View/View.js +2 -1
  40. package/lib/components/infra/View/View.js.map +1 -1
  41. package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
  42. package/lib/components/template/AppShell/AppShell.js +2 -4
  43. package/lib/components/template/AppShell/AppShell.js.map +1 -1
  44. package/lib/components/template/CaseSummary/CaseSummary.d.ts +2 -0
  45. package/lib/components/template/CaseSummary/CaseSummary.d.ts.map +1 -1
  46. package/lib/components/template/CaseSummary/CaseSummary.js +2 -68
  47. package/lib/components/template/CaseSummary/CaseSummary.js.map +1 -1
  48. package/lib/components/template/CaseView/CaseView.d.ts.map +1 -1
  49. package/lib/components/template/CaseView/CaseView.js +16 -12
  50. package/lib/components/template/CaseView/CaseView.js.map +1 -1
  51. package/lib/components/template/DefaultPage/DefaultPage.d.ts +1 -1
  52. package/lib/components/template/DefaultPage/DefaultPage.d.ts.map +1 -1
  53. package/lib/components/template/DefaultPage/DefaultPage.js +10 -1
  54. package/lib/components/template/DefaultPage/DefaultPage.js.map +1 -1
  55. package/lib/components/template/ListView/ListView.d.ts.map +1 -1
  56. package/lib/components/template/ListView/ListView.js +26 -31
  57. package/lib/components/template/ListView/ListView.js.map +1 -1
  58. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.d.ts +1 -1
  59. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.d.ts.map +1 -1
  60. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js +70 -1
  61. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js.map +1 -1
  62. package/lib/components/template/WssNavBar/WssNavBar.js +3 -3
  63. package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
  64. package/lib/components/template/utils.d.ts +7 -0
  65. package/lib/components/template/utils.d.ts.map +1 -0
  66. package/lib/components/template/utils.js +52 -0
  67. package/lib/components/template/utils.js.map +1 -0
  68. package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
  69. package/lib/components/widget/ToDo/ToDo.js +1 -5
  70. package/lib/components/widget/ToDo/ToDo.js.map +1 -1
  71. package/lib/samples/Embedded/styles.css +26 -0
  72. package/lib/theme.d.ts +6 -0
  73. package/lib/theme.d.ts.map +1 -1
  74. package/lib/theme.js +34 -12
  75. package/lib/theme.js.map +1 -1
  76. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MultiStep.js","sourceRoot":"","sources":["../../../../src/components/infra/MultiStep/MultiStep.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { type PropsWithChildren } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\nimport './MultiStep.css';\n\ninterface MultiStepProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n itemKey: string;\n actionButtons: any[];\n onButtonPress: any;\n bIsVertical: boolean;\n arNavigationSteps: any;\n}\n\nexport default function MultiStep(props: PropsWithChildren<MultiStepProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const AssignmentCard = getComponentFromMap('AssignmentCard');\n\n const { getPConnect, children, itemKey = '', actionButtons, onButtonPress } = props;\n const { bIsVertical, arNavigationSteps } = props;\n\n let currentStep = arNavigationSteps.find(({ visited_status: vs }) => vs === 'current');\n if (!currentStep) {\n const lastActiveStepIndex = arNavigationSteps.findLastIndex(({ visited_status: vs }) => vs === 'success');\n currentStep = arNavigationSteps[lastActiveStepIndex >= 0 ? lastActiveStepIndex : 0];\n }\n\n // const svgCurrent = Utils.getImageSrc(\"circle-solid\", Utils.getSDKStaticConentUrl());\n // const svgNotCurrent = Utils.getImageSrc(\"circle-solid\", Utils.getSDKStaticConentUrl());\n\n function _getVIconClass(status): string {\n if (status === 'current') {\n return 'psdk-vertical-step-icon-selected';\n }\n\n return 'psdk-vertical-step-icon';\n }\n\n function _getVLabelClass(status): string {\n if (status === 'current') {\n return 'psdk-vertical-step-label-selected';\n }\n\n return 'psdk-vertical-step-label';\n }\n\n function _getVBodyClass(index: number): string {\n if (index < arNavigationSteps.length - 1) {\n return 'psdk-vertical-step-body psdk-vertical-step-line';\n }\n\n return 'psdk-vertical-step-body';\n }\n\n function _getHIconClass(step): string {\n if (step.ID === currentStep?.ID) {\n return 'psdk-horizontal-step-icon-selected';\n }\n\n return 'psdk-horizontal-step-icon';\n }\n\n function _getHLabelClass(step): string {\n if (step.ID === currentStep?.ID) {\n return 'psdk-horizontal-step-label-selected';\n }\n\n return 'psdk-horizontal-step-label';\n }\n\n function _showHLine(index: number): boolean {\n return index < arNavigationSteps.length - 1;\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n onButtonPress(sAction, sButtonType);\n }\n\n return (\n <div>\n {bIsVertical ? (\n <div className='psdk-vertical-stepper'>\n {arNavigationSteps.map((mainStep, index) => {\n return (\n <React.Fragment key={mainStep.actionID}>\n <div className='psdk-vertical-step'>\n <div className='psdk-vertical-step-header'>\n <div className={_getVIconClass(mainStep.visited_status)}>\n <div className='psdk-vertical-step-icon-content'>\n <span>{index + 1}</span>\n </div>\n </div>\n <div className={_getVLabelClass(mainStep.visited_status)}>{mainStep.name}</div>\n </div>\n <div className={_getVBodyClass(index)}>\n {mainStep?.steps && (\n <ul\n style={{\n paddingInlineStart: '0rem',\n marginLeft: '-7px'\n }}\n >\n {mainStep.steps.forEach(subStep => {\n <li className='psdk-sub-step-list'>\n <div style={{ display: 'inline-flex' }}>\n {subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}\n {subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}\n {subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}\n {subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}\n </div>\n {subStep.visited_status === 'current' && (\n <div>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n </div>\n )}\n </li>;\n })}\n </ul>\n )}\n {!mainStep?.steps && mainStep.visited_status === 'current' && (\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n )}\n </div>\n </div>\n </React.Fragment>\n );\n })}\n </div>\n ) : (\n <div className='psdk-horizontal-stepper'>\n <div className='psdk-horizontal-stepper-header-container'>\n {arNavigationSteps.map((mainStep, index) => {\n return (\n <React.Fragment key={mainStep.actionID}>\n <div className='psdk-horizontal-step-header'>\n <div className={_getHIconClass(mainStep)}>\n <div className='psdk-horizontal-step-icon-content'>\n <span>{index + 1}</span>\n </div>\n </div>\n <div className={_getHLabelClass(mainStep)}>\n <div className='psdk-horizontal-step-text-label' id='selected-label'>\n {mainStep.name}\n </div>\n </div>\n </div>\n {_showHLine(index) && <div className='psdk-horizontal-step-line' />}\n </React.Fragment>\n );\n })}\n </div>\n {arNavigationSteps.map(mainStep => {\n return (\n <React.Fragment key={mainStep.actionID}>\n {mainStep.steps && (\n <ul style={{ paddingInlineStart: '0rem', marginLeft: '35px' }}>\n {mainStep.steps.map(subStep => (\n <li className='psdk-sub-step-list'>\n <div style={{ display: 'inline-flex' }}>\n {subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}\n {subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}\n {subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}\n {subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}\n </div>\n {subStep.visited_status === 'current' && (\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n )}\n </li>\n ))}\n </ul>\n )}\n {!mainStep?.steps && mainStep.ID === currentStep?.ID && (\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n )}\n </React.Fragment>\n );\n })}\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"MultiStep.js","sourceRoot":"","sources":["../../../../src/components/infra/MultiStep/MultiStep.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { type PropsWithChildren } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\nimport './MultiStep.css';\n\ninterface MultiStepProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n itemKey: string;\n actionButtons: any[];\n onButtonPress: any;\n bIsVertical: boolean;\n arNavigationSteps: any;\n}\n\nexport default function MultiStep(props: PropsWithChildren<MultiStepProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const AssignmentCard = getComponentFromMap('AssignmentCard');\n\n const { getPConnect, children, itemKey = '', actionButtons, onButtonPress } = props;\n const { bIsVertical, arNavigationSteps } = props;\n\n let currentStep = arNavigationSteps.find(({ visited_status: vs }) => vs === 'current');\n if (!currentStep) {\n const lastActiveStepIndex = arNavigationSteps.findLastIndex(({ visited_status: vs }) => vs === 'success');\n currentStep = arNavigationSteps[lastActiveStepIndex >= 0 ? lastActiveStepIndex : 0];\n }\n\n function _getVBodyClass(index: number): string {\n const baseClass = 'psdk-vertical-step-body';\n const isNotLastStep = index < arNavigationSteps.length - 1;\n\n return isNotLastStep ? `${baseClass} psdk-vertical-step-line` : baseClass;\n }\n\n function _getAutoFlexClass(currentStep): string {\n const currentStepIndex = arNavigationSteps.findIndex(step => step.ID === currentStep?.ID);\n const totalSteps = arNavigationSteps.length;\n const lastStep = arNavigationSteps[totalSteps - 1];\n\n // Apply flex-auto class if current step is active OR if current step is second-to-last and the last step is active\n const isCurrentStepActive = currentStep.visited_status === 'current';\n const isSecondToLastWithActiveLastStep = currentStepIndex === totalSteps - 2 && lastStep?.visited_status === 'current';\n\n return isCurrentStepActive || isSecondToLastWithActiveLastStep ? 'flex-auto' : '';\n }\n\n function isLastStep(index: number): boolean {\n return index === arNavigationSteps.length - 1;\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n onButtonPress(sAction, sButtonType);\n }\n\n return (\n <div>\n {bIsVertical ? (\n <div className='psdk-vertical-stepper'>\n {arNavigationSteps.map((mainStep, index) => {\n return (\n <React.Fragment key={mainStep.actionID}>\n <div className='psdk-vertical-step'>\n <div className={`psdk-vertical-step-header ${mainStep.visited_status}`}>\n <div className={`psdk-vertical-step-icon`}>\n <div className='psdk-vertical-step-icon-content'>\n <span>{index + 1}</span>\n </div>\n </div>\n <div className='psdk-vertical-step-label'>{mainStep.visited_status === 'current' && mainStep.name}</div>\n </div>\n <div className={_getVBodyClass(index)}>\n {mainStep?.steps && (\n <ul\n style={{\n paddingInlineStart: '0rem',\n marginLeft: '-7px'\n }}\n >\n {mainStep.steps.forEach(subStep => {\n <li className='psdk-sub-step-list'>\n <div style={{ display: 'inline-flex' }}>\n {subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}\n {subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}\n {subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}\n {subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}\n </div>\n {subStep.visited_status === 'current' && (\n <div>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n </div>\n )}\n </li>;\n })}\n </ul>\n )}\n {!mainStep?.steps && mainStep.visited_status === 'current' && (\n <div style={{ paddingLeft: 20 }}>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n </div>\n )}\n </div>\n </div>\n </React.Fragment>\n );\n })}\n </div>\n ) : (\n <div className='psdk-horizontal-stepper'>\n <div className='psdk-horizontal-stepper-header-container'>\n {arNavigationSteps.map((mainStep, index) => {\n return (\n <React.Fragment key={mainStep.actionID}>\n <div className={`psdk-horizontal-step-header ${mainStep.visited_status}`}>\n <div className='psdk-horizontal-step-icon'>\n <div className='psdk-horizontal-step-icon-content'>\n <span>{index + 1}</span>\n </div>\n </div>\n <div className='psdk-horizontal-step-label'>{mainStep.visited_status === 'current' && mainStep.name}</div>\n </div>\n {!isLastStep(index) && <div className={`psdk-horizontal-step-line ${_getAutoFlexClass(mainStep)}`} />}\n </React.Fragment>\n );\n })}\n </div>\n {arNavigationSteps.map(mainStep => {\n return (\n <React.Fragment key={mainStep.actionID}>\n {mainStep.steps && (\n <ul style={{ paddingInlineStart: '0rem', marginLeft: '35px' }}>\n {mainStep.steps.map(subStep => (\n <li className='psdk-sub-step-list'>\n <div style={{ display: 'inline-flex' }}>\n {subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}\n {subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}\n {subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}\n {subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}\n </div>\n {subStep.visited_status === 'current' && (\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n )}\n </li>\n ))}\n </ul>\n )}\n {!mainStep?.steps && mainStep.ID === currentStep?.ID && (\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>\n {children}\n </AssignmentCard>\n )}\n </React.Fragment>\n );\n })}\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAI1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,YAAY,CAAC;AAEpB,UAAU,SAAU,SAAQ,UAAU;IAEpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAsBD,iBAAwB,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,uDAsH/D;kBAtHuB,IAAI;;;eAAJ,IAAI"}
1
+ {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAI1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,YAAY,CAAC;AAEpB,UAAU,SAAU,SAAQ,UAAU;IAEpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAuBD,iBAAwB,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,uDAsH/D;kBAtHuB,IAAI;;;eAAJ,IAAI"}
@@ -20,7 +20,8 @@ const NO_HEADER_TEMPLATES = [
20
20
  'WideNarrowDetails',
21
21
  'Confirmation',
22
22
  'DynamicTabs',
23
- 'DetailsSubTabs'
23
+ 'DetailsSubTabs',
24
+ 'ListView'
24
25
  ];
25
26
  export default function View(props) {
26
27
  const { children, template, getPConnect, mode, visibility, name: pageName, type, title } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"View.js","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, useEffect } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { getAllFields } from '../../helpers/template-utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\n// Need to import any templates that we might render\n\nimport './View.css';\n\ninterface ViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n template?: string;\n label?: string;\n showLabel: boolean;\n mode?: string;\n title?: string;\n visibility?: boolean;\n name?: string;\n bInForm?: boolean;\n type?: any;\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 FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide'];\nconst NO_HEADER_TEMPLATES = [\n 'SubTabs',\n 'SimpleTable',\n 'Details',\n 'DetailsTwoColumn',\n 'DetailsThreeColumn',\n 'NarrowWideDetails',\n 'WideNarrowDetails',\n 'Confirmation',\n 'DynamicTabs',\n 'DetailsSubTabs'\n];\n\nexport default function View(props: PropsWithChildren<ViewProps>) {\n const { children, template, getPConnect, mode, visibility, name: pageName, type, title } = props;\n let { label = '', showLabel = false } = props;\n const { PAGE_TYPES: { PAGE, LANDINGPAGE, LISTPAGE } = {}, MODAL } = PCore.getConstants();\n\n // Get the inherited props from the parent to determine label settings. For 8.6, this is only for embedded data form views\n // Putting this logic here instead of copy/paste in every Form template index.js\n\n const inheritedProps: any = getPConnect().getInheritedProps(); // try to remove any when getInheritedProps typedefs are fixed\n label = inheritedProps.label || label;\n showLabel = inheritedProps.showLabel || showLabel;\n const localeUtils = PCore.getLocaleUtils();\n\n const isEmbeddedDataView = mode === 'editable'; // would be better to check the reference child for `context` attribute if possible\n if (isEmbeddedDataView && showLabel === undefined) {\n showLabel = true;\n }\n\n useEffect(() => {\n // Get the localized application label\n let applicationLabel = PCore.getEnvironmentInfo().getApplicationLabel();\n applicationLabel = localeUtils.getLocaleValue(`${applicationLabel}`, '', '');\n const caseInfo = getPConnect().getCaseInfo();\n const isAssignmentInCreateStage = caseInfo && caseInfo.isAssignmentInCreateStage();\n const isRenderingInModal = getPConnect().getContainerName().includes(MODAL);\n const isRenderingInPreviewPanel = getPConnect().getContainerName().includes('preview');\n\n /* If assignment is in create stage and rendering in modal don't update the title.\n Title will be updated on completion of create stage and when the assignment is rendered inline to the page.\n */\n const canUpdateTitle =\n !isRenderingInPreviewPanel &&\n (type === PAGE || type === LANDINGPAGE || type === LISTPAGE) &&\n !(isRenderingInModal && isAssignmentInCreateStage) &&\n PCore.getEnvironmentInfo().getRenderingMode() === 'FULL_PORTAL';\n // Incase of home route title is same as applicationLabel so setting to empty to just show applicationLabel\n let titleVar = title === applicationLabel ? '' : title;\n\n if (canUpdateTitle) {\n if (caseInfo) {\n const name = caseInfo.getName();\n const id = caseInfo.getBusinessID();\n titleVar = name && id ? `${name} (${id})` : titleVar;\n }\n document.title = titleVar ? `${titleVar} - ${applicationLabel}` : applicationLabel;\n }\n }, [type, title, getPConnect, PAGE, LANDINGPAGE, LISTPAGE]);\n\n const key = `${getPConnect().getContextName()}_${getPConnect().getPageReference()}_${pageName}`;\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n if (visibility === false) {\n return '';\n }\n\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n // JA - React SDK not using LazyComponentMap yet\n if (template /* && LazyComponentMap[template] */) {\n // const ViewTemplate = LazyComponentMap[template];\n const ViewTemplate: any = getComponentFromMap(template);\n\n if (template === 'ListView') {\n // special case for ListView - add in a prop\n const bInForm = true;\n props = { ...props, bInForm };\n }\n\n // for debugging/investigation\n // console.log(`View rendering template: ${template}`);\n\n // spreading because all props should go to the template\n let RenderedTemplate = (\n <ViewTemplate key={key} {...props}>\n {children}\n </ViewTemplate>\n );\n\n if (FORMTEMPLATES.includes(template) && showLabel) {\n // Original:\n // RenderedTemplate = (\n // <FieldGroup name={label} style={{ marginBlockStart: \"1rem\" }}>\n // {RenderedTemplate}\n // </FieldGroup>\n // );\n RenderedTemplate = (\n <div\n data-name='RenderedTemplate'\n data-template-type={template}\n /* name */ id='label'\n style={{ marginBlockStart: '1rem' }}\n className='grid-column'\n >\n {RenderedTemplate}\n </div>\n );\n }\n\n return (\n <div className='grid-column'>\n {showLabel && !NO_HEADER_TEMPLATES.includes(template) && (\n <div className='template-title-container'>\n <span>{label}</span>\n </div>\n )}\n {RenderedTemplate}\n </div>\n );\n }\n\n // debugging/investigation help\n // console.log(`View about to render React.Fragment for children: ${children}`);\n\n if (children) {\n return <>{children}</>;\n }\n\n return null;\n}\n\n// Adapted from Constellation DX Component to add in additional props for some templates\nView.additionalProps = (state, getPConnect) => {\n const thePConn = getPConnect();\n const { template } = thePConn.getConfigProps();\n\n let propObj = {};\n let allFields = {};\n\n switch (template) {\n case 'CaseSummary':\n allFields = getAllFields(thePConn);\n // eslint-disable-next-line no-case-declarations\n const unresFields = {\n primaryFields: allFields[0],\n secondaryFields: allFields[1]\n };\n propObj = thePConn.resolveConfigProps(unresFields);\n break;\n\n case 'Details':\n allFields = getAllFields(thePConn);\n propObj = { fields: allFields[0] };\n break;\n\n default:\n break;\n }\n\n return propObj;\n};\n"]}
1
+ {"version":3,"file":"View.js","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, useEffect } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { getAllFields } from '../../helpers/template-utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\n// Need to import any templates that we might render\n\nimport './View.css';\n\ninterface ViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n template?: string;\n label?: string;\n showLabel: boolean;\n mode?: string;\n title?: string;\n visibility?: boolean;\n name?: string;\n bInForm?: boolean;\n type?: any;\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 FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide'];\nconst NO_HEADER_TEMPLATES = [\n 'SubTabs',\n 'SimpleTable',\n 'Details',\n 'DetailsTwoColumn',\n 'DetailsThreeColumn',\n 'NarrowWideDetails',\n 'WideNarrowDetails',\n 'Confirmation',\n 'DynamicTabs',\n 'DetailsSubTabs',\n 'ListView'\n];\n\nexport default function View(props: PropsWithChildren<ViewProps>) {\n const { children, template, getPConnect, mode, visibility, name: pageName, type, title } = props;\n let { label = '', showLabel = false } = props;\n const { PAGE_TYPES: { PAGE, LANDINGPAGE, LISTPAGE } = {}, MODAL } = PCore.getConstants();\n\n // Get the inherited props from the parent to determine label settings. For 8.6, this is only for embedded data form views\n // Putting this logic here instead of copy/paste in every Form template index.js\n\n const inheritedProps: any = getPConnect().getInheritedProps(); // try to remove any when getInheritedProps typedefs are fixed\n label = inheritedProps.label || label;\n showLabel = inheritedProps.showLabel || showLabel;\n const localeUtils = PCore.getLocaleUtils();\n\n const isEmbeddedDataView = mode === 'editable'; // would be better to check the reference child for `context` attribute if possible\n if (isEmbeddedDataView && showLabel === undefined) {\n showLabel = true;\n }\n\n useEffect(() => {\n // Get the localized application label\n let applicationLabel = PCore.getEnvironmentInfo().getApplicationLabel();\n applicationLabel = localeUtils.getLocaleValue(`${applicationLabel}`, '', '');\n const caseInfo = getPConnect().getCaseInfo();\n const isAssignmentInCreateStage = caseInfo && caseInfo.isAssignmentInCreateStage();\n const isRenderingInModal = getPConnect().getContainerName().includes(MODAL);\n const isRenderingInPreviewPanel = getPConnect().getContainerName().includes('preview');\n\n /* If assignment is in create stage and rendering in modal don't update the title.\n Title will be updated on completion of create stage and when the assignment is rendered inline to the page.\n */\n const canUpdateTitle =\n !isRenderingInPreviewPanel &&\n (type === PAGE || type === LANDINGPAGE || type === LISTPAGE) &&\n !(isRenderingInModal && isAssignmentInCreateStage) &&\n PCore.getEnvironmentInfo().getRenderingMode() === 'FULL_PORTAL';\n // Incase of home route title is same as applicationLabel so setting to empty to just show applicationLabel\n let titleVar = title === applicationLabel ? '' : title;\n\n if (canUpdateTitle) {\n if (caseInfo) {\n const name = caseInfo.getName();\n const id = caseInfo.getBusinessID();\n titleVar = name && id ? `${name} (${id})` : titleVar;\n }\n document.title = titleVar ? `${titleVar} - ${applicationLabel}` : applicationLabel;\n }\n }, [type, title, getPConnect, PAGE, LANDINGPAGE, LISTPAGE]);\n\n const key = `${getPConnect().getContextName()}_${getPConnect().getPageReference()}_${pageName}`;\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n if (visibility === false) {\n return '';\n }\n\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n // JA - React SDK not using LazyComponentMap yet\n if (template /* && LazyComponentMap[template] */) {\n // const ViewTemplate = LazyComponentMap[template];\n const ViewTemplate: any = getComponentFromMap(template);\n\n if (template === 'ListView') {\n // special case for ListView - add in a prop\n const bInForm = true;\n props = { ...props, bInForm };\n }\n\n // for debugging/investigation\n // console.log(`View rendering template: ${template}`);\n\n // spreading because all props should go to the template\n let RenderedTemplate = (\n <ViewTemplate key={key} {...props}>\n {children}\n </ViewTemplate>\n );\n\n if (FORMTEMPLATES.includes(template) && showLabel) {\n // Original:\n // RenderedTemplate = (\n // <FieldGroup name={label} style={{ marginBlockStart: \"1rem\" }}>\n // {RenderedTemplate}\n // </FieldGroup>\n // );\n RenderedTemplate = (\n <div\n data-name='RenderedTemplate'\n data-template-type={template}\n /* name */ id='label'\n style={{ marginBlockStart: '1rem' }}\n className='grid-column'\n >\n {RenderedTemplate}\n </div>\n );\n }\n\n return (\n <div className='grid-column'>\n {showLabel && !NO_HEADER_TEMPLATES.includes(template) && (\n <div className='template-title-container'>\n <span>{label}</span>\n </div>\n )}\n {RenderedTemplate}\n </div>\n );\n }\n\n // debugging/investigation help\n // console.log(`View about to render React.Fragment for children: ${children}`);\n\n if (children) {\n return <>{children}</>;\n }\n\n return null;\n}\n\n// Adapted from Constellation DX Component to add in additional props for some templates\nView.additionalProps = (state, getPConnect) => {\n const thePConn = getPConnect();\n const { template } = thePConn.getConfigProps();\n\n let propObj = {};\n let allFields = {};\n\n switch (template) {\n case 'CaseSummary':\n allFields = getAllFields(thePConn);\n // eslint-disable-next-line no-case-declarations\n const unresFields = {\n primaryFields: allFields[0],\n secondaryFields: allFields[1]\n };\n propObj = thePConn.resolveConfigProps(unresFields);\n break;\n\n case 'Details':\n allFields = getAllFields(thePConn);\n propObj = { fields: allFields[0] };\n break;\n\n default:\n break;\n }\n\n return propObj;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAOpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,gBAAgB,CAAC;AAExB,UAAU,aAAc,SAAQ,UAAU;IAExC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE;QACL,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAmBD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CAgNvE"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAOpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,gBAAgB,CAAC;AAExB,UAAU,aAAc,SAAQ,UAAU;IAExC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE;QACL,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAmBD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CA8MvE"}
@@ -96,8 +96,7 @@ export default function AppShell(props) {
96
96
  // not using default icon to fetch it using the way which uses authentication
97
97
  else {
98
98
  PCore.getAssetLoader()
99
- .getSvcImage(portalLogo)
100
- .then(blob => window.URL.createObjectURL(blob))
99
+ .getSvcImageUrl(portalLogo)
101
100
  .then(data => {
102
101
  setIconURL(data);
103
102
  setFullIconURL(data);
@@ -110,8 +109,7 @@ export default function AppShell(props) {
110
109
  useEffect(() => {
111
110
  if (imageKey && portalTemplate === 'wss') {
112
111
  PCore.getAssetLoader()
113
- .getSvcImage(imageKey)
114
- .then(blob => window.URL.createObjectURL(blob))
112
+ .getSvcImageUrl(imageKey)
115
113
  .then(imagePath => setImageBlobUrl(imagePath));
116
114
  }
117
115
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, useEffect, useState } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Avatar from '@mui/material/Avatar';\n\nimport { Utils } from '../../helpers/utils';\nimport { NavContext } from '../../helpers/reactContextHelpers';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\nimport './AppShell.css';\n\ninterface AppShellProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showAppName: boolean;\n pages: {\n pxPageViewIcon: string;\n pyClassName: string;\n pyLabel: string;\n pyRuleName: string;\n pyURLContent: string;\n }[];\n caseTypes?: object[];\n portalTemplate: string;\n portalName: string;\n portalLogo: string;\n navDisplayOptions: { alignment: string; position: string };\n httpMessages: string[];\n pageMessages: string[];\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {},\n content: {\n flexGrow: 1,\n height: '100vh',\n overflow: 'auto',\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n wsscontent: {\n flexGrow: 1,\n height: '100vh',\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1)\n }\n}));\n\nexport default function AppShell(props: PropsWithChildren<AppShellProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const NavBar = getComponentFromMap('NavBar');\n const WssNavBar = getComponentFromMap('WssNavBar');\n const AlertBanner = getComponentFromMap('AlertBanner');\n\n const {\n pages = [],\n caseTypes = [],\n showAppName,\n children = [],\n getPConnect,\n httpMessages = [],\n pageMessages = [],\n portalTemplate,\n portalName,\n portalLogo,\n navDisplayOptions\n } = props;\n\n const [open, setOpen] = useState(true);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [activeTab, setActiveTab] = useState(!pages ? null : pages[0]?.pyRuleName);\n const pConn = getPConnect();\n const envInfo = PCore.getEnvironmentInfo();\n const imageKey = envInfo.getOperatorImageInsKey();\n const userName = envInfo.getOperatorName() || '';\n const currentUserInitials = Utils.getInitials(userName);\n const appNameToDisplay = showAppName ? envInfo.getApplicationLabel() : '';\n const portalClass = pConn.getValue('.classID', ''); // 2nd arg empty string until typedef marked correctly\n const envPortalName = envInfo.getPortalName();\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n\n const classes = useStyles();\n const actionsAPI = pConn.getActionsApi();\n const localeReference = pConn.getValue('.pyLocaleReference', ''); // 2nd arg empty string until typedef marked correctly\n const [imageBlobUrl, setImageBlobUrl] = useState<string | null>(null);\n // useState for appName and mapChildren - note these are ONLY updated once (on component mount!)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [appName, setAppName] = useState('');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [mapChildren, setMapChildren] = useState([]);\n\n const messages = [...httpMessages, ...pageMessages];\n\n const hasBanner = messages && messages.length ? messages.length > 0 : false;\n let banners: any = null;\n banners = hasBanner && (\n <div style={{ display: 'flex', flexDirection: 'column', padding: '1em 0' }}>\n <AlertBanner id='AppShell' variant='urgent' messages={messages} />\n </div>\n );\n // Initial setting of appName and mapChildren\n useEffect(() => {\n setAppName(PCore.getEnvironmentInfo().getApplicationName() || '');\n\n const tempMap: any = (pConn.getChildren() as any)?.map((child: any, index) => {\n const theChildComp = child.getPConnect().getComponentName();\n const theKey = `.${index}`;\n return (\n <div id={theChildComp} key={theKey} style={{ border: 'solid 1px silver', margin: '1px' }}>\n {theChildComp} will be here\n </div>\n );\n });\n\n setMapChildren(tempMap);\n }, []);\n\n useEffect(() => {\n // @ts-expect-error\n const caseTypesAvailableToCreateDP = PCore.getEnvironmentInfo().environmentInfoObject?.pxApplication?.pyCaseTypesAvailableToCreateDP;\n if (caseTypesAvailableToCreateDP) {\n const portalID = pConn.getValue('.pyOwner');\n PCore.getDataPageUtils()\n .getPageDataAsync(caseTypesAvailableToCreateDP, pConn.getContextName(), {\n PortalName: portalID\n })\n .then((response: { pyCaseTypesAvailableToCreate?: any }) => {\n if (response?.pyCaseTypesAvailableToCreate) {\n pConn.replaceState('.pyCaseTypesAvailableToCreate', response.pyCaseTypesAvailableToCreate, {\n skipDirtyValidation: true\n });\n }\n });\n }\n }, []);\n\n const [iconURL, setIconURL] = useState('');\n const [fullIconURL, setFullIconURL] = useState('');\n useEffect(() => {\n // using the default icon then fetch it from the static folder (not auth involved)\n if (\n !portalLogo ||\n portalLogo.toLowerCase().includes('pzpega-logo-mark') ||\n portalLogo.toLowerCase().includes('py-logo') ||\n portalLogo.toLowerCase().includes('py-full-logo')\n ) {\n const portalLogoImage = Utils.getIconPath(Utils.getSDKStaticConentUrl()).concat('pzpega-logo-mark.svg');\n setIconURL(portalLogoImage);\n setFullIconURL(`${Utils.getSDKStaticConentUrl()}static/py-full-logo.svg`);\n }\n // not using default icon to fetch it using the way which uses authentication\n else {\n PCore.getAssetLoader()\n .getSvcImage(portalLogo)\n .then(blob => window.URL.createObjectURL(blob))\n .then(data => {\n setIconURL(data);\n setFullIconURL(data);\n })\n .catch(() => {\n console.error(`${localizedVal('Unable to load the image for the portal logo/icon with the insName', 'AppShell')}:${portalLogo}`);\n });\n }\n }, [portalLogo]);\n\n useEffect(() => {\n if (imageKey && portalTemplate === 'wss') {\n PCore.getAssetLoader()\n .getSvcImage(imageKey)\n .then(blob => window.URL.createObjectURL(blob))\n .then(imagePath => setImageBlobUrl(imagePath));\n }\n }, []);\n\n const getOperator = () => {\n return {\n avatar: portalTemplate !== 'wss' ? <Avatar /> : { name: userName, imageSrc: imageBlobUrl },\n name: userName,\n currentUserInitials\n };\n };\n\n function showPage(viewName, className) {\n actionsAPI.showPage(viewName, className);\n }\n\n function openURL(URL) {\n window.open(URL, '_blank');\n }\n\n const links = !pages\n ? []\n : pages.map(page => {\n const name = localizedVal(page.pyLabel, '', localeReference);\n return {\n text: name,\n name,\n icon: page.pxPageViewIcon.replace('pi pi-', ''),\n active: page.pyRuleName === activeTab,\n onClick: () => (!page.pyURLContent || page.pyURLContent === '' ? showPage(page.pyRuleName, page.pyClassName) : openURL(page.pyURLContent))\n };\n });\n\n if (pConn.hasChildren()) {\n // const theChildren = pConn.getChildren();\n // const mapChildCompNames = theChildren.map((child) => { return child.getPConnect().getComponentName()});\n // debugging/investigation help\n // console.log(`AppShell has children: ${theChildren.length}`);\n // console.log(`--> ${mapChildCompNames.map((name) => {return name;})}`);\n }\n\n if (portalTemplate === 'wss') {\n return (\n <div id='AppShell' className={classes.root}>\n <WssNavBar\n portalName={portalName}\n imageSrc={iconURL}\n fullImageSrc={fullIconURL}\n appName={localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n appInfo={{\n imageSrc: iconURL,\n appName: localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()),\n onClick: links[0] && /* links[0].onClick ? */ links[0].onClick /* : undefined */\n }}\n navLinks={links.filter((link, index) => {\n return index !== 0;\n })}\n operator={getOperator()}\n navDisplayOptions={navDisplayOptions}\n />\n <div className={classes.wsscontent}>\n {banners}\n {children}\n </div>\n </div>\n );\n }\n\n return (\n <NavContext.Provider value={{ open, setOpen }}>\n <div id='AppShell' className={classes.root} style={{ display: 'flex' }}>\n <NavBar\n getPConnect={getPConnect}\n pConn={getPConnect()}\n appName={localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n pages={pages}\n caseTypes={caseTypes}\n />\n\n <div className={classes.content}>\n {banners}\n {children}\n </div>\n </div>\n </NavContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, useEffect, useState } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Avatar from '@mui/material/Avatar';\n\nimport { Utils } from '../../helpers/utils';\nimport { NavContext } from '../../helpers/reactContextHelpers';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\nimport './AppShell.css';\n\ninterface AppShellProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showAppName: boolean;\n pages: {\n pxPageViewIcon: string;\n pyClassName: string;\n pyLabel: string;\n pyRuleName: string;\n pyURLContent: string;\n }[];\n caseTypes?: object[];\n portalTemplate: string;\n portalName: string;\n portalLogo: string;\n navDisplayOptions: { alignment: string; position: string };\n httpMessages: string[];\n pageMessages: string[];\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {},\n content: {\n flexGrow: 1,\n height: '100vh',\n overflow: 'auto',\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n wsscontent: {\n flexGrow: 1,\n height: '100vh',\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1)\n }\n}));\n\nexport default function AppShell(props: PropsWithChildren<AppShellProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const NavBar = getComponentFromMap('NavBar');\n const WssNavBar = getComponentFromMap('WssNavBar');\n const AlertBanner = getComponentFromMap('AlertBanner');\n\n const {\n pages = [],\n caseTypes = [],\n showAppName,\n children = [],\n getPConnect,\n httpMessages = [],\n pageMessages = [],\n portalTemplate,\n portalName,\n portalLogo,\n navDisplayOptions\n } = props;\n\n const [open, setOpen] = useState(true);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [activeTab, setActiveTab] = useState(!pages ? null : pages[0]?.pyRuleName);\n const pConn = getPConnect();\n const envInfo = PCore.getEnvironmentInfo();\n const imageKey = envInfo.getOperatorImageInsKey();\n const userName = envInfo.getOperatorName() || '';\n const currentUserInitials = Utils.getInitials(userName);\n const appNameToDisplay = showAppName ? envInfo.getApplicationLabel() : '';\n const portalClass = pConn.getValue('.classID', ''); // 2nd arg empty string until typedef marked correctly\n const envPortalName = envInfo.getPortalName();\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n\n const classes = useStyles();\n const actionsAPI = pConn.getActionsApi();\n const localeReference = pConn.getValue('.pyLocaleReference', ''); // 2nd arg empty string until typedef marked correctly\n const [imageBlobUrl, setImageBlobUrl] = useState<string | Blob | null>(null);\n // useState for appName and mapChildren - note these are ONLY updated once (on component mount!)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [appName, setAppName] = useState('');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [mapChildren, setMapChildren] = useState([]);\n\n const messages = [...httpMessages, ...pageMessages];\n\n const hasBanner = messages && messages.length ? messages.length > 0 : false;\n let banners: any = null;\n banners = hasBanner && (\n <div style={{ display: 'flex', flexDirection: 'column', padding: '1em 0' }}>\n <AlertBanner id='AppShell' variant='urgent' messages={messages} />\n </div>\n );\n // Initial setting of appName and mapChildren\n useEffect(() => {\n setAppName(PCore.getEnvironmentInfo().getApplicationName() || '');\n\n const tempMap: any = (pConn.getChildren() as any)?.map((child: any, index) => {\n const theChildComp = child.getPConnect().getComponentName();\n const theKey = `.${index}`;\n return (\n <div id={theChildComp} key={theKey} style={{ border: 'solid 1px silver', margin: '1px' }}>\n {theChildComp} will be here\n </div>\n );\n });\n\n setMapChildren(tempMap);\n }, []);\n\n useEffect(() => {\n // @ts-expect-error\n const caseTypesAvailableToCreateDP = PCore.getEnvironmentInfo().environmentInfoObject?.pxApplication?.pyCaseTypesAvailableToCreateDP;\n if (caseTypesAvailableToCreateDP) {\n const portalID = pConn.getValue('.pyOwner');\n PCore.getDataPageUtils()\n .getPageDataAsync(caseTypesAvailableToCreateDP, pConn.getContextName(), {\n PortalName: portalID\n })\n .then((response: { pyCaseTypesAvailableToCreate?: any }) => {\n if (response?.pyCaseTypesAvailableToCreate) {\n pConn.replaceState('.pyCaseTypesAvailableToCreate', response.pyCaseTypesAvailableToCreate, {\n skipDirtyValidation: true\n });\n }\n });\n }\n }, []);\n\n const [iconURL, setIconURL] = useState<string | Blob>('');\n const [fullIconURL, setFullIconURL] = useState<string | Blob>('');\n useEffect(() => {\n // using the default icon then fetch it from the static folder (not auth involved)\n if (\n !portalLogo ||\n portalLogo.toLowerCase().includes('pzpega-logo-mark') ||\n portalLogo.toLowerCase().includes('py-logo') ||\n portalLogo.toLowerCase().includes('py-full-logo')\n ) {\n const portalLogoImage = Utils.getIconPath(Utils.getSDKStaticConentUrl()).concat('pzpega-logo-mark.svg');\n setIconURL(portalLogoImage);\n setFullIconURL(`${Utils.getSDKStaticConentUrl()}static/py-full-logo.svg`);\n }\n // not using default icon to fetch it using the way which uses authentication\n else {\n PCore.getAssetLoader()\n .getSvcImageUrl(portalLogo)\n .then(data => {\n setIconURL(data);\n setFullIconURL(data);\n })\n .catch(() => {\n console.error(`${localizedVal('Unable to load the image for the portal logo/icon with the insName', 'AppShell')}:${portalLogo}`);\n });\n }\n }, [portalLogo]);\n\n useEffect(() => {\n if (imageKey && portalTemplate === 'wss') {\n PCore.getAssetLoader()\n .getSvcImageUrl(imageKey)\n .then(imagePath => setImageBlobUrl(imagePath));\n }\n }, []);\n\n const getOperator = () => {\n return {\n avatar: portalTemplate !== 'wss' ? <Avatar /> : { name: userName, imageSrc: imageBlobUrl },\n name: userName,\n currentUserInitials\n };\n };\n\n function showPage(viewName, className) {\n actionsAPI.showPage(viewName, className);\n }\n\n function openURL(URL) {\n window.open(URL, '_blank');\n }\n\n const links = !pages\n ? []\n : pages.map(page => {\n const name = localizedVal(page.pyLabel, '', localeReference);\n return {\n text: name,\n name,\n icon: page.pxPageViewIcon.replace('pi pi-', ''),\n active: page.pyRuleName === activeTab,\n onClick: () => (!page.pyURLContent || page.pyURLContent === '' ? showPage(page.pyRuleName, page.pyClassName) : openURL(page.pyURLContent))\n };\n });\n\n if (pConn.hasChildren()) {\n // const theChildren = pConn.getChildren();\n // const mapChildCompNames = theChildren.map((child) => { return child.getPConnect().getComponentName()});\n // debugging/investigation help\n // console.log(`AppShell has children: ${theChildren.length}`);\n // console.log(`--> ${mapChildCompNames.map((name) => {return name;})}`);\n }\n\n if (portalTemplate === 'wss') {\n return (\n <div id='AppShell' className={classes.root}>\n <WssNavBar\n portalName={portalName}\n imageSrc={iconURL}\n fullImageSrc={fullIconURL}\n appName={localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n appInfo={{\n imageSrc: iconURL,\n appName: localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()),\n onClick: links[0] && /* links[0].onClick ? */ links[0].onClick /* : undefined */\n }}\n navLinks={links.filter((link, index) => {\n return index !== 0;\n })}\n operator={getOperator()}\n navDisplayOptions={navDisplayOptions}\n />\n <div className={classes.wsscontent}>\n {banners}\n {children}\n </div>\n </div>\n );\n }\n\n return (\n <NavContext.Provider value={{ open, setOpen }}>\n <div id='AppShell' className={classes.root} style={{ display: 'flex' }}>\n <NavBar\n getPConnect={getPConnect}\n pConn={getPConnect()}\n appName={localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n pages={pages}\n caseTypes={caseTypes}\n />\n\n <div className={classes.content}>\n {banners}\n {children}\n </div>\n </div>\n </NavContext.Provider>\n );\n}\n"]}
@@ -1,6 +1,8 @@
1
1
  import type { PropsWithChildren } from 'react';
2
2
  import type { PConnProps } from '../../../types/PConnProps';
3
3
  interface CaseSummaryProps extends PConnProps {
4
+ arPrimaryFields: any[];
5
+ arSecondaryFields: any[];
4
6
  }
5
7
  export default function CaseSummary(props: PropsWithChildren<CaseSummaryProps>): import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CaseSummary.d.ts","sourceRoot":"","sources":["../../../../src/components/template/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,gBAAiB,SAAQ,UAAU;CAE5C;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,2CAuF7E"}
1
+ {"version":3,"file":"CaseSummary.d.ts","sourceRoot":"","sources":["../../../../src/components/template/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,gBAAiB,SAAQ,UAAU;IAE3C,eAAe,EAAE,GAAG,EAAE,CAAC;IACvB,iBAAiB,EAAE,GAAG,EAAE,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,2CAY7E"}
@@ -3,73 +3,7 @@ import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
3
3
  export default function CaseSummary(props) {
4
4
  // Get emitted components from map (so we can get any override that may exist)
5
5
  const CaseSummaryFields = getComponentFromMap('CaseSummaryFields');
6
- const { getPConnect, children } = props;
7
- const thePConn = getPConnect();
8
- const theConfigProps = thePConn.getConfigProps();
9
- // const { status, showStatus } = theConfigProps;
10
- const status = theConfigProps.status;
11
- const showStatus = theConfigProps.showStatus;
12
- const localizedVal = PCore.getLocaleUtils().getLocaleValue;
13
- const localeCategory = 'ModalContainer';
14
- // from Constellation DX Components
15
- // get the primary and secondary fields with the raw data (which has the non-resolved property values)
16
- // const regionsRaw = getPConnect().getRawMetadata().children;
17
- // const primaryFieldsRaw = regionsRaw[0].children;
18
- // const secondaryFieldsRaw = regionsRaw[1].children;
19
- // From other SDKs
20
- // may want to move these into useEffect/useState combo
21
- let arPrimaryFields = [];
22
- let arSecondaryFields = [];
23
- function prepareComponentInCaseSummary(pConnectMeta, getPConnect) {
24
- const { config, children } = pConnectMeta;
25
- const pConnect = getPConnect();
26
- const caseSummaryComponentObject = {};
27
- const { type } = pConnectMeta;
28
- const createdComponent = pConnect.createComponent({
29
- type,
30
- children: children ? [...children] : [],
31
- config: {
32
- ...config
33
- }
34
- });
35
- caseSummaryComponentObject.value = createdComponent;
36
- return caseSummaryComponentObject;
37
- }
38
- function prepareCaseSummaryData(summaryFieldChildren) {
39
- const convertChildrenToSummaryData = kid => {
40
- return kid?.map((childItem, index) => {
41
- const childMeta = childItem.getPConnect().meta;
42
- const caseSummaryComponentObject = prepareComponentInCaseSummary(childMeta, childItem.getPConnect);
43
- caseSummaryComponentObject.id = index + 1;
44
- return caseSummaryComponentObject;
45
- });
46
- };
47
- return summaryFieldChildren ? convertChildrenToSummaryData(summaryFieldChildren?.getChildren()) : undefined;
48
- }
49
- for (const child of children) {
50
- const childPConn = child.props.getPConnect();
51
- const childPConnData = childPConn.resolveConfigProps(childPConn.getRawMetadata());
52
- if (childPConnData.name.toLowerCase() === 'primary fields') {
53
- arPrimaryFields = childPConnData.children;
54
- arPrimaryFields.forEach(field => {
55
- if (field.config?.value && typeof field.config?.value === 'string') {
56
- field.config.value = localizedVal(field.config.value, localeCategory);
57
- }
58
- });
59
- }
60
- else if (childPConnData.name.toLowerCase() === 'secondary fields') {
61
- const secondarySummaryFields = prepareCaseSummaryData(childPConn);
62
- arSecondaryFields = childPConnData.children;
63
- arSecondaryFields.forEach((field, index) => {
64
- field.config.displayLabel = secondarySummaryFields[index]?.value?.props?.label;
65
- });
66
- }
67
- }
68
- // At this point, should hand off to another component for layout and rendering
69
- // of primary and secondary fields in the Case Summary
70
- // debugging/investigation help
71
- // console.log(`CaseSummary: arPrimaryFields: ${JSON.stringify(arPrimaryFields)}`);
72
- // console.log(`CaseSummary: arSecondaryFields: ${JSON.stringify(arSecondaryFields)}`);
73
- return (_jsxs("div", { id: 'CaseSummary', children: [_jsx(CaseSummaryFields, { status: status, showStatus: showStatus, theFields: arPrimaryFields }), _jsx(CaseSummaryFields, { theFields: arSecondaryFields })] }));
6
+ const { arPrimaryFields, arSecondaryFields } = props;
7
+ return (_jsxs("div", { id: 'CaseSummary', children: [_jsx(CaseSummaryFields, { theFields: arPrimaryFields }), _jsx(CaseSummaryFields, { theFields: arSecondaryFields })] }));
74
8
  }
75
9
  //# sourceMappingURL=CaseSummary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaseSummary.js","sourceRoot":"","sources":["../../../../src/components/template/CaseSummary/CaseSummary.tsx"],"names":[],"mappings":"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","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"]}
@@ -31,6 +31,6 @@ interface DefaultPageProps extends CommonPageProps {
31
31
  /** Banner - Tint image */
32
32
  tintImage?: boolean;
33
33
  }
34
- export default function DefaultPage({ layout, children, enableBanner, heading, message, imageTheme, backgroundImage, backgroundColor, tintImage }: DefaultPageProps): import("react/jsx-runtime").JSX.Element | undefined;
34
+ export default function DefaultPage({ layout, children, enableBanner, heading, message, imageTheme, backgroundImage, backgroundColor, tintImage }: DefaultPageProps): import("react/jsx-runtime").JSX.Element;
35
35
  export {};
36
36
  //# sourceMappingURL=DefaultPage.d.ts.map
@@ -1 +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;AAGvC,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;AAED,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,uDAsBlB"}
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"}
@@ -1,7 +1,15 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useMemo, Children } from 'react';
3
- import Banner from '../../designSystemExtension/Banner';
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
+ };
4
11
  export default function DefaultPage({ layout = 'one-column', children, enableBanner, heading = '', message = '', imageTheme, backgroundImage = '', backgroundColor = '', tintImage }) {
12
+ const Banner = getComponentFromMap('Banner');
5
13
  const childArray = useMemo(() => {
6
14
  return Children.toArray(children);
7
15
  }, [children]);
@@ -15,5 +23,6 @@ export default function DefaultPage({ layout = 'one-column', children, enableBan
15
23
  tintImage
16
24
  } }));
17
25
  }
26
+ return (_jsx(Grid2, { container: true, spacing: 1, children: childArray.map((child, index) => (_jsx(Grid2, { size: COLUMNS_WIDTHS[layout][index], children: child }, index))) }));
18
27
  }
19
28
  //# sourceMappingURL=DefaultPage.js.map