@pega/react-sdk-components 0.24.3 → 0.242.1

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 (199) hide show
  1. package/lib/bridge/react_pconnect.d.ts.map +1 -1
  2. package/lib/bridge/react_pconnect.js +137 -140
  3. package/lib/bridge/react_pconnect.js.map +1 -1
  4. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +1 -1
  5. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -1
  6. package/lib/components/designSystemExtension/Banner/Banner.js +1 -1
  7. package/lib/components/designSystemExtension/Banner/Banner.js.map +1 -1
  8. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.d.ts.map +1 -1
  9. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js +11 -11
  10. package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js.map +1 -1
  11. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js +3 -3
  12. package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js.map +1 -1
  13. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js +4 -4
  14. package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js.map +1 -1
  15. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +4 -4
  16. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
  17. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js +3 -3
  18. package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js.map +1 -1
  19. package/lib/components/designSystemExtension/Operator/Operator.d.ts.map +1 -1
  20. package/lib/components/designSystemExtension/Operator/Operator.js +6 -6
  21. package/lib/components/designSystemExtension/Operator/Operator.js.map +1 -1
  22. package/lib/components/designSystemExtension/Pulse/Pulse.js +2 -2
  23. package/lib/components/designSystemExtension/Pulse/Pulse.js.map +1 -1
  24. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  25. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js +3 -2
  26. package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js.map +1 -1
  27. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +1 -1
  28. package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
  29. package/lib/components/field/AutoComplete/AutoComplete.js +3 -3
  30. package/lib/components/field/AutoComplete/AutoComplete.js.map +1 -1
  31. package/lib/components/field/CancelAlert/CancelAlert.js +2 -2
  32. package/lib/components/field/CancelAlert/CancelAlert.js.map +1 -1
  33. package/lib/components/field/Checkbox/Checkbox.d.ts.map +1 -1
  34. package/lib/components/field/Checkbox/Checkbox.js +3 -3
  35. package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
  36. package/lib/components/field/Currency/Currency.js +1 -1
  37. package/lib/components/field/Currency/Currency.js.map +1 -1
  38. package/lib/components/field/Date/Date.d.ts.map +1 -1
  39. package/lib/components/field/Date/Date.js +17 -8
  40. package/lib/components/field/Date/Date.js.map +1 -1
  41. package/lib/components/field/DateTime/DateTime.d.ts.map +1 -1
  42. package/lib/components/field/DateTime/DateTime.js +24 -7
  43. package/lib/components/field/DateTime/DateTime.js.map +1 -1
  44. package/lib/components/field/Decimal/Decimal.js +1 -1
  45. package/lib/components/field/Decimal/Decimal.js.map +1 -1
  46. package/lib/components/field/Dropdown/Dropdown.js +2 -2
  47. package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
  48. package/lib/components/field/Email/Email.js +2 -2
  49. package/lib/components/field/Email/Email.js.map +1 -1
  50. package/lib/components/field/Group/Group.js +1 -1
  51. package/lib/components/field/Group/Group.js.map +1 -1
  52. package/lib/components/field/Integer/Integer.js +1 -1
  53. package/lib/components/field/Integer/Integer.js.map +1 -1
  54. package/lib/components/field/Multiselect/Multiselect.d.ts.map +1 -1
  55. package/lib/components/field/Multiselect/Multiselect.js +12 -8
  56. package/lib/components/field/Multiselect/Multiselect.js.map +1 -1
  57. package/lib/components/field/Percentage/Percentage.js +2 -2
  58. package/lib/components/field/Percentage/Percentage.js.map +1 -1
  59. package/lib/components/field/Phone/Phone.d.ts.map +1 -1
  60. package/lib/components/field/Phone/Phone.js +14 -8
  61. package/lib/components/field/Phone/Phone.js.map +1 -1
  62. package/lib/components/field/RadioButtons/RadioButtons.js +2 -2
  63. package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
  64. package/lib/components/field/SemanticLink/SemanticLink.js +3 -3
  65. package/lib/components/field/SemanticLink/SemanticLink.js.map +1 -1
  66. package/lib/components/field/TextArea/TextArea.js +1 -1
  67. package/lib/components/field/TextArea/TextArea.js.map +1 -1
  68. package/lib/components/field/TextContent/TextContent.js +1 -1
  69. package/lib/components/field/TextContent/TextContent.js.map +1 -1
  70. package/lib/components/field/TextInput/TextInput.js +1 -1
  71. package/lib/components/field/TextInput/TextInput.js.map +1 -1
  72. package/lib/components/field/Time/Time.d.ts.map +1 -1
  73. package/lib/components/field/Time/Time.js +22 -3
  74. package/lib/components/field/Time/Time.js.map +1 -1
  75. package/lib/components/field/URL/URL.js +1 -1
  76. package/lib/components/field/URL/URL.js.map +1 -1
  77. package/lib/components/field/UserReference/UserReference.js +1 -1
  78. package/lib/components/field/UserReference/UserReference.js.map +1 -1
  79. package/lib/components/helpers/simpleTableHelpers.js +1 -1
  80. package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
  81. package/lib/components/infra/ActionButtons/ActionButtons.js +3 -3
  82. package/lib/components/infra/ActionButtons/ActionButtons.js.map +1 -1
  83. package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
  84. package/lib/components/infra/Assignment/Assignment.js +27 -4
  85. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  86. package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
  87. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +5 -6
  88. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
  89. package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js +2 -2
  90. package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js.map +1 -1
  91. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +7 -7
  92. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
  93. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +1 -1
  94. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
  95. package/lib/components/infra/DashboardFilter/DashboardFilter.js +1 -1
  96. package/lib/components/infra/DashboardFilter/DashboardFilter.js.map +1 -1
  97. package/lib/components/infra/DashboardFilter/filterUtils.d.ts.map +1 -1
  98. package/lib/components/infra/DashboardFilter/filterUtils.js +2 -2
  99. package/lib/components/infra/DashboardFilter/filterUtils.js.map +1 -1
  100. package/lib/components/infra/DeferLoad/DeferLoad.js +2 -2
  101. package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
  102. package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
  103. package/lib/components/infra/NavBar/NavBar.js +16 -15
  104. package/lib/components/infra/NavBar/NavBar.js.map +1 -1
  105. package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
  106. package/lib/components/infra/RootContainer/RootContainer.js +5 -6
  107. package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
  108. package/lib/components/infra/Stages/Stages.js +4 -4
  109. package/lib/components/infra/Stages/Stages.js.map +1 -1
  110. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js +2 -2
  111. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js.map +1 -1
  112. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js +2 -2
  113. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js.map +1 -1
  114. package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
  115. package/lib/components/template/AppShell/AppShell.js +20 -2
  116. package/lib/components/template/AppShell/AppShell.js.map +1 -1
  117. package/lib/components/template/CaseView/CaseView.js +5 -5
  118. package/lib/components/template/CaseView/CaseView.js.map +1 -1
  119. package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js +6 -6
  120. package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js.map +1 -1
  121. package/lib/components/template/Confirmation/Confirmation.d.ts.map +1 -1
  122. package/lib/components/template/Confirmation/Confirmation.js +2 -1
  123. package/lib/components/template/Confirmation/Confirmation.js.map +1 -1
  124. package/lib/components/template/DataReference/DataReference.js +1 -1
  125. package/lib/components/template/DataReference/DataReference.js.map +1 -1
  126. package/lib/components/template/Details/Details/Details.js +1 -1
  127. package/lib/components/template/Details/Details/Details.js.map +1 -1
  128. package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js +3 -3
  129. package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js.map +1 -1
  130. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js +1 -1
  131. package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js.map +1 -1
  132. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js +1 -1
  133. package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js.map +1 -1
  134. package/lib/components/template/Details/DynamicTabs/DynamicTabs.d.ts.map +1 -1
  135. package/lib/components/template/Details/DynamicTabs/DynamicTabs.js +3 -2
  136. package/lib/components/template/Details/DynamicTabs/DynamicTabs.js.map +1 -1
  137. package/lib/components/template/InlineDashboard/InlineDashboard.js +2 -2
  138. package/lib/components/template/InlineDashboard/InlineDashboard.js.map +1 -1
  139. package/lib/components/template/ListView/ListView.d.ts.map +1 -1
  140. package/lib/components/template/ListView/ListView.js +49 -57
  141. package/lib/components/template/ListView/ListView.js.map +1 -1
  142. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js +1 -1
  143. package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js.map +1 -1
  144. package/lib/components/template/OneColumn/OneColumn/OneColumn.js +2 -2
  145. package/lib/components/template/OneColumn/OneColumn/OneColumn.js.map +1 -1
  146. package/lib/components/template/PromotedFilters/PromotedFilters.js +1 -1
  147. package/lib/components/template/PromotedFilters/PromotedFilters.js.map +1 -1
  148. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
  149. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +23 -23
  150. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
  151. package/lib/components/template/SubTabs/SubTabs.js +2 -2
  152. package/lib/components/template/SubTabs/SubTabs.js.map +1 -1
  153. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js +2 -2
  154. package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js.map +1 -1
  155. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js +2 -2
  156. package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js.map +1 -1
  157. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js +1 -1
  158. package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js.map +1 -1
  159. package/lib/components/template/WssNavBar/WssNavBar.js +9 -9
  160. package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
  161. package/lib/components/widget/AppAnnouncement/AppAnnouncement.js +2 -2
  162. package/lib/components/widget/AppAnnouncement/AppAnnouncement.js.map +1 -1
  163. package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
  164. package/lib/components/widget/Attachment/Attachment.js +3 -3
  165. package/lib/components/widget/Attachment/Attachment.js.map +1 -1
  166. package/lib/components/widget/CaseHistory/CaseHistory.d.ts.map +1 -1
  167. package/lib/components/widget/CaseHistory/CaseHistory.js +8 -7
  168. package/lib/components/widget/CaseHistory/CaseHistory.js.map +1 -1
  169. package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js +1 -1
  170. package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js.map +1 -1
  171. package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts.map +1 -1
  172. package/lib/components/widget/FileUtility/FileUtility/FileUtility.js +4 -4
  173. package/lib/components/widget/FileUtility/FileUtility/FileUtility.js.map +1 -1
  174. package/lib/components/widget/Followers/Followers.js +2 -2
  175. package/lib/components/widget/Followers/Followers.js.map +1 -1
  176. package/lib/components/widget/SummaryItem/SummaryItem.d.ts.map +1 -1
  177. package/lib/components/widget/SummaryItem/SummaryItem.js +3 -3
  178. package/lib/components/widget/SummaryItem/SummaryItem.js.map +1 -1
  179. package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
  180. package/lib/components/widget/ToDo/ToDo.js +52 -16
  181. package/lib/components/widget/ToDo/ToDo.js.map +1 -1
  182. package/lib/doc/KeyReleaseUpdates.md +19 -7
  183. package/lib/hooks/index.d.ts +2 -0
  184. package/lib/hooks/index.d.ts.map +1 -1
  185. package/lib/hooks/index.js +2 -0
  186. package/lib/hooks/index.js.map +1 -1
  187. package/lib/hooks/useFocusFirstField.d.ts +7 -0
  188. package/lib/hooks/useFocusFirstField.d.ts.map +1 -0
  189. package/lib/hooks/useFocusFirstField.js +20 -0
  190. package/lib/hooks/useFocusFirstField.js.map +1 -0
  191. package/lib/hooks/useScrolltoTop.d.ts +7 -0
  192. package/lib/hooks/useScrolltoTop.d.ts.map +1 -0
  193. package/lib/hooks/useScrolltoTop.js +13 -0
  194. package/lib/hooks/useScrolltoTop.js.map +1 -0
  195. package/lib/theme.d.ts +11 -0
  196. package/lib/theme.d.ts.map +1 -0
  197. package/lib/theme.js +19 -0
  198. package/lib/theme.js.map +1 -0
  199. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NavBar.js","sourceRoot":"","sources":["../../../../src/components/infra/NavBar/NavBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport clsx from 'clsx';\n\nimport {\n Drawer,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n ListItemSecondaryAction,\n Collapse,\n Divider,\n IconButton,\n Menu,\n MenuItem,\n Typography\n} from '@material-ui/core';\nimport PersonOutlineIcon from '@material-ui/icons/PersonOutlineOutlined';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport FlagOutlinedIcon from '@material-ui/icons/FlagOutlined';\nimport HomeOutlinedIcon from '@material-ui/icons/HomeOutlined';\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport AddIcon from '@material-ui/icons/Add';\nimport WorkOutlineIcon from '@material-ui/icons/WorkOutline';\nimport ClearOutlinedIcon from '@material-ui/icons/ClearOutlined';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { logout } from '@pega/auth/lib/sdk-auth-manager';\n\nimport { useNavBar } from '../../helpers/reactContextHelpers';\nimport { Utils } from '../../helpers/utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\nimport './NavBar.css';\n\ninterface NavBarProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n // eslint-disable-next-line react/no-unused-prop-types\n appName?: string;\n pages?: any[];\n caseTypes: any[];\n pConn?: any;\n}\n\nconst iconMap = {\n 'pi pi-headline': <HomeOutlinedIcon fontSize='large' />,\n 'pi pi-flag-solid': <FlagOutlinedIcon fontSize='large' />,\n 'pi pi-home-solid': <HomeOutlinedIcon fontSize='large' />\n};\n\nconst drawerWidth = 300;\n\nconst useStyles = makeStyles(theme => ({\n drawerPaper: {\n position: 'relative',\n whiteSpace: 'nowrap',\n width: drawerWidth,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen\n }),\n height: '100vh'\n },\n drawerPaperClose: {\n overflowX: 'hidden',\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen\n }),\n width: theme.spacing(7),\n [theme.breakpoints.up('md')]: {\n width: theme.spacing(9)\n },\n height: '100vh'\n },\n nested: {\n paddingLeft: theme.spacing(4)\n },\n appListItem: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n },\n appListLogo: {\n marginRight: theme.spacing(2),\n width: '3.6rem'\n },\n appListIcon: {\n color: theme.palette.getContrastText(theme.palette.primary.light)\n },\n appListDiv: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(2),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n applicationLabel: {\n whiteSpace: 'initial'\n }\n}));\n\nexport default function NavBar(props: NavBarProps) {\n const { pConn, pages = [], caseTypes = [] } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n\n const { open, setOpen } = useNavBar();\n const [navPages, setNavPages] = useState(JSON.parse(JSON.stringify(pages)));\n const [bShowCaseTypes, setBShowCaseTypes] = useState(true);\n const [bShowOperatorButtons, setBShowOperatorButtons] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const localeUtils = PCore.getLocaleUtils();\n const localeReference = pConn.getValue('.pyLocaleReference');\n\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'AppShell';\n\n const portalLogoImage = Utils.getIconPath(Utils.getSDKStaticConentUrl()).concat('pzpega-logo-mark.svg');\n const portalOperator = PCore.getEnvironmentInfo().getOperatorName();\n const portalApp = PCore.getEnvironmentInfo().getApplicationLabel();\n\n useEffect(() => {\n setNavPages(JSON.parse(JSON.stringify(pages)));\n }, [pages]);\n\n function navPanelButtonClick(oPageData: any) {\n const { pyClassName, pyRuleName } = oPageData;\n\n pConn\n .getActionsApi()\n .showPage(pyRuleName, pyClassName)\n .then(() => {\n // eslint-disable-next-line no-console\n console.log(`${localizedVal('showPage completed', localeCategory)}`);\n });\n }\n\n function navPanelCreateCaseType(sCaseType: string, sFlowType: string) {\n setOpen(false);\n const actionInfo = {\n containerName: 'primary',\n flowType: sFlowType || 'pyStartCase'\n };\n\n pConn\n .getActionsApi()\n .createWork(sCaseType, actionInfo)\n .then(() => {\n // eslint-disable-next-line no-console\n console.log(`${localizedVal('createWork completed', localeCategory)}`);\n });\n }\n\n // Toggle showing the Operator buttons\n function navPanelOperatorButtonClick(evt) {\n setBShowOperatorButtons(!bShowOperatorButtons);\n if (!bShowOperatorButtons) setAnchorEl(evt.currentTarget);\n else setAnchorEl(null);\n }\n\n const handleDrawerOpen = () => {\n setOpen(!open);\n };\n\n const handleCaseItemClick = () => {\n if (!open) {\n setOpen(true);\n setBShowCaseTypes(true);\n } else setBShowCaseTypes(!bShowCaseTypes);\n };\n\n useEffect(() => {\n if (!isDesktop) setOpen(false);\n else setOpen(true);\n }, [isDesktop]);\n\n return (\n <Drawer\n variant='permanent'\n classes={{\n paper: clsx(classes.drawerPaper, !open && classes.drawerPaperClose)\n }}\n open={open && isDesktop}\n >\n {open ? (\n <List className={classes.appListItem}>\n <ListItem onClick={handleDrawerOpen}>\n <ListItemIcon>\n <img src={portalLogoImage} className={classes.appListLogo} />\n </ListItemIcon>\n <ListItemText\n primary={\n <Typography variant='h6' className={classes.applicationLabel}>\n {portalApp}\n </Typography>\n }\n />\n <ListItemSecondaryAction>\n <IconButton edge='end' onClick={handleDrawerOpen}>\n <ChevronLeftIcon className={classes.appListIcon} />\n </IconButton>\n </ListItemSecondaryAction>\n </ListItem>\n </List>\n ) : (\n <div className={classes.appListDiv} onClick={handleDrawerOpen}>\n <ChevronRightIcon className={classes.appListIcon} id='chevron-right-icon' fontSize='large' />\n </div>\n )}\n <List>\n <ListItem button onClick={handleCaseItemClick}>\n <ListItemIcon>{bShowCaseTypes && open ? <ClearOutlinedIcon fontSize='large' /> : <AddIcon fontSize='large' />}</ListItemIcon>\n <ListItemText primary='Create' />\n {bShowCaseTypes ? <ExpandLess /> : <ExpandMore />}\n </ListItem>\n </List>\n <Collapse in={bShowCaseTypes && open} timeout='auto' unmountOnExit className='scrollable'>\n <List component='div' disablePadding>\n {caseTypes.map(caseType => (\n <ListItem\n button\n className={classes.nested}\n onClick={() => navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}\n key={caseType.pyLabel}\n >\n <ListItemIcon>\n <WorkOutlineIcon fontSize='large' />\n </ListItemIcon>\n <ListItemText primary={localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference)} />\n </ListItem>\n ))}\n </List>\n </Collapse>\n <List>\n {navPages.map(page => (\n <ListItem button onClick={() => navPanelButtonClick(page)} key={page.pyLabel}>\n <ListItemIcon>{iconMap[page.pxPageViewIcon]}</ListItemIcon>\n <ListItemText primary={localeUtils.getLocaleValue(page.pyLabel, '', localeReference)} />\n </ListItem>\n ))}\n </List>\n <Divider />\n <List className='marginTopAuto'>\n <>\n <ListItem onClick={navPanelOperatorButtonClick}>\n <ListItemIcon id='person-icon'>\n <PersonOutlineIcon fontSize='large' />\n </ListItemIcon>\n <ListItemText primary={portalOperator} />\n {open && (\n <ListItemSecondaryAction>\n <IconButton edge='end' onClick={navPanelOperatorButtonClick}>\n <ChevronRightIcon />\n </IconButton>\n </ListItemSecondaryAction>\n )}\n </ListItem>\n <Menu\n anchorEl={anchorEl}\n keepMounted={bShowOperatorButtons}\n open={bShowOperatorButtons}\n onClick={navPanelOperatorButtonClick}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n >\n <MenuItem onClick={logout}>\n <ListItemIcon>\n <ArrowBackIcon fontSize='large' />\n </ListItemIcon>\n <Typography variant='inherit'>{localizedVal('Log off', localeCategory)}</Typography>\n </MenuItem>\n </Menu>\n </>\n </List>\n </Drawer>\n );\n}\n"]}
1
+ {"version":3,"file":"NavBar.js","sourceRoot":"","sources":["../../../../src/components/infra/NavBar/NavBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport clsx from 'clsx';\n\nimport {\n Drawer,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n ListItemSecondaryAction,\n Collapse,\n Divider,\n IconButton,\n Menu,\n MenuItem,\n Typography\n} from '@mui/material';\nimport PersonOutlineIcon from '@mui/icons-material/PersonOutlineOutlined';\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight';\nimport FlagOutlinedIcon from '@mui/icons-material/FlagOutlined';\nimport HomeOutlinedIcon from '@mui/icons-material/HomeOutlined';\nimport ExpandLess from '@mui/icons-material/ExpandLess';\nimport ExpandMore from '@mui/icons-material/ExpandMore';\nimport AddIcon from '@mui/icons-material/Add';\nimport WorkOutlineIcon from '@mui/icons-material/WorkOutline';\nimport ClearOutlinedIcon from '@mui/icons-material/ClearOutlined';\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport { logout } from '@pega/auth/lib/sdk-auth-manager';\n\nimport { useNavBar } from '../../helpers/reactContextHelpers';\nimport { Utils } from '../../helpers/utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\nimport './NavBar.css';\n\ninterface NavBarProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n // eslint-disable-next-line react/no-unused-prop-types\n appName?: string;\n pages?: any[];\n caseTypes: any[];\n pConn?: any;\n}\n\nconst iconMap = {\n 'pi pi-headline': <HomeOutlinedIcon fontSize='large' />,\n 'pi pi-flag-solid': <FlagOutlinedIcon fontSize='large' />,\n 'pi pi-home-solid': <HomeOutlinedIcon fontSize='large' />\n};\n\nconst drawerWidth = 300;\n\nconst useStyles = makeStyles(theme => ({\n drawerPaper: {\n position: 'relative',\n whiteSpace: 'nowrap',\n width: drawerWidth,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen\n }),\n height: '100vh'\n },\n drawerPaperClose: {\n overflowX: 'hidden',\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen\n }),\n width: theme.spacing(7),\n [theme.breakpoints.up('md')]: {\n width: theme.spacing(9)\n },\n height: '100vh'\n },\n nested: {\n paddingLeft: theme.spacing(4)\n },\n appListItem: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n },\n appListLogo: {\n marginRight: theme.spacing(2),\n width: '3.6rem'\n },\n appListIcon: {\n color: theme.palette.getContrastText(theme.palette.primary.light)\n },\n appListDiv: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(2),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n applicationLabel: {\n whiteSpace: 'initial'\n }\n}));\n\nexport default function NavBar(props: NavBarProps) {\n const { pConn, pages = [], caseTypes = [] } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n\n const { open, setOpen } = useNavBar();\n const [navPages, setNavPages] = useState(JSON.parse(JSON.stringify(pages)));\n const [bShowCaseTypes, setBShowCaseTypes] = useState(true);\n const [bShowOperatorButtons, setBShowOperatorButtons] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n const localeUtils = PCore.getLocaleUtils();\n const localeReference = pConn.getValue('.pyLocaleReference');\n\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'AppShell';\n\n const portalLogoImage = Utils.getIconPath(Utils.getSDKStaticConentUrl()).concat('pzpega-logo-mark.svg');\n const portalOperator = PCore.getEnvironmentInfo().getOperatorName();\n const portalApp = PCore.getEnvironmentInfo().getApplicationLabel();\n\n useEffect(() => {\n setNavPages(JSON.parse(JSON.stringify(pages)));\n }, [pages]);\n\n function navPanelButtonClick(oPageData: any) {\n const { pyClassName, pyRuleName } = oPageData;\n\n pConn\n .getActionsApi()\n .showPage(pyRuleName, pyClassName)\n .then(() => {\n // eslint-disable-next-line no-console\n console.log(`${localizedVal('showPage completed', localeCategory)}`);\n });\n }\n\n function navPanelCreateCaseType(sCaseType: string, sFlowType: string) {\n setOpen(false);\n const actionInfo = {\n containerName: 'primary',\n flowType: sFlowType || 'pyStartCase'\n };\n\n pConn\n .getActionsApi()\n .createWork(sCaseType, actionInfo)\n .then(() => {\n // eslint-disable-next-line no-console\n console.log(`${localizedVal('createWork completed', localeCategory)}`);\n });\n }\n\n // Toggle showing the Operator buttons\n function navPanelOperatorButtonClick(evt) {\n setBShowOperatorButtons(!bShowOperatorButtons);\n if (!bShowOperatorButtons) setAnchorEl(evt.currentTarget);\n else setAnchorEl(null);\n }\n\n const handleDrawerOpen = () => {\n setOpen(!open);\n };\n\n const handleCaseItemClick = () => {\n if (!open) {\n setOpen(true);\n setBShowCaseTypes(true);\n } else setBShowCaseTypes(!bShowCaseTypes);\n };\n\n useEffect(() => {\n if (!isDesktop) setOpen(false);\n else setOpen(true);\n }, [isDesktop]);\n\n return (\n <Drawer\n variant='permanent'\n classes={{\n paper: clsx(classes.drawerPaper, !open && classes.drawerPaperClose)\n }}\n open={open && isDesktop}\n >\n {open ? (\n <List className={classes.appListItem}>\n <ListItem onClick={handleDrawerOpen}>\n <ListItemIcon>\n <img src={portalLogoImage} className={classes.appListLogo} />\n </ListItemIcon>\n <ListItemText\n primary={\n <Typography variant='h6' className={classes.applicationLabel}>\n {portalApp}\n </Typography>\n }\n />\n <ListItemSecondaryAction>\n <IconButton edge='end' onClick={handleDrawerOpen} size='large'>\n <ChevronLeftIcon className={classes.appListIcon} />\n </IconButton>\n </ListItemSecondaryAction>\n </ListItem>\n </List>\n ) : (\n <div className={classes.appListDiv} onClick={handleDrawerOpen}>\n <ChevronRightIcon className={classes.appListIcon} id='chevron-right-icon' fontSize='large' />\n </div>\n )}\n <List>\n <ListItem button onClick={handleCaseItemClick}>\n <ListItemIcon>{bShowCaseTypes && open ? <ClearOutlinedIcon fontSize='large' /> : <AddIcon fontSize='large' />}</ListItemIcon>\n <ListItemText primary='Create' />\n {bShowCaseTypes ? <ExpandLess /> : <ExpandMore />}\n </ListItem>\n </List>\n <Collapse in={bShowCaseTypes && open} timeout='auto' unmountOnExit className='scrollable'>\n <List component='div' disablePadding>\n {caseTypes.map(caseType => (\n <ListItem\n button\n className={classes.nested}\n onClick={() => navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}\n key={caseType.pyLabel}\n >\n <ListItemIcon>\n <WorkOutlineIcon fontSize='large' />\n </ListItemIcon>\n <ListItemText primary={localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference)} />\n </ListItem>\n ))}\n </List>\n </Collapse>\n <List>\n {navPages.map(page => (\n <ListItem button onClick={() => navPanelButtonClick(page)} key={page.pyLabel}>\n <ListItemIcon>{iconMap[page.pxPageViewIcon]}</ListItemIcon>\n <ListItemText primary={localeUtils.getLocaleValue(page.pyLabel, '', localeReference)} />\n </ListItem>\n ))}\n </List>\n <Divider />\n <List className='marginTopAuto'>\n <>\n <ListItem onClick={navPanelOperatorButtonClick}>\n <ListItemIcon id='person-icon'>\n <PersonOutlineIcon fontSize='large' />\n </ListItemIcon>\n <ListItemText primary={portalOperator} />\n {open && (\n <ListItemSecondaryAction>\n <IconButton edge='end' onClick={navPanelOperatorButtonClick} size='large'>\n <ChevronRightIcon />\n </IconButton>\n </ListItemSecondaryAction>\n )}\n </ListItem>\n <Menu\n anchorEl={anchorEl}\n keepMounted={bShowOperatorButtons}\n open={bShowOperatorButtons}\n onClick={navPanelOperatorButtonClick}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n >\n <MenuItem onClick={logout}>\n <ListItemIcon>\n <ArrowBackIcon fontSize='large' />\n </ListItemIcon>\n <Typography variant='inherit'>{localizedVal('Log off', localeCategory)}</Typography>\n </MenuItem>\n </Menu>\n </>\n </List>\n </Drawer>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RootContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/RootContainer/RootContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,iBAAiB,EAAoD,MAAM,OAAO,CAAC;AAQrH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,kBAAmB,SAAQ,UAAU;IAE7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IAChE,QAAQ,EAAE,GAAG,CAAC;IACd,YAAY,EAAE,GAAG,EAAE,CAAC;CACrB;AAgCD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,OAgMjF"}
1
+ {"version":3,"file":"RootContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/RootContainer/RootContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,iBAAiB,EAAoD,MAAM,OAAO,CAAC;AAOrH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,kBAAmB,SAAQ,UAAU;IAE7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IAChE,QAAQ,EAAE,GAAG,CAAC;IACd,YAAY,EAAE,GAAG,EAAE,CAAC;CACrB;AAgCD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,OAgMjF"}
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Children, createElement, useContext, useEffect, useMemo, useRef, useState } from 'react';
3
- import isEqual from 'lodash.isequal';
4
- import { Box, CircularProgress } from '@material-ui/core';
3
+ import { Box, CircularProgress } from '@mui/material';
5
4
  import createPConnectComponent from '../../../bridge/react_pconnect';
6
5
  import StoreContext from '../../../bridge/Context/StoreContext';
7
6
  import { LazyMap as LazyComponentMap } from '../../../components_map';
@@ -37,6 +36,7 @@ export default function RootContainer(props) {
37
36
  const { displayOnlyFA } = useContext(StoreContext);
38
37
  const pConn = getPConnect();
39
38
  const options = { context: 'app' };
39
+ const rootView = useRef(null);
40
40
  const [componentName, setComponentName] = useState('');
41
41
  useEffect(() => {
42
42
  // debugging/investigation help
@@ -105,7 +105,6 @@ export default function RootContainer(props) {
105
105
  }
106
106
  return noPortalContent;
107
107
  }
108
- let rootView;
109
108
  let rootViewConfig = null;
110
109
  useEffect(() => {
111
110
  const { containers } = PCore.getStore().getState();
@@ -133,12 +132,12 @@ export default function RootContainer(props) {
133
132
  context: items[0].context
134
133
  }
135
134
  };
136
- if (!isEqual(currentRootConfig, prevRootConfig)) {
137
- rootView = createElement(createPConnectComponent(), PCore.createPConnect(currentRootConfig));
135
+ if (!PCore.isDeepEqual(currentRootConfig, prevRootConfig)) {
136
+ rootView.current = createElement(createPConnectComponent(), PCore.createPConnect(currentRootConfig));
138
137
  }
139
138
  // debugging/investigation help
140
139
  // console.log(`rootView.props.getPConnect().getComponentName(): ${rootView.props.getPConnect().getComponentName()}`);
141
- return (_jsxs("div", { id: 'ModalManager', children: [rootView, MemoizedModalViewContainer, _jsx("div", { id: 'MemoizedPreviewViewContainer' }), _jsx("div", { id: 'ReAuthMessageModal' })] }));
140
+ return (_jsxs("div", { id: 'ModalManager', children: [rootView.current, MemoizedModalViewContainer, _jsx("div", { id: 'MemoizedPreviewViewContainer' }), _jsx("div", { id: 'ReAuthMessageModal' })] }));
142
141
  }
143
142
  if (renderingMode === 'noPortal') {
144
143
  // eslint-disable-next-line no-console
@@ -1 +1 @@
1
- {"version":3,"file":"RootContainer.js","sourceRoot":"","sources":["../../../../src/components/infra/RootContainer/RootContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Children, createElement, PropsWithChildren, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport isEqual from 'lodash.isequal';\nimport { Box, CircularProgress } from '@material-ui/core';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\nimport StoreContext from '../../../bridge/Context/StoreContext';\nimport { LazyMap as LazyComponentMap } from '../../../components_map';\nimport { isEmptyObject } from '../../helpers/common-utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface RootContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n renderingMode?: string;\n routingInfo: { type: string; accessedOrder: any[]; items: any };\n skeleton: any;\n httpMessages: 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 renderingModes = ['portal', 'view'];\n\nfunction usePrevious(value) {\n const ref = useRef(null);\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nfunction getItemView(routingInfo, renderingMode) {\n const viewConfigs: any = [];\n if (routingInfo && renderingModes.includes(renderingMode)) {\n const { accessedOrder, items }: { accessedOrder: any; items: any } = routingInfo;\n if (accessedOrder && items) {\n const key = accessedOrder[accessedOrder.length - 1];\n if (items[key] && items[key].view && !isEmptyObject(items[key].view)) {\n viewConfigs.push(items[key]);\n }\n }\n }\n return viewConfigs;\n}\n\nexport default function RootContainer(props: PropsWithChildren<RootContainerProps>) {\n const { getPConnect, renderingMode = '', children, skeleton, httpMessages = [], routingInfo } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n\n const pConn = getPConnect();\n\n const options = { context: 'app' };\n\n const [componentName, setComponentName] = useState('');\n\n useEffect(() => {\n // debugging/investigation help\n // console.log(`componentName change: ${componentName} triggering a re-render`);\n }, [componentName]);\n\n // debugging/investigation help\n // console.log(`RootContainer props.routingInfo: ${JSON.stringify(routingInfo)}`);\n\n let hasBanner = false;\n let banners: any = null;\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Messages';\n\n const messages = httpMessages ? httpMessages.map(msg => localizedVal(msg.message, localeCategory)) : httpMessages;\n\n hasBanner = messages && messages.length > 0;\n banners = hasBanner && <div>{localizedVal(`RootContainer: trying to emit Banner with ${messages}`, localeCategory)}</div>;\n\n const MemoizedModalViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'ModalViewContainer',\n config: {\n name: 'modal'\n }\n },\n options\n })\n );\n }, []);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const MemoizedPreviewViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'PreviewViewContainer',\n config: {\n name: 'preview'\n }\n },\n options\n })\n );\n }, []);\n\n //\n function getNoPortalContent() {\n let noPortalContent: any;\n\n switch (componentName) {\n case 'View':\n noPortalContent = <div>{localizedVal('getNoPortalContent: RootContainer wants to render View in noPortal mode', localeCategory)}</div>;\n break;\n\n case 'ViewContainer': {\n const configProps = pConn.getConfigProps();\n const viewContConfig = {\n meta: {\n type: 'ViewContainer',\n config: configProps\n },\n options\n };\n const theViewCont: any = PCore.createPConnect(viewContConfig);\n // Add in displayOnlyFA if prop is on RootContainer\n if (displayOnlyFA) {\n theViewCont.displayOnlyFA = true;\n }\n\n const theViewContainerAsReact = createElement(createPConnectComponent(), theViewCont);\n\n noPortalContent = theViewContainerAsReact;\n break;\n }\n\n default:\n noPortalContent = (\n <div>{localizedVal('getNoPortalContent: RootContainer wants to render NO componentName in noPortal mode', localeCategory)}</div>\n );\n break;\n }\n\n return noPortalContent;\n }\n\n let rootView: any;\n let rootViewConfig: any = null;\n\n useEffect(() => {\n const { containers } = PCore.getStore().getState();\n const items = Object.keys(containers).filter(item => item.includes('root'));\n (PCore.getContainerUtils().getContainerAPI() as any).addContainerItems(items);\n }, [routingInfo]);\n\n const items: any = getItemView(routingInfo, renderingMode);\n\n if (items.length > 0) {\n rootViewConfig = {\n meta: items[0].view,\n options: {\n context: items[0].context\n }\n };\n }\n const prevRootConfig = usePrevious(rootViewConfig);\n\n if (renderingModes.includes(renderingMode) && messages && routingInfo && routingInfo?.accessedOrder.length === 0) {\n return <div id='root-container'>{banners}</div>;\n }\n\n if (items.length > 0) {\n const itemView = items[0].view;\n const currentRootConfig = {\n meta: itemView,\n options: {\n context: items[0].context\n }\n };\n\n if (!isEqual(currentRootConfig, prevRootConfig)) {\n rootView = createElement(createPConnectComponent(), PCore.createPConnect(currentRootConfig));\n }\n\n // debugging/investigation help\n // console.log(`rootView.props.getPConnect().getComponentName(): ${rootView.props.getPConnect().getComponentName()}`);\n\n return (\n <div id='ModalManager'>\n {rootView}\n {MemoizedModalViewContainer}\n <div id='MemoizedPreviewViewContainer' />\n <div id='ReAuthMessageModal' />\n </div>\n );\n }\n if (renderingMode === 'noPortal') {\n // eslint-disable-next-line no-console\n console.log(`${localizedVal('RootContainer rendering in noPortal mode', localeCategory)}`);\n\n const theChildren = pConn.getChildren() as any[];\n if (theChildren && theChildren.length === 1) {\n const localPConn = theChildren[0].getPConnect();\n const localCompName = localPConn.getComponentName();\n if (componentName !== localCompName) {\n setComponentName(localCompName);\n }\n }\n\n return getNoPortalContent();\n }\n if (children && Children.count(children) > 0) {\n return (\n <>\n <div>{localizedVal('RootContainer: Has children. Trying to show ModalManager with children, etc.', localeCategory)}</div>\n {children}\n {MemoizedModalViewContainer}\n </>\n );\n }\n if (skeleton) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const LoadingComponent = LazyComponentMap[skeleton];\n\n return (\n <div id='root-container'>\n {/* <div>RootContainer: Trying to show skeleton</div> */}\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n </div>\n );\n }\n return (\n <div id='root-container'>\n <div>{localizedVal('RootContainer: Should be ModalManager, etc.', localeCategory)}</div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"RootContainer.js","sourceRoot":"","sources":["../../../../src/components/infra/RootContainer/RootContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Children, createElement, PropsWithChildren, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { Box, CircularProgress } from '@mui/material';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\nimport StoreContext from '../../../bridge/Context/StoreContext';\nimport { LazyMap as LazyComponentMap } from '../../../components_map';\nimport { isEmptyObject } from '../../helpers/common-utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface RootContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n renderingMode?: string;\n routingInfo: { type: string; accessedOrder: any[]; items: any };\n skeleton: any;\n httpMessages: 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 renderingModes = ['portal', 'view'];\n\nfunction usePrevious(value) {\n const ref = useRef(null);\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nfunction getItemView(routingInfo, renderingMode) {\n const viewConfigs: any = [];\n if (routingInfo && renderingModes.includes(renderingMode)) {\n const { accessedOrder, items }: { accessedOrder: any; items: any } = routingInfo;\n if (accessedOrder && items) {\n const key = accessedOrder[accessedOrder.length - 1];\n if (items[key] && items[key].view && !isEmptyObject(items[key].view)) {\n viewConfigs.push(items[key]);\n }\n }\n }\n return viewConfigs;\n}\n\nexport default function RootContainer(props: PropsWithChildren<RootContainerProps>) {\n const { getPConnect, renderingMode = '', children, skeleton, httpMessages = [], routingInfo } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n\n const pConn = getPConnect();\n\n const options = { context: 'app' };\n const rootView = useRef(null);\n\n const [componentName, setComponentName] = useState('');\n\n useEffect(() => {\n // debugging/investigation help\n // console.log(`componentName change: ${componentName} triggering a re-render`);\n }, [componentName]);\n\n // debugging/investigation help\n // console.log(`RootContainer props.routingInfo: ${JSON.stringify(routingInfo)}`);\n\n let hasBanner = false;\n let banners: any = null;\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Messages';\n\n const messages = httpMessages ? httpMessages.map(msg => localizedVal(msg.message, localeCategory)) : httpMessages;\n\n hasBanner = messages && messages.length > 0;\n banners = hasBanner && <div>{localizedVal(`RootContainer: trying to emit Banner with ${messages}`, localeCategory)}</div>;\n\n const MemoizedModalViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'ModalViewContainer',\n config: {\n name: 'modal'\n }\n },\n options\n })\n );\n }, []);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const MemoizedPreviewViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'PreviewViewContainer',\n config: {\n name: 'preview'\n }\n },\n options\n })\n );\n }, []);\n\n //\n function getNoPortalContent() {\n let noPortalContent: any;\n\n switch (componentName) {\n case 'View':\n noPortalContent = <div>{localizedVal('getNoPortalContent: RootContainer wants to render View in noPortal mode', localeCategory)}</div>;\n break;\n\n case 'ViewContainer': {\n const configProps = pConn.getConfigProps();\n const viewContConfig = {\n meta: {\n type: 'ViewContainer',\n config: configProps\n },\n options\n };\n const theViewCont: any = PCore.createPConnect(viewContConfig);\n // Add in displayOnlyFA if prop is on RootContainer\n if (displayOnlyFA) {\n theViewCont.displayOnlyFA = true;\n }\n\n const theViewContainerAsReact = createElement(createPConnectComponent(), theViewCont);\n\n noPortalContent = theViewContainerAsReact;\n break;\n }\n\n default:\n noPortalContent = (\n <div>{localizedVal('getNoPortalContent: RootContainer wants to render NO componentName in noPortal mode', localeCategory)}</div>\n );\n break;\n }\n\n return noPortalContent;\n }\n\n let rootViewConfig: any = null;\n\n useEffect(() => {\n const { containers } = PCore.getStore().getState();\n const items = Object.keys(containers).filter(item => item.includes('root'));\n (PCore.getContainerUtils().getContainerAPI() as any).addContainerItems(items);\n }, [routingInfo]);\n\n const items: any = getItemView(routingInfo, renderingMode);\n\n if (items.length > 0) {\n rootViewConfig = {\n meta: items[0].view,\n options: {\n context: items[0].context\n }\n };\n }\n const prevRootConfig = usePrevious(rootViewConfig);\n\n if (renderingModes.includes(renderingMode) && messages && routingInfo && routingInfo?.accessedOrder.length === 0) {\n return <div id='root-container'>{banners}</div>;\n }\n\n if (items.length > 0) {\n const itemView = items[0].view;\n const currentRootConfig = {\n meta: itemView,\n options: {\n context: items[0].context\n }\n };\n\n if (!PCore.isDeepEqual(currentRootConfig, prevRootConfig)) {\n rootView.current = createElement(createPConnectComponent(), PCore.createPConnect(currentRootConfig)) as any;\n }\n\n // debugging/investigation help\n // console.log(`rootView.props.getPConnect().getComponentName(): ${rootView.props.getPConnect().getComponentName()}`);\n\n return (\n <div id='ModalManager'>\n {rootView.current}\n {MemoizedModalViewContainer}\n <div id='MemoizedPreviewViewContainer' />\n <div id='ReAuthMessageModal' />\n </div>\n );\n }\n if (renderingMode === 'noPortal') {\n // eslint-disable-next-line no-console\n console.log(`${localizedVal('RootContainer rendering in noPortal mode', localeCategory)}`);\n\n const theChildren = pConn.getChildren() as any[];\n if (theChildren && theChildren.length === 1) {\n const localPConn = theChildren[0].getPConnect();\n const localCompName = localPConn.getComponentName();\n if (componentName !== localCompName) {\n setComponentName(localCompName);\n }\n }\n\n return getNoPortalContent();\n }\n if (children && Children.count(children) > 0) {\n return (\n <>\n <div>{localizedVal('RootContainer: Has children. Trying to show ModalManager with children, etc.', localeCategory)}</div>\n {children}\n {MemoizedModalViewContainer}\n </>\n );\n }\n if (skeleton) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const LoadingComponent = LazyComponentMap[skeleton];\n\n return (\n <div id='root-container'>\n {/* <div>RootContainer: Trying to show skeleton</div> */}\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n </div>\n );\n }\n return (\n <div id='root-container'>\n <div>{localizedVal('RootContainer: Should be ModalManager, etc.', localeCategory)}</div>\n </div>\n );\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Breadcrumbs, Card, Typography } from '@material-ui/core';
3
- import DoubleArrowIcon from '@material-ui/icons/DoubleArrow';
4
- import DoneIcon from '@material-ui/icons/Done';
5
- import { makeStyles } from '@material-ui/core/styles';
2
+ import { Breadcrumbs, Card, Typography } from '@mui/material';
3
+ import DoubleArrowIcon from '@mui/icons-material/DoubleArrow';
4
+ import DoneIcon from '@mui/icons-material/Done';
5
+ import makeStyles from '@mui/styles/makeStyles';
6
6
  const useStyles = makeStyles(theme => ({
7
7
  root: {
8
8
  paddingRight: theme.spacing(1),
@@ -1 +1 @@
1
- {"version":3,"file":"Stages.js","sourceRoot":"","sources":["../../../../src/components/infra/Stages/Stages.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Breadcrumbs, Card, Typography } from '@material-ui/core';\nimport DoubleArrowIcon from '@material-ui/icons/DoubleArrow';\nimport DoneIcon from '@material-ui/icons/Done';\nimport { makeStyles } from '@material-ui/core/styles';\n\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface StagesProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n stages: 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 completedStage: {\n color: theme.palette.text.primary\n },\n currentStage: {\n color: theme.palette.info.dark,\n fontWeight: 600\n },\n futureStage: {\n color: theme.palette.text.secondary\n },\n separatorIcon: {\n color: theme.palette.text.disabled\n }\n}));\n\n/**\n * API to filter out the alternate stages which are not in active and return all other stages\n * @param {Array} stages - Stages of a case type\n *\n * @returns {Array} - Returns stages which are non alternate stages and alternate stage which is active.\n */\nfunction getFilteredStages(stages) {\n if (!Array.isArray(stages)) {\n return [];\n }\n\n return stages.filter(stage => stage.type !== 'Alternate' || (stage.type === 'Alternate' && stage.visited_status === 'active'));\n}\n\n/* TODO - this component should be refactored and not exposed as top level DX Component -\n the stages should be created as part of the CaseView */\nexport default function Stages(props: StagesProps) {\n const classes = useStyles();\n\n const { getPConnect, stages } = props;\n const pConn = getPConnect();\n const key = `${pConn.getCaseInfo().getClassName()}!CASE!${pConn.getCaseInfo().getName()}`.toUpperCase();\n\n const filteredStages = getFilteredStages(stages);\n const currentStageID = pConn.getValue(PCore.getConstants().CASE_INFO.STAGEID, ''); // 2nd arg empty string until typedef allows optional\n const stagesObj = filteredStages.map((stage, index, arr) => {\n const theID = stage.ID || stage.id;\n return {\n name: PCore.getLocaleUtils().getLocaleValue(stage.name, undefined, key),\n id: theID,\n complete: stage.visited_status === 'completed',\n current: theID === currentStageID,\n last: index === arr.length - 1\n };\n });\n\n // debugging/investigation help\n // console.log(`Stages: current: ${currentStageID} stagesObj: ${JSON.stringify(stagesObj)}`);\n\n function getStage(stage, index) {\n // Removing nested ternary for lint\n // const theClass = stage.current ? classes.currentStage : (stage.complete ? classes.completedStage : classes.futureStage);\n let theClass;\n if (stage.current) {\n theClass = classes.currentStage;\n } else if (stage.complete) {\n theClass = classes.completedStage;\n } else {\n theClass = classes.futureStage;\n }\n\n return (\n <span key={index}>\n {stage.complete ? <DoneIcon color='disabled' fontSize='small' /> : null}\n <Typography variant='h5' component='span' display='inline' className={theClass}>\n {stage.name}\n </Typography>\n </span>\n );\n }\n\n function getStages(inStages) {\n return (\n <Breadcrumbs aria-label='stages' separator={<DoubleArrowIcon className={classes.separatorIcon} />}>\n {inStages.map((stage, index) => {\n return getStage(stage, index);\n })}\n </Breadcrumbs>\n );\n }\n\n return (\n <Card id='Stages' className={classes.root}>\n {/* Stages<br />\n currentStageID: {currentStageID}<br />\n {JSON.stringify(stagesObj)}<br /><br /> */}\n {getStages(stagesObj)}\n </Card>\n );\n}\n"]}
1
+ {"version":3,"file":"Stages.js","sourceRoot":"","sources":["../../../../src/components/infra/Stages/Stages.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Breadcrumbs, Card, Typography } from '@mui/material';\nimport DoubleArrowIcon from '@mui/icons-material/DoubleArrow';\nimport DoneIcon from '@mui/icons-material/Done';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface StagesProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n stages: 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 completedStage: {\n color: theme.palette.text.primary\n },\n currentStage: {\n color: theme.palette.info.dark,\n fontWeight: 600\n },\n futureStage: {\n color: theme.palette.text.secondary\n },\n separatorIcon: {\n color: theme.palette.text.disabled\n }\n}));\n\n/**\n * API to filter out the alternate stages which are not in active and return all other stages\n * @param {Array} stages - Stages of a case type\n *\n * @returns {Array} - Returns stages which are non alternate stages and alternate stage which is active.\n */\nfunction getFilteredStages(stages) {\n if (!Array.isArray(stages)) {\n return [];\n }\n\n return stages.filter(stage => stage.type !== 'Alternate' || (stage.type === 'Alternate' && stage.visited_status === 'active'));\n}\n\n/* TODO - this component should be refactored and not exposed as top level DX Component -\n the stages should be created as part of the CaseView */\nexport default function Stages(props: StagesProps) {\n const classes = useStyles();\n\n const { getPConnect, stages } = props;\n const pConn = getPConnect();\n const key = `${pConn.getCaseInfo().getClassName()}!CASE!${pConn.getCaseInfo().getName()}`.toUpperCase();\n\n const filteredStages = getFilteredStages(stages);\n const currentStageID = pConn.getValue(PCore.getConstants().CASE_INFO.STAGEID, ''); // 2nd arg empty string until typedef allows optional\n const stagesObj = filteredStages.map((stage, index, arr) => {\n const theID = stage.ID || stage.id;\n return {\n name: PCore.getLocaleUtils().getLocaleValue(stage.name, undefined, key),\n id: theID,\n complete: stage.visited_status === 'completed',\n current: theID === currentStageID,\n last: index === arr.length - 1\n };\n });\n\n // debugging/investigation help\n // console.log(`Stages: current: ${currentStageID} stagesObj: ${JSON.stringify(stagesObj)}`);\n\n function getStage(stage, index) {\n // Removing nested ternary for lint\n // const theClass = stage.current ? classes.currentStage : (stage.complete ? classes.completedStage : classes.futureStage);\n let theClass;\n if (stage.current) {\n theClass = classes.currentStage;\n } else if (stage.complete) {\n theClass = classes.completedStage;\n } else {\n theClass = classes.futureStage;\n }\n\n return (\n <span key={index}>\n {stage.complete ? <DoneIcon color='disabled' fontSize='small' /> : null}\n <Typography variant='h5' component='span' display='inline' className={theClass}>\n {stage.name}\n </Typography>\n </span>\n );\n }\n\n function getStages(inStages) {\n return (\n <Breadcrumbs aria-label='stages' separator={<DoubleArrowIcon className={classes.separatorIcon} />}>\n {inStages.map((stage, index) => {\n return getStage(stage, index);\n })}\n </Breadcrumbs>\n );\n }\n\n return (\n <Card id='Stages' className={classes.root}>\n {/* Stages<br />\n currentStageID: {currentStageID}<br />\n {JSON.stringify(stagesObj)}<br /><br /> */}\n {getStages(stagesObj)}\n </Card>\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { withStyles } from '@material-ui/core/styles';
3
- import { Tab, Divider } from '@material-ui/core';
2
+ import withStyles from '@mui/styles/withStyles';
3
+ import { Tab, Divider } from '@mui/material';
4
4
  // LeftAlignVerticalTab is a specialized Tab that has styles to make it
5
5
  // left aligned and full width of the container Tabs
6
6
  // Aligning the Tab labels left (with & .<class name> syntax) inspired by:
@@ -1 +1 @@
1
- {"version":3,"file":"LeftAlignVerticalTabs.js","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQjD,uEAAuE;AACvE,qDAAqD;AAErD,0EAA0E;AAC1E,gIAAgI;AAEhI,8EAA8E;AAC9E,iEAAiE;AACjE,MAAM,qBAAqB,GAAQ,UAAU,CAAC,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;KACjB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,MAAM;KAClB;CACF,CAAC,CAAC,CAAC,CAAC,KAAiC,EAAE,EAAE,CAAC,CACzC,0BACE,KAAC,GAAG,OAAK,KAAK,GAAI,EAClB,KAAC,OAAO,KAAG,IACP,CACP,CAAC,CAAC;AAEH,eAAe,qBAAqB,CAAC","sourcesContent":["import { withStyles } from '@material-ui/core/styles';\nimport { Tab, Divider } from '@material-ui/core';\n\n// LeftAlignVerticalTabs does NOT have getPConnect. So, no need to extend from PConnProps\n\ninterface LeftAlignVerticalTabsProps {\n // If any, enter additional props that only exist on this component\n}\n\n// LeftAlignVerticalTab is a specialized Tab that has styles to make it\n// left aligned and full width of the container Tabs\n\n// Aligning the Tab labels left (with & .<class name> syntax) inspired by:\n// https://stackoverflow.com/questions/63307723/how-to-modify-the-wrapper-css-rule-of-a-tabs-component-to-make-the-text-aligned\n\n// In this styling, \"root\" is the top-level \"Tab\" object (which is the button)\n// and the button contains spans that will match on the '> span'\nconst LeftAlignVerticalTabs: any = withStyles((/* theme */) => ({\n root: {\n width: '100%',\n maxWidth: '100%'\n },\n wrapper: {\n display: 'block',\n textAlign: 'left'\n }\n}))((props: LeftAlignVerticalTabsProps) => (\n <div>\n <Tab {...props} />\n <Divider />\n </div>\n));\n\nexport default LeftAlignVerticalTabs;\n"]}
1
+ {"version":3,"file":"LeftAlignVerticalTabs.js","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQ7C,uEAAuE;AACvE,qDAAqD;AAErD,0EAA0E;AAC1E,gIAAgI;AAEhI,8EAA8E;AAC9E,iEAAiE;AACjE,MAAM,qBAAqB,GAAQ,UAAU,CAAC,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;KACjB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,MAAM;KAClB;CACF,CAAC,CAAC,CAAC,CAAC,KAAiC,EAAE,EAAE,CAAC,CACzC,0BACE,KAAC,GAAG,OAAK,KAAK,GAAI,EAClB,KAAC,OAAO,KAAG,IACP,CACP,CAAC,CAAC;AAEH,eAAe,qBAAqB,CAAC","sourcesContent":["import withStyles from '@mui/styles/withStyles';\nimport { Tab, Divider } from '@mui/material';\n\n// LeftAlignVerticalTabs does NOT have getPConnect. So, no need to extend from PConnProps\n\ninterface LeftAlignVerticalTabsProps {\n // If any, enter additional props that only exist on this component\n}\n\n// LeftAlignVerticalTab is a specialized Tab that has styles to make it\n// left aligned and full width of the container Tabs\n\n// Aligning the Tab labels left (with & .<class name> syntax) inspired by:\n// https://stackoverflow.com/questions/63307723/how-to-modify-the-wrapper-css-rule-of-a-tabs-component-to-make-the-text-aligned\n\n// In this styling, \"root\" is the top-level \"Tab\" object (which is the button)\n// and the button contains spans that will match on the '> span'\nconst LeftAlignVerticalTabs: any = withStyles((/* theme */) => ({\n root: {\n width: '100%',\n maxWidth: '100%'\n },\n wrapper: {\n display: 'block',\n textAlign: 'left'\n }\n}))((props: LeftAlignVerticalTabsProps) => (\n <div>\n <Tab {...props} />\n <Divider />\n </div>\n));\n\nexport default LeftAlignVerticalTabs;\n"]}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createElement as _createElement } from "react";
3
3
  import { useState, useEffect } from 'react';
4
- import { makeStyles } from '@material-ui/core/styles';
5
- import Tabs from '@material-ui/core/Tabs';
4
+ import makeStyles from '@mui/styles/makeStyles';
5
+ import Tabs from '@mui/material/Tabs';
6
6
  import { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';
7
7
  // The MuiTabs-indicator class is in a span whose parent is div (under the Tabs root component)
8
8
  // So, we're going to make the selected vertical tab indicator use a color from our theme.
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalTabs.js","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.tsx"],"names":[],"mappings":";;AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAQnF,+FAA+F;AAC/F,2FAA2F;AAC3F,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE;QACJ,cAAc,EAAE;YACd,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;YACxC,KAAK,EAAE,KAAK;SACb;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,8CAA8C;AAC9C,4FAA4F;AAC5F,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,cAAyC,EAAsB,EAAE;IAC7G,IAAI,MAAM,EAAE;QACV,OAAO,IAAI,WAAW,CAAC,SAAS,EAAE;YAChC,MAAM,EAAE,EAAE,cAAc,EAAE;SAC3B,CAAC,CAAC;KACJ;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAwB;IAC3D,8EAA8E;IAC9E,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;IAE1E,sFAAsF;IACtF,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAEjE,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACjC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,YAAY,GAAG,CAAC,KAA4B,EAAE,QAAgB,EAAE,EAAE;QACtE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,CACL,cAAK,EAAE,EAAC,cAAc,YAEpB,KAAC,IAAI,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAC,UAAU,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,YACvF,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CACpB,eAAC,oBAAoB,OAAK,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,GAAI,CACpE,CAAC,GACG,GACH,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Tabs from '@material-ui/core/Tabs';\n\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\n\n// VerticalTabs does NOT have getPConnect. So, no need to extend from PConnProps\ninterface VerticalTabsProps {\n // If any, enter additional props that only exist on this component\n tabconfig: any[];\n}\n\n// The MuiTabs-indicator class is in a span whose parent is div (under the Tabs root component)\n// So, we're going to make the selected vertical tab indicator use a color from our theme.\nconst useStyles = makeStyles(theme => ({\n tabs: {\n '& div > span': {\n backgroundColor: theme.palette.info.dark,\n width: '3px'\n }\n }\n}));\n\n// Implementation of custom event inspired by:\n// https://betterprogramming.pub/master-your-react-skills-with-event-listeners-ebc01dde4fad\nconst createCustomEvent = (eventName: string, additionalData: { [key: string]: string }): CustomEvent | null => {\n if (window) {\n return new CustomEvent(eventName, {\n detail: { additionalData }\n });\n }\n\n return null;\n};\n\nexport default function VerticalTabs(props: VerticalTabsProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const LeftAlignVerticalTab = getComponentFromMap('LeftAlignVerticalTabs');\n\n // Get a React warning when we use tabConfig as mixed case. So all lowercase tabconfig\n const { tabconfig = [] } = props;\n const classes = useStyles();\n const [value, setValue] = useState(0);\n\n useEffect(() => {\n const eventData = { itemClicked: value.toString() };\n const myEvent = createCustomEvent('VerticalTabClick', eventData);\n\n if (myEvent !== null) {\n document.dispatchEvent(myEvent);\n }\n }, [value]);\n\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setValue(newValue);\n };\n\n return (\n <div id='VerticalTabs'>\n {/* VerticalTabs: {JSON.stringify(tabconfig)} */}\n <Tabs className={classes.tabs} orientation='vertical' value={value} onChange={handleChange}>\n {tabconfig.map(tab => (\n <LeftAlignVerticalTab {...props} label={tab.name} key={tab.name} />\n ))}\n </Tabs>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"VerticalTabs.js","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.tsx"],"names":[],"mappings":";;AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAQnF,+FAA+F;AAC/F,2FAA2F;AAC3F,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE;QACJ,cAAc,EAAE;YACd,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;YACxC,KAAK,EAAE,KAAK;SACb;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,8CAA8C;AAC9C,4FAA4F;AAC5F,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,cAAyC,EAAsB,EAAE;IAC7G,IAAI,MAAM,EAAE;QACV,OAAO,IAAI,WAAW,CAAC,SAAS,EAAE;YAChC,MAAM,EAAE,EAAE,cAAc,EAAE;SAC3B,CAAC,CAAC;KACJ;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAwB;IAC3D,8EAA8E;IAC9E,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;IAE1E,sFAAsF;IACtF,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAEjE,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACjC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,YAAY,GAAG,CAAC,KAA4B,EAAE,QAAgB,EAAE,EAAE;QACtE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,CACL,cAAK,EAAE,EAAC,cAAc,YAEpB,KAAC,IAAI,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAC,UAAU,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,YACvF,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CACpB,eAAC,oBAAoB,OAAK,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,GAAI,CACpE,CAAC,GACG,GACH,CACP,CAAC;AACJ,CAAC","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Tabs from '@mui/material/Tabs';\n\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\n\n// VerticalTabs does NOT have getPConnect. So, no need to extend from PConnProps\ninterface VerticalTabsProps {\n // If any, enter additional props that only exist on this component\n tabconfig: any[];\n}\n\n// The MuiTabs-indicator class is in a span whose parent is div (under the Tabs root component)\n// So, we're going to make the selected vertical tab indicator use a color from our theme.\nconst useStyles = makeStyles(theme => ({\n tabs: {\n '& div > span': {\n backgroundColor: theme.palette.info.dark,\n width: '3px'\n }\n }\n}));\n\n// Implementation of custom event inspired by:\n// https://betterprogramming.pub/master-your-react-skills-with-event-listeners-ebc01dde4fad\nconst createCustomEvent = (eventName: string, additionalData: { [key: string]: string }): CustomEvent | null => {\n if (window) {\n return new CustomEvent(eventName, {\n detail: { additionalData }\n });\n }\n\n return null;\n};\n\nexport default function VerticalTabs(props: VerticalTabsProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const LeftAlignVerticalTab = getComponentFromMap('LeftAlignVerticalTabs');\n\n // Get a React warning when we use tabConfig as mixed case. So all lowercase tabconfig\n const { tabconfig = [] } = props;\n const classes = useStyles();\n const [value, setValue] = useState(0);\n\n useEffect(() => {\n const eventData = { itemClicked: value.toString() };\n const myEvent = createCustomEvent('VerticalTabClick', eventData);\n\n if (myEvent !== null) {\n document.dispatchEvent(myEvent);\n }\n }, [value]);\n\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setValue(newValue);\n };\n\n return (\n <div id='VerticalTabs'>\n {/* VerticalTabs: {JSON.stringify(tabconfig)} */}\n <Tabs className={classes.tabs} orientation='vertical' value={value} onChange={handleChange}>\n {tabconfig.map(tab => (\n <LeftAlignVerticalTab {...props} label={tab.name} key={tab.name} />\n ))}\n </Tabs>\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAO/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,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;CAC5D;AAqBD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CAkKvE"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAO/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,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;CAC5D;AAqBD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CAqLvE"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
- import { makeStyles } from '@material-ui/core/styles';
4
- import Avatar from '@material-ui/core/Avatar';
3
+ import makeStyles from '@mui/styles/makeStyles';
4
+ import Avatar from '@mui/material/Avatar';
5
5
  import { Utils } from '../../helpers/utils';
6
6
  import { NavContext } from '../../helpers/reactContextHelpers';
7
7
  import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
@@ -60,6 +60,24 @@ export default function AppShell(props) {
60
60
  });
61
61
  setMapChildren(tempMap);
62
62
  }, []);
63
+ useEffect(() => {
64
+ // @ts-ignore
65
+ const caseTypesAvailableToCreateDP = PCore.getEnvironmentInfo().environmentInfoObject?.pxApplication?.pyCaseTypesAvailableToCreateDP;
66
+ if (caseTypesAvailableToCreateDP) {
67
+ const portalID = pConn.getValue('.pyOwner');
68
+ PCore.getDataPageUtils()
69
+ .getPageDataAsync(caseTypesAvailableToCreateDP, pConn.getContextName(), {
70
+ PortalName: portalID
71
+ })
72
+ .then(response => {
73
+ if (response?.pyCaseTypesAvailableToCreate) {
74
+ pConn.replaceState('.pyCaseTypesAvailableToCreate', response.pyCaseTypesAvailableToCreate, {
75
+ skipDirtyValidation: true
76
+ });
77
+ }
78
+ });
79
+ }
80
+ }, []);
63
81
  const [iconURL, setIconURL] = useState('');
64
82
  const [fullIconURL, setFullIconURL] = useState('');
65
83
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { PropsWithChildren, useEffect, useState } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Avatar from '@material-ui/core/Avatar';\n\nimport { Utils } from '../../helpers/utils';\nimport { NavContext } from '../../helpers/reactContextHelpers';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { 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}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex'\n },\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\n const { pages = [], caseTypes = [], showAppName, children = [], getPConnect, portalTemplate, portalName, portalLogo, navDisplayOptions } = 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 // 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 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 // eslint-disable-next-line no-console\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'>\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}>{children}</div>\n </div>\n );\n }\n\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n <NavContext.Provider value={{ open, setOpen }}>\n <div id='AppShell' className={classes.root}>\n <NavBar\n getPConnect={getPConnect}\n pConn={getPConnect()}\n appName={localizedVal(appNameToDisplay, '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n pages={pages}\n caseTypes={caseTypes}\n />\n <div className={classes.content}>{children}</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 { 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 { 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}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex'\n },\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\n const { pages = [], caseTypes = [], showAppName, children = [], getPConnect, portalTemplate, portalName, portalLogo, navDisplayOptions } = 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 // 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-ignore\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 => {\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 // eslint-disable-next-line no-console\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'>\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}>{children}</div>\n </div>\n );\n }\n\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n <NavContext.Provider value={{ open, setOpen }}>\n <div id='AppShell' className={classes.root}>\n <NavBar\n getPConnect={getPConnect}\n pConn={getPConnect()}\n appName={localizedVal(appNameToDisplay, '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n pages={pages}\n caseTypes={caseTypes}\n />\n <div className={classes.content}>{children}</div>\n </div>\n </NavContext.Provider>\n );\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable react/jsx-boolean-value */
3
3
  import { useContext, useEffect, useState } from 'react';
4
- import { Avatar, Card, CardHeader, Divider, Typography } from '@material-ui/core';
5
- import { makeStyles } from '@material-ui/core/styles';
6
- import Box from '@material-ui/core/Box';
7
- import Button from '@material-ui/core/Button';
8
- import Grid from '@material-ui/core/Grid';
4
+ import { Avatar, Card, CardHeader, Divider, Typography } from '@mui/material';
5
+ import makeStyles from '@mui/styles/makeStyles';
6
+ import Box from '@mui/material/Box';
7
+ import Button from '@mui/material/Button';
8
+ import Grid from '@mui/material/Grid';
9
9
  import { Utils } from '../../helpers/utils';
10
10
  import StoreContext from '../../../bridge/Context/StoreContext';
11
11
  import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.js","sourceRoot":"","sources":["../../../../src/components/template/CaseView/CaseView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/jsx-boolean-value */\n\nimport { PropsWithChildren, ReactElement, useContext, useEffect, useState } from 'react';\nimport { Avatar, Card, CardHeader, Divider, Typography } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Box from '@material-ui/core/Box';\nimport Button from '@material-ui/core/Button';\nimport Grid from '@material-ui/core/Grid';\n\nimport { Utils } from '../../helpers/utils';\nimport StoreContext from '../../../bridge/Context/StoreContext';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { 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}\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: 'invert(100%)'\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\n const currentCaseID = props.caseInfo.ID;\n let isComponentMounted = true;\n\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 *\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 // @ts-ignore - Argument of type 'boolean' is not assignable to parameter of type 'object'\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 <Grid container>\n <Grid item 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 </Grid>\n\n <Grid item xs={6}>\n {theStagesRegion}\n {theTodoRegion}\n {deferLoadInfo.length > 0 && <DeferLoad getPConnect={getPConnect} name={deferLoadInfo[activeVertTab].config.name} isTab />}\n </Grid>\n\n <Grid item xs={3}>\n {theUtilitiesRegion}\n </Grid>\n </Grid>\n );\n }\n // displayOnlyFA - only show the \"todo\" region\n return (\n <Grid container>\n <Grid item xs={12}>\n {theTodoRegion}\n </Grid>\n </Grid>\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":["/* eslint-disable react/jsx-boolean-value */\n\nimport { PropsWithChildren, 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 Grid from '@mui/material/Grid';\n\nimport { Utils } from '../../helpers/utils';\nimport StoreContext from '../../../bridge/Context/StoreContext';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { 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}\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: 'invert(100%)'\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\n const currentCaseID = props.caseInfo.ID;\n let isComponentMounted = true;\n\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 *\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 // @ts-ignore - Argument of type 'boolean' is not assignable to parameter of type 'object'\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 <Grid container>\n <Grid item 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 </Grid>\n\n <Grid item xs={6}>\n {theStagesRegion}\n {theTodoRegion}\n {deferLoadInfo.length > 0 && <DeferLoad getPConnect={getPConnect} name={deferLoadInfo[activeVertTab].config.name} isTab />}\n </Grid>\n\n <Grid item xs={3}>\n {theUtilitiesRegion}\n </Grid>\n </Grid>\n );\n }\n // displayOnlyFA - only show the \"todo\" region\n return (\n <Grid container>\n <Grid item xs={12}>\n {theTodoRegion}\n </Grid>\n </Grid>\n );\n }\n\n return getContainerContents();\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
- import Button from '@material-ui/core/Button';
4
- import Menu from '@material-ui/core/Menu';
5
- import MenuItem from '@material-ui/core/MenuItem';
6
- import Snackbar from '@material-ui/core/Snackbar';
7
- import IconButton from '@material-ui/core/IconButton';
8
- import CloseIcon from '@material-ui/icons/Close';
3
+ import Button from '@mui/material/Button';
4
+ import Menu from '@mui/material/Menu';
5
+ import MenuItem from '@mui/material/MenuItem';
6
+ import Snackbar from '@mui/material/Snackbar';
7
+ import IconButton from '@mui/material/IconButton';
8
+ import CloseIcon from '@mui/icons-material/Close';
9
9
  export default function CaseViewActionsMenu(props) {
10
10
  const { getPConnect, availableActions, availableProcesses, caseTypeID, caseTypeName } = props;
11
11
  const thePConn = getPConnect();