@pega/react-sdk-components 0.23.7 → 0.23.9

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 (102) hide show
  1. package/lib/components/designSystemExtensions/DetailsFields/DetailsFields.d.ts.map +1 -1
  2. package/lib/components/designSystemExtensions/DetailsFields/DetailsFields.js +11 -17
  3. package/lib/components/designSystemExtensions/DetailsFields/DetailsFields.js.map +1 -1
  4. package/lib/components/designSystemExtensions/FieldGroupList/FieldGroupList.d.ts.map +1 -1
  5. package/lib/components/designSystemExtensions/FieldGroupList/FieldGroupList.js +4 -4
  6. package/lib/components/designSystemExtensions/FieldGroupList/FieldGroupList.js.map +1 -1
  7. package/lib/components/forms/AutoComplete/AutoComplete.d.ts.map +1 -1
  8. package/lib/components/forms/AutoComplete/AutoComplete.js +7 -2
  9. package/lib/components/forms/AutoComplete/AutoComplete.js.map +1 -1
  10. package/lib/components/helpers/reactContextHelpers.d.ts +9 -0
  11. package/lib/components/helpers/reactContextHelpers.d.ts.map +1 -0
  12. package/lib/components/helpers/reactContextHelpers.js +9 -0
  13. package/lib/components/helpers/reactContextHelpers.js.map +1 -0
  14. package/lib/components/infra/Assignment/Assignment.d.ts +2 -2
  15. package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
  16. package/lib/components/infra/Assignment/Assignment.js +6 -4
  17. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  18. package/lib/components/infra/Attachment/Attachment.d.ts.map +1 -1
  19. package/lib/components/infra/Attachment/Attachment.js +38 -3
  20. package/lib/components/infra/Attachment/Attachment.js.map +1 -1
  21. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +1 -1
  22. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
  23. package/lib/components/infra/NavBar/NavBar.js +1 -1
  24. package/lib/components/infra/NavBar/NavBar.js.map +1 -1
  25. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.d.ts +3 -0
  26. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.d.ts.map +1 -0
  27. package/lib/components/infra/VerticalTabs/{LeftAlignVerticalTab.js → LeftAlignVerticalTabs/LeftAlignVerticalTabs.js} +3 -3
  28. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js.map +1 -0
  29. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/index.d.ts +2 -0
  30. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/index.d.ts.map +1 -0
  31. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/index.js +2 -0
  32. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/index.js.map +1 -0
  33. package/lib/components/infra/VerticalTabs/{VerticalTabs.d.ts → VerticalTabs/VerticalTabs.d.ts} +0 -0
  34. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.d.ts.map +1 -0
  35. package/lib/components/infra/VerticalTabs/{VerticalTabs.js → VerticalTabs/VerticalTabs.js} +1 -1
  36. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js.map +1 -0
  37. package/lib/components/infra/VerticalTabs/{index.d.ts → VerticalTabs/index.d.ts} +0 -0
  38. package/lib/components/infra/VerticalTabs/VerticalTabs/index.d.ts.map +1 -0
  39. package/lib/components/infra/VerticalTabs/{index.js → VerticalTabs/index.js} +0 -0
  40. package/lib/components/infra/VerticalTabs/VerticalTabs/index.js.map +1 -0
  41. package/lib/components/templates/AppShell/AppShell.d.ts +0 -4
  42. package/lib/components/templates/AppShell/AppShell.d.ts.map +1 -1
  43. package/lib/components/templates/AppShell/AppShell.js +2 -3
  44. package/lib/components/templates/AppShell/AppShell.js.map +1 -1
  45. package/lib/components/templates/AppShell/index.js.map +1 -1
  46. package/lib/components/templates/CaseView/CaseView.js +2 -2
  47. package/lib/components/templates/CaseView/CaseView.js.map +1 -1
  48. package/lib/components/templates/{CaseView → CaseViewActionsMenu}/CaseViewActionsMenu.d.ts +0 -0
  49. package/lib/components/templates/CaseViewActionsMenu/CaseViewActionsMenu.d.ts.map +1 -0
  50. package/lib/components/templates/{CaseView → CaseViewActionsMenu}/CaseViewActionsMenu.js +1 -1
  51. package/lib/components/templates/CaseViewActionsMenu/CaseViewActionsMenu.js.map +1 -0
  52. package/lib/components/templates/CaseViewActionsMenu/index.d.ts +2 -0
  53. package/lib/components/templates/CaseViewActionsMenu/index.d.ts.map +1 -0
  54. package/lib/components/templates/CaseViewActionsMenu/index.js +2 -0
  55. package/lib/components/templates/CaseViewActionsMenu/index.js.map +1 -0
  56. package/lib/components/templates/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
  57. package/lib/components/templates/FieldGroupTemplate/FieldGroupTemplate.js +3 -3
  58. package/lib/components/templates/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
  59. package/lib/components/templates/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
  60. package/lib/components/templates/SimpleTable/SimpleTableManual/SimpleTableManual.js +3 -1
  61. package/lib/components/templates/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
  62. package/lib/components/widgets/FileUtility/{ActionButtonsForFileUtil.css → ActionButtonsForFileUtil/ActionButtonsForFileUtil.css} +0 -0
  63. package/lib/components/widgets/FileUtility/{ActionButtonsForFileUtil.d.ts → ActionButtonsForFileUtil/ActionButtonsForFileUtil.d.ts} +0 -0
  64. package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.d.ts.map +1 -0
  65. package/lib/components/widgets/FileUtility/{ActionButtonsForFileUtil.js → ActionButtonsForFileUtil/ActionButtonsForFileUtil.js} +0 -0
  66. package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js.map +1 -0
  67. package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/index.d.ts +2 -0
  68. package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/index.d.ts.map +1 -0
  69. package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/index.js +2 -0
  70. package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil/index.js.map +1 -0
  71. package/lib/components/widgets/FileUtility/{FileUtility.css → FileUtility/FileUtility.css} +0 -0
  72. package/lib/components/widgets/FileUtility/{FileUtility.d.ts → FileUtility/FileUtility.d.ts} +0 -0
  73. package/lib/components/widgets/FileUtility/FileUtility/FileUtility.d.ts.map +1 -0
  74. package/lib/components/widgets/FileUtility/{FileUtility.js → FileUtility/FileUtility.js} +4 -4
  75. package/lib/components/widgets/FileUtility/FileUtility/FileUtility.js.map +1 -0
  76. package/lib/components/widgets/FileUtility/FileUtility/index.d.ts +2 -0
  77. package/lib/components/widgets/FileUtility/FileUtility/index.d.ts.map +1 -0
  78. package/lib/components/widgets/FileUtility/FileUtility/index.js +2 -0
  79. package/lib/components/widgets/FileUtility/FileUtility/index.js.map +1 -0
  80. package/lib/components/widgets/SummaryItem/SummaryItem.js +1 -1
  81. package/lib/components/widgets/SummaryItem/SummaryItem.js.map +1 -1
  82. package/lib/sdk-pega-component-map.d.ts +7 -1
  83. package/lib/sdk-pega-component-map.js +7 -1
  84. package/lib/sdk-pega-component-map.js.map +1 -1
  85. package/package.json +1 -1
  86. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTab.d.ts +0 -3
  87. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTab.d.ts.map +0 -1
  88. package/lib/components/infra/VerticalTabs/LeftAlignVerticalTab.js.map +0 -1
  89. package/lib/components/infra/VerticalTabs/VerticalTabs.d.ts.map +0 -1
  90. package/lib/components/infra/VerticalTabs/VerticalTabs.js.map +0 -1
  91. package/lib/components/infra/VerticalTabs/index.d.ts.map +0 -1
  92. package/lib/components/infra/VerticalTabs/index.js.map +0 -1
  93. package/lib/components/templates/CaseView/CaseViewActionsMenu.d.ts.map +0 -1
  94. package/lib/components/templates/CaseView/CaseViewActionsMenu.js.map +0 -1
  95. package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil.d.ts.map +0 -1
  96. package/lib/components/widgets/FileUtility/ActionButtonsForFileUtil.js.map +0 -1
  97. package/lib/components/widgets/FileUtility/FileUtility.d.ts.map +0 -1
  98. package/lib/components/widgets/FileUtility/FileUtility.js.map +0 -1
  99. package/lib/components/widgets/FileUtility/index.d.ts +0 -1
  100. package/lib/components/widgets/FileUtility/index.d.ts.map +0 -1
  101. package/lib/components/widgets/FileUtility/index.js +0 -2
  102. package/lib/components/widgets/FileUtility/index.js.map +0 -1
@@ -231,7 +231,7 @@ const ModalViewContainer = props => {
231
231
  return (React.createElement(React.Fragment, null,
232
232
  React.createElement(Dialog, { open: bShowModal, "aria-labelledby": 'form-dialog-title' },
233
233
  React.createElement(DialogTitle, { id: 'form-dialog-title', className: classes.dlgTitle }, title),
234
- React.createElement(DialogContent, { className: classes.dlgContent }, bShowModal ? (React.createElement(Assignment, { getPConnect: createdView.getPConnect, itemKey: itemKey, isCreateStage: true }, arNewChildrenAsReact)) : (React.createElement(React.Fragment, null)))),
234
+ React.createElement(DialogContent, { className: classes.dlgContent }, bShowModal ? (React.createElement(Assignment, { getPConnect: createdView.getPConnect, itemKey: itemKey, isInModal: true }, arNewChildrenAsReact)) : (React.createElement(React.Fragment, null)))),
235
235
  bShowCancelAlert && (React.createElement(CancelAlert, { pConn: cancelPConn, showAlert: bShowCancelAlert, updateAlertState: updateAlertState }))));
236
236
  };
237
237
  export default ModalViewContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalViewContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ModalViewContainer/ModalViewContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'fast-deep-equal';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport { makeStyles } from '@material-ui/core/styles';\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport Assignment from '../../Assignment';\nimport CancelAlert from '../../../forms/CancelAlert';\nimport Utils from '../../../helpers/utils';\n\ndeclare const PCore;\n\nfunction buildName(pConnect, name = '') {\n const context = pConnect.getContextName();\n return `${context}/${name}`;\n}\n\nfunction getKeyAndLatestItem(routinginfo, pConn) {\n const containerName = pConn.getContainerName();\n if (PCore.getContainerUtils().hasContainerItems(buildName(pConn, containerName))) {\n const { accessedOrder, items } = routinginfo;\n const key = accessedOrder[accessedOrder.length - 1];\n const latestItem = items[key];\n return { key, latestItem };\n }\n return {};\n}\n\nfunction getConfigObject(item, pConnect) {\n if (item) {\n const { context, view } = item;\n const config = {\n meta: view,\n options: {\n context,\n pageReference: view.config.context || pConnect.getPageReference(),\n hasForm: true\n }\n };\n return PCore.createPConnect(config);\n }\n return null;\n}\n\nconst useStyles = makeStyles(theme => ({\n dlgTitle: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(0)\n // paddingLeft: theme.spacing(0),\n // paddingRight: theme.spacing(0),\n // paddingTop: theme.spacing(0),\n // paddingBottom: theme.spacing(0),\n },\n dlgContent: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(0),\n marginBottom: theme.spacing(2)\n // paddingLeft: theme.spacing(0),\n // paddingRight: theme.spacing(0),\n // paddingTop: theme.spacing(0),\n // paddingBottom: theme.spacing(0),\n }\n}));\n\nconst ModalViewContainer = props => {\n const classes = useStyles();\n\n const routingInfoRef = useRef({});\n const { getPConnect, routingInfo, loadingInfo } = props;\n const pConn = getPConnect();\n const {\n CONTAINER_TYPE: { MULTIPLE },\n PUB_SUB_EVENTS: { EVENT_SHOW_CANCEL_ALERT }\n } = PCore.getConstants();\n const { subscribe } = PCore.getPubSubUtils();\n const [bShowModal, setShowModal] = useState(false);\n const [bSubscribed, setSubscribed] = useState(false);\n const [bShowCancelAlert, setShowCancelAlert] = useState(false);\n const [oCaseInfo, setOCaseInfo] = useState({});\n const [createdView, setCreatedView] = useState<any>(null);\n const [title, setTitle] = useState('');\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<Array<any>>([]);\n const [itemKey, setItemKey] = useState('');\n const [cancelPConn, setCancelPConn] = useState(null);\n\n function showAlert(payload) {\n const { latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn);\n const { isModalAction } = payload;\n\n /*\n If we are in create stage full page mode, created a new case and trying to click on cancel button\n it will show two alert dialogs which is not expected. Hence isModalAction flag to avoid that.\n */\n if (latestItem && isModalAction) {\n const configObject = getConfigObject(latestItem, pConn);\n setCancelPConn(configObject.getPConnect());\n setShowCancelAlert(true);\n }\n }\n\n function compareCaseInfoIsDifferent(oCurrentCaseInfo: Object): boolean {\n let bRet = false;\n\n // fast-deep-equal version\n if (isEqual !== undefined) {\n bRet = !isEqual(oCaseInfo, oCurrentCaseInfo);\n } else {\n const sCurrentCaseInfo = JSON.stringify(oCurrentCaseInfo);\n const sOldCaseInfo = JSON.stringify(oCaseInfo);\n // stringify compare version\n if (sCurrentCaseInfo !== sOldCaseInfo) {\n bRet = true;\n }\n }\n\n // if different, save off new case info\n if (bRet) {\n setOCaseInfo(JSON.parse(JSON.stringify(oCurrentCaseInfo)));\n }\n\n return bRet;\n }\n\n const updateAlertState = modalFlag => {\n setShowCancelAlert(false);\n setShowModal(modalFlag);\n };\n\n useEffect(() => {\n // Establish the necessary containers\n const containerMgr = pConn.getContainerManager();\n containerMgr.initializeContainers({ type: MULTIPLE });\n }, [MULTIPLE, pConn]);\n\n useEffect(() => {\n // Update routingInfoRef.current whenever routingInfo changes\n routingInfoRef.current = routingInfo;\n }, [routingInfo]);\n\n useEffect(() => {\n if (routingInfoRef.current && !loadingInfo) {\n const currentOrder = routingInfo.accessedOrder;\n\n if (undefined === currentOrder) {\n return;\n }\n\n const currentItems = routingInfo.items;\n\n const { key, latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn);\n\n // console.log(`ModalViewContainer: key: ${key} latestItem: ${JSON.stringify(latestItem)}`);\n\n if (currentOrder.length > 0) {\n if (\n currentItems[key] &&\n currentItems[key].view &&\n !Utils.isEmptyObject(currentItems[key].view)\n ) {\n const currentItem = currentItems[key];\n const rootView = currentItem.view;\n const { context } = rootView.config;\n const config = { meta: rootView };\n config['options'] = {\n context: currentItem.context,\n hasForm: true,\n pageReference: context || pConn.getPageReference()\n };\n\n if (!bSubscribed) {\n setSubscribed(true);\n subscribe(\n EVENT_SHOW_CANCEL_ALERT,\n showAlert,\n EVENT_SHOW_CANCEL_ALERT /* Unique string for subscription */\n );\n }\n\n const configObject = PCore.createPConnect(config);\n\n // THIS is where the ViewContainer creates a View\n // The config has meta.config.type = \"view\"\n const newComp = configObject.getPConnect();\n // const newCompName = newComp.getComponentName();\n const caseInfo =\n newComp && newComp.getDataObject() && newComp.getDataObject().caseInfo\n ? newComp.getDataObject().caseInfo\n : null;\n\n // console.log(`ModalViewContainer just created newComp: ${newCompName}`);\n\n // The metadata for pyDetails changed such that the \"template\": \"CaseView\"\n // is no longer a child of the created View but is in the created View's\n // config. So, we DON'T want to replace this.pConn$ since the created\n // component is a View (and not a ViewContainer). We now look for the\n // \"template\" type directly in the created component (newComp) and NOT\n // as a child of the newly created component.\n // console.log(`---> ModalViewContainer created new ${newCompName}`);\n\n // Use the newly created component (View) info but DO NOT replace\n // this ModalViewContainer's pConn$, etc.\n // Note that we're now using the newly created View's PConnect in the\n // ViewContainer HTML template to guide what's rendered similar to what\n // the React return of React.Fragment does\n\n // right now need to check caseInfo for changes, to trigger redraw, not getting\n // changes from angularPconnect except for first draw\n if (newComp && caseInfo && compareCaseInfoIsDifferent(caseInfo)) {\n setCreatedView(configObject);\n\n const { actionName } = latestItem;\n const theNewCaseInfo = newComp.getCaseInfo();\n const caseName = theNewCaseInfo.getName();\n const ID = theNewCaseInfo.getID();\n\n setTitle(actionName || `New ${caseName} (${ID})`);\n\n let arChildrenAsReact: Array<any> = [];\n\n if (newComp.getComponentName() === 'reference') {\n // Reference component doesn't have children. It can build the View we want.\n // The Reference component getPConnect is in configObject\n\n arChildrenAsReact.push(\n createElement(createPConnectComponent(), {\n ...configObject,\n key: `${caseName}-${ID}`\n })\n );\n } else {\n // This is the 8.6 implementation. Leaving it in for reference for now.\n // And create a similar array of the children as React components\n // passed to Assignment component when rendered\n arChildrenAsReact = newComp.getChildren().map(child => {\n // Use Case Summary ID as the React element's key\n const caseSummaryID = child.getPConnect().getCaseSummary().ID;\n return createElement(createPConnectComponent(), { ...child, key: caseSummaryID });\n });\n }\n\n if (arChildrenAsReact.length > 0) setArNewChildrenAsReact(arChildrenAsReact);\n\n setShowModal(true);\n\n // save off itemKey to be used for finishAssignment, etc.\n setItemKey(key);\n }\n }\n } else {\n if (bShowModal) {\n setShowModal(false);\n }\n if (!Utils.isEmptyObject(oCaseInfo)) {\n setOCaseInfo({});\n }\n }\n }\n });\n\n // function placeholderModalClose() {\n // // Intentionally a no-op. Similar behavior in other SDKs.\n // // Does NOT close the window. This forces the user to use\n // // the cancel or submit button to close the modal (which, in turn, gets the right\n // // Constellation code to run to clean up the containers, data, etc.)\n\n // // console.log(`ModalViewContainer: placeholderModalClose setting bShowModal to false`) setShowModal(false);\n // }\n\n // if (bShowModal) {\n // console.log(`ModalViewContainer about to show modal with`);\n // console.log(`--> createdView: ${createdView} createdView.getPConnect: ${typeof createdView.getPConnect}`);\n // console.log(`--> itemKey: ${itemKey}`);\n // console.log(`--> arNewChildrenAsReact: ${JSON.stringify(arNewChildrenAsReact)}`);\n // }\n\n return (\n <>\n <Dialog open={bShowModal} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title' className={classes.dlgTitle}>\n {title}\n </DialogTitle>\n <DialogContent className={classes.dlgContent}>\n {bShowModal ? (\n <Assignment getPConnect={createdView.getPConnect} itemKey={itemKey} isCreateStage>\n {arNewChildrenAsReact}\n </Assignment>\n ) : (\n <></>\n )}\n </DialogContent>\n </Dialog>\n {bShowCancelAlert && (\n <CancelAlert\n pConn={cancelPConn}\n showAlert={bShowCancelAlert}\n updateAlertState={updateAlertState}\n />\n )}\n </>\n );\n};\n\nexport default ModalViewContainer;\n\nModalViewContainer.defaultProps = {\n getPConnect: null,\n loadingInfo: false,\n routingInfo: null\n};\n\nModalViewContainer.propTypes = {\n getPConnect: PropTypes.func,\n loadingInfo: PropTypes.bool,\n routingInfo: PropTypes.objectOf(PropTypes.any)\n};\n"]}
1
+ {"version":3,"file":"ModalViewContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ModalViewContainer/ModalViewContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,OAAO,MAAM,iBAAiB,CAAC;AACtC,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,MAAM,wBAAwB,CAAC;AAI3C,SAAS,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAC1C,OAAO,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAW,EAAE,KAAK;IAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAC/C,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE;QAChF,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;KAC5B;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,eAAe,CAAC,IAAI,EAAE,QAAQ;IACrC,IAAI,IAAI,EAAE;QACR,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,OAAO;gBACP,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,gBAAgB,EAAE;gBACjE,OAAO,EAAE,IAAI;aACd;SACF,CAAC;QACF,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KACrC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,QAAQ,EAAE;QACR,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,iCAAiC;QACjC,kCAAkC;QAClC,gCAAgC;QAChC,mCAAmC;KACpC;IACD,UAAU,EAAE;QACV,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,iCAAiC;QACjC,kCAAkC;QAClC,gCAAgC;QAChC,mCAAmC;KACpC;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,kBAAkB,GAAG,KAAK,CAAC,EAAE;IACjC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACxD,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,EACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,EAC5B,cAAc,EAAE,EAAE,uBAAuB,EAAE,EAC5C,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAM,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IACjF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAErD,SAAS,SAAS,CAAC,OAAO;QACxB,MAAM,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1E,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAElC;;;UAGE;QACF,IAAI,UAAU,IAAI,aAAa,EAAE;YAC/B,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACxD,cAAc,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3C,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,SAAS,0BAA0B,CAAC,gBAAwB;QAC1D,IAAI,IAAI,GAAG,KAAK,CAAC;QAEjB,0BAA0B;QAC1B,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;SAC9C;aAAM;YACL,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC/C,4BAA4B;YAC5B,IAAI,gBAAgB,KAAK,YAAY,EAAE;gBACrC,IAAI,GAAG,IAAI,CAAC;aACb;SACF;QAED,uCAAuC;QACvC,IAAI,IAAI,EAAE;YACR,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAC5D;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,EAAE;QACnC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,qCAAqC;QACrC,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;QACjD,YAAY,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAEtB,SAAS,CAAC,GAAG,EAAE;QACb,6DAA6D;QAC7D,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACvC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE;YAC1C,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC;YAE/C,IAAI,SAAS,KAAK,YAAY,EAAE;gBAC9B,OAAO;aACR;YAED,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;YAEvC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE/E,4FAA4F;YAE5F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,IACE,YAAY,CAAC,GAAG,CAAC;oBACjB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI;oBACtB,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAC5C;oBACA,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;oBACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;oBAClC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;oBACpC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAClC,MAAM,CAAC,SAAS,CAAC,GAAG;wBAClB,OAAO,EAAE,WAAW,CAAC,OAAO;wBAC5B,OAAO,EAAE,IAAI;wBACb,aAAa,EAAE,OAAO,IAAI,KAAK,CAAC,gBAAgB,EAAE;qBACnD,CAAC;oBAEF,IAAI,CAAC,WAAW,EAAE;wBAChB,aAAa,CAAC,IAAI,CAAC,CAAC;wBACpB,SAAS,CACP,uBAAuB,EACvB,SAAS,EACT,uBAAuB,CAAC,oCAAoC,CAC7D,CAAC;qBACH;oBAED,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAElD,iDAAiD;oBACjD,8CAA8C;oBAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC3C,kDAAkD;oBAClD,MAAM,QAAQ,GACZ,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ;wBACpE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ;wBAClC,CAAC,CAAC,IAAI,CAAC;oBAEX,0EAA0E;oBAE1E,0EAA0E;oBAC1E,yEAAyE;oBACzE,sEAAsE;oBACtE,sEAAsE;oBACtE,uEAAuE;oBACvE,8CAA8C;oBAC9C,qEAAqE;oBAErE,iEAAiE;oBACjE,0CAA0C;oBAC1C,sEAAsE;oBACtE,wEAAwE;oBACxE,2CAA2C;oBAE3C,+EAA+E;oBAC/E,qDAAqD;oBACrD,IAAI,OAAO,IAAI,QAAQ,IAAI,0BAA0B,CAAC,QAAQ,CAAC,EAAE;wBAC/D,cAAc,CAAC,YAAY,CAAC,CAAC;wBAE7B,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;wBAClC,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;wBAC1C,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;wBAElC,QAAQ,CAAC,UAAU,IAAI,OAAO,QAAQ,KAAK,EAAE,GAAG,CAAC,CAAC;wBAElD,IAAI,iBAAiB,GAAe,EAAE,CAAC;wBAEvC,IAAI,OAAO,CAAC,gBAAgB,EAAE,KAAK,WAAW,EAAE;4BAC9C,4EAA4E;4BAC5E,0DAA0D;4BAE1D,iBAAiB,CAAC,IAAI,CACpB,aAAa,CAAC,uBAAuB,EAAE,EAAE;gCACvC,GAAG,YAAY;gCACf,GAAG,EAAE,GAAG,QAAQ,IAAI,EAAE,EAAE;6BACzB,CAAC,CACH,CAAC;yBACH;6BAAM;4BACL,uEAAuE;4BACvE,iEAAiE;4BACjE,gDAAgD;4BAChD,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gCACpD,iDAAiD;gCACjD,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;gCAC9D,OAAO,aAAa,CAAC,uBAAuB,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;4BACpF,CAAC,CAAC,CAAC;yBACJ;wBAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;4BAAE,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;wBAE7E,YAAY,CAAC,IAAI,CAAC,CAAC;wBAEnB,yDAAyD;wBACzD,UAAU,CAAC,GAAG,CAAC,CAAC;qBACjB;iBACF;aACF;iBAAM;gBACL,IAAI,UAAU,EAAE;oBACd,YAAY,CAAC,KAAK,CAAC,CAAC;iBACrB;gBACD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;oBACnC,YAAY,CAAC,EAAE,CAAC,CAAC;iBAClB;aACF;SACF;IACH,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,8DAA8D;IAC9D,+DAA+D;IAC/D,uFAAuF;IACvF,0EAA0E;IAE1E,oHAAoH;IACpH,IAAI;IAEJ,oBAAoB;IACpB,gEAAgE;IAChE,+GAA+G;IAC/G,4CAA4C;IAC5C,sFAAsF;IACtF,IAAI;IAEJ,OAAO,CACL;QACE,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,qBAAkB,mBAAmB;YAC3D,oBAAC,WAAW,IAAC,EAAE,EAAC,mBAAmB,EAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,IAC5D,KAAK,CACM;YACd,oBAAC,aAAa,IAAC,SAAS,EAAE,OAAO,CAAC,UAAU,IACzC,UAAU,CAAC,CAAC,CAAC,CACZ,oBAAC,UAAU,IAAC,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,UAC1E,oBAAoB,CACV,CACd,CAAC,CAAC,CAAC,CACF,yCAAK,CACN,CACa,CACT;QACR,gBAAgB,IAAI,CACnB,oBAAC,WAAW,IACV,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CACA,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC;AAElC,kBAAkB,CAAC,YAAY,GAAG;IAChC,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,kBAAkB,CAAC,SAAS,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,IAAI;IAC3B,WAAW,EAAE,SAAS,CAAC,IAAI;IAC3B,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;CAC/C,CAAC","sourcesContent":["import React, { useEffect, useRef, useState, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'fast-deep-equal';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport { makeStyles } from '@material-ui/core/styles';\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport Assignment from '../../Assignment';\nimport CancelAlert from '../../../forms/CancelAlert';\nimport Utils from '../../../helpers/utils';\n\ndeclare const PCore;\n\nfunction buildName(pConnect, name = '') {\n const context = pConnect.getContextName();\n return `${context}/${name}`;\n}\n\nfunction getKeyAndLatestItem(routinginfo, pConn) {\n const containerName = pConn.getContainerName();\n if (PCore.getContainerUtils().hasContainerItems(buildName(pConn, containerName))) {\n const { accessedOrder, items } = routinginfo;\n const key = accessedOrder[accessedOrder.length - 1];\n const latestItem = items[key];\n return { key, latestItem };\n }\n return {};\n}\n\nfunction getConfigObject(item, pConnect) {\n if (item) {\n const { context, view } = item;\n const config = {\n meta: view,\n options: {\n context,\n pageReference: view.config.context || pConnect.getPageReference(),\n hasForm: true\n }\n };\n return PCore.createPConnect(config);\n }\n return null;\n}\n\nconst useStyles = makeStyles(theme => ({\n dlgTitle: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(0)\n // paddingLeft: theme.spacing(0),\n // paddingRight: theme.spacing(0),\n // paddingTop: theme.spacing(0),\n // paddingBottom: theme.spacing(0),\n },\n dlgContent: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(0),\n marginBottom: theme.spacing(2)\n // paddingLeft: theme.spacing(0),\n // paddingRight: theme.spacing(0),\n // paddingTop: theme.spacing(0),\n // paddingBottom: theme.spacing(0),\n }\n}));\n\nconst ModalViewContainer = props => {\n const classes = useStyles();\n\n const routingInfoRef = useRef({});\n const { getPConnect, routingInfo, loadingInfo } = props;\n const pConn = getPConnect();\n const {\n CONTAINER_TYPE: { MULTIPLE },\n PUB_SUB_EVENTS: { EVENT_SHOW_CANCEL_ALERT }\n } = PCore.getConstants();\n const { subscribe } = PCore.getPubSubUtils();\n const [bShowModal, setShowModal] = useState(false);\n const [bSubscribed, setSubscribed] = useState(false);\n const [bShowCancelAlert, setShowCancelAlert] = useState(false);\n const [oCaseInfo, setOCaseInfo] = useState({});\n const [createdView, setCreatedView] = useState<any>(null);\n const [title, setTitle] = useState('');\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<Array<any>>([]);\n const [itemKey, setItemKey] = useState('');\n const [cancelPConn, setCancelPConn] = useState(null);\n\n function showAlert(payload) {\n const { latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn);\n const { isModalAction } = payload;\n\n /*\n If we are in create stage full page mode, created a new case and trying to click on cancel button\n it will show two alert dialogs which is not expected. Hence isModalAction flag to avoid that.\n */\n if (latestItem && isModalAction) {\n const configObject = getConfigObject(latestItem, pConn);\n setCancelPConn(configObject.getPConnect());\n setShowCancelAlert(true);\n }\n }\n\n function compareCaseInfoIsDifferent(oCurrentCaseInfo: Object): boolean {\n let bRet = false;\n\n // fast-deep-equal version\n if (isEqual !== undefined) {\n bRet = !isEqual(oCaseInfo, oCurrentCaseInfo);\n } else {\n const sCurrentCaseInfo = JSON.stringify(oCurrentCaseInfo);\n const sOldCaseInfo = JSON.stringify(oCaseInfo);\n // stringify compare version\n if (sCurrentCaseInfo !== sOldCaseInfo) {\n bRet = true;\n }\n }\n\n // if different, save off new case info\n if (bRet) {\n setOCaseInfo(JSON.parse(JSON.stringify(oCurrentCaseInfo)));\n }\n\n return bRet;\n }\n\n const updateAlertState = modalFlag => {\n setShowCancelAlert(false);\n setShowModal(modalFlag);\n };\n\n useEffect(() => {\n // Establish the necessary containers\n const containerMgr = pConn.getContainerManager();\n containerMgr.initializeContainers({ type: MULTIPLE });\n }, [MULTIPLE, pConn]);\n\n useEffect(() => {\n // Update routingInfoRef.current whenever routingInfo changes\n routingInfoRef.current = routingInfo;\n }, [routingInfo]);\n\n useEffect(() => {\n if (routingInfoRef.current && !loadingInfo) {\n const currentOrder = routingInfo.accessedOrder;\n\n if (undefined === currentOrder) {\n return;\n }\n\n const currentItems = routingInfo.items;\n\n const { key, latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn);\n\n // console.log(`ModalViewContainer: key: ${key} latestItem: ${JSON.stringify(latestItem)}`);\n\n if (currentOrder.length > 0) {\n if (\n currentItems[key] &&\n currentItems[key].view &&\n !Utils.isEmptyObject(currentItems[key].view)\n ) {\n const currentItem = currentItems[key];\n const rootView = currentItem.view;\n const { context } = rootView.config;\n const config = { meta: rootView };\n config['options'] = {\n context: currentItem.context,\n hasForm: true,\n pageReference: context || pConn.getPageReference()\n };\n\n if (!bSubscribed) {\n setSubscribed(true);\n subscribe(\n EVENT_SHOW_CANCEL_ALERT,\n showAlert,\n EVENT_SHOW_CANCEL_ALERT /* Unique string for subscription */\n );\n }\n\n const configObject = PCore.createPConnect(config);\n\n // THIS is where the ViewContainer creates a View\n // The config has meta.config.type = \"view\"\n const newComp = configObject.getPConnect();\n // const newCompName = newComp.getComponentName();\n const caseInfo =\n newComp && newComp.getDataObject() && newComp.getDataObject().caseInfo\n ? newComp.getDataObject().caseInfo\n : null;\n\n // console.log(`ModalViewContainer just created newComp: ${newCompName}`);\n\n // The metadata for pyDetails changed such that the \"template\": \"CaseView\"\n // is no longer a child of the created View but is in the created View's\n // config. So, we DON'T want to replace this.pConn$ since the created\n // component is a View (and not a ViewContainer). We now look for the\n // \"template\" type directly in the created component (newComp) and NOT\n // as a child of the newly created component.\n // console.log(`---> ModalViewContainer created new ${newCompName}`);\n\n // Use the newly created component (View) info but DO NOT replace\n // this ModalViewContainer's pConn$, etc.\n // Note that we're now using the newly created View's PConnect in the\n // ViewContainer HTML template to guide what's rendered similar to what\n // the React return of React.Fragment does\n\n // right now need to check caseInfo for changes, to trigger redraw, not getting\n // changes from angularPconnect except for first draw\n if (newComp && caseInfo && compareCaseInfoIsDifferent(caseInfo)) {\n setCreatedView(configObject);\n\n const { actionName } = latestItem;\n const theNewCaseInfo = newComp.getCaseInfo();\n const caseName = theNewCaseInfo.getName();\n const ID = theNewCaseInfo.getID();\n\n setTitle(actionName || `New ${caseName} (${ID})`);\n\n let arChildrenAsReact: Array<any> = [];\n\n if (newComp.getComponentName() === 'reference') {\n // Reference component doesn't have children. It can build the View we want.\n // The Reference component getPConnect is in configObject\n\n arChildrenAsReact.push(\n createElement(createPConnectComponent(), {\n ...configObject,\n key: `${caseName}-${ID}`\n })\n );\n } else {\n // This is the 8.6 implementation. Leaving it in for reference for now.\n // And create a similar array of the children as React components\n // passed to Assignment component when rendered\n arChildrenAsReact = newComp.getChildren().map(child => {\n // Use Case Summary ID as the React element's key\n const caseSummaryID = child.getPConnect().getCaseSummary().ID;\n return createElement(createPConnectComponent(), { ...child, key: caseSummaryID });\n });\n }\n\n if (arChildrenAsReact.length > 0) setArNewChildrenAsReact(arChildrenAsReact);\n\n setShowModal(true);\n\n // save off itemKey to be used for finishAssignment, etc.\n setItemKey(key);\n }\n }\n } else {\n if (bShowModal) {\n setShowModal(false);\n }\n if (!Utils.isEmptyObject(oCaseInfo)) {\n setOCaseInfo({});\n }\n }\n }\n });\n\n // function placeholderModalClose() {\n // // Intentionally a no-op. Similar behavior in other SDKs.\n // // Does NOT close the window. This forces the user to use\n // // the cancel or submit button to close the modal (which, in turn, gets the right\n // // Constellation code to run to clean up the containers, data, etc.)\n\n // // console.log(`ModalViewContainer: placeholderModalClose setting bShowModal to false`) setShowModal(false);\n // }\n\n // if (bShowModal) {\n // console.log(`ModalViewContainer about to show modal with`);\n // console.log(`--> createdView: ${createdView} createdView.getPConnect: ${typeof createdView.getPConnect}`);\n // console.log(`--> itemKey: ${itemKey}`);\n // console.log(`--> arNewChildrenAsReact: ${JSON.stringify(arNewChildrenAsReact)}`);\n // }\n\n return (\n <>\n <Dialog open={bShowModal} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title' className={classes.dlgTitle}>\n {title}\n </DialogTitle>\n <DialogContent className={classes.dlgContent}>\n {bShowModal ? (\n <Assignment getPConnect={createdView.getPConnect} itemKey={itemKey} isInModal>\n {arNewChildrenAsReact}\n </Assignment>\n ) : (\n <></>\n )}\n </DialogContent>\n </Dialog>\n {bShowCancelAlert && (\n <CancelAlert\n pConn={cancelPConn}\n showAlert={bShowCancelAlert}\n updateAlertState={updateAlertState}\n />\n )}\n </>\n );\n};\n\nexport default ModalViewContainer;\n\nModalViewContainer.defaultProps = {\n getPConnect: null,\n loadingInfo: false,\n routingInfo: null\n};\n\nModalViewContainer.propTypes = {\n getPConnect: PropTypes.func,\n loadingInfo: PropTypes.bool,\n routingInfo: PropTypes.objectOf(PropTypes.any)\n};\n"]}
@@ -17,7 +17,7 @@ import WorkOutlineIcon from '@material-ui/icons/WorkOutline';
17
17
  import ClearOutlinedIcon from '@material-ui/icons/ClearOutlined';
18
18
  import ArrowBackIcon from '@material-ui/icons/ArrowBack';
19
19
  import useMediaQuery from '@material-ui/core/useMediaQuery';
20
- import { useNavBar } from "../../templates/AppShell/AppShell";
20
+ import { useNavBar } from "../../helpers/reactContextHelpers";
21
21
  import { logout } from '../../helpers/authManager';
22
22
  const iconMap = {
23
23
  "pi pi-headline": React.createElement(HomeOutlinedIcon, { fontSize: "large" }),
@@ -1 +1 @@
1
- {"version":3,"file":"NavBar.js","sourceRoot":"","sources":["../../../../src/components/infra/NavBar/NavBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport clsx from 'clsx';\nimport PropTypes from \"prop-types\";\nimport { Utils } from '../../helpers/utils';\n\nimport './NavBar.css';\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';\n\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';\n\nimport { useNavBar } from \"../../templates/AppShell/AppShell\";\nimport { logout } from '../../helpers/authManager';\n\ndeclare const PCore;\n\nconst iconMap = {\n \"pi pi-headline\" : <HomeOutlinedIcon fontSize=\"large\"/>,\n \"pi pi-flag-solid\": <FlagOutlinedIcon 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}));\n\nexport default function NavBar(props) {\n const {\n pConn,\n pages,\n caseTypes\n } = props;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [navIcon, setNavIcon] = useState((PCore.getAssetLoader().getStaticServerUrl()).concat(\"pzpega-logo-mark.svg\"));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [navExpandCollapse, setNavExpandCollapse] = useState(Utils.getImageSrc(\"plus\", PCore.getAssetLoader().getStaticServerUrl()));\n const [navPages, setNavPages] = useState(JSON.parse(JSON.stringify(pages)));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalLogoImage, setPortalLogoImage] = useState(Utils.getIconPath(PCore.getAssetLoader().getStaticServerUrl()).concat(\"pzpega-logo-mark.svg\"));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalOperator, setPortalOperator] = useState(PCore.getEnvironmentInfo().getOperatorName());\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalOperatorInitials, setPortalOperatorInitials] = useState(Utils.getInitials(portalOperator));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalApp, setPortalApp] = useState(PCore.getEnvironmentInfo().getApplicationLabel());\n const [bShowCaseTypes, setBShowCaseTypes] = useState(true);\n const [bShowOperatorButtons, setBShowOperatorButtons] = useState(false)\n const {open, setOpen} = useNavBar();\n const [anchorEl, setAnchorEl] = useState(null);\n\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n\n useEffect( () => {\n setNavPages(JSON.parse(JSON.stringify(pages)));\n },\n [pages]);\n\n // const caseTypesMap = caseTypes.map((caseType, index) => {\n // const theKey = `caseType.${index}`;\n // return <li key={theKey}>{caseType.pyLabel}</li>;\n // });\n\n // const pagesMap = pages.map((page, index) => {\n // const theKey = `page.${index}`;\n // return <li key={theKey}>{page.pyLabel}</li>;\n // });\n\n function navPanelButtonClick(oPageData: any) {\n const {\n pyClassName,\n pyRuleName\n } = oPageData;\n\n pConn.getActionsApi().showPage(pyRuleName, pyClassName).then(() => {\n // eslint-disable-next-line no-console\n console.log(`showPage completed`);\n });\n }\n\n // function navPanelCreateButtonClick() {\n // if (navExpandCollapse.indexOf(\"plus\") > 0) {\n // setNavExpandCollapse(Utils.getImageSrc(\"times\", PCore.getAssetLoader().getStaticServerUrl()));\n // setBShowCaseTypes(true);\n // }\n // else {\n // setNavExpandCollapse(Utils.getImageSrc(\"plus\", PCore.getAssetLoader().getStaticServerUrl()));\n // setBShowCaseTypes(false);\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.getActionsApi().createWork(sCaseType, actionInfo).then(() => {\n // eslint-disable-next-line no-console\n console.log(`createWork completed`);\n });\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 function navPanelLogoutClick() {\n\n try {\n // eslint-disable-next-line no-console\n console.log(`--> navPanelLogoutClick clicked`);\n // Commenting out until revokeToken API is available\n // pConn.getActionsApi().logout().then(() => {\n // // eslint-disable-next-line no-console\n // console.log(`logout completed`);\n // },\n // error => {\n // // eslint-disable-next-line no-console\n // console.error(`onRejected function called: ${error.message}`);\n // })\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log(`--> Attempt to call logout api failed: ${err}`);\n }\n finally {\n // authLogout();\n logout();\n }\n }\n\n // const theCaseTypeButtons = caseTypes.map((caseType) => <div style={{display: \"flex\"}}>\n // <button className=\"btn btn-link text-white\"\n // onClick={() => { navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}}>{caseType.pyLabel}</button></div>\n // );\n\n // const theOperatorButtons = <button className=\"btn btn-link text-white\" style={{marginLeft: \"-0.05rem\"}} onClick={navPanelLogoutClick}>Logoff</button>;\n\n\n // return <div id=\"NavBar\" style={{border: \"solid 1px silver\", margin: \"1px\"}} >\n // NavBar for <strong>{appName}</strong>\n // <br></br>\n // caseTypes:\n // <ul>\n // {caseTypesMap}\n // </ul>\n // Pages:\n // <ul>\n // {pagesMap}\n // </ul>\n // </div>;\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// const handlePopoverOpen = (event) => {\n// setAnchorEl(event.currentTarget);\n// };\n\n // const handlePopoverClose = () => {\n // setAnchorEl(null);\n // };\n\n\n useEffect(() => {\n if (!isDesktop) setOpen(false);\n else setOpen(true);\n }, [isDesktop])\n\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 {\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={<Typography variant=\"h6\">{portalApp}</Typography>}\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 }\n <List>\n <ListItem button onClick={handleCaseItemClick}>\n <ListItemIcon>\n {\n bShowCaseTypes && open ? <ClearOutlinedIcon fontSize=\"large\" /> : <AddIcon fontSize=\"large\" />\n }\n </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 {\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={caseType.pyLabel} />\n </ListItem>\n ))\n }\n </List>\n </Collapse>\n <List>\n {\n navPages.map(page => (\n <ListItem\n button\n onClick={() => navPanelButtonClick(page)}\n key={page.pyLabel}\n >\n <ListItemIcon>\n {iconMap[page.pxPageViewIcon]}\n </ListItemIcon>\n <ListItemText primary={page.pyLabel} />\n </ListItem>\n ))\n }\n </List>\n <Divider />\n <List className='marginTopAuto'>\n <>\n <ListItem onClick={navPanelOperatorButtonClick}>\n <ListItemIcon>\n <PersonOutlineIcon fontSize=\"large\" />\n </ListItemIcon>\n <ListItemText primary={portalOperator} />\n {\n open && (\n <ListItemSecondaryAction>\n <IconButton edge=\"end\" onClick={navPanelOperatorButtonClick}>\n <ChevronRightIcon/>\n </IconButton>\n </ListItemSecondaryAction>\n )\n }\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={navPanelLogoutClick}>\n <ListItemIcon>\n <ArrowBackIcon fontSize=\"large\" />\n </ListItemIcon>\n <Typography variant=\"inherit\">Logout</Typography>\n </MenuItem>\n </Menu>\n </>\n </List>\n </Drawer>\n );\n}\n\nNavBar.defaultProps = {\n pConn: null,\n appName: \"\",\n pages: [],\n caseTypes: [],\n};\n\nNavBar.propTypes = {\n pConn: PropTypes.object,\n // eslint-disable-next-line react/no-unused-prop-types\n appName: PropTypes.string,\n pages: PropTypes.arrayOf(PropTypes.object),\n caseTypes: PropTypes.arrayOf(PropTypes.object)\n};\n"]}
1
+ {"version":3,"file":"NavBar.js","sourceRoot":"","sources":["../../../../src/components/infra/NavBar/NavBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport clsx from 'clsx';\nimport PropTypes from \"prop-types\";\nimport { Utils } from '../../helpers/utils';\n\nimport './NavBar.css';\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';\n\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';\n\nimport { useNavBar } from \"../../helpers/reactContextHelpers\";\nimport { logout } from '../../helpers/authManager';\n\ndeclare const PCore;\n\nconst iconMap = {\n \"pi pi-headline\" : <HomeOutlinedIcon fontSize=\"large\"/>,\n \"pi pi-flag-solid\": <FlagOutlinedIcon 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}));\n\nexport default function NavBar(props) {\n const {\n pConn,\n pages,\n caseTypes\n } = props;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [navIcon, setNavIcon] = useState((PCore.getAssetLoader().getStaticServerUrl()).concat(\"pzpega-logo-mark.svg\"));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [navExpandCollapse, setNavExpandCollapse] = useState(Utils.getImageSrc(\"plus\", PCore.getAssetLoader().getStaticServerUrl()));\n const [navPages, setNavPages] = useState(JSON.parse(JSON.stringify(pages)));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalLogoImage, setPortalLogoImage] = useState(Utils.getIconPath(PCore.getAssetLoader().getStaticServerUrl()).concat(\"pzpega-logo-mark.svg\"));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalOperator, setPortalOperator] = useState(PCore.getEnvironmentInfo().getOperatorName());\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalOperatorInitials, setPortalOperatorInitials] = useState(Utils.getInitials(portalOperator));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalApp, setPortalApp] = useState(PCore.getEnvironmentInfo().getApplicationLabel());\n const [bShowCaseTypes, setBShowCaseTypes] = useState(true);\n const [bShowOperatorButtons, setBShowOperatorButtons] = useState(false)\n const {open, setOpen} = useNavBar();\n const [anchorEl, setAnchorEl] = useState(null);\n\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n\n useEffect( () => {\n setNavPages(JSON.parse(JSON.stringify(pages)));\n },\n [pages]);\n\n // const caseTypesMap = caseTypes.map((caseType, index) => {\n // const theKey = `caseType.${index}`;\n // return <li key={theKey}>{caseType.pyLabel}</li>;\n // });\n\n // const pagesMap = pages.map((page, index) => {\n // const theKey = `page.${index}`;\n // return <li key={theKey}>{page.pyLabel}</li>;\n // });\n\n function navPanelButtonClick(oPageData: any) {\n const {\n pyClassName,\n pyRuleName\n } = oPageData;\n\n pConn.getActionsApi().showPage(pyRuleName, pyClassName).then(() => {\n // eslint-disable-next-line no-console\n console.log(`showPage completed`);\n });\n }\n\n // function navPanelCreateButtonClick() {\n // if (navExpandCollapse.indexOf(\"plus\") > 0) {\n // setNavExpandCollapse(Utils.getImageSrc(\"times\", PCore.getAssetLoader().getStaticServerUrl()));\n // setBShowCaseTypes(true);\n // }\n // else {\n // setNavExpandCollapse(Utils.getImageSrc(\"plus\", PCore.getAssetLoader().getStaticServerUrl()));\n // setBShowCaseTypes(false);\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.getActionsApi().createWork(sCaseType, actionInfo).then(() => {\n // eslint-disable-next-line no-console\n console.log(`createWork completed`);\n });\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 function navPanelLogoutClick() {\n\n try {\n // eslint-disable-next-line no-console\n console.log(`--> navPanelLogoutClick clicked`);\n // Commenting out until revokeToken API is available\n // pConn.getActionsApi().logout().then(() => {\n // // eslint-disable-next-line no-console\n // console.log(`logout completed`);\n // },\n // error => {\n // // eslint-disable-next-line no-console\n // console.error(`onRejected function called: ${error.message}`);\n // })\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log(`--> Attempt to call logout api failed: ${err}`);\n }\n finally {\n // authLogout();\n logout();\n }\n }\n\n // const theCaseTypeButtons = caseTypes.map((caseType) => <div style={{display: \"flex\"}}>\n // <button className=\"btn btn-link text-white\"\n // onClick={() => { navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}}>{caseType.pyLabel}</button></div>\n // );\n\n // const theOperatorButtons = <button className=\"btn btn-link text-white\" style={{marginLeft: \"-0.05rem\"}} onClick={navPanelLogoutClick}>Logoff</button>;\n\n\n // return <div id=\"NavBar\" style={{border: \"solid 1px silver\", margin: \"1px\"}} >\n // NavBar for <strong>{appName}</strong>\n // <br></br>\n // caseTypes:\n // <ul>\n // {caseTypesMap}\n // </ul>\n // Pages:\n // <ul>\n // {pagesMap}\n // </ul>\n // </div>;\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// const handlePopoverOpen = (event) => {\n// setAnchorEl(event.currentTarget);\n// };\n\n // const handlePopoverClose = () => {\n // setAnchorEl(null);\n // };\n\n\n useEffect(() => {\n if (!isDesktop) setOpen(false);\n else setOpen(true);\n }, [isDesktop])\n\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 {\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={<Typography variant=\"h6\">{portalApp}</Typography>}\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 }\n <List>\n <ListItem button onClick={handleCaseItemClick}>\n <ListItemIcon>\n {\n bShowCaseTypes && open ? <ClearOutlinedIcon fontSize=\"large\" /> : <AddIcon fontSize=\"large\" />\n }\n </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 {\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={caseType.pyLabel} />\n </ListItem>\n ))\n }\n </List>\n </Collapse>\n <List>\n {\n navPages.map(page => (\n <ListItem\n button\n onClick={() => navPanelButtonClick(page)}\n key={page.pyLabel}\n >\n <ListItemIcon>\n {iconMap[page.pxPageViewIcon]}\n </ListItemIcon>\n <ListItemText primary={page.pyLabel} />\n </ListItem>\n ))\n }\n </List>\n <Divider />\n <List className='marginTopAuto'>\n <>\n <ListItem onClick={navPanelOperatorButtonClick}>\n <ListItemIcon>\n <PersonOutlineIcon fontSize=\"large\" />\n </ListItemIcon>\n <ListItemText primary={portalOperator} />\n {\n open && (\n <ListItemSecondaryAction>\n <IconButton edge=\"end\" onClick={navPanelOperatorButtonClick}>\n <ChevronRightIcon/>\n </IconButton>\n </ListItemSecondaryAction>\n )\n }\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={navPanelLogoutClick}>\n <ListItemIcon>\n <ArrowBackIcon fontSize=\"large\" />\n </ListItemIcon>\n <Typography variant=\"inherit\">Logout</Typography>\n </MenuItem>\n </Menu>\n </>\n </List>\n </Drawer>\n );\n}\n\nNavBar.defaultProps = {\n pConn: null,\n appName: \"\",\n pages: [],\n caseTypes: [],\n};\n\nNavBar.propTypes = {\n pConn: PropTypes.object,\n // eslint-disable-next-line react/no-unused-prop-types\n appName: PropTypes.string,\n pages: PropTypes.arrayOf(PropTypes.object),\n caseTypes: PropTypes.arrayOf(PropTypes.object)\n};\n"]}
@@ -0,0 +1,3 @@
1
+ declare const LeftAlignVerticalTabs: any;
2
+ export default LeftAlignVerticalTabs;
3
+ //# sourceMappingURL=LeftAlignVerticalTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LeftAlignVerticalTabs.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx"],"names":[],"mappings":"AAeA,QAAA,MAAM,qBAAqB,EAAE,GAS2B,CAAC;AAEzD,eAAe,qBAAqB,CAAC"}
@@ -7,7 +7,7 @@ import { Tab, Divider, } from '@material-ui/core';
7
7
  // https://stackoverflow.com/questions/63307723/how-to-modify-the-wrapper-css-rule-of-a-tabs-component-to-make-the-text-aligned
8
8
  // In this styling, "root" is the top-level "Tab" object (which is the button)
9
9
  // and the button contains spans that will match on the '> span'
10
- const LeftAlignVerticalTab = withStyles(( /* theme */) => ({
10
+ const LeftAlignVerticalTabs = withStyles(( /* theme */) => ({
11
11
  root: {
12
12
  width: '100%',
13
13
  maxWidth: '100%',
@@ -19,5 +19,5 @@ const LeftAlignVerticalTab = withStyles(( /* theme */) => ({
19
19
  }))((props) => React.createElement("div", null,
20
20
  React.createElement(Tab, { ...props }),
21
21
  React.createElement(Divider, null)));
22
- export default LeftAlignVerticalTab;
23
- //# sourceMappingURL=LeftAlignVerticalTab.js.map
22
+ export default LeftAlignVerticalTabs;
23
+ //# sourceMappingURL=LeftAlignVerticalTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LeftAlignVerticalTabs.js","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EACL,GAAG,EACH,OAAO,GACR,MAAM,mBAAmB,CAAC;AAE3B,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,KAAK,EAAE,EAAE,CAAC;IAAK,oBAAC,GAAG,OAAK,KAAK,GAAI;IAAA,oBAAC,OAAO,OAAG,CAAM,CAAC,CAAC;AAEzD,eAAe,qBAAqB,CAAC","sourcesContent":["import React from \"react\";\nimport { withStyles } from '@material-ui/core/styles'\nimport {\n Tab,\n Divider,\n} from '@material-ui/core';\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) => <div><Tab {...props} /><Divider /></div>);\n\nexport default LeftAlignVerticalTabs;\n"]}
@@ -0,0 +1,2 @@
1
+ export { default } from './LeftAlignVerticalTabs';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/LeftAlignVerticalTabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './LeftAlignVerticalTabs';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/LeftAlignVerticalTabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export { default } from './LeftAlignVerticalTabs';\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalTabs.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAgCnC,iBAAwB,YAAY,CAAC,KAAK,KAAA,eAiCzC;kBAjCuB,YAAY;;;;;;;;eAAZ,YAAY"}
@@ -2,7 +2,7 @@ import React, { useState, useEffect } from "react";
2
2
  import PropTypes from "prop-types";
3
3
  import { makeStyles } from '@material-ui/core/styles';
4
4
  import Tabs from '@material-ui/core/Tabs';
5
- import LeftAlignVerticalTab from './LeftAlignVerticalTab';
5
+ import LeftAlignVerticalTab from '../LeftAlignVerticalTabs';
6
6
  // The MuiTabs-indicator class is in a span whose parent is div (under the Tabs root component)
7
7
  // So, we're going to make the selected vertical tab indicator use a color from our theme.
8
8
  const useStyles = makeStyles((theme) => ({
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalTabs.js","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,oBAAoB,MAAM,0BAA0B,CAAC;AAG5D,+FAA+F;AAC/F,2FAA2F;AAC3F,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACpC;IACA,IAAI,EAAE;QACJ,cAAc,EAAE;YACd,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;YACxC,KAAK,EAAE,KAAK;SACb;KACF;CACJ,CAAC,CAAC,CAAC;AAEJ,8CAA8C;AAC9C,4FAA4F;AAC5F,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,cAAuC,EAAsB,EAAE;IAC3G,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;AAGF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK;IACxC,sFAAsF;IACtF,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QAEb,MAAM,SAAS,GAAG,EAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAC,CAAC;QACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAEjE,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,QAAQ,CAAC,aAAa,CAAE,OAAO,CAAE,CAAC;SACnC;IAEH,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,6BAAK,EAAE,EAAC,cAAc;QAEpB,oBAAC,IAAI,IACH,SAAS,EAAE,OAAO,CAAC,IAAI,EACvB,WAAW,EAAC,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,YAAY,IACrB,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAC,oBAAoB,OAAK,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,GAAI,CAAC,CACvF,CACH,CACP,CAAA;AACH,CAAC;AAED,YAAY,CAAC,YAAY,GAAG;IAC1B,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,YAAY,CAAC,SAAS,GAAG;IACvB,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;CAC/C,CAAC","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { makeStyles } from '@material-ui/core/styles'\n\nimport Tabs from '@material-ui/core/Tabs';\nimport LeftAlignVerticalTab from '../LeftAlignVerticalTabs';\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 {\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\n\nexport default function VerticalTabs(props) {\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\n const eventData = {\"itemClicked\": value.toString()};\n const myEvent = createCustomEvent('VerticalTabClick', eventData);\n\n if (myEvent !== null) {\n document.dispatchEvent( myEvent );\n }\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\n className={classes.tabs}\n orientation=\"vertical\"\n value={value}\n onChange={handleChange}>\n {tabconfig.map((tab) => <LeftAlignVerticalTab {...props} label={tab.name} key={tab.name} />)}\n </Tabs>\n </div>\n )\n}\n\nVerticalTabs.defaultProps = {\n tabconfig: []\n};\n\nVerticalTabs.propTypes = {\n tabconfig: PropTypes.arrayOf(PropTypes.object)\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/VerticalTabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/VerticalTabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { default } from './VerticalTabs';\n"]}
@@ -1,10 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import PropTypes from "prop-types";
3
3
  import './AppShell.css';
4
- export declare const useNavBar: () => {
5
- open: boolean;
6
- setOpen: (f: any) => any;
7
- };
8
4
  declare function AppShell(props: any): JSX.Element;
9
5
  declare namespace AppShell {
10
6
  var defaultProps: {
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/templates/AppShell/AppShell.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAanC,OAAO,gBAAgB,CAAC;AAsBxB,eAAO,MAAM,SAAS;;;CAA+B,CAAC;AAMtD,iBAAwB,QAAQ,CAAC,KAAK,KAAA,eA0XrC;kBA1XuB,QAAQ;;;;;;;;;;;;;;eAAR,QAAQ"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/templates/AppShell/AppShell.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAenC,OAAO,gBAAgB,CAAC;AAyBxB,iBAAwB,QAAQ,CAAC,KAAK,KAAA,eA0XrC;kBA1XuB,QAAQ;;;;;;;;;;;;;;eAAR,QAAQ"}
@@ -1,6 +1,7 @@
1
- import React, { useEffect, useState, createContext, useContext } from "react";
1
+ import React, { useEffect, useState } from "react";
2
2
  import PropTypes from "prop-types";
3
3
  import { makeStyles } from '@material-ui/core/styles';
4
+ import { NavContext } from '../../helpers/reactContextHelpers';
4
5
  // import {
5
6
  // Avatar,
6
7
  // Toaster,
@@ -24,8 +25,6 @@ const useStyles = makeStyles((theme) => ({
24
25
  marginRight: theme.spacing(2),
25
26
  },
26
27
  }));
27
- const NavContext = createContext({ open: false, setOpen: f => f });
28
- export const useNavBar = () => useContext(NavContext);
29
28
  /*
30
29
  * The wrapper handles knowing how to take in just children and mapping
31
30
  * to the Cosmos template. This could be a combination of things but it knows...
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../src/components/templates/AppShell/AppShell.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState, createContext, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { makeStyles } from '@material-ui/core/styles';\n\n// import {\n// Avatar,\n// Toaster,\n// Banner,\n// AppShell as CosmosAppShell\n// } from \"@pega/cosmos-react-core\";\n\n// import createPConnectComponent from \"../../../bridge/react_pconnect\";\n// import { buildRecentList, onRecentClickHandler } from \"./Recents/utils\";\n\nimport './AppShell.css';\n\n// AppShell can emit NavBar and ViewContainer\nimport NavBar from '../../infra/NavBar';\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}));\n\ndeclare const PCore;\n\n\nconst NavContext = createContext({open: false, setOpen: f => f});\nexport const useNavBar = () => useContext(NavContext);\n\n/*\n * The wrapper handles knowing how to take in just children and mapping\n * to the Cosmos template. This could be a combination of things but it knows...\n */\nexport default function AppShell(props) {\n const {\n pages,\n caseTypes,\n showAppName,\n children,\n getPConnect,\n } = props;\n const [open, setOpen] = useState(true);\n\n const pConn = getPConnect();\n // const actionsAPI = pConn.getActionsApi();\n const envInfo = PCore.getEnvironmentInfo();\n\n // const bannerRef = useRef(null);\n // const hasBanner = httpMessages && httpMessages.length ? httpMessages.length > 0 : false;\n\n const appNameToDisplay = showAppName ? envInfo.getApplicationLabel() : \"\";\n\n const classes = useStyles();\n // let banners = null;\n // banners = hasBanner && (\n // <Banner\n // ref={bannerRef}\n // id=\"appShellBanner\"\n // variant=\"urgent\"\n // heading=\"Error\"\n // onDismiss={() =>\n // pConn.clearErrorMessages({\n // category: \"HTTP\",\n // context: null\n // })\n // }\n // messages={httpMessages}\n // />\n // );\n\n // useEffect(() => {\n // if (hasBanner && bannerRef.current) {\n // bannerRef.current.focus();\n // window.scrollTo(0, bannerRef.current.offsetTop);\n // }\n // }, [hasBanner]);\n\n /**\n *\n * Function to dispatch a show page action for the page links in\n * the left nav of the app shell\n *\n * @param {string} searchString Name of view to show\n */\n // function showSearchResults(searchString) {\n // if (searchString === \"\") {\n // actionsAPI.showPage(\"pySearchPage\", \"Data-Portal\");\n // return;\n // }\n // const searchTerm = searchString.replace(/['\"]+/g, \"\");\n // PCore.getDataApiUtils()\n // .getData(\n // \"D_pySearch\",\n // `{\"dataViewParameters\": {\"SearchString\": \"${encodeURIComponent(\n // searchTerm\n // )}\"}}`\n // )\n // .then((response) => {\n // if (\n // response.data.data !== null &&\n // response.data.resultCount === 1 &&\n // response.data.data[0].pyID === searchTerm\n // ) {\n // /* This is a match for a work item - then we will open it */\n // pConn\n // .getActionsApi()\n // .openWorkByHandle(\n // response.data.data[0].pzInsKey,\n // response.data.data[0].pzCategoryActionKeys\n // );\n // return;\n // }\n // // window.searchResults = {\n // // searchString: searchTerm,\n // // results: response.data\n // // };\n // actionsAPI.showPage(\"pySearchPage\", \"Data-Portal\");\n // });\n // }\n\n /**\n *\n * Function to dispatch a show page action for the page links in\n * the left nav of the app shell\n *\n * @param {string} viewName Name of view to show\n * @param {string} className Pega Applies to class of the page\n */\n // function showPage(viewName, className) {\n // actionsAPI.showPage(viewName, className);\n // }\n\n /**\n *\n * Function to dispatch a create work action\n * @param {string} className - placeholder string of case type being created\n */\n // function createWork(className) {\n // actionsAPI\n // .createWork(className)\n // .catch((error) =>\n // // eslint-disable-next-line no-console\n // console.log(\"Error in case creation: \", error?.message)\n // );\n // }\n\n /**\n * Returns the Custome Component for each active case\n */\n // const VisualComponent = useCallback(\n // (context) => {\n // if (activeCases && activeCases.length > 0) {\n // const meta = PCore.getViewResources().fetchViewResources(\n // \"pyCaseVisual\",\n // getPConnect(),\n // PCore.getStoreValue(\".caseTypeID\", \"caseInfo\", context)\n // );\n // if (meta?.config && !meta.config.defaultVisual) {\n // const config = {\n // meta,\n // options: {\n // context,\n // pageReference: \"caseInfo.content\"\n // }\n // };\n // const visualConfig = PCore.createPConnect(config);\n // return React.createElement(createPConnectComponent(), visualConfig);\n // }\n // }\n // return undefined;\n // },\n // [getPConnect, activeCases]\n // );\n\n /**\n * Transforms the active cases information into the model that cosmos expect.\n */\n // function getActiveCases() {\n // if (activeCases) {\n // const activeCaseLinks = [];\n // activeCases.forEach((activeCase) => {\n // const { caseID, className, workID, active, context } = activeCase;\n // // activeCaseLinks.push({\n // // onDismiss: () => {\n // // PCore.getContainerUtils().closeContainerItem(\n // // activeCase.containerItemID\n // // );\n // // },\n // // key: caseID,\n // // name: caseID,\n // // onClick: () => {\n // // actionsAPI.openWorkByHandle(workID, className);\n // // },\n // // active,\n // // visual: VisualComponent(context)\n // // });\n // });\n // return activeCaseLinks;\n // }\n // return activeCases;\n // }\n\n /**\n * Translate Pega Data Page into the model that Cosmos expects\n *\n * Example:\n * pxPageViewIcon: \"pi pi-home-solid\"\n * pxURLPath: \"Home\"\n * pyClassName: \"Data-Portal\"\n * pyLabel: \"Home\"\n * pyRuleName: \"pyHome\"\n */\n // const links = !pages\n // ? []\n // : pages.map((page) => {\n // return {\n // name: page.pyLabel,\n // icon: page.pxPageViewIcon.replace(\"pi pi-\", \"\"),\n // onClick: () => showPage(page.pyRuleName, page.pyClassName)\n // };\n // });\n\n // const userName = envInfo.getOperatorName();\n // const imageKey = envInfo.getOperatorImageInsKey();\n\n // const logOffAction = () => {\n // actionsAPI.logout().then(() => window?.top?.location?.reload());\n // };\n\n // const getOperator = () => {\n // const operatorActions = [\n // [{ text: \"Logoff\", id: \"1\", onClick: logOffAction }]\n // ];\n // if (imageKey) {\n // return {\n // avatar: (\n // <div id=\"AvatarWithImageKey\">Avatar with image key</div>\n // // <Avatar\n // // name={userName}\n // // imageSrc={getPConnect().getImagePath(imageKey)}\n // // />\n // ),\n // actions: operatorActions,\n // name: userName\n // };\n // }\n // return {\n // avatar: (\n // <div id=\"Avatar\">Avatar</div>\n // // <Avatar name={userName}>\n // // {userName\n // // .split(\" \")\n // // .map((i) => i.charAt(0))\n // // .join(\"\")\n // // .toUpperCase()}\n // // </Avatar>\n // ),\n // actions: operatorActions,\n // name: userName\n // };\n // };\n\n /**\n * Translate Case Types page into what is expected by Cosmos\n *\n * Example:\n * pyClassName: \"\"\n * pyFlowType: \"\"\n * pyLabel: \"No case types defined\"\n */\n // const cases = !caseTypes\n // ? []\n // : caseTypes.map((caseType) => {\n // let action = {};\n // // Only add actions to entries with a class name to create so in case of empty message no action is added\n // if (caseType.pyClassName) {\n // action = { onClick: () => createWork(caseType.pyClassName) };\n // }\n // return {\n // name: caseType.pyLabel,\n // ...action\n // };\n // });\n\n // const [recents, setRecents] = useState([]);\n\n // const [searchVal, setSearchVal] = useState(\"\");\n\n // // default the icon to be empty. This will cause the image to be initially broken.\n // const [iconURL, setIconURL] = 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 // ) {\n // setIconURL(\n // `${PCore.getAssetLoader().getStaticServerUrl()}static/py-logo.svg`\n // );\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((data) => {\n // setIconURL(window.URL.createObjectURL(data));\n // })\n // .catch(() => {\n // console.error(\n // `Unable to load the image for the portal logo/icon with the insName:${portalLogo}`\n // );\n // });\n // }\n // }, [portalLogo]);\n\n /**\n * To fetch recents and translate items into what Cosmos expects\n */\n // const fetchRecents = () => {\n // actionsAPI.getRecents(15).then((response) => {\n // const recentsitems = response.data.recents;\n // // setRecents(buildRecentList(recentsitems));\n // });\n // };\n\n /**\n * To handle on click of any recent item after the drawer is open\n *\n * @param {*} id : Recent item unique id\n */\n\n // const onItemClick = (id, e) => {\n // e.preventDefault();\n // // onRecentClickHandler(id, actionsAPI);\n // };\n\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, no-unused-vars\n const [appName, setAppName] = useState(\"\");\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, 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 = pConn.getChildren().map((child, index) => {\n const theChildComp = child.getPConnect().getComponentName();\n const theKey = `.${index}`;\n return <div id={theChildComp} key={theKey} style={{border: \"solid 1px silver\", margin: \"1px\"}}>{theChildComp} will be here</div>\n });\n\n setMapChildren(tempMap)\n\n }, []);\n\n if (pConn.hasChildren()) {\n // const theChildren = pConn.getChildren();\n // const mapChildCompNames = theChildren.map((child) => { return child.getPConnect().getComponentName()});\n\n // debugging/investigation help\n // console.log(`AppShell has children: ${theChildren.length}`);\n // console.log(`--> ${mapChildCompNames.map((name) => {return name;})}`);\n }\n\n return (\n\n <NavContext.Provider value={{open, setOpen}}>\n <div id=\"AppShell\" className={classes.root}>\n <NavBar pConn={getPConnect()} appName={appNameToDisplay} pages={pages} caseTypes={caseTypes}></NavBar>\n <div className={classes.content}>\n {children}\n </div>\n </div>\n </NavContext.Provider>\n\n // <Toaster dismissAfter={3000}>\n // <CosmosAppShell\n // {...{\n // appInfo: {\n // imageSrc: `${iconURL}`,\n // appName: `${appNameToDisplay}`,\n // portalName\n // },\n // recents: {\n // items: recents,\n // onDrawerOpen: fetchRecents,\n // onItemClick\n // },\n // searchInput: {\n // onSearchChange: (value) => {\n // setSearchVal(value);\n // },\n // onSearchSubmit: (value) => {\n // showSearchResults(value.trim());\n // setSearchVal(\"\");\n // },\n // value: searchVal\n // },\n // caseTypes: cases,\n // links,\n // cases: getActiveCases(),\n // operator: getOperator()\n // }}\n // main={[children]}\n // banners={banners}\n // className=\"app-shell\"\n // />\n // </Toaster>\n );\n}\nAppShell.defaultProps = {\n pages: [],\n caseTypes: [],\n children: [],\n // httpMessages: [],\n // activeCases: null\n};\nAppShell.propTypes = {\n // portalName: PropTypes.string/* .isRequired */,\n // portalLogo: PropTypes.string/* .isRequired */,\n showAppName: PropTypes.bool/* .isRequired */,\n pages: PropTypes.arrayOf(PropTypes.object),\n caseTypes: PropTypes.arrayOf(PropTypes.object),\n children: PropTypes.arrayOf(PropTypes.node),\n getPConnect: PropTypes.func.isRequired,\n // httpMessages: PropTypes.arrayOf(PropTypes.string),\n // activeCases: PropTypes.arrayOf(PropTypes.object)\n};\n"]}
1
+ {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../src/components/templates/AppShell/AppShell.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { makeStyles } from '@material-ui/core/styles';\n\nimport { NavContext } from '../../helpers/reactContextHelpers';\n\n// import {\n// Avatar,\n// Toaster,\n// Banner,\n// AppShell as CosmosAppShell\n// } from \"@pega/cosmos-react-core\";\n\n// import createPConnectComponent from \"../../../bridge/react_pconnect\";\n// import { buildRecentList, onRecentClickHandler } from \"./Recents/utils\";\n\nimport './AppShell.css';\n\n// AppShell can emit NavBar and ViewContainer\nimport NavBar from '../../infra/NavBar';\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}));\n\ndeclare const PCore;\n\n\n/*\n * The wrapper handles knowing how to take in just children and mapping\n * to the Cosmos template. This could be a combination of things but it knows...\n */\nexport default function AppShell(props) {\n const {\n pages,\n caseTypes,\n showAppName,\n children,\n getPConnect,\n } = props;\n const [open, setOpen] = useState(true);\n\n const pConn = getPConnect();\n // const actionsAPI = pConn.getActionsApi();\n const envInfo = PCore.getEnvironmentInfo();\n\n // const bannerRef = useRef(null);\n // const hasBanner = httpMessages && httpMessages.length ? httpMessages.length > 0 : false;\n\n const appNameToDisplay = showAppName ? envInfo.getApplicationLabel() : \"\";\n\n const classes = useStyles();\n // let banners = null;\n // banners = hasBanner && (\n // <Banner\n // ref={bannerRef}\n // id=\"appShellBanner\"\n // variant=\"urgent\"\n // heading=\"Error\"\n // onDismiss={() =>\n // pConn.clearErrorMessages({\n // category: \"HTTP\",\n // context: null\n // })\n // }\n // messages={httpMessages}\n // />\n // );\n\n // useEffect(() => {\n // if (hasBanner && bannerRef.current) {\n // bannerRef.current.focus();\n // window.scrollTo(0, bannerRef.current.offsetTop);\n // }\n // }, [hasBanner]);\n\n /**\n *\n * Function to dispatch a show page action for the page links in\n * the left nav of the app shell\n *\n * @param {string} searchString Name of view to show\n */\n // function showSearchResults(searchString) {\n // if (searchString === \"\") {\n // actionsAPI.showPage(\"pySearchPage\", \"Data-Portal\");\n // return;\n // }\n // const searchTerm = searchString.replace(/['\"]+/g, \"\");\n // PCore.getDataApiUtils()\n // .getData(\n // \"D_pySearch\",\n // `{\"dataViewParameters\": {\"SearchString\": \"${encodeURIComponent(\n // searchTerm\n // )}\"}}`\n // )\n // .then((response) => {\n // if (\n // response.data.data !== null &&\n // response.data.resultCount === 1 &&\n // response.data.data[0].pyID === searchTerm\n // ) {\n // /* This is a match for a work item - then we will open it */\n // pConn\n // .getActionsApi()\n // .openWorkByHandle(\n // response.data.data[0].pzInsKey,\n // response.data.data[0].pzCategoryActionKeys\n // );\n // return;\n // }\n // // window.searchResults = {\n // // searchString: searchTerm,\n // // results: response.data\n // // };\n // actionsAPI.showPage(\"pySearchPage\", \"Data-Portal\");\n // });\n // }\n\n /**\n *\n * Function to dispatch a show page action for the page links in\n * the left nav of the app shell\n *\n * @param {string} viewName Name of view to show\n * @param {string} className Pega Applies to class of the page\n */\n // function showPage(viewName, className) {\n // actionsAPI.showPage(viewName, className);\n // }\n\n /**\n *\n * Function to dispatch a create work action\n * @param {string} className - placeholder string of case type being created\n */\n // function createWork(className) {\n // actionsAPI\n // .createWork(className)\n // .catch((error) =>\n // // eslint-disable-next-line no-console\n // console.log(\"Error in case creation: \", error?.message)\n // );\n // }\n\n /**\n * Returns the Custome Component for each active case\n */\n // const VisualComponent = useCallback(\n // (context) => {\n // if (activeCases && activeCases.length > 0) {\n // const meta = PCore.getViewResources().fetchViewResources(\n // \"pyCaseVisual\",\n // getPConnect(),\n // PCore.getStoreValue(\".caseTypeID\", \"caseInfo\", context)\n // );\n // if (meta?.config && !meta.config.defaultVisual) {\n // const config = {\n // meta,\n // options: {\n // context,\n // pageReference: \"caseInfo.content\"\n // }\n // };\n // const visualConfig = PCore.createPConnect(config);\n // return React.createElement(createPConnectComponent(), visualConfig);\n // }\n // }\n // return undefined;\n // },\n // [getPConnect, activeCases]\n // );\n\n /**\n * Transforms the active cases information into the model that cosmos expect.\n */\n // function getActiveCases() {\n // if (activeCases) {\n // const activeCaseLinks = [];\n // activeCases.forEach((activeCase) => {\n // const { caseID, className, workID, active, context } = activeCase;\n // // activeCaseLinks.push({\n // // onDismiss: () => {\n // // PCore.getContainerUtils().closeContainerItem(\n // // activeCase.containerItemID\n // // );\n // // },\n // // key: caseID,\n // // name: caseID,\n // // onClick: () => {\n // // actionsAPI.openWorkByHandle(workID, className);\n // // },\n // // active,\n // // visual: VisualComponent(context)\n // // });\n // });\n // return activeCaseLinks;\n // }\n // return activeCases;\n // }\n\n /**\n * Translate Pega Data Page into the model that Cosmos expects\n *\n * Example:\n * pxPageViewIcon: \"pi pi-home-solid\"\n * pxURLPath: \"Home\"\n * pyClassName: \"Data-Portal\"\n * pyLabel: \"Home\"\n * pyRuleName: \"pyHome\"\n */\n // const links = !pages\n // ? []\n // : pages.map((page) => {\n // return {\n // name: page.pyLabel,\n // icon: page.pxPageViewIcon.replace(\"pi pi-\", \"\"),\n // onClick: () => showPage(page.pyRuleName, page.pyClassName)\n // };\n // });\n\n // const userName = envInfo.getOperatorName();\n // const imageKey = envInfo.getOperatorImageInsKey();\n\n // const logOffAction = () => {\n // actionsAPI.logout().then(() => window?.top?.location?.reload());\n // };\n\n // const getOperator = () => {\n // const operatorActions = [\n // [{ text: \"Logoff\", id: \"1\", onClick: logOffAction }]\n // ];\n // if (imageKey) {\n // return {\n // avatar: (\n // <div id=\"AvatarWithImageKey\">Avatar with image key</div>\n // // <Avatar\n // // name={userName}\n // // imageSrc={getPConnect().getImagePath(imageKey)}\n // // />\n // ),\n // actions: operatorActions,\n // name: userName\n // };\n // }\n // return {\n // avatar: (\n // <div id=\"Avatar\">Avatar</div>\n // // <Avatar name={userName}>\n // // {userName\n // // .split(\" \")\n // // .map((i) => i.charAt(0))\n // // .join(\"\")\n // // .toUpperCase()}\n // // </Avatar>\n // ),\n // actions: operatorActions,\n // name: userName\n // };\n // };\n\n /**\n * Translate Case Types page into what is expected by Cosmos\n *\n * Example:\n * pyClassName: \"\"\n * pyFlowType: \"\"\n * pyLabel: \"No case types defined\"\n */\n // const cases = !caseTypes\n // ? []\n // : caseTypes.map((caseType) => {\n // let action = {};\n // // Only add actions to entries with a class name to create so in case of empty message no action is added\n // if (caseType.pyClassName) {\n // action = { onClick: () => createWork(caseType.pyClassName) };\n // }\n // return {\n // name: caseType.pyLabel,\n // ...action\n // };\n // });\n\n // const [recents, setRecents] = useState([]);\n\n // const [searchVal, setSearchVal] = useState(\"\");\n\n // // default the icon to be empty. This will cause the image to be initially broken.\n // const [iconURL, setIconURL] = 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 // ) {\n // setIconURL(\n // `${PCore.getAssetLoader().getStaticServerUrl()}static/py-logo.svg`\n // );\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((data) => {\n // setIconURL(window.URL.createObjectURL(data));\n // })\n // .catch(() => {\n // console.error(\n // `Unable to load the image for the portal logo/icon with the insName:${portalLogo}`\n // );\n // });\n // }\n // }, [portalLogo]);\n\n /**\n * To fetch recents and translate items into what Cosmos expects\n */\n // const fetchRecents = () => {\n // actionsAPI.getRecents(15).then((response) => {\n // const recentsitems = response.data.recents;\n // // setRecents(buildRecentList(recentsitems));\n // });\n // };\n\n /**\n * To handle on click of any recent item after the drawer is open\n *\n * @param {*} id : Recent item unique id\n */\n\n // const onItemClick = (id, e) => {\n // e.preventDefault();\n // // onRecentClickHandler(id, actionsAPI);\n // };\n\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, no-unused-vars\n const [appName, setAppName] = useState(\"\");\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, 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 = pConn.getChildren().map((child, index) => {\n const theChildComp = child.getPConnect().getComponentName();\n const theKey = `.${index}`;\n return <div id={theChildComp} key={theKey} style={{border: \"solid 1px silver\", margin: \"1px\"}}>{theChildComp} will be here</div>\n });\n\n setMapChildren(tempMap)\n\n }, []);\n\n if (pConn.hasChildren()) {\n // const theChildren = pConn.getChildren();\n // const mapChildCompNames = theChildren.map((child) => { return child.getPConnect().getComponentName()});\n\n // debugging/investigation help\n // console.log(`AppShell has children: ${theChildren.length}`);\n // console.log(`--> ${mapChildCompNames.map((name) => {return name;})}`);\n }\n\n return (\n\n <NavContext.Provider value={{open, setOpen}}>\n <div id=\"AppShell\" className={classes.root}>\n <NavBar pConn={getPConnect()} appName={appNameToDisplay} pages={pages} caseTypes={caseTypes}></NavBar>\n <div className={classes.content}>\n {children}\n </div>\n </div>\n </NavContext.Provider>\n\n // <Toaster dismissAfter={3000}>\n // <CosmosAppShell\n // {...{\n // appInfo: {\n // imageSrc: `${iconURL}`,\n // appName: `${appNameToDisplay}`,\n // portalName\n // },\n // recents: {\n // items: recents,\n // onDrawerOpen: fetchRecents,\n // onItemClick\n // },\n // searchInput: {\n // onSearchChange: (value) => {\n // setSearchVal(value);\n // },\n // onSearchSubmit: (value) => {\n // showSearchResults(value.trim());\n // setSearchVal(\"\");\n // },\n // value: searchVal\n // },\n // caseTypes: cases,\n // links,\n // cases: getActiveCases(),\n // operator: getOperator()\n // }}\n // main={[children]}\n // banners={banners}\n // className=\"app-shell\"\n // />\n // </Toaster>\n );\n}\nAppShell.defaultProps = {\n pages: [],\n caseTypes: [],\n children: [],\n // httpMessages: [],\n // activeCases: null\n};\nAppShell.propTypes = {\n // portalName: PropTypes.string/* .isRequired */,\n // portalLogo: PropTypes.string/* .isRequired */,\n showAppName: PropTypes.bool/* .isRequired */,\n pages: PropTypes.arrayOf(PropTypes.object),\n caseTypes: PropTypes.arrayOf(PropTypes.object),\n children: PropTypes.arrayOf(PropTypes.node),\n getPConnect: PropTypes.func.isRequired,\n // httpMessages: PropTypes.arrayOf(PropTypes.string),\n // activeCases: PropTypes.arrayOf(PropTypes.object)\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/templates/AppShell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC","sourcesContent":["export { default } from './AppShell';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/templates/AppShell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC","sourcesContent":["export { default } from './AppShell';\n"]}
@@ -8,8 +8,8 @@ import Box from '@material-ui/core/Box';
8
8
  import Button from '@material-ui/core/Button';
9
9
  import Grid from '@material-ui/core/Grid';
10
10
  import StoreContext from "../../../bridge/Context/StoreContext";
11
- import CaseViewActionsMenu from "./CaseViewActionsMenu";
12
- import VerticalTabs from '../../infra/VerticalTabs';
11
+ import CaseViewActionsMenu from "../CaseViewActionsMenu";
12
+ import VerticalTabs from '../../infra/VerticalTabs/VerticalTabs';
13
13
  import DeferLoad from '../../infra/DeferLoad';
14
14
  const useStyles = makeStyles((theme) => ({
15
15
  root: {
@@ -1 +1 @@
1
- {"version":3,"file":"CaseView.js","sourceRoot":"","sources":["../../../../src/components/templates/CaseView/CaseView.tsx"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,GAAG,MAAM,uBAAuB,CAAC;AACxC,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAE1C,OAAO,YAAY,MAAM,sCAAsC,CAAC;AAChE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAK9C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE;QACJ,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/B;IACD,cAAc,EAAE;QACd,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;QACzC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9D,YAAY,EAAE,SAAS;KACxB;IACD,eAAe,EAAE;QACf,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;QACxC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1B;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,cAAc;KACvB;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK;IACpC,MAAM,EACJ,WAAW,EACX,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EAAE,EAAE,gBAAgB,GAAG,EAAE,EAAE,kBAAkB,GAAG,EAAE,EAAE,iBAAiB,EAAE,EAChF,GAAG,KAAK,CAAC;IACV,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxC,IAAI,kBAAkB,GAAG,IAAI,CAAC;IAE9B,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAG5B;;;OAGG;IACF,SAAS,oBAAoB,CAAC,MAAc;QAE3C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;YAC5B,MAAM,eAAe,GAAW,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACjG,MAAM,eAAe,GAAW,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAEjG,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,IAAI,CAAC,eAAe,KAAK,MAAM,CAAE,EAAE;gBACnE,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAErF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,yGAAyG;IACzG,sGAAsG;IAEtG,sGAAsG;IACtG,MAAM,qBAAqB,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9E,gDAAgD;IAChD,MAAM,WAAW,GAAkB,EAAE,CAAC;IAEtC,0EAA0E;IAC1E,MAAM,aAAa,GAAe,EAAE,CAAC;IAErC,IAAI,qBAAqB,EAAE;QACzB,yCAAyC;QACzC,qBAAqB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC/C,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;YAChE,wCAAwC;YACxC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC;YACjD,8GAA8G;YAC9G,IAAI,CAAC,KAAK,EAAE;gBACV,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBACrC,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE;wBAClC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;qBAC7B;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,6FAA6F;YAC7F,IAAI,gBAAgB,CAAC,UAAU,KAAK,SAAS,IAAI,gBAAgB,CAAC,UAAU,KAAK,IAAI,EAAE;gBACrF,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7C,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;aACrE;QACH,CAAC,CAAC,CAAC;KACJ;IAID,SAAS,sBAAsB,CAAC,WAAgB;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAErE,wDAAwD;QACxD,IAAI,kBAAkB,EAAE;YACtB,gBAAgB,CAAC,OAAO,CAAC,CAAC;SAC3B;IACH,CAAC;IAGD,kFAAkF;IAClF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,KAAU,EAAE,EAAE;YAC3D,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAQ,EAAE;YACf,2DAA2D;YAC3D,wEAAwE;YACxE,kBAAkB,GAAG,KAAK,CAAC;YAE3B,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,KAAU,EAAE,EAAE;gBAC9D,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;SAC/G;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,SAAS,UAAU;QAEjB,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CACtC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,qBAAqB,CAChD,CAAC;QACF,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5C,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpE,eAAe,CAAE,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU,EAAC,CAAC,CAAC;IACpD,CAAC;IAGD,SAAS,oBAAoB;QAE3B,MAAM,MAAM,GAAG,oBAAC,GAAG;YACX,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,GAAE,UAAU,EAAE,CAAA,CAAA,CAAC,WAAe;;YAEpD,oBAAC,mBAAmB,IAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,GAAI,CAC3H,CAAC;QAGX,OAAO,MAAM,CAAC;IAEhB,CAAC;IAGD,SAAS,oBAAoB;QAE3B,IAAI,CAAC,aAAa,EAAE;YAClB,mBAAmB;YACnB,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS;gBACb,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;oBAChB,6BAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAC,gBAAgB,IAAE,aAAa,CAAO;oBAC5D,oBAAC,IAAI,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI;wBAC3B,oBAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAC3C,KAAK,EAAE,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,IAAE,MAAM,CAAc,EACrE,SAAS,EAAE,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,EAAE,EAAC,QAAQ,IAAE,SAAS,CAAc,EAC3F,MAAM,EACJ,oBAAC,MAAM,IAAC,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,EAAC,QAAQ;gCAC1D,6BAAK,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,iBAAiB,GAAG,CACnD,GAEX;wBACD,oBAAoB,EAAE;wBACvB,oBAAC,OAAO,OAAG;wBACV,gBAAgB;wBACjB,oBAAC,OAAO,OAAG;wBACT,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAC,YAAY,IAAC,SAAS,EAAE,WAAW,GAAI,CAC/D,CACF;gBAEP,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC;oBACb,eAAe;oBACf,aAAa;oBACZ,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAC,SAAS,IAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,EAAG,KAAK,SAAG,CACvH;gBAEP,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,IACb,kBAAkB,CACd,CACF,CACN,CAAA;SACF;aAAM;YACL,8CAA8C;YAC9C,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS;gBACb,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,EAAE,IACd,aAAa,CACT,CACF,CACR,CAAA;SACF;IACH,CAAC;IAGD,OAAO,CACH,oBAAoB,EAAE,CACzB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,YAAY,GAAG;IACtB,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,gBAAgB,EAAE,IAAI;IACtB,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,QAAQ,CAAC,SAAS,GAAG;IACnB,IAAI,EAAE,SAAS,CAAC,MAAM;IACtB,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;IACtC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;IACnC,gBAAgB,EAAE,SAAS,CAAC,IAAI;IAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;IAC3C,WAAW,EAAE,SAAS,CAAC,IAAI;CAC5B,CAAC","sourcesContent":["/* eslint-disable react/jsx-boolean-value */\n\nimport React, { useState, useEffect, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Utils } from '../../helpers/utils';\nimport { Card, CardHeader, Avatar, Typography, Divider } 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 StoreContext from \"../../../bridge/Context/StoreContext\";\nimport CaseViewActionsMenu from \"./CaseViewActionsMenu\";\nimport VerticalTabs from '../../infra/VerticalTabs';\nimport DeferLoad from '../../infra/DeferLoad';\n\n\ndeclare const PCore;\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) {\n const {\n getPConnect,\n icon,\n header,\n subheader,\n children,\n caseInfo: { availableActions = [], availableProcesses = [], hasNewAttachments }\n } = props;\n const currentCaseID = props.caseInfo.ID;\n let isComponentMounted = true;\n\n const { displayOnlyFA } = useContext(StoreContext);\n\n const thePConn = getPConnect();\n\n const classes = useStyles();\n\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\n for (const child of children) {\n const theMetadataType: string = child.props.getPConnect().getRawMetadata()['type'].toLowerCase();\n const theMetadataName: string = child.props.getPConnect().getRawMetadata()['name'].toLowerCase();\n\n if ((theMetadataType === \"region\") && (theMetadataName === inName )) {\n return child;\n }\n }\n\n return null;\n }\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, PCore.getAssetLoader().getStaticServerUrl());\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: Array<Object> = [];\n\n // deferLoadInfo is sent to DeferLoad component (currently selected entry)\n const deferLoadInfo: Array<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\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\n // Add and Remove event listener for VerticalTabClick only at startup and teardown\n useEffect(() => {\n document.addEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n\n return ():void => {\n // inform that the component is unmounted so other code can\n // know not to try to call useState setters (to avoid console warnings)\n isComponentMounted = false;\n\n document.removeEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n }\n }, [])\n\n useEffect(() => {\n if (hasNewAttachments) {\n PCore.getPubSubUtils().publish(PCore.getEvents().getCaseEvent().CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW, true);\n }\n }, [hasNewAttachments]);\n\n function _editClick() {\n\n const editAction = availableActions.find(\n (action) => action.ID === \"pyUpdateCaseDetails\"\n );\n const actionsAPI = thePConn.getActionsApi();\n const openLocalAction = actionsAPI.openLocalAction.bind(actionsAPI);\n\n openLocalAction( editAction.ID, { ...editAction});\n }\n\n\n function getActionButtonsHtml(): any {\n\n const aBHtml = <Box>\n <Button onClick={() => {_editClick()}}>Edit</Button>\n &nbsp;\n <CaseViewActionsMenu getPConnect={getPConnect} availableActions={availableActions} availableProcesses={availableProcesses} />\n </Box>;\n\n\n return aBHtml;\n\n }\n\n\n function getContainerContents() {\n\n if (!displayOnlyFA) {\n // show full portal\n return (\n <Grid container>\n <Grid item xs={3}>\n <div hidden={true} id=\"current-caseID\">{currentCaseID}</div>\n <Card className={classes.root} >\n <CardHeader className={classes.caseViewHeader}\n title={<Typography variant=\"h6\" component=\"div\">{header}</Typography>}\n subheader={<Typography variant=\"body1\" component=\"div\" id=\"caseId\">{subheader}</Typography>}\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 } else {\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\n\n return (\n getContainerContents()\n );\n}\n\nCaseView.defaultProps = {\n icon: \"\",\n children: [],\n caseInfo: {},\n showIconInHeader: true,\n getPConnect: null\n};\n\nCaseView.propTypes = {\n icon: PropTypes.string,\n children: PropTypes.arrayOf(PropTypes.node),\n subheader: PropTypes.string.isRequired,\n header: PropTypes.string.isRequired,\n showIconInHeader: PropTypes.bool,\n caseInfo: PropTypes.objectOf(PropTypes.any),\n getPConnect: PropTypes.func\n};\n"]}
1
+ {"version":3,"file":"CaseView.js","sourceRoot":"","sources":["../../../../src/components/templates/CaseView/CaseView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/jsx-boolean-value */\n\nimport React, { useState, useEffect, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Utils } from '../../helpers/utils';\nimport { Card, CardHeader, Avatar, Typography, Divider } 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 StoreContext from \"../../../bridge/Context/StoreContext\";\nimport CaseViewActionsMenu from \"../CaseViewActionsMenu\";\nimport VerticalTabs from '../../infra/VerticalTabs/VerticalTabs';\nimport DeferLoad from '../../infra/DeferLoad';\n\n\ndeclare const PCore;\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) {\n const {\n getPConnect,\n icon,\n header,\n subheader,\n children,\n caseInfo: { availableActions = [], availableProcesses = [], hasNewAttachments }\n } = props;\n const currentCaseID = props.caseInfo.ID;\n let isComponentMounted = true;\n\n const { displayOnlyFA } = useContext(StoreContext);\n\n const thePConn = getPConnect();\n\n const classes = useStyles();\n\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\n for (const child of children) {\n const theMetadataType: string = child.props.getPConnect().getRawMetadata()['type'].toLowerCase();\n const theMetadataName: string = child.props.getPConnect().getRawMetadata()['name'].toLowerCase();\n\n if ((theMetadataType === \"region\") && (theMetadataName === inName )) {\n return child;\n }\n }\n\n return null;\n }\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, PCore.getAssetLoader().getStaticServerUrl());\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: Array<Object> = [];\n\n // deferLoadInfo is sent to DeferLoad component (currently selected entry)\n const deferLoadInfo: Array<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\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\n // Add and Remove event listener for VerticalTabClick only at startup and teardown\n useEffect(() => {\n document.addEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n\n return ():void => {\n // inform that the component is unmounted so other code can\n // know not to try to call useState setters (to avoid console warnings)\n isComponentMounted = false;\n\n document.removeEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n }\n }, [])\n\n useEffect(() => {\n if (hasNewAttachments) {\n PCore.getPubSubUtils().publish(PCore.getEvents().getCaseEvent().CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW, true);\n }\n }, [hasNewAttachments]);\n\n function _editClick() {\n\n const editAction = availableActions.find(\n (action) => action.ID === \"pyUpdateCaseDetails\"\n );\n const actionsAPI = thePConn.getActionsApi();\n const openLocalAction = actionsAPI.openLocalAction.bind(actionsAPI);\n\n openLocalAction( editAction.ID, { ...editAction});\n }\n\n\n function getActionButtonsHtml(): any {\n\n const aBHtml = <Box>\n <Button onClick={() => {_editClick()}}>Edit</Button>\n &nbsp;\n <CaseViewActionsMenu getPConnect={getPConnect} availableActions={availableActions} availableProcesses={availableProcesses} />\n </Box>;\n\n\n return aBHtml;\n\n }\n\n\n function getContainerContents() {\n\n if (!displayOnlyFA) {\n // show full portal\n return (\n <Grid container>\n <Grid item xs={3}>\n <div hidden={true} id=\"current-caseID\">{currentCaseID}</div>\n <Card className={classes.root} >\n <CardHeader className={classes.caseViewHeader}\n title={<Typography variant=\"h6\" component=\"div\">{header}</Typography>}\n subheader={<Typography variant=\"body1\" component=\"div\" id=\"caseId\">{subheader}</Typography>}\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 } else {\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\n\n return (\n getContainerContents()\n );\n}\n\nCaseView.defaultProps = {\n icon: \"\",\n children: [],\n caseInfo: {},\n showIconInHeader: true,\n getPConnect: null\n};\n\nCaseView.propTypes = {\n icon: PropTypes.string,\n children: PropTypes.arrayOf(PropTypes.node),\n subheader: PropTypes.string.isRequired,\n header: PropTypes.string.isRequired,\n showIconInHeader: PropTypes.bool,\n caseInfo: PropTypes.objectOf(PropTypes.any),\n getPConnect: PropTypes.func\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CaseViewActionsMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/templates/CaseViewActionsMenu/CaseViewActionsMenu.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAKnC,iBAAwB,mBAAmB,CAAC,KAAK,KAAA,eAuDhD;kBAvDuB,mBAAmB;;;;;;;;;;;eAAnB,mBAAmB"}