@pega/react-sdk-components 0.24.3 → 0.242.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/bridge/react_pconnect.d.ts.map +1 -1
- package/lib/bridge/react_pconnect.js +137 -140
- package/lib/bridge/react_pconnect.js.map +1 -1
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +1 -1
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -1
- package/lib/components/designSystemExtension/Banner/Banner.js +1 -1
- package/lib/components/designSystemExtension/Banner/Banner.js.map +1 -1
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.d.ts.map +1 -1
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js +11 -11
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js.map +1 -1
- package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js +3 -3
- package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js.map +1 -1
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js +4 -4
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js.map +1 -1
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +4 -4
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js +3 -3
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js.map +1 -1
- package/lib/components/designSystemExtension/Operator/Operator.d.ts.map +1 -1
- package/lib/components/designSystemExtension/Operator/Operator.js +6 -6
- package/lib/components/designSystemExtension/Operator/Operator.js.map +1 -1
- package/lib/components/designSystemExtension/Pulse/Pulse.js +2 -2
- package/lib/components/designSystemExtension/Pulse/Pulse.js.map +1 -1
- package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts.map +1 -1
- package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js +3 -2
- package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js.map +1 -1
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +1 -1
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
- package/lib/components/field/AutoComplete/AutoComplete.js +3 -3
- package/lib/components/field/AutoComplete/AutoComplete.js.map +1 -1
- package/lib/components/field/CancelAlert/CancelAlert.js +2 -2
- package/lib/components/field/CancelAlert/CancelAlert.js.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.js +3 -3
- package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
- package/lib/components/field/Currency/Currency.js +1 -1
- package/lib/components/field/Currency/Currency.js.map +1 -1
- package/lib/components/field/Date/Date.d.ts.map +1 -1
- package/lib/components/field/Date/Date.js +17 -8
- package/lib/components/field/Date/Date.js.map +1 -1
- package/lib/components/field/DateTime/DateTime.d.ts.map +1 -1
- package/lib/components/field/DateTime/DateTime.js +24 -7
- package/lib/components/field/DateTime/DateTime.js.map +1 -1
- package/lib/components/field/Decimal/Decimal.js +1 -1
- package/lib/components/field/Decimal/Decimal.js.map +1 -1
- package/lib/components/field/Dropdown/Dropdown.js +2 -2
- package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/field/Email/Email.js +2 -2
- package/lib/components/field/Email/Email.js.map +1 -1
- package/lib/components/field/Group/Group.js +1 -1
- package/lib/components/field/Group/Group.js.map +1 -1
- package/lib/components/field/Integer/Integer.js +1 -1
- package/lib/components/field/Integer/Integer.js.map +1 -1
- package/lib/components/field/Multiselect/Multiselect.d.ts.map +1 -1
- package/lib/components/field/Multiselect/Multiselect.js +12 -8
- package/lib/components/field/Multiselect/Multiselect.js.map +1 -1
- package/lib/components/field/Percentage/Percentage.js +2 -2
- package/lib/components/field/Percentage/Percentage.js.map +1 -1
- package/lib/components/field/Phone/Phone.d.ts.map +1 -1
- package/lib/components/field/Phone/Phone.js +14 -8
- package/lib/components/field/Phone/Phone.js.map +1 -1
- package/lib/components/field/RadioButtons/RadioButtons.js +2 -2
- package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
- package/lib/components/field/SemanticLink/SemanticLink.js +3 -3
- package/lib/components/field/SemanticLink/SemanticLink.js.map +1 -1
- package/lib/components/field/TextArea/TextArea.js +1 -1
- package/lib/components/field/TextArea/TextArea.js.map +1 -1
- package/lib/components/field/TextContent/TextContent.js +1 -1
- package/lib/components/field/TextContent/TextContent.js.map +1 -1
- package/lib/components/field/TextInput/TextInput.js +1 -1
- package/lib/components/field/TextInput/TextInput.js.map +1 -1
- package/lib/components/field/Time/Time.d.ts.map +1 -1
- package/lib/components/field/Time/Time.js +22 -3
- package/lib/components/field/Time/Time.js.map +1 -1
- package/lib/components/field/URL/URL.js +1 -1
- package/lib/components/field/URL/URL.js.map +1 -1
- package/lib/components/field/UserReference/UserReference.js +1 -1
- package/lib/components/field/UserReference/UserReference.js.map +1 -1
- package/lib/components/helpers/simpleTableHelpers.js +1 -1
- package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
- package/lib/components/infra/ActionButtons/ActionButtons.js +3 -3
- package/lib/components/infra/ActionButtons/ActionButtons.js.map +1 -1
- package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
- package/lib/components/infra/Assignment/Assignment.js +27 -4
- package/lib/components/infra/Assignment/Assignment.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +5 -6
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js +2 -2
- package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +7 -7
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
- package/lib/components/infra/DashboardFilter/DashboardFilter.js +1 -1
- package/lib/components/infra/DashboardFilter/DashboardFilter.js.map +1 -1
- package/lib/components/infra/DashboardFilter/filterUtils.d.ts.map +1 -1
- package/lib/components/infra/DashboardFilter/filterUtils.js +2 -2
- package/lib/components/infra/DashboardFilter/filterUtils.js.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.js +2 -2
- package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
- package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
- package/lib/components/infra/NavBar/NavBar.js +16 -15
- package/lib/components/infra/NavBar/NavBar.js.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.js +5 -6
- package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
- package/lib/components/infra/Stages/Stages.js +4 -4
- package/lib/components/infra/Stages/Stages.js.map +1 -1
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js +2 -2
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js.map +1 -1
- package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js +2 -2
- package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js.map +1 -1
- package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/template/AppShell/AppShell.js +20 -2
- package/lib/components/template/AppShell/AppShell.js.map +1 -1
- package/lib/components/template/CaseView/CaseView.js +5 -5
- package/lib/components/template/CaseView/CaseView.js.map +1 -1
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js +6 -6
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js.map +1 -1
- package/lib/components/template/Confirmation/Confirmation.d.ts.map +1 -1
- package/lib/components/template/Confirmation/Confirmation.js +2 -1
- package/lib/components/template/Confirmation/Confirmation.js.map +1 -1
- package/lib/components/template/DataReference/DataReference.js +1 -1
- package/lib/components/template/DataReference/DataReference.js.map +1 -1
- package/lib/components/template/Details/Details/Details.js +1 -1
- package/lib/components/template/Details/Details/Details.js.map +1 -1
- package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js +3 -3
- package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js.map +1 -1
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js +1 -1
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js.map +1 -1
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js +1 -1
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js.map +1 -1
- package/lib/components/template/Details/DynamicTabs/DynamicTabs.d.ts.map +1 -1
- package/lib/components/template/Details/DynamicTabs/DynamicTabs.js +3 -2
- package/lib/components/template/Details/DynamicTabs/DynamicTabs.js.map +1 -1
- package/lib/components/template/InlineDashboard/InlineDashboard.js +2 -2
- package/lib/components/template/InlineDashboard/InlineDashboard.js.map +1 -1
- package/lib/components/template/ListView/ListView.d.ts.map +1 -1
- package/lib/components/template/ListView/ListView.js +49 -57
- package/lib/components/template/ListView/ListView.js.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js +1 -1
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js.map +1 -1
- package/lib/components/template/OneColumn/OneColumn/OneColumn.js +2 -2
- package/lib/components/template/OneColumn/OneColumn/OneColumn.js.map +1 -1
- package/lib/components/template/PromotedFilters/PromotedFilters.js +1 -1
- package/lib/components/template/PromotedFilters/PromotedFilters.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +23 -23
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/lib/components/template/SubTabs/SubTabs.js +2 -2
- package/lib/components/template/SubTabs/SubTabs.js.map +1 -1
- package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js +2 -2
- package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js.map +1 -1
- package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js +2 -2
- package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js +1 -1
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js.map +1 -1
- package/lib/components/template/WssNavBar/WssNavBar.js +9 -9
- package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
- package/lib/components/widget/AppAnnouncement/AppAnnouncement.js +2 -2
- package/lib/components/widget/AppAnnouncement/AppAnnouncement.js.map +1 -1
- package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
- package/lib/components/widget/Attachment/Attachment.js +3 -3
- package/lib/components/widget/Attachment/Attachment.js.map +1 -1
- package/lib/components/widget/CaseHistory/CaseHistory.d.ts.map +1 -1
- package/lib/components/widget/CaseHistory/CaseHistory.js +8 -7
- package/lib/components/widget/CaseHistory/CaseHistory.js.map +1 -1
- package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js +1 -1
- package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js.map +1 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts.map +1 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.js +4 -4
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.js.map +1 -1
- package/lib/components/widget/Followers/Followers.js +2 -2
- package/lib/components/widget/Followers/Followers.js.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.d.ts.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.js +3 -3
- package/lib/components/widget/SummaryItem/SummaryItem.js.map +1 -1
- package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
- package/lib/components/widget/ToDo/ToDo.js +52 -16
- package/lib/components/widget/ToDo/ToDo.js.map +1 -1
- package/lib/doc/KeyReleaseUpdates.md +19 -7
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/index.d.ts.map +1 -1
- package/lib/hooks/index.js +2 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useFocusFirstField.d.ts +7 -0
- package/lib/hooks/useFocusFirstField.d.ts.map +1 -0
- package/lib/hooks/useFocusFirstField.js +20 -0
- package/lib/hooks/useFocusFirstField.js.map +1 -0
- package/lib/hooks/useScrolltoTop.d.ts +7 -0
- package/lib/hooks/useScrolltoTop.d.ts.map +1 -0
- package/lib/hooks/useScrolltoTop.js +13 -0
- package/lib/hooks/useScrolltoTop.js.map +1 -0
- package/lib/theme.d.ts +11 -0
- package/lib/theme.d.ts.map +1 -0
- package/lib/theme.js +19 -0
- package/lib/theme.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { createElement, useEffect, useRef, useState } from 'react';
|
|
3
|
-
import Dialog from '@material
|
|
4
|
-
import DialogContent from '@material
|
|
5
|
-
import DialogTitle from '@material
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
3
|
+
import Dialog from '@mui/material/Dialog';
|
|
4
|
+
import DialogContent from '@mui/material/DialogContent';
|
|
5
|
+
import DialogTitle from '@mui/material/DialogTitle';
|
|
6
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
7
|
+
import { LocalizationProvider } from '@mui/x-date-pickers';
|
|
8
|
+
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
9
9
|
import difference from 'lodash.difference';
|
|
10
10
|
import createPConnectComponent from '../../../../bridge/react_pconnect';
|
|
11
11
|
// Need to get correct implementation from component map for Assignment and CancelAlert
|
|
@@ -256,7 +256,7 @@ export default function ModalViewContainer(props) {
|
|
|
256
256
|
// actionsDialog.current = true;
|
|
257
257
|
setShowModal(false);
|
|
258
258
|
}
|
|
259
|
-
return (_jsxs(_Fragment, { children: [_jsxs(Dialog, { open: bShowModal, "aria-labelledby": 'form-dialog-title', children: [_jsx(DialogTitle, { id: 'form-dialog-title', className: `${classes.dlgTitle} psdk-dialog-title`, children: title }), _jsx(DialogContent, { className: `${classes.dlgContent} psdk-dialog-content`, children: bShowModal ? (_jsx(
|
|
259
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Dialog, { open: bShowModal, "aria-labelledby": 'form-dialog-title', children: [_jsx(DialogTitle, { id: 'form-dialog-title', className: `${classes.dlgTitle} psdk-dialog-title`, children: title }), _jsx(DialogContent, { className: `${classes.dlgContent} psdk-dialog-content`, children: bShowModal ? (_jsx(LocalizationProvider, { dateAdapter: AdapterDayjs, children: _jsx(Assignment, { getPConnect: createdView.configObject.getPConnect, itemKey: itemKey, isInModal: true, banners: getBanners({
|
|
260
260
|
target: itemKey,
|
|
261
261
|
pageMessages
|
|
262
262
|
}), children: arNewChildrenAsReact }) })) : null }), isMultiRecordData && (_jsx(ListViewActionButtons, { getPConnect: createdView.configObject.getPConnect, context: createdView.latestItem.context, closeActionsDialog: closeActionsDialog }))] }), bShowCancelAlert && _jsx(CancelAlert, { ...cancelAlertProps, dismiss: dismissCancelAlert })] }));
|
|
@@ -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 { createElement, useEffect, useRef, useState } from 'react';\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 { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport DayjsUtils from '@date-io/dayjs';\nimport difference from 'lodash.difference';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\n// Need to get correct implementation from component map for Assignment and CancelAlert\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { getBanners } from '../../../helpers/case-utils';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface ModalViewContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n loadingInfo?: string;\n routingInfo?: any;\n pageMessages?: string[];\n}\n\nfunction isOpenModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length < currentModalList.length : false;\n}\n\nfunction isUpdateModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length === currentModalList.length : false;\n}\n\nfunction isCloseModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length > currentModalList.length : false;\n}\n\nfunction buildName(pConnect, name = '') {\n const context = pConnect.getContextName();\n return `${context}/${name}`;\n}\n\nfunction getKeyAndLatestItem(routinginfo, pConn, options) {\n const containerName = pConn.getContainerName();\n const { acTertiary = false } = options || {};\n if (PCore.getContainerUtils().hasContainerItems(buildName(pConn, containerName))) {\n const { accessedOrder, items } = routinginfo;\n let key;\n // eslint-disable-next-line no-plusplus\n for (let i = accessedOrder.length - 1; i >= 0; i--) {\n const tempkey = accessedOrder[i];\n if ((acTertiary && items[tempkey].acTertiary) || (!acTertiary && !items[tempkey].acTertiary)) {\n key = tempkey;\n break;\n }\n }\n const latestItem = items[key];\n return { key, latestItem };\n }\n return {};\n}\n\nfunction getConfigObject(item, pConnect, isReverseCoexistence = false) {\n let config;\n if (isReverseCoexistence) {\n config = {\n options: {\n pageReference: pConnect?.getPageReference(),\n hasForm: true,\n containerName: pConnect?.getContainerName() || PCore.getConstants().MODAL\n }\n };\n return PCore.createPConnect(config);\n }\n if (item) {\n const { context, view, isBulkAction } = item;\n const target = PCore.getContainerUtils().getTargetFromContainerItemID(context);\n config = {\n meta: view,\n options: {\n context,\n pageReference: view.config.context || pConnect.getPageReference(),\n hasForm: true,\n ...(isBulkAction && { isBulkAction }),\n containerName: pConnect?.getContainerName() || PCore.getConstants().MODAL,\n target\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 },\n dlgContent: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(0),\n marginBottom: theme.spacing(2)\n }\n}));\n\nexport default function ModalViewContainer(props: ModalViewContainerProps) {\n // Get the proper implementation (local or Pega-provided) for these components that are emitted below\n const Assignment = getComponentFromMap('Assignment');\n const CancelAlert = getComponentFromMap('CancelAlert');\n const ListViewActionButtons = getComponentFromMap('ListViewActionButtons');\n\n const classes = useStyles();\n\n const modalCollection = useRef({});\n const routingInfoRef = useRef({});\n const { getPConnect, routingInfo = null, pageMessages = [] } = props;\n const pConn = getPConnect();\n const { acTertiary } = pConn.getConfigProps() as any;\n const {\n CONTAINER_TYPE: { MULTIPLE },\n PUB_SUB_EVENTS: { EVENT_SHOW_CANCEL_ALERT }\n } = PCore.getConstants();\n const { subscribe, unsubscribe } = PCore.getPubSubUtils();\n const [bShowModal, setShowModal] = useState(false);\n const [bShowCancelAlert, setShowCancelAlert] = useState(false);\n const [createdView, setCreatedView] = useState<any>(null);\n const [title, setTitle] = useState('');\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<any[]>([]);\n const [itemKey, setItemKey] = useState('');\n const [cancelAlertProps, setCancelAlertProps] = useState({});\n const [isMultiRecordData, setMultiRecordData] = useState(false);\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Data Object';\n\n const ERROR_WHILE_RENDERING = 'ERROR_WHILE_RENDERING';\n\n function showAlert(payload) {\n const { latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn, { acTertiary });\n const isReverseCoexistence = (PCore.getCoexistenceManager().getBroadcastUtils() as any).isReverseCoexistenceCaseLoaded();\n const { isModalAction, hideDelete, isDataObject, skipReleaseLockRequest } = 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, isReverseCoexistence);\n const contextName = configObject?.getPConnect().getContextName();\n setCancelAlertProps({\n heading: 'Discard unsaved changes?',\n content: 'You have unsaved changes. You can discard them or go back to keep working.',\n getPConnect: configObject?.getPConnect,\n itemKey: contextName,\n hideDelete,\n isDataObject,\n skipReleaseLockRequest\n });\n setShowCancelAlert(true);\n }\n }\n\n function handleModalOpen(key) {\n modalCollection.current = {\n ...modalCollection.current,\n [key]: {}\n };\n }\n\n function handleModalClose(accessedOrder) {\n const tempModalCollection = modalCollection.current;\n const [closedModalKey] = difference(Object.keys(tempModalCollection), accessedOrder);\n\n if (closedModalKey && tempModalCollection[closedModalKey]) {\n const modifiedModalCollection = { ...tempModalCollection };\n delete modifiedModalCollection[closedModalKey];\n modalCollection.current = modifiedModalCollection;\n setShowModal(false);\n }\n }\n\n const dismissCancelAlert = dismissAllModals => {\n setShowCancelAlert(false);\n\n if (dismissAllModals) {\n setShowModal(false);\n }\n };\n\n function getModalHeading(dataObjectAction) {\n return dataObjectAction === PCore.getConstants().RESOURCE_STATUS.CREATE\n ? localizedVal('Add Record', localeCategory)\n : localizedVal('Edit Record', localeCategory);\n }\n\n function determineModalHeaderByAction(actionName, caseTypeName, ID, caseLocaleRef) {\n if (actionName) {\n return localizedVal(actionName, localeCategory);\n }\n return `${localizedVal('Create', localeCategory)} ${localizedVal(caseTypeName, undefined, caseLocaleRef)} (${ID})`;\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 // Persisting routing information between the renders in showAlert\n routingInfoRef.current = routingInfo;\n });\n\n useEffect(() => {\n subscribe(EVENT_SHOW_CANCEL_ALERT, showAlert, EVENT_SHOW_CANCEL_ALERT /* Unique string for subscription */);\n subscribe(\n ERROR_WHILE_RENDERING,\n error => {\n // setError(true);\n // eslint-disable-next-line no-console\n console.error(error);\n },\n `${ERROR_WHILE_RENDERING}-mc-${getPConnect().getContextName()}`,\n false,\n getPConnect().getContextName()\n );\n\n // Unsubscribe on component unmount\n return () => {\n unsubscribe(EVENT_SHOW_CANCEL_ALERT, EVENT_SHOW_CANCEL_ALERT /* Should be same unique string passed during subscription */);\n };\n });\n\n useEffect(() => {\n if (routingInfo) {\n const { accessedOrder, type } = routingInfo;\n const { key, latestItem } = getKeyAndLatestItem(routingInfo, pConn, { acTertiary });\n\n if (\n latestItem &&\n type === MULTIPLE &&\n (isOpenModalAction(modalCollection.current, accessedOrder) || isUpdateModalAction(modalCollection.current, accessedOrder))\n ) {\n const { actionName } = latestItem;\n // const { isDockable = false } = latestItem?.modalOptions || {};\n const configObject: any = getConfigObject(latestItem, null, false);\n const pConnect = configObject.getPConnect();\n const caseInfo: any = pConnect.getCaseInfo();\n const caseName = caseInfo.getName();\n const caseTypeName = caseInfo.getCaseTypeName();\n const ID = caseInfo.getBusinessID() || caseInfo.getID();\n const isDataObject = routingInfo.items[latestItem.context].resourceType === PCore.getConstants().RESOURCE_TYPES.DATA;\n const dataObjectAction = routingInfo.items[latestItem.context].resourceStatus;\n const isMultiRecord = routingInfo.items[latestItem.context].isMultiRecordData;\n const headingValue =\n isDataObject || isMultiRecord\n ? getModalHeading(dataObjectAction)\n : determineModalHeaderByAction(actionName, caseTypeName, ID, `${caseInfo?.getClassName()}!CASE!${caseInfo.getName()}`.toUpperCase());\n\n let arChildrenAsReact: any[] = [];\n\n if (pConnect.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 = (pConnect.getChildren() as []).map((child: any) => {\n // Use Case Summary ID as the React element's key\n const caseSummaryID = child.getPConnect().getCaseSummary().ID;\n return createElement(createPConnectComponent(), {\n ...child,\n key: caseSummaryID\n });\n });\n }\n\n if (arChildrenAsReact.length > 0) setArNewChildrenAsReact(arChildrenAsReact);\n setMultiRecordData(isMultiRecord);\n setTitle(headingValue);\n setCreatedView({ configObject, latestItem });\n setItemKey(key);\n setShowModal(true);\n\n // Update modal use case which happens when assignment in submitted in modal.\n if (isUpdateModalAction(modalCollection.current, accessedOrder)) {\n // handleModalUpdate(key);\n } else if (isOpenModalAction(modalCollection.current, accessedOrder)) {\n // New modal open scenario\n handleModalOpen(key);\n }\n } else if (isCloseModalAction(modalCollection.current, accessedOrder)) {\n handleModalClose(accessedOrder);\n }\n }\n }, [routingInfo]);\n\n function closeActionsDialog() {\n // actionsDialog.current = true;\n setShowModal(false);\n }\n\n return (\n <>\n <Dialog open={bShowModal} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title' className={`${classes.dlgTitle} psdk-dialog-title`}>\n {title}\n </DialogTitle>\n <DialogContent className={`${classes.dlgContent} psdk-dialog-content`}>\n {bShowModal ? (\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment\n getPConnect={createdView.configObject.getPConnect}\n itemKey={itemKey}\n isInModal\n banners={getBanners({\n target: itemKey,\n pageMessages\n })}\n >\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n ) : null}\n </DialogContent>\n\n {isMultiRecordData && (\n <ListViewActionButtons\n getPConnect={createdView.configObject.getPConnect}\n context={createdView.latestItem.context}\n closeActionsDialog={closeActionsDialog}\n />\n )}\n </Dialog>\n {bShowCancelAlert && <CancelAlert {...cancelAlertProps} dismiss={dismissCancelAlert} />}\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ModalViewContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ModalViewContainer/ModalViewContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { createElement, useEffect, useRef, useState } from 'react';\nimport Dialog from '@mui/material/Dialog';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { LocalizationProvider } from '@mui/x-date-pickers';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport difference from 'lodash.difference';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\n// Need to get correct implementation from component map for Assignment and CancelAlert\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { getBanners } from '../../../helpers/case-utils';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface ModalViewContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n loadingInfo?: string;\n routingInfo?: any;\n pageMessages?: string[];\n}\n\nfunction isOpenModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length < currentModalList.length : false;\n}\n\nfunction isUpdateModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length === currentModalList.length : false;\n}\n\nfunction isCloseModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length > currentModalList.length : false;\n}\n\nfunction buildName(pConnect, name = '') {\n const context = pConnect.getContextName();\n return `${context}/${name}`;\n}\n\nfunction getKeyAndLatestItem(routinginfo, pConn, options) {\n const containerName = pConn.getContainerName();\n const { acTertiary = false } = options || {};\n if (PCore.getContainerUtils().hasContainerItems(buildName(pConn, containerName))) {\n const { accessedOrder, items } = routinginfo;\n let key;\n // eslint-disable-next-line no-plusplus\n for (let i = accessedOrder.length - 1; i >= 0; i--) {\n const tempkey = accessedOrder[i];\n if ((acTertiary && items[tempkey].acTertiary) || (!acTertiary && !items[tempkey].acTertiary)) {\n key = tempkey;\n break;\n }\n }\n const latestItem = items[key];\n return { key, latestItem };\n }\n return {};\n}\n\nfunction getConfigObject(item, pConnect, isReverseCoexistence = false) {\n let config;\n if (isReverseCoexistence) {\n config = {\n options: {\n pageReference: pConnect?.getPageReference(),\n hasForm: true,\n containerName: pConnect?.getContainerName() || PCore.getConstants().MODAL\n }\n };\n return PCore.createPConnect(config);\n }\n if (item) {\n const { context, view, isBulkAction } = item;\n const target = PCore.getContainerUtils().getTargetFromContainerItemID(context);\n config = {\n meta: view,\n options: {\n context,\n pageReference: view.config.context || pConnect.getPageReference(),\n hasForm: true,\n ...(isBulkAction && { isBulkAction }),\n containerName: pConnect?.getContainerName() || PCore.getConstants().MODAL,\n target\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 },\n dlgContent: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(0),\n marginBottom: theme.spacing(2)\n }\n}));\n\nexport default function ModalViewContainer(props: ModalViewContainerProps) {\n // Get the proper implementation (local or Pega-provided) for these components that are emitted below\n const Assignment = getComponentFromMap('Assignment');\n const CancelAlert = getComponentFromMap('CancelAlert');\n const ListViewActionButtons = getComponentFromMap('ListViewActionButtons');\n\n const classes = useStyles();\n\n const modalCollection = useRef({});\n const routingInfoRef = useRef({});\n const { getPConnect, routingInfo = null, pageMessages = [] } = props;\n const pConn = getPConnect();\n const { acTertiary } = pConn.getConfigProps() as any;\n const {\n CONTAINER_TYPE: { MULTIPLE },\n PUB_SUB_EVENTS: { EVENT_SHOW_CANCEL_ALERT }\n } = PCore.getConstants();\n const { subscribe, unsubscribe } = PCore.getPubSubUtils();\n const [bShowModal, setShowModal] = useState(false);\n const [bShowCancelAlert, setShowCancelAlert] = useState(false);\n const [createdView, setCreatedView] = useState<any>(null);\n const [title, setTitle] = useState('');\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<any[]>([]);\n const [itemKey, setItemKey] = useState('');\n const [cancelAlertProps, setCancelAlertProps] = useState({});\n const [isMultiRecordData, setMultiRecordData] = useState(false);\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Data Object';\n\n const ERROR_WHILE_RENDERING = 'ERROR_WHILE_RENDERING';\n\n function showAlert(payload) {\n const { latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn, { acTertiary });\n const isReverseCoexistence = (PCore.getCoexistenceManager().getBroadcastUtils() as any).isReverseCoexistenceCaseLoaded();\n const { isModalAction, hideDelete, isDataObject, skipReleaseLockRequest } = 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, isReverseCoexistence);\n const contextName = configObject?.getPConnect().getContextName();\n setCancelAlertProps({\n heading: 'Discard unsaved changes?',\n content: 'You have unsaved changes. You can discard them or go back to keep working.',\n getPConnect: configObject?.getPConnect,\n itemKey: contextName,\n hideDelete,\n isDataObject,\n skipReleaseLockRequest\n });\n setShowCancelAlert(true);\n }\n }\n\n function handleModalOpen(key) {\n modalCollection.current = {\n ...modalCollection.current,\n [key]: {}\n };\n }\n\n function handleModalClose(accessedOrder) {\n const tempModalCollection = modalCollection.current;\n const [closedModalKey] = difference(Object.keys(tempModalCollection), accessedOrder);\n\n if (closedModalKey && tempModalCollection[closedModalKey]) {\n const modifiedModalCollection = { ...tempModalCollection };\n delete modifiedModalCollection[closedModalKey];\n modalCollection.current = modifiedModalCollection;\n setShowModal(false);\n }\n }\n\n const dismissCancelAlert = dismissAllModals => {\n setShowCancelAlert(false);\n\n if (dismissAllModals) {\n setShowModal(false);\n }\n };\n\n function getModalHeading(dataObjectAction) {\n return dataObjectAction === PCore.getConstants().RESOURCE_STATUS.CREATE\n ? localizedVal('Add Record', localeCategory)\n : localizedVal('Edit Record', localeCategory);\n }\n\n function determineModalHeaderByAction(actionName, caseTypeName, ID, caseLocaleRef) {\n if (actionName) {\n return localizedVal(actionName, localeCategory);\n }\n return `${localizedVal('Create', localeCategory)} ${localizedVal(caseTypeName, undefined, caseLocaleRef)} (${ID})`;\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 // Persisting routing information between the renders in showAlert\n routingInfoRef.current = routingInfo;\n });\n\n useEffect(() => {\n subscribe(EVENT_SHOW_CANCEL_ALERT, showAlert, EVENT_SHOW_CANCEL_ALERT /* Unique string for subscription */);\n subscribe(\n ERROR_WHILE_RENDERING,\n error => {\n // setError(true);\n // eslint-disable-next-line no-console\n console.error(error);\n },\n `${ERROR_WHILE_RENDERING}-mc-${getPConnect().getContextName()}`,\n false,\n getPConnect().getContextName()\n );\n\n // Unsubscribe on component unmount\n return () => {\n unsubscribe(EVENT_SHOW_CANCEL_ALERT, EVENT_SHOW_CANCEL_ALERT /* Should be same unique string passed during subscription */);\n };\n });\n\n useEffect(() => {\n if (routingInfo) {\n const { accessedOrder, type } = routingInfo;\n const { key, latestItem } = getKeyAndLatestItem(routingInfo, pConn, { acTertiary });\n\n if (\n latestItem &&\n type === MULTIPLE &&\n (isOpenModalAction(modalCollection.current, accessedOrder) || isUpdateModalAction(modalCollection.current, accessedOrder))\n ) {\n const { actionName } = latestItem;\n // const { isDockable = false } = latestItem?.modalOptions || {};\n const configObject: any = getConfigObject(latestItem, null, false);\n const pConnect = configObject.getPConnect();\n const caseInfo: any = pConnect.getCaseInfo();\n const caseName = caseInfo.getName();\n const caseTypeName = caseInfo.getCaseTypeName();\n const ID = caseInfo.getBusinessID() || caseInfo.getID();\n const isDataObject = routingInfo.items[latestItem.context].resourceType === PCore.getConstants().RESOURCE_TYPES.DATA;\n const dataObjectAction = routingInfo.items[latestItem.context].resourceStatus;\n const isMultiRecord = routingInfo.items[latestItem.context].isMultiRecordData;\n const headingValue =\n isDataObject || isMultiRecord\n ? getModalHeading(dataObjectAction)\n : determineModalHeaderByAction(actionName, caseTypeName, ID, `${caseInfo?.getClassName()}!CASE!${caseInfo.getName()}`.toUpperCase());\n\n let arChildrenAsReact: any[] = [];\n\n if (pConnect.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 = (pConnect.getChildren() as []).map((child: any) => {\n // Use Case Summary ID as the React element's key\n const caseSummaryID = child.getPConnect().getCaseSummary().ID;\n return createElement(createPConnectComponent(), {\n ...child,\n key: caseSummaryID\n });\n });\n }\n\n if (arChildrenAsReact.length > 0) setArNewChildrenAsReact(arChildrenAsReact);\n setMultiRecordData(isMultiRecord);\n setTitle(headingValue);\n setCreatedView({ configObject, latestItem });\n setItemKey(key);\n setShowModal(true);\n\n // Update modal use case which happens when assignment in submitted in modal.\n if (isUpdateModalAction(modalCollection.current, accessedOrder)) {\n // handleModalUpdate(key);\n } else if (isOpenModalAction(modalCollection.current, accessedOrder)) {\n // New modal open scenario\n handleModalOpen(key);\n }\n } else if (isCloseModalAction(modalCollection.current, accessedOrder)) {\n handleModalClose(accessedOrder);\n }\n }\n }, [routingInfo]);\n\n function closeActionsDialog() {\n // actionsDialog.current = true;\n setShowModal(false);\n }\n\n return (\n <>\n <Dialog open={bShowModal} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title' className={`${classes.dlgTitle} psdk-dialog-title`}>\n {title}\n </DialogTitle>\n <DialogContent className={`${classes.dlgContent} psdk-dialog-content`}>\n {bShowModal ? (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <Assignment\n getPConnect={createdView.configObject.getPConnect}\n itemKey={itemKey}\n isInModal\n banners={getBanners({\n target: itemKey,\n pageMessages\n })}\n >\n {arNewChildrenAsReact}\n </Assignment>\n </LocalizationProvider>\n ) : null}\n </DialogContent>\n\n {isMultiRecordData && (\n <ListViewActionButtons\n getPConnect={createdView.configObject.getPConnect}\n context={createdView.latestItem.context}\n closeActionsDialog={closeActionsDialog}\n />\n )}\n </Dialog>\n {bShowCancelAlert && <CancelAlert {...cancelAlertProps} dismiss={dismissCancelAlert} />}\n </>\n );\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React, { createElement, useContext, useEffect, useState } from 'react';
|
|
3
|
-
import { Box, CircularProgress } from '@material
|
|
3
|
+
import { Box, CircularProgress } from '@mui/material';
|
|
4
4
|
import createPConnectComponent from '../../../../bridge/react_pconnect';
|
|
5
5
|
import StoreContext from '../../../../bridge/Context/StoreContext';
|
|
6
6
|
import { isEmptyObject } from '../../../helpers/common-utils';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ViewContainer/ViewContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { createElement, useContext, useEffect, useState } from 'react';\nimport { Box, CircularProgress } from '@material-ui/core';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport StoreContext from '../../../../bridge/Context/StoreContext';\nimport { isEmptyObject } from '../../../helpers/common-utils';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface ViewContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n name?: string;\n loadingInfo?: any; // can't be boolean until setDispatchObjState expects loadingInfo to be type null\n routingInfo?: any;\n mode?: string;\n limit?: number;\n}\n\n// ViewContainer can emit View\n// import View from '../View';\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nexport default function ViewContainer(props: ViewContainerProps) {\n // const { getPConnect, children, routingInfo, name } = props;\n const { getPConnect, name = '', mode = 'single', limit = 16, loadingInfo = false, routingInfo = null } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n\n const { CONTAINER_TYPE, APP } = PCore.getConstants();\n const pConn = getPConnect();\n const containerMgr: any = pConn.getContainerManager();\n\n const [dispatchObjState, setDispatchObjState] = useState({\n dispatchObject: { semanticURL: '', context: '', acName: '' },\n visible: false,\n loadingInfo: null,\n isLoadingInfoChange: false\n }); // was this.state in class-based ViewContainer avoiding use of just \"state\" as the name\n\n let root;\n\n const thePConn = typeof getPConnect === 'function' ? getPConnect() : null;\n\n // beginning of functions for use by ViewContainer\n\n function buildName() {\n const context = thePConn?.getContextName();\n let viewContainerName = name;\n if (!viewContainerName) viewContainerName = '';\n return `${context?.toUpperCase()}/${viewContainerName.toUpperCase()}`;\n }\n\n function prepareDispatchObject() {\n const baseContext = pConn.getContextName();\n // const { acName = \"primary\" } = pConn.getContainerName(); // doesn't work with 8.23 typings\n let acName = pConn.getContainerName();\n if (!acName) {\n acName = 'primary';\n }\n\n return {\n semanticURL: '',\n context: baseContext,\n acName\n };\n }\n\n // determine if or not loadingInfo prop changed on next re-render\n // function getDerivedStateFromProps(nextProps, prevState) {\n // const { loadingInfo: prevLoadingInfo } = prevState;\n // const { loadingInfo: nextLoadingIndfo } = nextProps;\n // return {\n // loadingInfo: nextLoadingIndfo,\n // isLoadingInfoChange: prevLoadingInfo !== nextLoadingIndfo\n // };\n // }\n\n // set the root component that is retrieved by PConnectHOC\n function setRootComponent(configObject) {\n const { isLoadingInfoChange } = dispatchObjState;\n if (!isLoadingInfoChange) {\n root = createElement(createPConnectComponent(), configObject);\n }\n }\n\n // end of functions for use by ViewContainer\n\n // useEffect on [] -> code that should be run once (as in old constructor and in componentDidMount)\n useEffect(() => {\n // This is adapted from the class-based ViewContainer constructor\n containerMgr.initializeContainers({\n type: mode === CONTAINER_TYPE.MULTIPLE ? CONTAINER_TYPE.MULTIPLE : CONTAINER_TYPE.SINGLE\n });\n\n if (mode === CONTAINER_TYPE.MULTIPLE && limit) {\n /* NOTE: setContainerLimit use is temporary. It is a non-public, unsupported API. */\n PCore.getContainerUtils().setContainerLimit(`${APP.APP}/${name}`, limit);\n }\n\n const dispatchObject = prepareDispatchObject();\n setDispatchObjState({\n dispatchObject,\n // PCore is defined in pxBootstrapShell - eventually will be exported in place of constellationCore\n visible: !PCore.checkIfSemanticURL(),\n loadingInfo,\n isLoadingInfoChange: false\n });\n\n const { visible } = dispatchObjState;\n if (visible) containerMgr.addContainerItem(dispatchObject);\n\n // This is adapted from the class-based ViewContainer componentDidMount\n let objectForAddContainer;\n if (PCore.checkIfSemanticURL()) {\n objectForAddContainer = prepareDispatchObject();\n } else {\n const { dispatchObject: theDispatchObject } = dispatchObjState;\n objectForAddContainer = theDispatchObject;\n }\n\n // Getting default view label\n const navPages = pConn.getValue('pyPortal.pyPrimaryNavPages', ''); // 2nd arg empty string until typedefs allow optional\n const defaultViewLabel = Array.isArray(navPages) && navPages[0] ? navPages[0].pyLabel : '';\n // TODO: Plan is to rename window.constellationCore to window.pega (or similar)\n // And expose less via ui-bootstrap.js\n // PCore is defined in pxBootstrapShell - eventually will be exported in place of constellationCore\n\n if (!displayOnlyFA) {\n // configureForBrowserBookmark not applicable in Embedded mode\n PCore.configureForBrowserBookmark({\n ...objectForAddContainer,\n defaultViewLabel\n });\n }\n }, []);\n\n // This code (that's run every time the ViewContainer is called) is adapted from the class-based ViewContainer's render\n\n // Looking for routingInfo\n\n // debugging/investigation help\n // console.log(`ViewContainer props: ${JSON.stringify(props)}`);\n\n const theBuildName = buildName();\n const { CREATE_DETAILS_VIEW_NAME } = PCore.getConstants();\n if (routingInfo) {\n const { accessedOrder, items } = routingInfo;\n if (accessedOrder && items) {\n const key = accessedOrder[accessedOrder.length - 1];\n let componentVisible = accessedOrder.length > 0;\n const { visible } = dispatchObjState;\n componentVisible = visible || componentVisible;\n if (items[key] && items[key].view && !isEmptyObject(items[key].view)) {\n const latestItem = items[key];\n const rootView = latestItem.view;\n const { context, name: viewName } = rootView.config;\n const config: any = { meta: rootView };\n config.options = {\n context: latestItem.context,\n pageReference: context || getPConnect().getPageReference(),\n containerName: getPConnect().getContainerName(),\n containerItemName: key,\n hasForm: viewName === CREATE_DETAILS_VIEW_NAME\n };\n const configObject: any = PCore.createPConnect(config);\n\n // Add in displayOnlyFA if prop is on ViewContainer\n if (displayOnlyFA) {\n configObject.displayOnlyFA = true;\n }\n\n setRootComponent(configObject);\n return (\n <React.Fragment key={theBuildName}>\n {componentVisible && root}\n {loadingInfo && (\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n )}\n </React.Fragment>\n );\n }\n }\n }\n\n // fall through return if insufficient routingInfo\n return (\n <React.Fragment key={theBuildName}>\n {loadingInfo && (\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n )}\n </React.Fragment>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ViewContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ViewContainer/ViewContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { createElement, useContext, useEffect, useState } from 'react';\nimport { Box, CircularProgress } from '@mui/material';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport StoreContext from '../../../../bridge/Context/StoreContext';\nimport { isEmptyObject } from '../../../helpers/common-utils';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface ViewContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n name?: string;\n loadingInfo?: any; // can't be boolean until setDispatchObjState expects loadingInfo to be type null\n routingInfo?: any;\n mode?: string;\n limit?: number;\n}\n\n// ViewContainer can emit View\n// import View from '../View';\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nexport default function ViewContainer(props: ViewContainerProps) {\n // const { getPConnect, children, routingInfo, name } = props;\n const { getPConnect, name = '', mode = 'single', limit = 16, loadingInfo = false, routingInfo = null } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n\n const { CONTAINER_TYPE, APP } = PCore.getConstants();\n const pConn = getPConnect();\n const containerMgr: any = pConn.getContainerManager();\n\n const [dispatchObjState, setDispatchObjState] = useState({\n dispatchObject: { semanticURL: '', context: '', acName: '' },\n visible: false,\n loadingInfo: null,\n isLoadingInfoChange: false\n }); // was this.state in class-based ViewContainer avoiding use of just \"state\" as the name\n\n let root;\n\n const thePConn = typeof getPConnect === 'function' ? getPConnect() : null;\n\n // beginning of functions for use by ViewContainer\n\n function buildName() {\n const context = thePConn?.getContextName();\n let viewContainerName = name;\n if (!viewContainerName) viewContainerName = '';\n return `${context?.toUpperCase()}/${viewContainerName.toUpperCase()}`;\n }\n\n function prepareDispatchObject() {\n const baseContext = pConn.getContextName();\n // const { acName = \"primary\" } = pConn.getContainerName(); // doesn't work with 8.23 typings\n let acName = pConn.getContainerName();\n if (!acName) {\n acName = 'primary';\n }\n\n return {\n semanticURL: '',\n context: baseContext,\n acName\n };\n }\n\n // determine if or not loadingInfo prop changed on next re-render\n // function getDerivedStateFromProps(nextProps, prevState) {\n // const { loadingInfo: prevLoadingInfo } = prevState;\n // const { loadingInfo: nextLoadingIndfo } = nextProps;\n // return {\n // loadingInfo: nextLoadingIndfo,\n // isLoadingInfoChange: prevLoadingInfo !== nextLoadingIndfo\n // };\n // }\n\n // set the root component that is retrieved by PConnectHOC\n function setRootComponent(configObject) {\n const { isLoadingInfoChange } = dispatchObjState;\n if (!isLoadingInfoChange) {\n root = createElement(createPConnectComponent(), configObject);\n }\n }\n\n // end of functions for use by ViewContainer\n\n // useEffect on [] -> code that should be run once (as in old constructor and in componentDidMount)\n useEffect(() => {\n // This is adapted from the class-based ViewContainer constructor\n containerMgr.initializeContainers({\n type: mode === CONTAINER_TYPE.MULTIPLE ? CONTAINER_TYPE.MULTIPLE : CONTAINER_TYPE.SINGLE\n });\n\n if (mode === CONTAINER_TYPE.MULTIPLE && limit) {\n /* NOTE: setContainerLimit use is temporary. It is a non-public, unsupported API. */\n PCore.getContainerUtils().setContainerLimit(`${APP.APP}/${name}`, limit);\n }\n\n const dispatchObject = prepareDispatchObject();\n setDispatchObjState({\n dispatchObject,\n // PCore is defined in pxBootstrapShell - eventually will be exported in place of constellationCore\n visible: !PCore.checkIfSemanticURL(),\n loadingInfo,\n isLoadingInfoChange: false\n });\n\n const { visible } = dispatchObjState;\n if (visible) containerMgr.addContainerItem(dispatchObject);\n\n // This is adapted from the class-based ViewContainer componentDidMount\n let objectForAddContainer;\n if (PCore.checkIfSemanticURL()) {\n objectForAddContainer = prepareDispatchObject();\n } else {\n const { dispatchObject: theDispatchObject } = dispatchObjState;\n objectForAddContainer = theDispatchObject;\n }\n\n // Getting default view label\n const navPages = pConn.getValue('pyPortal.pyPrimaryNavPages', ''); // 2nd arg empty string until typedefs allow optional\n const defaultViewLabel = Array.isArray(navPages) && navPages[0] ? navPages[0].pyLabel : '';\n // TODO: Plan is to rename window.constellationCore to window.pega (or similar)\n // And expose less via ui-bootstrap.js\n // PCore is defined in pxBootstrapShell - eventually will be exported in place of constellationCore\n\n if (!displayOnlyFA) {\n // configureForBrowserBookmark not applicable in Embedded mode\n PCore.configureForBrowserBookmark({\n ...objectForAddContainer,\n defaultViewLabel\n });\n }\n }, []);\n\n // This code (that's run every time the ViewContainer is called) is adapted from the class-based ViewContainer's render\n\n // Looking for routingInfo\n\n // debugging/investigation help\n // console.log(`ViewContainer props: ${JSON.stringify(props)}`);\n\n const theBuildName = buildName();\n const { CREATE_DETAILS_VIEW_NAME } = PCore.getConstants();\n if (routingInfo) {\n const { accessedOrder, items } = routingInfo;\n if (accessedOrder && items) {\n const key = accessedOrder[accessedOrder.length - 1];\n let componentVisible = accessedOrder.length > 0;\n const { visible } = dispatchObjState;\n componentVisible = visible || componentVisible;\n if (items[key] && items[key].view && !isEmptyObject(items[key].view)) {\n const latestItem = items[key];\n const rootView = latestItem.view;\n const { context, name: viewName } = rootView.config;\n const config: any = { meta: rootView };\n config.options = {\n context: latestItem.context,\n pageReference: context || getPConnect().getPageReference(),\n containerName: getPConnect().getContainerName(),\n containerItemName: key,\n hasForm: viewName === CREATE_DETAILS_VIEW_NAME\n };\n const configObject: any = PCore.createPConnect(config);\n\n // Add in displayOnlyFA if prop is on ViewContainer\n if (displayOnlyFA) {\n configObject.displayOnlyFA = true;\n }\n\n setRootComponent(configObject);\n return (\n <React.Fragment key={theBuildName}>\n {componentVisible && root}\n {loadingInfo && (\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n )}\n </React.Fragment>\n );\n }\n }\n }\n\n // fall through return if insufficient routingInfo\n return (\n <React.Fragment key={theBuildName}>\n {loadingInfo && (\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n )}\n </React.Fragment>\n );\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-shadow */
|
|
3
3
|
/* eslint-disable operator-assignment */
|
|
4
4
|
import { forwardRef, useEffect, useRef, useState } from 'react';
|
|
5
|
-
import { TextField } from '@material
|
|
5
|
+
import { TextField } from '@mui/material';
|
|
6
6
|
import { v4 as uuidv4 } from 'uuid';
|
|
7
7
|
import { debounce } from 'throttle-debounce';
|
|
8
8
|
import DatePicker from 'react-datepicker';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardFilter.js","sourceRoot":"","sources":["../../../../src/components/infra/DashboardFilter/DashboardFilter.tsx"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,wCAAwC;AACxC,OAAO,EAAE,UAAU,EAAqB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"DashboardFilter.js","sourceRoot":"","sources":["../../../../src/components/infra/DashboardFilter/DashboardFilter.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable operator-assignment */\nimport { forwardRef, PropsWithChildren, useEffect, useRef, useState } from 'react';\nimport { TextField } from '@mui/material';\nimport { v4 as uuidv4 } from 'uuid';\nimport { debounce } from 'throttle-debounce';\nimport DatePicker from 'react-datepicker';\n\nimport { createFilter, combineFilters, getFormattedDate, getFilterExpression } from './filterUtils';\nimport { PConnProps } from '../../../types/PConnProps';\n\nimport 'react-datepicker/dist/react-datepicker.css';\n\ninterface DashboardFilterProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n name: string;\n filterProp: string;\n type?: string;\n metadata?: any;\n}\n\nexport default function DashboardFilter(props: PropsWithChildren<DashboardFilterProps>) {\n const { children = [], name, filterProp, type = '', metadata = null, getPConnect } = props;\n const { current: filterId } = useRef(uuidv4());\n\n const [startDate, setStartDate] = useState(null);\n const [endDate, setEndDate] = useState(null);\n\n useEffect(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n if (type === 'Dropdown') {\n getPConnect().getActionsApi().updateFieldValue(filterProp, '');\n } else if (type === 'RadioButtons') {\n const reference = getPConnect().getFullReference() + filterProp;\n const radList = document.getElementsByName(reference);\n for (let i = 0; i < radList.length; i = i + 1) {\n if ((radList[i] as HTMLInputElement).value === '') {\n (radList[i] as HTMLInputElement).checked = true;\n } else {\n (radList[i] as HTMLInputElement).checked = false;\n }\n }\n } else {\n getPConnect().getActionsApi().updateFieldValue(filterProp, undefined);\n if (type === 'DateTime') {\n setStartDate(null);\n setEndDate(null);\n }\n }\n },\n filterId,\n false,\n getPConnect().getContextName()\n );\n return function cleanup() {\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n filterId,\n getPConnect().getContextName()\n );\n };\n });\n\n const fireFilterChange = filterValue => {\n const filterData = {\n filterId,\n filterExpression: getFilterExpression(filterValue, name, metadata)\n };\n\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE, filterData);\n };\n\n const fireFilterChangeDebounced = debounce(500, fireFilterChange);\n const dateRangeChangeHandler = value => {\n const { start, end } = value;\n\n let startDate = getFormattedDate(start);\n let endDate = getFormattedDate(end);\n\n if (startDate && endDate) {\n startDate = `${startDate}T00:00:00`;\n endDate = `${endDate}T00:00:00`;\n const startFilter = createFilter(startDate, name, 'GT');\n const endFilter = createFilter(endDate, name, 'LT');\n\n const filterData = {\n filterId,\n filterExpression: combineFilters([startFilter, endFilter], null)\n };\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE, filterData);\n }\n };\n\n const renderAutoComplete = () => {\n metadata.config.onRecordChange = e => {\n fireFilterChange(e.id);\n };\n return getPConnect().createComponent(metadata, '', 0, {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional);\n };\n\n const onChange = dates => {\n const [start, end] = dates;\n setStartDate(start);\n setEndDate(end);\n dateRangeChangeHandler({ start, end });\n };\n\n type TextProps = React.HTMLProps<HTMLInputElement>;\n\n const label = metadata.config.label.substring(3);\n\n // eslint-disable-next-line react/no-unstable-nested-components\n const CustomDateInput = forwardRef<HTMLInputElement, TextProps>(({ value, onClick }, ref: any) => (\n <TextField label={label} variant='outlined' fullWidth value={value} size='small' onClick={onClick} ref={ref}>\n {value}\n </TextField>\n ));\n\n return (\n <>\n {type === 'DateTime' && (\n <DatePicker\n onChange={onChange}\n startDate={startDate}\n endDate={endDate}\n selectsRange\n enableTabLoop={false}\n customInput={<CustomDateInput />}\n />\n )}\n {type === 'AutoComplete' && (\n <span\n onChange={event => {\n if (event && event.target && !(event.target as HTMLInputElement).value) {\n fireFilterChange('ALL');\n }\n }}\n >\n {renderAutoComplete()}\n </span>\n )}\n {children && (\n <span\n onChange={event => {\n fireFilterChangeDebounced((event.target as HTMLInputElement).value);\n }}\n >\n {children}\n </span>\n )}\n </>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterUtils.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/DashboardFilter/filterUtils.tsx"],"names":[],"mappings":"AACA,6HAA6H;AAM7H,eAAO,MAAM,YAAY;;;;;;;;;;CAYxB,CAAC;AAEF,eAAO,MAAM,cAAc,gDAiB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,4FAkCjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"filterUtils.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/DashboardFilter/filterUtils.tsx"],"names":[],"mappings":"AACA,6HAA6H;AAM7H,eAAO,MAAM,YAAY;;;;;;;;;;CAYxB,CAAC;AAEF,eAAO,MAAM,cAAc,gDAiB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,4FAkCjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,4CAmBjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,qBAG5B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;QAuB/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,KAAA,OAsBjD;AAED,eAAO,MAAM,gBAAgB,oBAK5B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable prefer-template */
|
|
3
3
|
/** This file contains various utility methods to generate filter components, regionLayout data, filter expressions, etc. */
|
|
4
|
-
import { Grid, Link } from '@material
|
|
4
|
+
import { Grid, Link } from '@mui/material';
|
|
5
5
|
import DashboardFilter from './DashboardFilter';
|
|
6
6
|
export const createFilter = (value, fieldId, comparator = 'EQ') => {
|
|
7
7
|
return {
|
|
@@ -68,7 +68,7 @@ export const buildFilterComponents = (getPConnect, allFilters) => {
|
|
|
68
68
|
filterComponents.push(_jsx(Grid, { children: _jsx(Link, { style: { cursor: 'pointer' }, onClick: () => {
|
|
69
69
|
// @ts-ignore - second parameter “payload” for publish method should be optional
|
|
70
70
|
PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL);
|
|
71
|
-
}, children: "Clear All" }) }));
|
|
71
|
+
}, underline: 'hover', children: "Clear All" }) }));
|
|
72
72
|
}
|
|
73
73
|
return filterComponents;
|
|
74
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterUtils.js","sourceRoot":"","sources":["../../../../src/components/infra/DashboardFilter/filterUtils.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable prefer-template */\n/** This file contains various utility methods to generate filter components, regionLayout data, filter expressions, etc. */\n\nimport { Grid, Link } from '@material-ui/core';\n\nimport DashboardFilter from './DashboardFilter';\n\nexport const createFilter = (value, fieldId, comparator = 'EQ') => {\n return {\n condition: {\n lhs: {\n field: fieldId\n },\n comparator,\n rhs: {\n value\n }\n }\n };\n};\n\nexport const combineFilters = (filterList, existingFilters) => {\n if (filterList && filterList.length) {\n // Need to combine them\n if (existingFilters) {\n return { AND: [existingFilters, ...filterList] };\n }\n\n // No existing, just return the one(s) from the list\n if (filterList.length > 1) {\n return { AND: [...filterList] };\n }\n\n return filterList[0];\n }\n\n // No filter list,\n return existingFilters;\n};\n\nexport const createFilterComponent = (getPConnect, filterMeta, index) => {\n const name = filterMeta.config.value.substring(4);\n let cleanedName = name;\n if (name.indexOf('.') !== -1) {\n cleanedName = name.substring(name.indexOf('.') + 1);\n }\n let propInfo: any = PCore.getMetadataUtils().getPropertyMetadata(cleanedName, filterMeta.config.ruleClass);\n if (!propInfo) {\n // @ts-ignore - PCore.getMetadataUtils().getPropertyMetadata - An argument for 'currentClassID' was not provided.\n propInfo = PCore.getMetadataUtils().getPropertyMetadata(cleanedName);\n }\n const { type: propertyType } = propInfo || { type: 'Text' };\n const isNumber = propertyType && (propertyType === 'Decimal' || propertyType === 'Integer');\n filterMeta.isNumber = isNumber;\n const { filterType, datasource } = filterMeta.config;\n const type = filterType || filterMeta.type;\n const filterProp = `.pyDashboardFilter${index}`;\n if (type === 'DateTime') {\n return <DashboardFilter key={name} getPConnect={getPConnect} name={name} filterProp={filterProp} metadata={filterMeta} type={filterMeta.type} />;\n }\n if (datasource && datasource.fields) {\n datasource.fields.key = datasource.fields.value;\n }\n if (filterMeta.config.listType === 'associated' && propInfo && propInfo.datasource) {\n filterMeta.config.datasource = propInfo.datasource.records;\n }\n filterMeta.config.value = `@P ${filterProp}`;\n filterMeta.type = filterMeta.config.displayAs || type;\n filterMeta.config.placeholder = 'ALL';\n return (\n <DashboardFilter key={name} getPConnect={getPConnect} name={name} filterProp={filterProp} metadata={filterMeta} type={filterMeta.type}>\n {getPConnect().createComponent(filterMeta, '', '', {})}\n </DashboardFilter>\n );\n};\n\nexport const buildFilterComponents = (getPConnect, allFilters) => {\n const filterComponents = allFilters.children.map((filter, index) => createFilterComponent(getPConnect, filter, index));\n if (filterComponents && filterComponents.length > 0) {\n filterComponents.push(\n <Grid>\n <Link\n style={{ cursor: 'pointer' }}\n onClick={() => {\n // @ts-ignore - second parameter “payload” for publish method should be optional\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL);\n }}\n >\n Clear All\n </Link>\n </Grid>\n );\n }\n return filterComponents;\n};\n\nexport const convertDateToGMT = value => {\n const { valueAsISOString: date } = value;\n return date ? date.substring(0, date.indexOf('T')) : date;\n};\n\nexport const getFilterExpression = (filterValue, name, metadata) => {\n if (filterValue === '') {\n return null;\n }\n let comparator = 'EQ';\n if (metadata.type === 'TextInput' && !metadata.isNumber) {\n comparator = 'CONTAINS';\n }\n\n if (metadata.config.filterType && metadata.config.filterType === 'RelativeDates') {\n const fieldSource = metadata.config.datasource.filter(source => source.key === filterValue)[0];\n const relativeDateExpression = JSON.parse(fieldSource.json);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const fields = [\n {\n name: relativeDateExpression.condition.lhs.field,\n type: 'DATE_TIME'\n }\n ];\n return '';\n }\n\n return createFilter(filterValue, name, comparator);\n};\n\n/**\n * Returns ConfigurableLayout mapped content. With pre-populated default layout configs.\n * @returns {object[]} ConfigurableLayout content.\n */\nexport function getLayoutDataFromRegion(regionData) {\n const defaultLayoutConfig = {\n width: 'full',\n fillAvailable: true,\n minWidth: [300, 'px']\n };\n\n return regionData.props\n ?.getPConnect()\n ?.getChildren()\n ?.map((item, index) => {\n const itemPConnect = item?.getPConnect();\n\n return {\n id: itemPConnect?.getComponentName() ? `${itemPConnect.getComponentName()}--${index}` : `item--${index}`,\n content: itemPConnect?.getComponent(),\n layoutConfig: {\n ...defaultLayoutConfig,\n ...itemPConnect?.getConfigProps().layoutConfig\n }\n };\n });\n}\n\nexport const getFormattedDate = date => {\n if (!date) {\n return date;\n }\n return `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${('0' + date.getDate()).slice(-2)}`;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"filterUtils.js","sourceRoot":"","sources":["../../../../src/components/infra/DashboardFilter/filterUtils.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable prefer-template */\n/** This file contains various utility methods to generate filter components, regionLayout data, filter expressions, etc. */\n\nimport { Grid, Link } from '@mui/material';\n\nimport DashboardFilter from './DashboardFilter';\n\nexport const createFilter = (value, fieldId, comparator = 'EQ') => {\n return {\n condition: {\n lhs: {\n field: fieldId\n },\n comparator,\n rhs: {\n value\n }\n }\n };\n};\n\nexport const combineFilters = (filterList, existingFilters) => {\n if (filterList && filterList.length) {\n // Need to combine them\n if (existingFilters) {\n return { AND: [existingFilters, ...filterList] };\n }\n\n // No existing, just return the one(s) from the list\n if (filterList.length > 1) {\n return { AND: [...filterList] };\n }\n\n return filterList[0];\n }\n\n // No filter list,\n return existingFilters;\n};\n\nexport const createFilterComponent = (getPConnect, filterMeta, index) => {\n const name = filterMeta.config.value.substring(4);\n let cleanedName = name;\n if (name.indexOf('.') !== -1) {\n cleanedName = name.substring(name.indexOf('.') + 1);\n }\n let propInfo: any = PCore.getMetadataUtils().getPropertyMetadata(cleanedName, filterMeta.config.ruleClass);\n if (!propInfo) {\n // @ts-ignore - PCore.getMetadataUtils().getPropertyMetadata - An argument for 'currentClassID' was not provided.\n propInfo = PCore.getMetadataUtils().getPropertyMetadata(cleanedName);\n }\n const { type: propertyType } = propInfo || { type: 'Text' };\n const isNumber = propertyType && (propertyType === 'Decimal' || propertyType === 'Integer');\n filterMeta.isNumber = isNumber;\n const { filterType, datasource } = filterMeta.config;\n const type = filterType || filterMeta.type;\n const filterProp = `.pyDashboardFilter${index}`;\n if (type === 'DateTime') {\n return <DashboardFilter key={name} getPConnect={getPConnect} name={name} filterProp={filterProp} metadata={filterMeta} type={filterMeta.type} />;\n }\n if (datasource && datasource.fields) {\n datasource.fields.key = datasource.fields.value;\n }\n if (filterMeta.config.listType === 'associated' && propInfo && propInfo.datasource) {\n filterMeta.config.datasource = propInfo.datasource.records;\n }\n filterMeta.config.value = `@P ${filterProp}`;\n filterMeta.type = filterMeta.config.displayAs || type;\n filterMeta.config.placeholder = 'ALL';\n return (\n <DashboardFilter key={name} getPConnect={getPConnect} name={name} filterProp={filterProp} metadata={filterMeta} type={filterMeta.type}>\n {getPConnect().createComponent(filterMeta, '', '', {})}\n </DashboardFilter>\n );\n};\n\nexport const buildFilterComponents = (getPConnect, allFilters) => {\n const filterComponents = allFilters.children.map((filter, index) => createFilterComponent(getPConnect, filter, index));\n if (filterComponents && filterComponents.length > 0) {\n filterComponents.push(\n <Grid>\n <Link\n style={{ cursor: 'pointer' }}\n onClick={() => {\n // @ts-ignore - second parameter “payload” for publish method should be optional\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL);\n }}\n underline='hover'\n >\n Clear All\n </Link>\n </Grid>\n );\n }\n return filterComponents;\n};\n\nexport const convertDateToGMT = value => {\n const { valueAsISOString: date } = value;\n return date ? date.substring(0, date.indexOf('T')) : date;\n};\n\nexport const getFilterExpression = (filterValue, name, metadata) => {\n if (filterValue === '') {\n return null;\n }\n let comparator = 'EQ';\n if (metadata.type === 'TextInput' && !metadata.isNumber) {\n comparator = 'CONTAINS';\n }\n\n if (metadata.config.filterType && metadata.config.filterType === 'RelativeDates') {\n const fieldSource = metadata.config.datasource.filter(source => source.key === filterValue)[0];\n const relativeDateExpression = JSON.parse(fieldSource.json);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const fields = [\n {\n name: relativeDateExpression.condition.lhs.field,\n type: 'DATE_TIME'\n }\n ];\n return '';\n }\n\n return createFilter(filterValue, name, comparator);\n};\n\n/**\n * Returns ConfigurableLayout mapped content. With pre-populated default layout configs.\n * @returns {object[]} ConfigurableLayout content.\n */\nexport function getLayoutDataFromRegion(regionData) {\n const defaultLayoutConfig = {\n width: 'full',\n fillAvailable: true,\n minWidth: [300, 'px']\n };\n\n return regionData.props\n ?.getPConnect()\n ?.getChildren()\n ?.map((item, index) => {\n const itemPConnect = item?.getPConnect();\n\n return {\n id: itemPConnect?.getComponentName() ? `${itemPConnect.getComponentName()}--${index}` : `item--${index}`,\n content: itemPConnect?.getComponent(),\n layoutConfig: {\n ...defaultLayoutConfig,\n ...itemPConnect?.getConfigProps().layoutConfig\n }\n };\n });\n}\n\nexport const getFormattedDate = date => {\n if (!date) {\n return date;\n }\n return `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${('0' + date.getDate()).slice(-2)}`;\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect, createElement } from 'react';
|
|
3
|
-
import { Box, Card, CircularProgress } from '@material
|
|
4
|
-
import
|
|
3
|
+
import { Box, Card, CircularProgress } from '@mui/material';
|
|
4
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
5
5
|
import createPConnectComponent from '../../../bridge/react_pconnect';
|
|
6
6
|
//
|
|
7
7
|
// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeferLoad.js","sourceRoot":"","sources":["../../../../src/components/infra/DeferLoad/DeferLoad.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, createElement } from 'react';\nimport { Box, Card, CircularProgress } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\n\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface DeferLoadProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n name: string;\n isChildDeferLoad?: boolean;\n isTab: boolean;\n deferLoadId: string;\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(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}));\n\nexport default function DeferLoad(props: DeferLoadProps) {\n const { getPConnect, name, deferLoadId, isTab } = props;\n const [content, setContent] = useState<any>(null);\n const [isLoading, setLoading] = useState(true);\n const [currentLoadedAssignment, setCurrentLoadedAssignment] = useState('');\n\n const classes = useStyles();\n\n const pConnect = getPConnect();\n const constants = PCore.getConstants();\n\n const theRequestedAssignment = pConnect.getValue(PCore.getConstants().CASE_INFO.ASSIGNMENT_LABEL, ''); // 2nd arg empty string until typedef allows optional\n if (theRequestedAssignment !== currentLoadedAssignment) {\n // console.log(`DeferLoad: currentLoadedAssignment about to change from ${currentLoadedAssignment} to ${theRequestedAssignment}`);\n setCurrentLoadedAssignment(theRequestedAssignment);\n }\n\n const { CASE, PAGE, DATA } = constants.RESOURCE_TYPES;\n const loadViewCaseID = pConnect.getValue(constants.PZINSKEY, '') || pConnect.getValue(constants.CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef allows optional\n let containerName;\n let containerItemData;\n const targetName = pConnect.getTarget();\n if (targetName) {\n containerName = PCore.getContainerUtils().getActiveContainerItemName(targetName);\n\n containerItemData = PCore.getContainerUtils().getContainerItemData(targetName, containerName);\n }\n\n const { resourceType = CASE } = containerItemData || {\n resourceType: loadViewCaseID ? CASE : PAGE\n };\n const isContainerPreview = /preview_[0-9]*/g.test(pConnect.getContextName());\n\n const getViewOptions = () => ({\n viewContext: resourceType,\n pageClass: loadViewCaseID ? '' : (pConnect.getDataObject('') as any).pyPortal.classID, // 2nd arg empty string until typedef allows optional\n container: isContainerPreview ? 'preview' : null,\n containerName: isContainerPreview ? 'preview' : null,\n updateData: isContainerPreview\n });\n\n const onResponse = data => {\n setLoading(false);\n if (deferLoadId) {\n PCore.getDeferLoadManager().start(\n name,\n getPConnect().getCaseInfo().getKey(),\n getPConnect().getPageReference().replace('caseInfo.content', ''),\n getPConnect().getContextName(),\n deferLoadId\n );\n }\n\n if (data && !(data.type && data.type === 'error')) {\n const config = {\n meta: data,\n options: {\n context: pConnect.getContextName(),\n pageReference: pConnect.getPageReference()\n }\n };\n const configObject = PCore.createPConnect(config);\n configObject.getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');\n setContent(createElement(createPConnectComponent(), configObject));\n if (deferLoadId) {\n PCore.getDeferLoadManager().stop(deferLoadId, getPConnect().getContextName());\n }\n }\n };\n\n useEffect(() => {\n if (resourceType === DATA) {\n // Rendering defer loaded tabs in data context\n if (containerName) {\n const dataContext = PCore.getStoreValue('.dataContext', 'dataInfo', containerName);\n const dataContextParameters = PCore.getStoreValue('.dataContextParameters', 'dataInfo', containerName);\n\n getPConnect()\n .getActionsApi()\n .showData(name, dataContext, dataContextParameters, {\n // @ts-ignore - Type 'boolean' is not assignable to type 'string'\n skipSemanticUrl: true,\n // @ts-ignore\n isDeferLoaded: true\n })\n .then(data => {\n onResponse(data);\n });\n } else {\n // eslint-disable-next-line no-console\n console.error('Cannot load the defer loaded view without container information');\n }\n } else if (resourceType === PAGE) {\n // Rendering defer loaded tabs in case/ page context\n getPConnect()\n .getActionsApi()\n .loadView(encodeURI(loadViewCaseID), name, getViewOptions())\n .then(data => {\n onResponse(data);\n });\n } else {\n getPConnect()\n .getActionsApi()\n .refreshCaseView(encodeURI(loadViewCaseID), name, '') // 3rd arg empty string until typedef allows optional\n .then((data: any) => {\n onResponse(data.root);\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.log(`deferload: ${error}`);\n });\n }\n }, [name, getPConnect, currentLoadedAssignment]);\n /* TODO Cosmos need to handle for now added a wrapper div with pos relative */\n let deferLoadContent;\n if (isLoading) {\n deferLoadContent = (\n <div style={{ position: 'relative', height: '100px' }}>\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n </div>\n );\n } else {\n deferLoadContent = !isTab ? (\n <div className={classes.root}>{content}</div>\n ) : (\n <Card id='DeferLoad' className={classes.root}>\n <>{content}</>\n </Card>\n );\n }\n\n return deferLoadContent;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DeferLoad.js","sourceRoot":"","sources":["../../../../src/components/infra/DeferLoad/DeferLoad.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, createElement } from 'react';\nimport { Box, Card, CircularProgress } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\n\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface DeferLoadProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n name: string;\n isChildDeferLoad?: boolean;\n isTab: boolean;\n deferLoadId: string;\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(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}));\n\nexport default function DeferLoad(props: DeferLoadProps) {\n const { getPConnect, name, deferLoadId, isTab } = props;\n const [content, setContent] = useState<any>(null);\n const [isLoading, setLoading] = useState(true);\n const [currentLoadedAssignment, setCurrentLoadedAssignment] = useState('');\n\n const classes = useStyles();\n\n const pConnect = getPConnect();\n const constants = PCore.getConstants();\n\n const theRequestedAssignment = pConnect.getValue(PCore.getConstants().CASE_INFO.ASSIGNMENT_LABEL, ''); // 2nd arg empty string until typedef allows optional\n if (theRequestedAssignment !== currentLoadedAssignment) {\n // console.log(`DeferLoad: currentLoadedAssignment about to change from ${currentLoadedAssignment} to ${theRequestedAssignment}`);\n setCurrentLoadedAssignment(theRequestedAssignment);\n }\n\n const { CASE, PAGE, DATA } = constants.RESOURCE_TYPES;\n const loadViewCaseID = pConnect.getValue(constants.PZINSKEY, '') || pConnect.getValue(constants.CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef allows optional\n let containerName;\n let containerItemData;\n const targetName = pConnect.getTarget();\n if (targetName) {\n containerName = PCore.getContainerUtils().getActiveContainerItemName(targetName);\n\n containerItemData = PCore.getContainerUtils().getContainerItemData(targetName, containerName);\n }\n\n const { resourceType = CASE } = containerItemData || {\n resourceType: loadViewCaseID ? CASE : PAGE\n };\n const isContainerPreview = /preview_[0-9]*/g.test(pConnect.getContextName());\n\n const getViewOptions = () => ({\n viewContext: resourceType,\n pageClass: loadViewCaseID ? '' : (pConnect.getDataObject('') as any).pyPortal.classID, // 2nd arg empty string until typedef allows optional\n container: isContainerPreview ? 'preview' : null,\n containerName: isContainerPreview ? 'preview' : null,\n updateData: isContainerPreview\n });\n\n const onResponse = data => {\n setLoading(false);\n if (deferLoadId) {\n PCore.getDeferLoadManager().start(\n name,\n getPConnect().getCaseInfo().getKey(),\n getPConnect().getPageReference().replace('caseInfo.content', ''),\n getPConnect().getContextName(),\n deferLoadId\n );\n }\n\n if (data && !(data.type && data.type === 'error')) {\n const config = {\n meta: data,\n options: {\n context: pConnect.getContextName(),\n pageReference: pConnect.getPageReference()\n }\n };\n const configObject = PCore.createPConnect(config);\n configObject.getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');\n setContent(createElement(createPConnectComponent(), configObject));\n if (deferLoadId) {\n PCore.getDeferLoadManager().stop(deferLoadId, getPConnect().getContextName());\n }\n }\n };\n\n useEffect(() => {\n if (resourceType === DATA) {\n // Rendering defer loaded tabs in data context\n if (containerName) {\n const dataContext = PCore.getStoreValue('.dataContext', 'dataInfo', containerName);\n const dataContextParameters = PCore.getStoreValue('.dataContextParameters', 'dataInfo', containerName);\n\n getPConnect()\n .getActionsApi()\n .showData(name, dataContext, dataContextParameters, {\n // @ts-ignore - Type 'boolean' is not assignable to type 'string'\n skipSemanticUrl: true,\n // @ts-ignore\n isDeferLoaded: true\n })\n .then(data => {\n onResponse(data);\n });\n } else {\n // eslint-disable-next-line no-console\n console.error('Cannot load the defer loaded view without container information');\n }\n } else if (resourceType === PAGE) {\n // Rendering defer loaded tabs in case/ page context\n getPConnect()\n .getActionsApi()\n .loadView(encodeURI(loadViewCaseID), name, getViewOptions())\n .then(data => {\n onResponse(data);\n });\n } else {\n getPConnect()\n .getActionsApi()\n .refreshCaseView(encodeURI(loadViewCaseID), name, '') // 3rd arg empty string until typedef allows optional\n .then((data: any) => {\n onResponse(data.root);\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.log(`deferload: ${error}`);\n });\n }\n }, [name, getPConnect, currentLoadedAssignment]);\n /* TODO Cosmos need to handle for now added a wrapper div with pos relative */\n let deferLoadContent;\n if (isLoading) {\n deferLoadContent = (\n <div style={{ position: 'relative', height: '100px' }}>\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n </div>\n );\n } else {\n deferLoadContent = !isTab ? (\n <div className={classes.root}>{content}</div>\n ) : (\n <Card id='DeferLoad' className={classes.root}>\n <>{content}</>\n </Card>\n );\n }\n\n return deferLoadContent;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavBar.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/NavBar/NavBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NavBar.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/NavBar/NavBar.tsx"],"names":[],"mappings":"AAmCA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,cAAc,CAAC;AAEtB,UAAU,WAAY,SAAQ,UAAU;IAGtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AA6DD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,WAAW,2CAuLhD"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { useTheme } from '@mui/material/styles';
|
|
4
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
4
5
|
import clsx from 'clsx';
|
|
5
|
-
import { Drawer, List, ListItem, ListItemIcon, ListItemText, ListItemSecondaryAction, Collapse, Divider, IconButton, Menu, MenuItem, Typography } from '@material
|
|
6
|
-
import PersonOutlineIcon from '@
|
|
7
|
-
import ChevronLeftIcon from '@
|
|
8
|
-
import ChevronRightIcon from '@
|
|
9
|
-
import FlagOutlinedIcon from '@
|
|
10
|
-
import HomeOutlinedIcon from '@
|
|
11
|
-
import ExpandLess from '@
|
|
12
|
-
import ExpandMore from '@
|
|
13
|
-
import AddIcon from '@
|
|
14
|
-
import WorkOutlineIcon from '@
|
|
15
|
-
import ClearOutlinedIcon from '@
|
|
16
|
-
import ArrowBackIcon from '@
|
|
17
|
-
import useMediaQuery from '@material
|
|
6
|
+
import { Drawer, List, ListItem, ListItemIcon, ListItemText, ListItemSecondaryAction, Collapse, Divider, IconButton, Menu, MenuItem, Typography } from '@mui/material';
|
|
7
|
+
import PersonOutlineIcon from '@mui/icons-material/PersonOutlineOutlined';
|
|
8
|
+
import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';
|
|
9
|
+
import ChevronRightIcon from '@mui/icons-material/ChevronRight';
|
|
10
|
+
import FlagOutlinedIcon from '@mui/icons-material/FlagOutlined';
|
|
11
|
+
import HomeOutlinedIcon from '@mui/icons-material/HomeOutlined';
|
|
12
|
+
import ExpandLess from '@mui/icons-material/ExpandLess';
|
|
13
|
+
import ExpandMore from '@mui/icons-material/ExpandMore';
|
|
14
|
+
import AddIcon from '@mui/icons-material/Add';
|
|
15
|
+
import WorkOutlineIcon from '@mui/icons-material/WorkOutline';
|
|
16
|
+
import ClearOutlinedIcon from '@mui/icons-material/ClearOutlined';
|
|
17
|
+
import ArrowBackIcon from '@mui/icons-material/ArrowBack';
|
|
18
|
+
import useMediaQuery from '@mui/material/useMediaQuery';
|
|
18
19
|
import { logout } from '@pega/auth/lib/sdk-auth-manager';
|
|
19
20
|
import { useNavBar } from '../../helpers/reactContextHelpers';
|
|
20
21
|
import { Utils } from '../../helpers/utils';
|
|
@@ -146,7 +147,7 @@ export default function NavBar(props) {
|
|
|
146
147
|
}, [isDesktop]);
|
|
147
148
|
return (_jsxs(Drawer, { variant: 'permanent', classes: {
|
|
148
149
|
paper: clsx(classes.drawerPaper, !open && classes.drawerPaperClose)
|
|
149
|
-
}, open: open && isDesktop, children: [open ? (_jsx(List, { className: classes.appListItem, children: _jsxs(ListItem, { onClick: handleDrawerOpen, children: [_jsx(ListItemIcon, { children: _jsx("img", { src: portalLogoImage, className: classes.appListLogo }) }), _jsx(ListItemText, { primary: _jsx(Typography, { variant: 'h6', className: classes.applicationLabel, children: portalApp }) }), _jsx(ListItemSecondaryAction, { children: _jsx(IconButton, { edge: 'end', onClick: handleDrawerOpen, children: _jsx(ChevronLeftIcon, { className: classes.appListIcon }) }) })] }) })) : (_jsx("div", { className: classes.appListDiv, onClick: handleDrawerOpen, children: _jsx(ChevronRightIcon, { className: classes.appListIcon, id: 'chevron-right-icon', fontSize: 'large' }) })), _jsx(List, { children: _jsxs(ListItem, { button: true, onClick: handleCaseItemClick, children: [_jsx(ListItemIcon, { children: bShowCaseTypes && open ? _jsx(ClearOutlinedIcon, { fontSize: 'large' }) : _jsx(AddIcon, { fontSize: 'large' }) }), _jsx(ListItemText, { primary: 'Create' }), bShowCaseTypes ? _jsx(ExpandLess, {}) : _jsx(ExpandMore, {})] }) }), _jsx(Collapse, { in: bShowCaseTypes && open, timeout: 'auto', unmountOnExit: true, className: 'scrollable', children: _jsx(List, { component: 'div', disablePadding: true, children: caseTypes.map(caseType => (_jsxs(ListItem, { button: true, className: classes.nested, onClick: () => navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType), children: [_jsx(ListItemIcon, { children: _jsx(WorkOutlineIcon, { fontSize: 'large' }) }), _jsx(ListItemText, { primary: localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference) })] }, caseType.pyLabel))) }) }), _jsx(List, { children: navPages.map(page => (_jsxs(ListItem, { button: true, onClick: () => navPanelButtonClick(page), children: [_jsx(ListItemIcon, { children: iconMap[page.pxPageViewIcon] }), _jsx(ListItemText, { primary: localeUtils.getLocaleValue(page.pyLabel, '', localeReference) })] }, page.pyLabel))) }), _jsx(Divider, {}), _jsx(List, { className: 'marginTopAuto', children: _jsxs(_Fragment, { children: [_jsxs(ListItem, { onClick: navPanelOperatorButtonClick, children: [_jsx(ListItemIcon, { id: 'person-icon', children: _jsx(PersonOutlineIcon, { fontSize: 'large' }) }), _jsx(ListItemText, { primary: portalOperator }), open && (_jsx(ListItemSecondaryAction, { children: _jsx(IconButton, { edge: 'end', onClick: navPanelOperatorButtonClick, children: _jsx(ChevronRightIcon, {}) }) }))] }), _jsx(Menu, { anchorEl: anchorEl, keepMounted: bShowOperatorButtons, open: bShowOperatorButtons, onClick: navPanelOperatorButtonClick, anchorOrigin: {
|
|
150
|
+
}, open: open && isDesktop, children: [open ? (_jsx(List, { className: classes.appListItem, children: _jsxs(ListItem, { onClick: handleDrawerOpen, children: [_jsx(ListItemIcon, { children: _jsx("img", { src: portalLogoImage, className: classes.appListLogo }) }), _jsx(ListItemText, { primary: _jsx(Typography, { variant: 'h6', className: classes.applicationLabel, children: portalApp }) }), _jsx(ListItemSecondaryAction, { children: _jsx(IconButton, { edge: 'end', onClick: handleDrawerOpen, size: 'large', children: _jsx(ChevronLeftIcon, { className: classes.appListIcon }) }) })] }) })) : (_jsx("div", { className: classes.appListDiv, onClick: handleDrawerOpen, children: _jsx(ChevronRightIcon, { className: classes.appListIcon, id: 'chevron-right-icon', fontSize: 'large' }) })), _jsx(List, { children: _jsxs(ListItem, { button: true, onClick: handleCaseItemClick, children: [_jsx(ListItemIcon, { children: bShowCaseTypes && open ? _jsx(ClearOutlinedIcon, { fontSize: 'large' }) : _jsx(AddIcon, { fontSize: 'large' }) }), _jsx(ListItemText, { primary: 'Create' }), bShowCaseTypes ? _jsx(ExpandLess, {}) : _jsx(ExpandMore, {})] }) }), _jsx(Collapse, { in: bShowCaseTypes && open, timeout: 'auto', unmountOnExit: true, className: 'scrollable', children: _jsx(List, { component: 'div', disablePadding: true, children: caseTypes.map(caseType => (_jsxs(ListItem, { button: true, className: classes.nested, onClick: () => navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType), children: [_jsx(ListItemIcon, { children: _jsx(WorkOutlineIcon, { fontSize: 'large' }) }), _jsx(ListItemText, { primary: localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference) })] }, caseType.pyLabel))) }) }), _jsx(List, { children: navPages.map(page => (_jsxs(ListItem, { button: true, onClick: () => navPanelButtonClick(page), children: [_jsx(ListItemIcon, { children: iconMap[page.pxPageViewIcon] }), _jsx(ListItemText, { primary: localeUtils.getLocaleValue(page.pyLabel, '', localeReference) })] }, page.pyLabel))) }), _jsx(Divider, {}), _jsx(List, { className: 'marginTopAuto', children: _jsxs(_Fragment, { children: [_jsxs(ListItem, { onClick: navPanelOperatorButtonClick, children: [_jsx(ListItemIcon, { id: 'person-icon', children: _jsx(PersonOutlineIcon, { fontSize: 'large' }) }), _jsx(ListItemText, { primary: portalOperator }), open && (_jsx(ListItemSecondaryAction, { children: _jsx(IconButton, { edge: 'end', onClick: navPanelOperatorButtonClick, size: 'large', children: _jsx(ChevronRightIcon, {}) }) }))] }), _jsx(Menu, { anchorEl: anchorEl, keepMounted: bShowOperatorButtons, open: bShowOperatorButtons, onClick: navPanelOperatorButtonClick, anchorOrigin: {
|
|
150
151
|
vertical: 'top',
|
|
151
152
|
horizontal: 'right'
|
|
152
153
|
}, transformOrigin: {
|