@pega/react-sdk-components 0.23.17 → 0.23.18
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/CaseSummaryFields/CaseSummaryFields.d.ts.map +1 -1
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js +20 -3
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js.map +1 -1
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.d.ts.map +1 -1
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js +1 -2
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js.map +1 -1
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.d.ts.map +1 -1
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js +23 -40
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js.map +1 -1
- package/lib/components/field/AutoComplete/AutoComplete.d.ts.map +1 -1
- package/lib/components/field/AutoComplete/AutoComplete.js +5 -5
- package/lib/components/field/AutoComplete/AutoComplete.js.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.js +5 -5
- package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
- package/lib/components/field/Currency/Currency.d.ts.map +1 -1
- package/lib/components/field/Currency/Currency.js +21 -6
- package/lib/components/field/Currency/Currency.js.map +1 -1
- package/lib/components/field/Currency/currency-utils.d.ts +11 -0
- package/lib/components/field/Currency/currency-utils.d.ts.map +1 -0
- package/lib/components/field/Currency/currency-utils.js +60 -0
- package/lib/components/field/Currency/currency-utils.js.map +1 -0
- package/lib/components/field/Date/Date.d.ts.map +1 -1
- package/lib/components/field/Date/Date.js +17 -6
- 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 +16 -7
- package/lib/components/field/DateTime/DateTime.js.map +1 -1
- package/lib/components/field/Decimal/Decimal.d.ts.map +1 -1
- package/lib/components/field/Decimal/Decimal.js +5 -5
- package/lib/components/field/Decimal/Decimal.js.map +1 -1
- package/lib/components/field/Dropdown/Dropdown.d.ts.map +1 -1
- package/lib/components/field/Dropdown/Dropdown.js +5 -5
- package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/field/Email/Email.js +5 -5
- package/lib/components/field/Email/Email.js.map +1 -1
- package/lib/components/field/Integer/Integer.d.ts.map +1 -1
- package/lib/components/field/Integer/Integer.js +5 -5
- package/lib/components/field/Integer/Integer.js.map +1 -1
- package/lib/components/field/Percentage/Percentage.d.ts.map +1 -1
- package/lib/components/field/Percentage/Percentage.js +5 -5
- 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 +5 -5
- package/lib/components/field/Phone/Phone.js.map +1 -1
- package/lib/components/field/RadioButtons/RadioButtons.d.ts.map +1 -1
- package/lib/components/field/RadioButtons/RadioButtons.js +5 -5
- package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
- package/lib/components/field/SemanticLink/SemanticLink.d.ts.map +1 -1
- package/lib/components/field/SemanticLink/SemanticLink.js +5 -1
- package/lib/components/field/SemanticLink/SemanticLink.js.map +1 -1
- package/lib/components/field/TextArea/TextArea.d.ts.map +1 -1
- package/lib/components/field/TextArea/TextArea.js +5 -5
- package/lib/components/field/TextArea/TextArea.js.map +1 -1
- package/lib/components/field/TextInput/TextInput.d.ts.map +1 -1
- package/lib/components/field/TextInput/TextInput.js +5 -5
- 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 +5 -5
- package/lib/components/field/Time/Time.js.map +1 -1
- package/lib/components/field/URL/URL.d.ts.map +1 -1
- package/lib/components/field/URL/URL.js +5 -5
- package/lib/components/field/URL/URL.js.map +1 -1
- package/lib/components/helpers/date-format-utils.d.ts +13 -0
- package/lib/components/helpers/date-format-utils.d.ts.map +1 -0
- package/lib/components/helpers/date-format-utils.js +59 -0
- package/lib/components/helpers/date-format-utils.js.map +1 -0
- package/lib/components/helpers/formatters/Currency.js +11 -5
- package/lib/components/helpers/formatters/Currency.js.map +1 -1
- package/lib/components/helpers/formatters/common.d.ts.map +1 -1
- package/lib/components/helpers/formatters/common.js +6 -1
- package/lib/components/helpers/formatters/common.js.map +1 -1
- package/lib/components/helpers/formatters/index.d.ts.map +1 -1
- package/lib/components/helpers/formatters/index.js +4 -0
- package/lib/components/helpers/formatters/index.js.map +1 -1
- package/lib/components/helpers/template-utils.d.ts +14 -0
- package/lib/components/helpers/template-utils.d.ts.map +1 -0
- package/lib/components/helpers/template-utils.js +65 -0
- package/lib/components/helpers/template-utils.js.map +1 -0
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +52 -53
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/lib/components/infra/MultiStep/MultiStep.css +4 -18
- package/lib/components/infra/NavBar/NavBar.d.ts +1 -1
- package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
- package/lib/components/infra/NavBar/NavBar.js +57 -121
- package/lib/components/infra/NavBar/NavBar.js.map +1 -1
- package/lib/components/infra/View/View.d.ts.map +1 -1
- package/lib/components/infra/View/View.js +12 -3
- package/lib/components/infra/View/View.js.map +1 -1
- package/lib/components/template/CaseView/CaseView.d.ts.map +1 -1
- package/lib/components/template/CaseView/CaseView.js +2 -3
- package/lib/components/template/CaseView/CaseView.js.map +1 -1
- package/lib/components/template/DefaultForm/DefaultForm.d.ts.map +1 -1
- package/lib/components/template/DefaultForm/DefaultForm.js +6 -1
- package/lib/components/template/DefaultForm/DefaultForm.js.map +1 -1
- package/lib/components/template/Details/Details/Details.d.ts +2 -0
- package/lib/components/template/Details/Details/Details.d.ts.map +1 -1
- package/lib/components/template/Details/Details/Details.js +35 -18
- package/lib/components/template/Details/Details/Details.js.map +1 -1
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.d.ts +12 -1
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.d.ts.map +1 -1
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js +43 -27
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js.map +1 -1
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.d.ts +12 -1
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.d.ts.map +1 -1
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js +43 -25
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js.map +1 -1
- package/lib/components/template/ListView/DefaultViewMeta.d.ts +91 -0
- package/lib/components/template/ListView/DefaultViewMeta.d.ts.map +1 -0
- package/lib/components/template/ListView/DefaultViewMeta.js +208 -0
- package/lib/components/template/ListView/DefaultViewMeta.js.map +1 -0
- package/lib/components/template/ListView/ListView.d.ts.map +1 -1
- package/lib/components/template/ListView/ListView.js +143 -45
- package/lib/components/template/ListView/ListView.js.map +1 -1
- package/lib/components/template/ListView/hooks.d.ts +2 -0
- package/lib/components/template/ListView/hooks.d.ts.map +1 -0
- package/lib/components/template/ListView/hooks.js +73 -0
- package/lib/components/template/ListView/hooks.js.map +1 -0
- package/lib/components/template/ListView/utils.d.ts +63 -0
- package/lib/components/template/ListView/utils.d.ts.map +1 -0
- package/lib/components/template/ListView/utils.js +537 -0
- package/lib/components/template/ListView/utils.js.map +1 -0
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.d.ts +12 -1
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.d.ts.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js +45 -29
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.d.ts +12 -1
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.d.ts.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js +45 -29
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js.map +1 -1
- package/lib/components/widget/Attachment/Attachment.css +7 -0
- package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
- package/lib/components/widget/Attachment/Attachment.js +25 -2
- package/lib/components/widget/Attachment/Attachment.js.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.js +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.js.map +1 -1
- package/package.json +1 -1
- package/lib/components/template/utils.d.ts +0 -3
- package/lib/components/template/utils.d.ts.map +0 -1
- package/lib/components/template/utils.js +0 -22
- package/lib/components/template/utils.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { useEffect, useState } from
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { makeStyles, useTheme } from '@material-ui/core/styles';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
|
-
import PropTypes from
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
5
|
import { Utils } from '../../helpers/utils';
|
|
6
6
|
import './NavBar.css';
|
|
7
7
|
import { Drawer, List, ListItem, ListItemIcon, ListItemText, ListItemSecondaryAction, Collapse, Divider, IconButton, Menu, MenuItem, Typography } from '@material-ui/core';
|
|
@@ -17,117 +17,99 @@ import WorkOutlineIcon from '@material-ui/icons/WorkOutline';
|
|
|
17
17
|
import ClearOutlinedIcon from '@material-ui/icons/ClearOutlined';
|
|
18
18
|
import ArrowBackIcon from '@material-ui/icons/ArrowBack';
|
|
19
19
|
import useMediaQuery from '@material-ui/core/useMediaQuery';
|
|
20
|
-
import { useNavBar } from
|
|
20
|
+
import { useNavBar } from '../../helpers/reactContextHelpers';
|
|
21
21
|
import { logout } from '../../helpers/authManager';
|
|
22
22
|
const iconMap = {
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
'pi pi-headline': React.createElement(HomeOutlinedIcon, { fontSize: 'large' }),
|
|
24
|
+
'pi pi-flag-solid': React.createElement(FlagOutlinedIcon, { fontSize: 'large' })
|
|
25
25
|
};
|
|
26
26
|
const drawerWidth = 300;
|
|
27
|
-
const useStyles = makeStyles(
|
|
27
|
+
const useStyles = makeStyles(theme => ({
|
|
28
28
|
drawerPaper: {
|
|
29
29
|
position: 'relative',
|
|
30
30
|
whiteSpace: 'nowrap',
|
|
31
31
|
width: drawerWidth,
|
|
32
32
|
transition: theme.transitions.create('width', {
|
|
33
33
|
easing: theme.transitions.easing.sharp,
|
|
34
|
-
duration: theme.transitions.duration.enteringScreen
|
|
34
|
+
duration: theme.transitions.duration.enteringScreen
|
|
35
35
|
}),
|
|
36
|
-
height:
|
|
36
|
+
height: '100vh'
|
|
37
37
|
},
|
|
38
38
|
drawerPaperClose: {
|
|
39
39
|
overflowX: 'hidden',
|
|
40
40
|
transition: theme.transitions.create('width', {
|
|
41
41
|
easing: theme.transitions.easing.sharp,
|
|
42
|
-
duration: theme.transitions.duration.leavingScreen
|
|
42
|
+
duration: theme.transitions.duration.leavingScreen
|
|
43
43
|
}),
|
|
44
44
|
width: theme.spacing(7),
|
|
45
45
|
[theme.breakpoints.up('md')]: {
|
|
46
|
-
width: theme.spacing(9)
|
|
46
|
+
width: theme.spacing(9)
|
|
47
47
|
},
|
|
48
|
-
height:
|
|
48
|
+
height: '100vh'
|
|
49
49
|
},
|
|
50
50
|
nested: {
|
|
51
|
-
paddingLeft: theme.spacing(4)
|
|
51
|
+
paddingLeft: theme.spacing(4)
|
|
52
52
|
},
|
|
53
53
|
appListItem: {
|
|
54
54
|
backgroundColor: theme.palette.primary.light,
|
|
55
|
-
color: theme.palette.getContrastText(theme.palette.primary.light)
|
|
55
|
+
color: theme.palette.getContrastText(theme.palette.primary.light)
|
|
56
56
|
},
|
|
57
57
|
appListLogo: {
|
|
58
58
|
marginRight: theme.spacing(2),
|
|
59
|
-
width:
|
|
59
|
+
width: '3.6rem'
|
|
60
60
|
},
|
|
61
61
|
appListIcon: {
|
|
62
|
-
color: theme.palette.getContrastText(theme.palette.primary.light)
|
|
62
|
+
color: theme.palette.getContrastText(theme.palette.primary.light)
|
|
63
63
|
},
|
|
64
64
|
appListDiv: {
|
|
65
65
|
backgroundColor: theme.palette.primary.light,
|
|
66
66
|
color: theme.palette.getContrastText(theme.palette.primary.light),
|
|
67
67
|
paddingTop: theme.spacing(2),
|
|
68
68
|
paddingBottom: theme.spacing(2),
|
|
69
|
-
display:
|
|
70
|
-
alignItems:
|
|
71
|
-
justifyContent:
|
|
69
|
+
display: 'flex',
|
|
70
|
+
alignItems: 'center',
|
|
71
|
+
justifyContent: 'center'
|
|
72
|
+
},
|
|
73
|
+
applicationLabel: {
|
|
74
|
+
whiteSpace: 'initial'
|
|
72
75
|
}
|
|
73
76
|
}));
|
|
74
77
|
export default function NavBar(props) {
|
|
75
78
|
const { pConn, pages, caseTypes } = props;
|
|
76
|
-
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
const
|
|
79
|
+
const classes = useStyles();
|
|
80
|
+
const theme = useTheme();
|
|
81
|
+
const isDesktop = useMediaQuery(theme.breakpoints.up('md'));
|
|
82
|
+
const { open, setOpen } = useNavBar();
|
|
80
83
|
const [navPages, setNavPages] = useState(JSON.parse(JSON.stringify(pages)));
|
|
81
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
|
|
82
|
-
const [portalLogoImage, setPortalLogoImage] = useState(Utils.getIconPath(PCore.getAssetLoader().getStaticServerUrl()).concat("pzpega-logo-mark.svg"));
|
|
83
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
|
|
84
|
-
const [portalOperator, setPortalOperator] = useState(PCore.getEnvironmentInfo().getOperatorName());
|
|
85
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
|
|
86
|
-
const [portalOperatorInitials, setPortalOperatorInitials] = useState(Utils.getInitials(portalOperator));
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
|
|
88
|
-
const [portalApp, setPortalApp] = useState(PCore.getEnvironmentInfo().getApplicationLabel());
|
|
89
84
|
const [bShowCaseTypes, setBShowCaseTypes] = useState(true);
|
|
90
85
|
const [bShowOperatorButtons, setBShowOperatorButtons] = useState(false);
|
|
91
|
-
const { open, setOpen } = useNavBar();
|
|
92
86
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
const
|
|
87
|
+
const portalLogoImage = Utils.getIconPath(PCore.getAssetLoader().getStaticServerUrl()).concat('pzpega-logo-mark.svg');
|
|
88
|
+
const portalOperator = PCore.getEnvironmentInfo().getOperatorName();
|
|
89
|
+
const portalApp = PCore.getEnvironmentInfo().getApplicationLabel();
|
|
96
90
|
useEffect(() => {
|
|
97
91
|
setNavPages(JSON.parse(JSON.stringify(pages)));
|
|
98
92
|
}, [pages]);
|
|
99
|
-
// const caseTypesMap = caseTypes.map((caseType, index) => {
|
|
100
|
-
// const theKey = `caseType.${index}`;
|
|
101
|
-
// return <li key={theKey}>{caseType.pyLabel}</li>;
|
|
102
|
-
// });
|
|
103
|
-
// const pagesMap = pages.map((page, index) => {
|
|
104
|
-
// const theKey = `page.${index}`;
|
|
105
|
-
// return <li key={theKey}>{page.pyLabel}</li>;
|
|
106
|
-
// });
|
|
107
93
|
function navPanelButtonClick(oPageData) {
|
|
108
94
|
const { pyClassName, pyRuleName } = oPageData;
|
|
109
|
-
pConn
|
|
95
|
+
pConn
|
|
96
|
+
.getActionsApi()
|
|
97
|
+
.showPage(pyRuleName, pyClassName)
|
|
98
|
+
.then(() => {
|
|
110
99
|
// eslint-disable-next-line no-console
|
|
111
100
|
console.log(`showPage completed`);
|
|
112
101
|
});
|
|
113
102
|
}
|
|
114
|
-
// function navPanelCreateButtonClick() {
|
|
115
|
-
// if (navExpandCollapse.indexOf("plus") > 0) {
|
|
116
|
-
// setNavExpandCollapse(Utils.getImageSrc("times", PCore.getAssetLoader().getStaticServerUrl()));
|
|
117
|
-
// setBShowCaseTypes(true);
|
|
118
|
-
// }
|
|
119
|
-
// else {
|
|
120
|
-
// setNavExpandCollapse(Utils.getImageSrc("plus", PCore.getAssetLoader().getStaticServerUrl()));
|
|
121
|
-
// setBShowCaseTypes(false);
|
|
122
|
-
// }
|
|
123
|
-
// }
|
|
124
103
|
function navPanelCreateCaseType(sCaseType, sFlowType) {
|
|
125
104
|
setOpen(false);
|
|
126
105
|
const actionInfo = {
|
|
127
|
-
containerName:
|
|
128
|
-
flowType: sFlowType ||
|
|
106
|
+
containerName: 'primary',
|
|
107
|
+
flowType: sFlowType || 'pyStartCase'
|
|
129
108
|
};
|
|
130
|
-
pConn
|
|
109
|
+
pConn
|
|
110
|
+
.getActionsApi()
|
|
111
|
+
.createWork(sCaseType, actionInfo)
|
|
112
|
+
.then(() => {
|
|
131
113
|
// eslint-disable-next-line no-console
|
|
132
114
|
console.log(`createWork completed`);
|
|
133
115
|
});
|
|
@@ -140,46 +122,6 @@ export default function NavBar(props) {
|
|
|
140
122
|
else
|
|
141
123
|
setAnchorEl(null);
|
|
142
124
|
}
|
|
143
|
-
function navPanelLogoutClick() {
|
|
144
|
-
try {
|
|
145
|
-
// eslint-disable-next-line no-console
|
|
146
|
-
console.log(`--> navPanelLogoutClick clicked`);
|
|
147
|
-
// Commenting out until revokeToken API is available
|
|
148
|
-
// pConn.getActionsApi().logout().then(() => {
|
|
149
|
-
// // eslint-disable-next-line no-console
|
|
150
|
-
// console.log(`logout completed`);
|
|
151
|
-
// },
|
|
152
|
-
// error => {
|
|
153
|
-
// // eslint-disable-next-line no-console
|
|
154
|
-
// console.error(`onRejected function called: ${error.message}`);
|
|
155
|
-
// })
|
|
156
|
-
}
|
|
157
|
-
catch (err) {
|
|
158
|
-
// eslint-disable-next-line no-console
|
|
159
|
-
console.log(`--> Attempt to call logout api failed: ${err}`);
|
|
160
|
-
}
|
|
161
|
-
finally {
|
|
162
|
-
// authLogout();
|
|
163
|
-
logout();
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
// const theCaseTypeButtons = caseTypes.map((caseType) => <div style={{display: "flex"}}>
|
|
167
|
-
// <button className="btn btn-link text-white"
|
|
168
|
-
// onClick={() => { navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}}>{caseType.pyLabel}</button></div>
|
|
169
|
-
// );
|
|
170
|
-
// const theOperatorButtons = <button className="btn btn-link text-white" style={{marginLeft: "-0.05rem"}} onClick={navPanelLogoutClick}>Logoff</button>;
|
|
171
|
-
// return <div id="NavBar" style={{border: "solid 1px silver", margin: "1px"}} >
|
|
172
|
-
// NavBar for <strong>{appName}</strong>
|
|
173
|
-
// <br></br>
|
|
174
|
-
// caseTypes:
|
|
175
|
-
// <ul>
|
|
176
|
-
// {caseTypesMap}
|
|
177
|
-
// </ul>
|
|
178
|
-
// Pages:
|
|
179
|
-
// <ul>
|
|
180
|
-
// {pagesMap}
|
|
181
|
-
// </ul>
|
|
182
|
-
// </div>;
|
|
183
125
|
const handleDrawerOpen = () => {
|
|
184
126
|
setOpen(!open);
|
|
185
127
|
};
|
|
@@ -191,39 +133,33 @@ export default function NavBar(props) {
|
|
|
191
133
|
else
|
|
192
134
|
setBShowCaseTypes(!bShowCaseTypes);
|
|
193
135
|
};
|
|
194
|
-
// const handlePopoverOpen = (event) => {
|
|
195
|
-
// setAnchorEl(event.currentTarget);
|
|
196
|
-
// };
|
|
197
|
-
// const handlePopoverClose = () => {
|
|
198
|
-
// setAnchorEl(null);
|
|
199
|
-
// };
|
|
200
136
|
useEffect(() => {
|
|
201
137
|
if (!isDesktop)
|
|
202
138
|
setOpen(false);
|
|
203
139
|
else
|
|
204
140
|
setOpen(true);
|
|
205
141
|
}, [isDesktop]);
|
|
206
|
-
return (React.createElement(Drawer, { variant:
|
|
207
|
-
paper: clsx(classes.drawerPaper, !open && classes.drawerPaperClose)
|
|
142
|
+
return (React.createElement(Drawer, { variant: 'permanent', classes: {
|
|
143
|
+
paper: clsx(classes.drawerPaper, !open && classes.drawerPaperClose)
|
|
208
144
|
}, open: open && isDesktop },
|
|
209
145
|
open ? (React.createElement(List, { className: classes.appListItem },
|
|
210
146
|
React.createElement(ListItem, { onClick: handleDrawerOpen },
|
|
211
147
|
React.createElement(ListItemIcon, null,
|
|
212
148
|
React.createElement("img", { src: portalLogoImage, className: classes.appListLogo })),
|
|
213
|
-
React.createElement(ListItemText, { primary: React.createElement(Typography, { variant:
|
|
149
|
+
React.createElement(ListItemText, { primary: React.createElement(Typography, { variant: 'h6', className: classes.applicationLabel }, portalApp) }),
|
|
214
150
|
React.createElement(ListItemSecondaryAction, null,
|
|
215
|
-
React.createElement(IconButton, { edge:
|
|
151
|
+
React.createElement(IconButton, { edge: 'end', onClick: handleDrawerOpen },
|
|
216
152
|
React.createElement(ChevronLeftIcon, { className: classes.appListIcon })))))) : (React.createElement("div", { className: classes.appListDiv, onClick: handleDrawerOpen },
|
|
217
|
-
React.createElement(ChevronRightIcon, { className: classes.appListIcon, id:
|
|
153
|
+
React.createElement(ChevronRightIcon, { className: classes.appListIcon, id: 'chevron-right-icon', fontSize: 'large' }))),
|
|
218
154
|
React.createElement(List, null,
|
|
219
155
|
React.createElement(ListItem, { button: true, onClick: handleCaseItemClick },
|
|
220
|
-
React.createElement(ListItemIcon, null, bShowCaseTypes && open ? React.createElement(ClearOutlinedIcon, { fontSize:
|
|
221
|
-
React.createElement(ListItemText, { primary:
|
|
156
|
+
React.createElement(ListItemIcon, null, bShowCaseTypes && open ? (React.createElement(ClearOutlinedIcon, { fontSize: 'large' })) : (React.createElement(AddIcon, { fontSize: 'large' }))),
|
|
157
|
+
React.createElement(ListItemText, { primary: 'Create' }),
|
|
222
158
|
bShowCaseTypes ? React.createElement(ExpandLess, null) : React.createElement(ExpandMore, null))),
|
|
223
|
-
React.createElement(Collapse, { in: bShowCaseTypes && open, timeout:
|
|
224
|
-
React.createElement(List, { component:
|
|
159
|
+
React.createElement(Collapse, { in: bShowCaseTypes && open, timeout: 'auto', unmountOnExit: true, className: 'scrollable' },
|
|
160
|
+
React.createElement(List, { component: 'div', disablePadding: true }, caseTypes.map(caseType => (React.createElement(ListItem, { button: true, className: classes.nested, onClick: () => navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType), key: caseType.pyLabel },
|
|
225
161
|
React.createElement(ListItemIcon, null,
|
|
226
|
-
React.createElement(WorkOutlineIcon, { fontSize:
|
|
162
|
+
React.createElement(WorkOutlineIcon, { fontSize: 'large' })),
|
|
227
163
|
React.createElement(ListItemText, { primary: caseType.pyLabel })))))),
|
|
228
164
|
React.createElement(List, null, navPages.map(page => (React.createElement(ListItem, { button: true, onClick: () => navPanelButtonClick(page), key: page.pyLabel },
|
|
229
165
|
React.createElement(ListItemIcon, null, iconMap[page.pxPageViewIcon]),
|
|
@@ -233,28 +169,28 @@ export default function NavBar(props) {
|
|
|
233
169
|
React.createElement(React.Fragment, null,
|
|
234
170
|
React.createElement(ListItem, { onClick: navPanelOperatorButtonClick },
|
|
235
171
|
React.createElement(ListItemIcon, null,
|
|
236
|
-
React.createElement(PersonOutlineIcon, { fontSize:
|
|
172
|
+
React.createElement(PersonOutlineIcon, { fontSize: 'large' })),
|
|
237
173
|
React.createElement(ListItemText, { primary: portalOperator }),
|
|
238
174
|
open && (React.createElement(ListItemSecondaryAction, null,
|
|
239
|
-
React.createElement(IconButton, { edge:
|
|
175
|
+
React.createElement(IconButton, { edge: 'end', onClick: navPanelOperatorButtonClick },
|
|
240
176
|
React.createElement(ChevronRightIcon, null))))),
|
|
241
177
|
React.createElement(Menu, { anchorEl: anchorEl, keepMounted: bShowOperatorButtons, open: bShowOperatorButtons, onClick: navPanelOperatorButtonClick, anchorOrigin: {
|
|
242
178
|
vertical: 'top',
|
|
243
|
-
horizontal: 'right'
|
|
179
|
+
horizontal: 'right'
|
|
244
180
|
}, transformOrigin: {
|
|
245
181
|
vertical: 'top',
|
|
246
|
-
horizontal: 'left'
|
|
182
|
+
horizontal: 'left'
|
|
247
183
|
} },
|
|
248
|
-
React.createElement(MenuItem, { onClick:
|
|
184
|
+
React.createElement(MenuItem, { onClick: logout },
|
|
249
185
|
React.createElement(ListItemIcon, null,
|
|
250
|
-
React.createElement(ArrowBackIcon, { fontSize:
|
|
251
|
-
React.createElement(Typography, { variant:
|
|
186
|
+
React.createElement(ArrowBackIcon, { fontSize: 'large' })),
|
|
187
|
+
React.createElement(Typography, { variant: 'inherit' }, "Logout")))))));
|
|
252
188
|
}
|
|
253
189
|
NavBar.defaultProps = {
|
|
254
190
|
pConn: null,
|
|
255
|
-
appName:
|
|
191
|
+
appName: '',
|
|
256
192
|
pages: [],
|
|
257
|
-
caseTypes: []
|
|
193
|
+
caseTypes: []
|
|
258
194
|
};
|
|
259
195
|
NavBar.propTypes = {
|
|
260
196
|
pConn: PropTypes.object,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavBar.js","sourceRoot":"","sources":["../../../../src/components/infra/NavBar/NavBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport clsx from 'clsx';\nimport PropTypes from \"prop-types\";\nimport { Utils } from '../../helpers/utils';\n\nimport './NavBar.css';\n\nimport {\n Drawer,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n ListItemSecondaryAction,\n Collapse,\n Divider,\n IconButton,\n Menu,\n MenuItem,\n Typography\n} from '@material-ui/core';\n\nimport PersonOutlineIcon from '@material-ui/icons/PersonOutlineOutlined';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport FlagOutlinedIcon from '@material-ui/icons/FlagOutlined';\nimport HomeOutlinedIcon from '@material-ui/icons/HomeOutlined';\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport AddIcon from '@material-ui/icons/Add';\nimport WorkOutlineIcon from '@material-ui/icons/WorkOutline';\nimport ClearOutlinedIcon from '@material-ui/icons/ClearOutlined';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nimport { useNavBar } from \"../../helpers/reactContextHelpers\";\nimport { logout } from '../../helpers/authManager';\n\ndeclare const PCore;\n\nconst iconMap = {\n \"pi pi-headline\" : <HomeOutlinedIcon fontSize=\"large\"/>,\n \"pi pi-flag-solid\": <FlagOutlinedIcon fontSize=\"large\"/>\n}\n\nconst drawerWidth = 300;\n\nconst useStyles = makeStyles((theme) => ({\n drawerPaper: {\n position: 'relative',\n whiteSpace: 'nowrap',\n width: drawerWidth,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n height: \"100vh\"\n },\n drawerPaperClose: {\n overflowX: 'hidden',\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n width: theme.spacing(7),\n [theme.breakpoints.up('md')]: {\n width: theme.spacing(9),\n },\n height: \"100vh\"\n },\n nested: {\n paddingLeft: theme.spacing(4),\n },\n appListItem: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n },\n appListLogo: {\n marginRight: theme.spacing(2),\n width: \"3.6rem\",\n },\n appListIcon: {\n color: theme.palette.getContrastText(theme.palette.primary.light),\n },\n appListDiv: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(2),\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }\n}));\n\nexport default function NavBar(props) {\n const {\n pConn,\n pages,\n caseTypes\n } = props;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [navIcon, setNavIcon] = useState((PCore.getAssetLoader().getStaticServerUrl()).concat(\"pzpega-logo-mark.svg\"));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [navExpandCollapse, setNavExpandCollapse] = useState(Utils.getImageSrc(\"plus\", PCore.getAssetLoader().getStaticServerUrl()));\n const [navPages, setNavPages] = useState(JSON.parse(JSON.stringify(pages)));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalLogoImage, setPortalLogoImage] = useState(Utils.getIconPath(PCore.getAssetLoader().getStaticServerUrl()).concat(\"pzpega-logo-mark.svg\"));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalOperator, setPortalOperator] = useState(PCore.getEnvironmentInfo().getOperatorName());\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalOperatorInitials, setPortalOperatorInitials] = useState(Utils.getInitials(portalOperator));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalApp, setPortalApp] = useState(PCore.getEnvironmentInfo().getApplicationLabel());\n const [bShowCaseTypes, setBShowCaseTypes] = useState(true);\n const [bShowOperatorButtons, setBShowOperatorButtons] = useState(false)\n const {open, setOpen} = useNavBar();\n const [anchorEl, setAnchorEl] = useState(null);\n\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n\n useEffect( () => {\n setNavPages(JSON.parse(JSON.stringify(pages)));\n },\n [pages]);\n\n // const caseTypesMap = caseTypes.map((caseType, index) => {\n // const theKey = `caseType.${index}`;\n // return <li key={theKey}>{caseType.pyLabel}</li>;\n // });\n\n // const pagesMap = pages.map((page, index) => {\n // const theKey = `page.${index}`;\n // return <li key={theKey}>{page.pyLabel}</li>;\n // });\n\n function navPanelButtonClick(oPageData: any) {\n const {\n pyClassName,\n pyRuleName\n } = oPageData;\n\n pConn.getActionsApi().showPage(pyRuleName, pyClassName).then(() => {\n // eslint-disable-next-line no-console\n console.log(`showPage completed`);\n });\n }\n\n // function navPanelCreateButtonClick() {\n // if (navExpandCollapse.indexOf(\"plus\") > 0) {\n // setNavExpandCollapse(Utils.getImageSrc(\"times\", PCore.getAssetLoader().getStaticServerUrl()));\n // setBShowCaseTypes(true);\n // }\n // else {\n // setNavExpandCollapse(Utils.getImageSrc(\"plus\", PCore.getAssetLoader().getStaticServerUrl()));\n // setBShowCaseTypes(false);\n // }\n // }\n\n function navPanelCreateCaseType(sCaseType: string, sFlowType: string) {\n setOpen(false);\n const actionInfo = {\n containerName: \"primary\",\n flowType: sFlowType || \"pyStartCase\"\n };\n\n pConn.getActionsApi().createWork(sCaseType, actionInfo).then(() => {\n // eslint-disable-next-line no-console\n console.log(`createWork completed`);\n });\n\n }\n\n // Toggle showing the Operator buttons\n function navPanelOperatorButtonClick(evt) {\n setBShowOperatorButtons(!bShowOperatorButtons);\n if (!bShowOperatorButtons) setAnchorEl(evt.currentTarget);\n else setAnchorEl(null);\n }\n\n function navPanelLogoutClick() {\n\n try {\n // eslint-disable-next-line no-console\n console.log(`--> navPanelLogoutClick clicked`);\n // Commenting out until revokeToken API is available\n // pConn.getActionsApi().logout().then(() => {\n // // eslint-disable-next-line no-console\n // console.log(`logout completed`);\n // },\n // error => {\n // // eslint-disable-next-line no-console\n // console.error(`onRejected function called: ${error.message}`);\n // })\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log(`--> Attempt to call logout api failed: ${err}`);\n }\n finally {\n // authLogout();\n logout();\n }\n }\n\n // const theCaseTypeButtons = caseTypes.map((caseType) => <div style={{display: \"flex\"}}>\n // <button className=\"btn btn-link text-white\"\n // onClick={() => { navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}}>{caseType.pyLabel}</button></div>\n // );\n\n // const theOperatorButtons = <button className=\"btn btn-link text-white\" style={{marginLeft: \"-0.05rem\"}} onClick={navPanelLogoutClick}>Logoff</button>;\n\n\n // return <div id=\"NavBar\" style={{border: \"solid 1px silver\", margin: \"1px\"}} >\n // NavBar for <strong>{appName}</strong>\n // <br></br>\n // caseTypes:\n // <ul>\n // {caseTypesMap}\n // </ul>\n // Pages:\n // <ul>\n // {pagesMap}\n // </ul>\n // </div>;\n\n\n const handleDrawerOpen = () => {\n setOpen(!open);\n };\n\n const handleCaseItemClick = () => {\n if (!open) {\n setOpen(true);\n setBShowCaseTypes(true);\n } else setBShowCaseTypes(!bShowCaseTypes);\n }\n\n// const handlePopoverOpen = (event) => {\n// setAnchorEl(event.currentTarget);\n// };\n\n // const handlePopoverClose = () => {\n // setAnchorEl(null);\n // };\n\n\n useEffect(() => {\n if (!isDesktop) setOpen(false);\n else setOpen(true);\n }, [isDesktop])\n\n\n return (\n <Drawer\n variant=\"permanent\"\n classes={{\n paper: clsx(classes.drawerPaper, !open && classes.drawerPaperClose),\n }}\n open={open && isDesktop}\n >\n {\n open ? (\n <List className={classes.appListItem}>\n <ListItem onClick={handleDrawerOpen}>\n <ListItemIcon>\n <img src={portalLogoImage} className={classes.appListLogo}/>\n </ListItemIcon>\n <ListItemText\n primary={<Typography variant=\"h6\">{portalApp}</Typography>}\n />\n <ListItemSecondaryAction>\n <IconButton edge=\"end\" onClick={handleDrawerOpen}>\n <ChevronLeftIcon className={classes.appListIcon} />\n </IconButton>\n </ListItemSecondaryAction>\n </ListItem>\n </List>\n ) : (\n <div className={classes.appListDiv} onClick={handleDrawerOpen} >\n <ChevronRightIcon className={classes.appListIcon} id=\"chevron-right-icon\" fontSize=\"large\" />\n </div>\n )\n }\n <List>\n <ListItem button onClick={handleCaseItemClick}>\n <ListItemIcon>\n {\n bShowCaseTypes && open ? <ClearOutlinedIcon fontSize=\"large\" /> : <AddIcon fontSize=\"large\" />\n }\n </ListItemIcon>\n <ListItemText primary=\"Create\" />\n {bShowCaseTypes ? <ExpandLess /> : <ExpandMore />}\n </ListItem>\n </List>\n <Collapse in={bShowCaseTypes && open} timeout=\"auto\" unmountOnExit className='scrollable'>\n <List component=\"div\" disablePadding>\n {\n caseTypes.map(caseType => (\n <ListItem\n button\n className={classes.nested}\n onClick={() => navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}\n key={caseType.pyLabel}\n >\n <ListItemIcon>\n <WorkOutlineIcon fontSize=\"large\" />\n </ListItemIcon>\n <ListItemText primary={caseType.pyLabel} />\n </ListItem>\n ))\n }\n </List>\n </Collapse>\n <List>\n {\n navPages.map(page => (\n <ListItem\n button\n onClick={() => navPanelButtonClick(page)}\n key={page.pyLabel}\n >\n <ListItemIcon>\n {iconMap[page.pxPageViewIcon]}\n </ListItemIcon>\n <ListItemText primary={page.pyLabel} />\n </ListItem>\n ))\n }\n </List>\n <Divider />\n <List className='marginTopAuto'>\n <>\n <ListItem onClick={navPanelOperatorButtonClick}>\n <ListItemIcon>\n <PersonOutlineIcon fontSize=\"large\" />\n </ListItemIcon>\n <ListItemText primary={portalOperator} />\n {\n open && (\n <ListItemSecondaryAction>\n <IconButton edge=\"end\" onClick={navPanelOperatorButtonClick}>\n <ChevronRightIcon/>\n </IconButton>\n </ListItemSecondaryAction>\n )\n }\n\n </ListItem>\n <Menu\n anchorEl={anchorEl}\n keepMounted={bShowOperatorButtons}\n open={bShowOperatorButtons}\n onClick={navPanelOperatorButtonClick}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n >\n <MenuItem onClick={navPanelLogoutClick}>\n <ListItemIcon>\n <ArrowBackIcon fontSize=\"large\" />\n </ListItemIcon>\n <Typography variant=\"inherit\">Logout</Typography>\n </MenuItem>\n </Menu>\n </>\n </List>\n </Drawer>\n );\n}\n\nNavBar.defaultProps = {\n pConn: null,\n appName: \"\",\n pages: [],\n caseTypes: [],\n};\n\nNavBar.propTypes = {\n pConn: PropTypes.object,\n // eslint-disable-next-line react/no-unused-prop-types\n appName: PropTypes.string,\n pages: PropTypes.arrayOf(PropTypes.object),\n caseTypes: PropTypes.arrayOf(PropTypes.object)\n};\n"]}
|
|
1
|
+
{"version":3,"file":"NavBar.js","sourceRoot":"","sources":["../../../../src/components/infra/NavBar/NavBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { Utils } from '../../helpers/utils';\nimport './NavBar.css';\nimport {\n Drawer,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n ListItemSecondaryAction,\n Collapse,\n Divider,\n IconButton,\n Menu,\n MenuItem,\n Typography\n} from '@material-ui/core';\n\nimport PersonOutlineIcon from '@material-ui/icons/PersonOutlineOutlined';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport FlagOutlinedIcon from '@material-ui/icons/FlagOutlined';\nimport HomeOutlinedIcon from '@material-ui/icons/HomeOutlined';\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport AddIcon from '@material-ui/icons/Add';\nimport WorkOutlineIcon from '@material-ui/icons/WorkOutline';\nimport ClearOutlinedIcon from '@material-ui/icons/ClearOutlined';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nimport { useNavBar } from '../../helpers/reactContextHelpers';\nimport { logout } from '../../helpers/authManager';\n\ndeclare const PCore;\n\nconst iconMap = {\n 'pi pi-headline': <HomeOutlinedIcon fontSize='large' />,\n 'pi pi-flag-solid': <FlagOutlinedIcon fontSize='large' />\n};\n\nconst drawerWidth = 300;\n\nconst useStyles = makeStyles(theme => ({\n drawerPaper: {\n position: 'relative',\n whiteSpace: 'nowrap',\n width: drawerWidth,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen\n }),\n height: '100vh'\n },\n drawerPaperClose: {\n overflowX: 'hidden',\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen\n }),\n width: theme.spacing(7),\n [theme.breakpoints.up('md')]: {\n width: theme.spacing(9)\n },\n height: '100vh'\n },\n nested: {\n paddingLeft: theme.spacing(4)\n },\n appListItem: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n },\n appListLogo: {\n marginRight: theme.spacing(2),\n width: '3.6rem'\n },\n appListIcon: {\n color: theme.palette.getContrastText(theme.palette.primary.light)\n },\n appListDiv: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(2),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n applicationLabel: {\n whiteSpace: 'initial'\n }\n}));\n\nexport default function NavBar(props) {\n const { pConn, pages, caseTypes } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n\n const { open, setOpen } = useNavBar();\n const [navPages, setNavPages] = useState(JSON.parse(JSON.stringify(pages)));\n const [bShowCaseTypes, setBShowCaseTypes] = useState(true);\n const [bShowOperatorButtons, setBShowOperatorButtons] = useState(false);\n const [anchorEl, setAnchorEl] = useState(null);\n\n const portalLogoImage = Utils.getIconPath(PCore.getAssetLoader().getStaticServerUrl()).concat(\n 'pzpega-logo-mark.svg'\n );\n const portalOperator = PCore.getEnvironmentInfo().getOperatorName();\n const portalApp = PCore.getEnvironmentInfo().getApplicationLabel();\n\n useEffect(() => {\n setNavPages(JSON.parse(JSON.stringify(pages)));\n }, [pages]);\n\n function navPanelButtonClick(oPageData: any) {\n const { pyClassName, pyRuleName } = oPageData;\n\n pConn\n .getActionsApi()\n .showPage(pyRuleName, pyClassName)\n .then(() => {\n // eslint-disable-next-line no-console\n console.log(`showPage completed`);\n });\n }\n\n function navPanelCreateCaseType(sCaseType: string, sFlowType: string) {\n setOpen(false);\n const actionInfo = {\n containerName: 'primary',\n flowType: sFlowType || 'pyStartCase'\n };\n\n pConn\n .getActionsApi()\n .createWork(sCaseType, actionInfo)\n .then(() => {\n // eslint-disable-next-line no-console\n console.log(`createWork completed`);\n });\n }\n\n // Toggle showing the Operator buttons\n function navPanelOperatorButtonClick(evt) {\n setBShowOperatorButtons(!bShowOperatorButtons);\n if (!bShowOperatorButtons) setAnchorEl(evt.currentTarget);\n else setAnchorEl(null);\n }\n\n const handleDrawerOpen = () => {\n setOpen(!open);\n };\n\n const handleCaseItemClick = () => {\n if (!open) {\n setOpen(true);\n setBShowCaseTypes(true);\n } else setBShowCaseTypes(!bShowCaseTypes);\n };\n\n useEffect(() => {\n if (!isDesktop) setOpen(false);\n else setOpen(true);\n }, [isDesktop]);\n\n return (\n <Drawer\n variant='permanent'\n classes={{\n paper: clsx(classes.drawerPaper, !open && classes.drawerPaperClose)\n }}\n open={open && isDesktop}\n >\n {open ? (\n <List className={classes.appListItem}>\n <ListItem onClick={handleDrawerOpen}>\n <ListItemIcon>\n <img src={portalLogoImage} className={classes.appListLogo} />\n </ListItemIcon>\n <ListItemText\n primary={\n <Typography variant='h6' className={classes.applicationLabel}>\n {portalApp}\n </Typography>\n }\n />\n <ListItemSecondaryAction>\n <IconButton edge='end' onClick={handleDrawerOpen}>\n <ChevronLeftIcon className={classes.appListIcon} />\n </IconButton>\n </ListItemSecondaryAction>\n </ListItem>\n </List>\n ) : (\n <div className={classes.appListDiv} onClick={handleDrawerOpen}>\n <ChevronRightIcon\n className={classes.appListIcon}\n id='chevron-right-icon'\n fontSize='large'\n />\n </div>\n )}\n <List>\n <ListItem button onClick={handleCaseItemClick}>\n <ListItemIcon>\n {bShowCaseTypes && open ? (\n <ClearOutlinedIcon fontSize='large' />\n ) : (\n <AddIcon fontSize='large' />\n )}\n </ListItemIcon>\n <ListItemText primary='Create' />\n {bShowCaseTypes ? <ExpandLess /> : <ExpandMore />}\n </ListItem>\n </List>\n <Collapse in={bShowCaseTypes && open} timeout='auto' unmountOnExit className='scrollable'>\n <List component='div' disablePadding>\n {caseTypes.map(caseType => (\n <ListItem\n button\n className={classes.nested}\n onClick={() => navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}\n key={caseType.pyLabel}\n >\n <ListItemIcon>\n <WorkOutlineIcon fontSize='large' />\n </ListItemIcon>\n <ListItemText primary={caseType.pyLabel} />\n </ListItem>\n ))}\n </List>\n </Collapse>\n <List>\n {navPages.map(page => (\n <ListItem button onClick={() => navPanelButtonClick(page)} key={page.pyLabel}>\n <ListItemIcon>{iconMap[page.pxPageViewIcon]}</ListItemIcon>\n <ListItemText primary={page.pyLabel} />\n </ListItem>\n ))}\n </List>\n <Divider />\n <List className='marginTopAuto'>\n <>\n <ListItem onClick={navPanelOperatorButtonClick}>\n <ListItemIcon>\n <PersonOutlineIcon fontSize='large' />\n </ListItemIcon>\n <ListItemText primary={portalOperator} />\n {open && (\n <ListItemSecondaryAction>\n <IconButton edge='end' onClick={navPanelOperatorButtonClick}>\n <ChevronRightIcon />\n </IconButton>\n </ListItemSecondaryAction>\n )}\n </ListItem>\n <Menu\n anchorEl={anchorEl}\n keepMounted={bShowOperatorButtons}\n open={bShowOperatorButtons}\n onClick={navPanelOperatorButtonClick}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right'\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left'\n }}\n >\n <MenuItem onClick={logout}>\n <ListItemIcon>\n <ArrowBackIcon fontSize='large' />\n </ListItemIcon>\n <Typography variant='inherit'>Logout</Typography>\n </MenuItem>\n </Menu>\n </>\n </List>\n </Drawer>\n );\n}\n\nNavBar.defaultProps = {\n pConn: null,\n appName: '',\n pages: [],\n caseTypes: []\n};\n\nNavBar.propTypes = {\n pConn: PropTypes.object,\n // eslint-disable-next-line react/no-unused-prop-types\n appName: PropTypes.string,\n pages: PropTypes.arrayOf(PropTypes.object),\n caseTypes: PropTypes.arrayOf(PropTypes.object)\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAWnC,OAAO,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAWnC,OAAO,YAAY,CAAC;AAkBpB,iBAAwB,IAAI,CAAC,KAAK,KAAA,eAqGjC;kBArGuB,IAAI;;;;;;;;;;;;;;;;;eAAJ,IAAI"}
|
|
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
|
|
|
4
4
|
// import { LazyMap as LazyComponentMap } from "../../components_map";
|
|
5
5
|
import { SdkComponentMap } from '../../../bridge/helpers/sdk_component_map';
|
|
6
6
|
import ErrorBoundary from '../ErrorBoundary';
|
|
7
|
-
import { getAllFields } from '../../template
|
|
7
|
+
import { getAllFields } from '../../helpers/template-utils';
|
|
8
8
|
// Need to import any templates that we might render
|
|
9
9
|
import './View.css';
|
|
10
10
|
//
|
|
@@ -13,6 +13,15 @@ import './View.css';
|
|
|
13
13
|
// is totally at your own risk.
|
|
14
14
|
//
|
|
15
15
|
const FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide'];
|
|
16
|
+
const NO_HEADER_TEMPLATES = [
|
|
17
|
+
'SubTabs',
|
|
18
|
+
'SimpleTable',
|
|
19
|
+
'Details',
|
|
20
|
+
'DetailsTwoColumn',
|
|
21
|
+
'DetailsThreeColumn',
|
|
22
|
+
'NarrowWideDetails',
|
|
23
|
+
'WideNarrowDetails'
|
|
24
|
+
];
|
|
16
25
|
export default function View(props) {
|
|
17
26
|
const { children, template, getPConnect, mode } = props;
|
|
18
27
|
let { label, showLabel = false } = props;
|
|
@@ -51,7 +60,7 @@ export default function View(props) {
|
|
|
51
60
|
ViewTemplate = ErrorBoundary;
|
|
52
61
|
}
|
|
53
62
|
}
|
|
54
|
-
if (template ===
|
|
63
|
+
if (template === 'ListView') {
|
|
55
64
|
// special case for ListView - add in a prop
|
|
56
65
|
const bInForm = true;
|
|
57
66
|
props = { ...props, bInForm };
|
|
@@ -78,7 +87,7 @@ export default function View(props) {
|
|
|
78
87
|
/* name */ id: 'label', style: { marginBlockStart: '1rem' }, className: 'grid-column' }, RenderedTemplate));
|
|
79
88
|
}
|
|
80
89
|
return (React.createElement("div", { className: 'grid-column' },
|
|
81
|
-
showLabel && template
|
|
90
|
+
showLabel && !NO_HEADER_TEMPLATES.includes(template) && (React.createElement("div", { className: 'template-title-container' },
|
|
82
91
|
React.createElement("span", null, label))),
|
|
83
92
|
RenderedTemplate));
|
|
84
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,wDAAwD;AACxD,sEAAsE;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n// import { FieldGroup } from \"@pega/cosmos-react-core\";\n// import { LazyMap as LazyComponentMap } from \"../../components_map\";\n\nimport { SdkComponentMap } from '../../../bridge/helpers/sdk_component_map';\nimport ErrorBoundary from '../ErrorBoundary';\n\nimport { getAllFields } from '../../helpers/template-utils';\n\n// Need to import any templates that we might render\n\nimport './View.css';\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide'];\nconst NO_HEADER_TEMPLATES = [\n 'SubTabs',\n 'SimpleTable',\n 'Details',\n 'DetailsTwoColumn',\n 'DetailsThreeColumn',\n 'NarrowWideDetails',\n 'WideNarrowDetails'\n];\n\nexport default function View(props) {\n const { children, template, getPConnect, mode } = props;\n let { label, showLabel = false } = props;\n\n // Get the inherited props from the parent to determine label settings. For 8.6, this is only for embedded data form views\n // Putting this logic here instead of copy/paste in every Form template index.js\n\n const inheritedProps = getPConnect().getInheritedProps();\n label = inheritedProps.label || label;\n showLabel = inheritedProps.showLabel || showLabel;\n\n const isEmbeddedDataView = mode === 'editable'; // would be better to check the reference child for `context` attribute if possible\n if (isEmbeddedDataView && showLabel === undefined) {\n showLabel = true;\n }\n\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n // JA - React SDK not using LazyComponentMap yet\n if (template /* && LazyComponentMap[template] */) {\n // const ViewTemplate = LazyComponentMap[template];\n let ViewTemplate: any;\n\n if (SdkComponentMap) {\n // This is the node_modules version of react_pconnect!\n const theLocalComponent = SdkComponentMap.getLocalComponentMap()[template];\n if (theLocalComponent !== undefined) {\n // eslint-disable-next-line no-console\n console.log(`View component found ${template}: Local`);\n ViewTemplate = theLocalComponent;\n } else {\n const thePegaProvidedComponent = SdkComponentMap.getPegaProvidedComponentMap()[template];\n if (thePegaProvidedComponent !== undefined) {\n // console.log(`View component found ${template}: Pega-provided`);\n ViewTemplate = thePegaProvidedComponent;\n } else {\n // eslint-disable-next-line no-console\n console.error(`View component can't find template type ${template}`);\n ViewTemplate = ErrorBoundary;\n }\n }\n\n if (template === 'ListView') {\n // special case for ListView - add in a prop\n const bInForm = true;\n props = { ...props, bInForm };\n }\n } else {\n // eslint-disable-next-line no-console\n console.warn(`View: SdkComponentMap expected but not found.`);\n\n // eslint-disable-next-line no-console\n console.error(`View: Trying to render an unknown template: ${template}`);\n }\n\n // for debugging/investigation\n // console.log(`View rendering template: ${template}`);\n\n // spreading because all props should go to the template\n let RenderedTemplate = <ViewTemplate {...props}>{children}</ViewTemplate>;\n\n if (FORMTEMPLATES.includes(template) && showLabel) {\n // Original:\n // RenderedTemplate = (\n // <FieldGroup name={label} style={{ marginBlockStart: \"1rem\" }}>\n // {RenderedTemplate}\n // </FieldGroup>\n // );\n RenderedTemplate = (\n <div\n data-name='RenderedTemplate'\n data-template-type={template}\n /* name */ id='label'\n style={{ marginBlockStart: '1rem' }}\n className='grid-column'\n >\n {RenderedTemplate}\n </div>\n );\n }\n\n return (\n <div className='grid-column'>\n {showLabel && !NO_HEADER_TEMPLATES.includes(template) && (\n <div className='template-title-container'>\n <span>{label}</span>\n </div>\n )}\n {RenderedTemplate}\n </div>\n );\n }\n\n // debugging/investigation help\n // console.log(`View about to render React.Fragment for children: ${children}`);\n\n if (children) {\n return <>{children}</>;\n } else {\n return <div id='View'>View has no children.</div>;\n }\n}\n\nView.defaultProps = {\n label: undefined,\n showLabel: undefined,\n mode: undefined\n};\n\nView.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.array\n ]) /* array might be empty */,\n template: PropTypes.string /* .isRequired */,\n getPConnect: PropTypes.func.isRequired,\n label: PropTypes.string,\n showLabel: PropTypes.bool,\n mode: PropTypes.string,\n title: PropTypes.string\n};\n\n// Adapted from Nebula/Constellation to add in additional props for some templates\nView.additionalProps = (state, getPConnect) => {\n const thePConn = getPConnect();\n const { template } = thePConn.getConfigProps();\n\n let propObj = {};\n let allFields = {};\n\n switch (template) {\n case 'CaseSummary':\n allFields = getAllFields(thePConn);\n // eslint-disable-next-line no-case-declarations\n const unresFields = {\n primaryFields: allFields[0],\n secondaryFields: allFields[1]\n };\n propObj = thePConn.resolveConfigProps(unresFields);\n break;\n\n case 'Details':\n allFields = getAllFields(thePConn);\n propObj = { fields: allFields[0] };\n break;\n\n default:\n break;\n }\n\n return propObj;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/CaseView/CaseView.tsx"],"names":[],"mappings":";AAGA,OAAO,SAAS,MAAM,YAAY,CAAC;AA2CnC,iBAAwB,QAAQ,CAAC,KAAK,KAAA,
|
|
1
|
+
{"version":3,"file":"CaseView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/CaseView/CaseView.tsx"],"names":[],"mappings":";AAGA,OAAO,SAAS,MAAM,YAAY,CAAC;AA2CnC,iBAAwB,QAAQ,CAAC,KAAK,KAAA,eAiMrC;kBAjMuB,QAAQ;;;;;;;;;;;;;;;;;;;;eAAR,QAAQ"}
|
|
@@ -44,6 +44,7 @@ export default function CaseView(props) {
|
|
|
44
44
|
const { displayOnlyFA } = useContext(StoreContext);
|
|
45
45
|
const thePConn = getPConnect();
|
|
46
46
|
const classes = useStyles();
|
|
47
|
+
const editAction = availableActions.find((action) => action.ID === 'pyUpdateCaseDetails');
|
|
47
48
|
/**
|
|
48
49
|
*
|
|
49
50
|
* @param inName the metadata <em>name</em> that will cause a region to be returned
|
|
@@ -121,15 +122,13 @@ export default function CaseView(props) {
|
|
|
121
122
|
}
|
|
122
123
|
}, [hasNewAttachments]);
|
|
123
124
|
function _editClick() {
|
|
124
|
-
const editAction = availableActions.find((action) => action.ID === "pyUpdateCaseDetails");
|
|
125
125
|
const actionsAPI = thePConn.getActionsApi();
|
|
126
126
|
const openLocalAction = actionsAPI.openLocalAction.bind(actionsAPI);
|
|
127
127
|
openLocalAction(editAction.ID, { ...editAction });
|
|
128
128
|
}
|
|
129
129
|
function getActionButtonsHtml() {
|
|
130
130
|
const aBHtml = React.createElement(Box, null,
|
|
131
|
-
React.createElement(Button, { onClick: () => { _editClick(); } }, "Edit"),
|
|
132
|
-
"\u00A0",
|
|
131
|
+
editAction && (React.createElement(Button, { onClick: () => { _editClick(); } }, "Edit")),
|
|
133
132
|
React.createElement(CaseViewActionsMenu, { getPConnect: getPConnect, availableActions: availableActions, availableProcesses: availableProcesses }));
|
|
134
133
|
return aBHtml;
|
|
135
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseView.js","sourceRoot":"","sources":["../../../../src/components/template/CaseView/CaseView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/jsx-boolean-value */\n\nimport React, { useState, useEffect, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Utils } from '../../helpers/utils';\nimport { Card, CardHeader, Avatar, Typography, Divider } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport Box from '@material-ui/core/Box';\nimport Button from '@material-ui/core/Button';\nimport Grid from '@material-ui/core/Grid';\n\nimport StoreContext from \"../../../bridge/Context/StoreContext\";\nimport CaseViewActionsMenu from \"../CaseViewActionsMenu\";\nimport VerticalTabs from '../../infra/VerticalTabs/VerticalTabs';\nimport DeferLoad from '../../infra/DeferLoad';\n\n\ndeclare const PCore;\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n },\n caseViewHeader: {\n backgroundColor: theme.palette.info.light,\n color: theme.palette.getContrastText(theme.palette.info.light),\n borderRadius: \"inherit\",\n },\n caseViewIconBox: {\n backgroundColor: theme.palette.info.dark,\n width: theme.spacing(8),\n height: theme.spacing(8),\n padding: theme.spacing(1),\n },\n caseViewIconImage: {\n filter: 'invert(100%)'\n }\n}));\n\nexport default function CaseView(props) {\n const {\n getPConnect,\n icon,\n header,\n subheader,\n children,\n caseInfo: { availableActions = [], availableProcesses = [], hasNewAttachments }\n } = props;\n const currentCaseID = props.caseInfo.ID;\n let isComponentMounted = true;\n\n const { displayOnlyFA } = useContext(StoreContext);\n\n const thePConn = getPConnect();\n\n const classes = useStyles();\n\n\n /**\n *\n * @param inName the metadata <em>name</em> that will cause a region to be returned\n */\n function getChildRegionByName(inName: string): any {\n\n for (const child of children) {\n const theMetadataType: string = child.props.getPConnect().getRawMetadata()['type'].toLowerCase();\n const theMetadataName: string = child.props.getPConnect().getRawMetadata()['name'].toLowerCase();\n\n if ((theMetadataType === \"region\") && (theMetadataName === inName )) {\n return child;\n }\n }\n\n return null;\n }\n\n\n const theSummaryRegion = getChildRegionByName(\"summary\");\n const theStagesRegion = getChildRegionByName(\"stages\");\n const theTodoRegion = getChildRegionByName(\"todo\");\n const theUtilitiesRegion = getChildRegionByName(\"utilities\");\n const theTabsRegion = getChildRegionByName(\"tabs\");\n\n const svgCase = Utils.getImageSrc(icon, PCore.getAssetLoader().getStaticServerUrl());\n\n const [activeVertTab, setActiveVertTab] = useState(0);\n\n // const tmpLoadData1 = { config: { label: \"Details\", name: \"pyDetailsTabContent\" }, type: \"DeferLoad\" };\n // const tmpLoadData2 = { config: { label: \"Case History\", name: \"CaseHistory\" }, type: \"DeferLoad\" };\n\n // Extract the tabs we need to display from theTabsRegion (one tab per entry in theTabsRegionChildren)\n const theTabsRegionChildren = theTabsRegion.props.getPConnect().getChildren();\n\n // vertTabInfo is sent to VerticalTabs component\n const vertTabInfo: Array<Object> = [];\n\n // deferLoadInfo is sent to DeferLoad component (currently selected entry)\n const deferLoadInfo: Array<any> = [];\n\n if (theTabsRegionChildren) {\n // populate vertTabInfo and deferLoadInfo\n theTabsRegionChildren.forEach((tabComp, index) => {\n const theTabCompConfig = tabComp.getPConnect().getConfigProps();\n // eslint-disable-next-line prefer-const\n let { label, inheritedProps } = theTabCompConfig;\n // For some tabs, \"label\" property is not avaialable in theTabCompConfig, so will get them from inheritedProps\n if (!label) {\n inheritedProps.forEach(inheritedProp => {\n if (inheritedProp.prop === 'label') {\n label = inheritedProp.value;\n }\n });\n }\n // We'll display the tabs when either visibility property doesn't exist or is true(if exists)\n if (theTabCompConfig.visibility === undefined || theTabCompConfig.visibility === true) {\n vertTabInfo.push({ name: label, id: index });\n deferLoadInfo.push({ type: 'DeferLoad', config: theTabCompConfig });\n }\n });\n }\n\n\n\n function handleVerticalTabClick(eventDetail: any) {\n const theItem = parseInt(eventDetail.additionalData.itemClicked, 10);\n\n // only call useEffectSetter if the component is mounted\n if (isComponentMounted) {\n setActiveVertTab(theItem);\n }\n }\n\n\n // Add and Remove event listener for VerticalTabClick only at startup and teardown\n useEffect(() => {\n document.addEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n\n return ():void => {\n // inform that the component is unmounted so other code can\n // know not to try to call useState setters (to avoid console warnings)\n isComponentMounted = false;\n\n document.removeEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n }\n }, [])\n\n useEffect(() => {\n if (hasNewAttachments) {\n PCore.getPubSubUtils().publish(PCore.getEvents().getCaseEvent().CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW, true);\n }\n }, [hasNewAttachments]);\n\n function _editClick() {\n\n const editAction = availableActions.find(\n (action) => action.ID === \"pyUpdateCaseDetails\"\n );\n const actionsAPI = thePConn.getActionsApi();\n const openLocalAction = actionsAPI.openLocalAction.bind(actionsAPI);\n\n openLocalAction( editAction.ID, { ...editAction});\n }\n\n\n function getActionButtonsHtml(): any {\n\n const aBHtml = <Box>\n <Button onClick={() => {_editClick()}}>Edit</Button>\n \n <CaseViewActionsMenu getPConnect={getPConnect} availableActions={availableActions} availableProcesses={availableProcesses} />\n </Box>;\n\n\n return aBHtml;\n\n }\n\n\n function getContainerContents() {\n\n if (!displayOnlyFA) {\n // show full portal\n return (\n <Grid container>\n <Grid item xs={3}>\n <div hidden={true} id=\"current-caseID\">{currentCaseID}</div>\n <Card className={classes.root} >\n <CardHeader className={classes.caseViewHeader}\n title={<Typography variant=\"h6\" component=\"div\">{header}</Typography>}\n subheader={<Typography variant=\"body1\" component=\"div\" id=\"caseId\">{subheader}</Typography>}\n avatar={\n <Avatar className={classes.caseViewIconBox} variant=\"square\">\n <img src={svgCase} className={classes.caseViewIconImage}/>\n </Avatar>\n }\n />\n {getActionButtonsHtml()}\n <Divider />\n {theSummaryRegion}\n <Divider />\n { vertTabInfo.length > 1 && <VerticalTabs tabconfig={vertTabInfo} />}\n </Card>\n </Grid>\n\n <Grid item xs={6}>\n {theStagesRegion}\n {theTodoRegion}\n { deferLoadInfo.length > 0 && <DeferLoad getPConnect={getPConnect} name={deferLoadInfo[activeVertTab].config.name } isTab />}\n </Grid>\n\n <Grid item xs={3}>\n {theUtilitiesRegion}\n </Grid>\n </Grid>\n )\n } else {\n // displayOnlyFA - only show the \"todo\" region\n return (\n <Grid container>\n <Grid item xs={12}>\n {theTodoRegion}\n </Grid>\n </Grid>\n )\n }\n }\n\n\n return (\n getContainerContents()\n );\n}\n\nCaseView.defaultProps = {\n icon: \"\",\n children: [],\n caseInfo: {},\n showIconInHeader: true,\n getPConnect: null\n};\n\nCaseView.propTypes = {\n icon: PropTypes.string,\n children: PropTypes.arrayOf(PropTypes.node),\n subheader: PropTypes.string.isRequired,\n header: PropTypes.string.isRequired,\n showIconInHeader: PropTypes.bool,\n caseInfo: PropTypes.objectOf(PropTypes.any),\n getPConnect: PropTypes.func\n};\n"]}
|
|
1
|
+
{"version":3,"file":"CaseView.js","sourceRoot":"","sources":["../../../../src/components/template/CaseView/CaseView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/jsx-boolean-value */\n\nimport React, { useState, useEffect, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Utils } from '../../helpers/utils';\nimport { Card, CardHeader, Avatar, Typography, Divider } from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport Box from '@material-ui/core/Box';\nimport Button from '@material-ui/core/Button';\nimport Grid from '@material-ui/core/Grid';\n\nimport StoreContext from \"../../../bridge/Context/StoreContext\";\nimport CaseViewActionsMenu from \"../CaseViewActionsMenu\";\nimport VerticalTabs from '../../infra/VerticalTabs/VerticalTabs';\nimport DeferLoad from '../../infra/DeferLoad';\n\n\ndeclare const PCore;\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n },\n caseViewHeader: {\n backgroundColor: theme.palette.info.light,\n color: theme.palette.getContrastText(theme.palette.info.light),\n borderRadius: \"inherit\",\n },\n caseViewIconBox: {\n backgroundColor: theme.palette.info.dark,\n width: theme.spacing(8),\n height: theme.spacing(8),\n padding: theme.spacing(1),\n },\n caseViewIconImage: {\n filter: 'invert(100%)'\n }\n}));\n\nexport default function CaseView(props) {\n const {\n getPConnect,\n icon,\n header,\n subheader,\n children,\n caseInfo: { availableActions = [], availableProcesses = [], hasNewAttachments }\n } = props;\n const currentCaseID = props.caseInfo.ID;\n let isComponentMounted = true;\n\n const { displayOnlyFA } = useContext(StoreContext);\n\n const thePConn = getPConnect();\n\n const classes = useStyles();\n\n const editAction = availableActions.find((action) => action.ID === 'pyUpdateCaseDetails');\n\n /**\n *\n * @param inName the metadata <em>name</em> that will cause a region to be returned\n */\n function getChildRegionByName(inName: string): any {\n\n for (const child of children) {\n const theMetadataType: string = child.props.getPConnect().getRawMetadata()['type'].toLowerCase();\n const theMetadataName: string = child.props.getPConnect().getRawMetadata()['name'].toLowerCase();\n\n if ((theMetadataType === \"region\") && (theMetadataName === inName )) {\n return child;\n }\n }\n\n return null;\n }\n\n\n const theSummaryRegion = getChildRegionByName(\"summary\");\n const theStagesRegion = getChildRegionByName(\"stages\");\n const theTodoRegion = getChildRegionByName(\"todo\");\n const theUtilitiesRegion = getChildRegionByName(\"utilities\");\n const theTabsRegion = getChildRegionByName(\"tabs\");\n\n const svgCase = Utils.getImageSrc(icon, PCore.getAssetLoader().getStaticServerUrl());\n\n const [activeVertTab, setActiveVertTab] = useState(0);\n\n // const tmpLoadData1 = { config: { label: \"Details\", name: \"pyDetailsTabContent\" }, type: \"DeferLoad\" };\n // const tmpLoadData2 = { config: { label: \"Case History\", name: \"CaseHistory\" }, type: \"DeferLoad\" };\n\n // Extract the tabs we need to display from theTabsRegion (one tab per entry in theTabsRegionChildren)\n const theTabsRegionChildren = theTabsRegion.props.getPConnect().getChildren();\n\n // vertTabInfo is sent to VerticalTabs component\n const vertTabInfo: Array<Object> = [];\n\n // deferLoadInfo is sent to DeferLoad component (currently selected entry)\n const deferLoadInfo: Array<any> = [];\n\n if (theTabsRegionChildren) {\n // populate vertTabInfo and deferLoadInfo\n theTabsRegionChildren.forEach((tabComp, index) => {\n const theTabCompConfig = tabComp.getPConnect().getConfigProps();\n // eslint-disable-next-line prefer-const\n let { label, inheritedProps } = theTabCompConfig;\n // For some tabs, \"label\" property is not avaialable in theTabCompConfig, so will get them from inheritedProps\n if (!label) {\n inheritedProps.forEach(inheritedProp => {\n if (inheritedProp.prop === 'label') {\n label = inheritedProp.value;\n }\n });\n }\n // We'll display the tabs when either visibility property doesn't exist or is true(if exists)\n if (theTabCompConfig.visibility === undefined || theTabCompConfig.visibility === true) {\n vertTabInfo.push({ name: label, id: index });\n deferLoadInfo.push({ type: 'DeferLoad', config: theTabCompConfig });\n }\n });\n }\n\n\n\n function handleVerticalTabClick(eventDetail: any) {\n const theItem = parseInt(eventDetail.additionalData.itemClicked, 10);\n\n // only call useEffectSetter if the component is mounted\n if (isComponentMounted) {\n setActiveVertTab(theItem);\n }\n }\n\n\n // Add and Remove event listener for VerticalTabClick only at startup and teardown\n useEffect(() => {\n document.addEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n\n return ():void => {\n // inform that the component is unmounted so other code can\n // know not to try to call useState setters (to avoid console warnings)\n isComponentMounted = false;\n\n document.removeEventListener('VerticalTabClick', (event: any) => {\n handleVerticalTabClick(event.detail);\n });\n }\n }, [])\n\n useEffect(() => {\n if (hasNewAttachments) {\n PCore.getPubSubUtils().publish(PCore.getEvents().getCaseEvent().CASE_ATTACHMENTS_UPDATED_FROM_CASEVIEW, true);\n }\n }, [hasNewAttachments]);\n\n function _editClick() {\n\n const actionsAPI = thePConn.getActionsApi();\n const openLocalAction = actionsAPI.openLocalAction.bind(actionsAPI);\n\n openLocalAction( editAction.ID, { ...editAction});\n }\n\n\n function getActionButtonsHtml(): any {\n\n const aBHtml = <Box>\n {editAction && (<Button onClick={() => {_editClick()}}>Edit</Button>)}\n <CaseViewActionsMenu getPConnect={getPConnect} availableActions={availableActions} availableProcesses={availableProcesses} />\n </Box>;\n\n\n return aBHtml;\n\n }\n\n\n function getContainerContents() {\n\n if (!displayOnlyFA) {\n // show full portal\n return (\n <Grid container>\n <Grid item xs={3}>\n <div hidden={true} id=\"current-caseID\">{currentCaseID}</div>\n <Card className={classes.root} >\n <CardHeader className={classes.caseViewHeader}\n title={<Typography variant=\"h6\" component=\"div\">{header}</Typography>}\n subheader={<Typography variant=\"body1\" component=\"div\" id=\"caseId\">{subheader}</Typography>}\n avatar={\n <Avatar className={classes.caseViewIconBox} variant=\"square\">\n <img src={svgCase} className={classes.caseViewIconImage}/>\n </Avatar>\n }\n />\n {getActionButtonsHtml()}\n <Divider />\n {theSummaryRegion}\n <Divider />\n { vertTabInfo.length > 1 && <VerticalTabs tabconfig={vertTabInfo} />}\n </Card>\n </Grid>\n\n <Grid item xs={6}>\n {theStagesRegion}\n {theTodoRegion}\n { deferLoadInfo.length > 0 && <DeferLoad getPConnect={getPConnect} name={deferLoadInfo[activeVertTab].config.name } isTab />}\n </Grid>\n\n <Grid item xs={3}>\n {theUtilitiesRegion}\n </Grid>\n </Grid>\n )\n } else {\n // displayOnlyFA - only show the \"todo\" region\n return (\n <Grid container>\n <Grid item xs={12}>\n {theTodoRegion}\n </Grid>\n </Grid>\n )\n }\n }\n\n\n return (\n getContainerContents()\n );\n}\n\nCaseView.defaultProps = {\n icon: \"\",\n children: [],\n caseInfo: {},\n showIconInHeader: true,\n getPConnect: null\n};\n\nCaseView.propTypes = {\n icon: PropTypes.string,\n children: PropTypes.arrayOf(PropTypes.node),\n subheader: PropTypes.string.isRequired,\n header: PropTypes.string.isRequired,\n showIconInHeader: PropTypes.bool,\n caseInfo: PropTypes.objectOf(PropTypes.any),\n getPConnect: PropTypes.func\n};\n"]}
|