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