@pega/react-sdk-components 0.23.8 → 0.23.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/lib/components/designSystemExtensions/FieldGroupList/FieldGroupList.d.ts.map +1 -1
  2. package/lib/components/designSystemExtensions/FieldGroupList/FieldGroupList.js +4 -4
  3. package/lib/components/designSystemExtensions/FieldGroupList/FieldGroupList.js.map +1 -1
  4. package/lib/components/forms/AutoComplete/AutoComplete.d.ts.map +1 -1
  5. package/lib/components/forms/AutoComplete/AutoComplete.js +7 -2
  6. package/lib/components/forms/AutoComplete/AutoComplete.js.map +1 -1
  7. package/lib/components/helpers/reactContextHelpers.d.ts +9 -0
  8. package/lib/components/helpers/reactContextHelpers.d.ts.map +1 -0
  9. package/lib/components/helpers/reactContextHelpers.js +9 -0
  10. package/lib/components/helpers/reactContextHelpers.js.map +1 -0
  11. package/lib/components/infra/Assignment/Assignment.d.ts +2 -2
  12. package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
  13. package/lib/components/infra/Assignment/Assignment.js +6 -4
  14. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  15. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +1 -1
  16. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
  17. package/lib/components/infra/NavBar/NavBar.js +1 -1
  18. package/lib/components/infra/NavBar/NavBar.js.map +1 -1
  19. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js +1 -1
  20. package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js.map +1 -1
  21. package/lib/components/templates/AppShell/AppShell.d.ts +0 -4
  22. package/lib/components/templates/AppShell/AppShell.d.ts.map +1 -1
  23. package/lib/components/templates/AppShell/AppShell.js +2 -3
  24. package/lib/components/templates/AppShell/AppShell.js.map +1 -1
  25. package/lib/components/templates/AppShell/index.js.map +1 -1
  26. package/lib/components/templates/CaseViewActionsMenu/CaseViewActionsMenu.js +1 -1
  27. package/lib/components/templates/CaseViewActionsMenu/CaseViewActionsMenu.js.map +1 -1
  28. package/lib/components/templates/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
  29. package/lib/components/templates/FieldGroupTemplate/FieldGroupTemplate.js +12 -4
  30. package/lib/components/templates/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
  31. package/lib/components/{infra → widgets}/Attachment/Attachment.css +0 -0
  32. package/lib/components/{infra → widgets}/Attachment/Attachment.d.ts +0 -0
  33. package/lib/components/widgets/Attachment/Attachment.d.ts.map +1 -0
  34. package/lib/components/{infra → widgets}/Attachment/Attachment.js +0 -0
  35. package/lib/components/widgets/Attachment/Attachment.js.map +1 -0
  36. package/lib/components/{infra → widgets}/Attachment/AttachmentUtils.d.ts +0 -0
  37. package/lib/components/widgets/Attachment/AttachmentUtils.d.ts.map +1 -0
  38. package/lib/components/{infra → widgets}/Attachment/AttachmentUtils.js +0 -0
  39. package/lib/components/widgets/Attachment/AttachmentUtils.js.map +1 -0
  40. package/lib/components/{infra → widgets}/Attachment/index.d.ts +0 -0
  41. package/lib/components/widgets/Attachment/index.d.ts.map +1 -0
  42. package/lib/components/{infra → widgets}/Attachment/index.js +0 -0
  43. package/lib/components/widgets/Attachment/index.js.map +1 -0
  44. package/lib/components/widgets/FileUtility/FileUtility/FileUtility.js +1 -1
  45. package/lib/components/widgets/FileUtility/FileUtility/FileUtility.js.map +1 -1
  46. package/lib/sdk-pega-component-map.d.ts +1 -1
  47. package/lib/sdk-pega-component-map.js +1 -1
  48. package/lib/sdk-pega-component-map.js.map +1 -1
  49. package/package.json +1 -1
  50. package/lib/components/infra/Attachment/Attachment.d.ts.map +0 -1
  51. package/lib/components/infra/Attachment/Attachment.js.map +0 -1
  52. package/lib/components/infra/Attachment/AttachmentUtils.d.ts.map +0 -1
  53. package/lib/components/infra/Attachment/AttachmentUtils.js.map +0 -1
  54. package/lib/components/infra/Attachment/index.d.ts.map +0 -1
  55. package/lib/components/infra/Attachment/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FieldGroupList.d.ts","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/FieldGroupList/FieldGroupList.tsx"],"names":[],"mappings":";AAUA,QAAA,MAAM,cAAc,6BAwCnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"FieldGroupList.d.ts","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/FieldGroupList/FieldGroupList.tsx"],"names":[],"mappings":";AAUA,QAAA,MAAM,cAAc,6BA4CnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -13,15 +13,15 @@ const FieldGroupList = props => {
13
13
  React.createElement(Grid, { container: true, spacing: 1 },
14
14
  props.items.map(item => (React.createElement(Grid, { item: true, style: { width: '100%' } },
15
15
  React.createElement("b", null, item.name),
16
- React.createElement("button", { type: 'button', style: { float: 'right' }, className: 'psdk-utility-button', id: `delete-row-${Utils.getLastChar(item.name)}`, onClick: () => {
16
+ props.onDelete && (React.createElement("button", { type: 'button', style: { float: 'right' }, className: 'psdk-utility-button', id: `delete-row-${item.id}`, onClick: () => {
17
17
  props.onDelete(item.id);
18
18
  } },
19
- React.createElement("img", { className: 'psdk-utility-card-action-svg-icon', src: menuIconOverride$ })),
19
+ React.createElement("img", { className: 'psdk-utility-card-action-svg-icon', src: menuIconOverride$ }))),
20
20
  item.children,
21
21
  React.createElement("br", null),
22
- React.createElement(Divider, null),
22
+ props.onAdd && React.createElement(Divider, null),
23
23
  React.createElement("br", null)))),
24
- React.createElement(Link, { onClick: props.onAdd, style: { cursor: 'pointer' } }, "+Add")))));
24
+ props.onAdd && (React.createElement(Link, { onClick: props.onAdd, style: { cursor: 'pointer' } }, "+Add"))))));
25
25
  };
26
26
  export default FieldGroupList;
27
27
  //# sourceMappingURL=FieldGroupList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldGroupList.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/FieldGroupList/FieldGroupList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,MAAM,cAAc,GAAG,KAAK,CAAC,EAAE;IAC7B,IAAI,iBAAiB,GAAG,OAAO,CAAC;IAChC,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACnC,iBAAiB,EACjB,KAAK,CAAC,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAC5C,CAAC;KACH;IAED,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe;QACxD,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACjC,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC;gBACvB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;oBACjC,+BAAI,IAAI,CAAC,IAAI,CAAK;oBAClB,gCACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EACzB,SAAS,EAAC,qBAAqB,EAC/B,EAAE,EAAE,cAAc,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAChD,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC1B,CAAC;wBAED,6BAAK,SAAS,EAAC,mCAAmC,EAAC,GAAG,EAAE,iBAAiB,GAAQ,CAC1E;oBACR,IAAI,CAAC,QAAQ;oBACd,+BAAM;oBACN,oBAAC,OAAO,OAAG;oBACX,+BAAM,CACD,CACR,CAAC;gBACF,oBAAC,IAAI,IAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAEjD,CACF,CACF,CACF,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import React from 'react';\n\nimport Grid from '@material-ui/core/Grid';\nimport Divider from '@material-ui/core/Divider';\nimport Link from '@material-ui/core/Link';\n\nimport { Utils } from '../../helpers/utils';\n\ndeclare const PCore: any;\n\nconst FieldGroupList = props => {\n let menuIconOverride$ = 'trash';\n if (menuIconOverride$) {\n menuIconOverride$ = Utils.getImageSrc(\n menuIconOverride$,\n PCore.getAssetLoader().getStaticServerUrl()\n );\n }\n\n return (\n <Grid container spacing={4} justifyContent='space-between'>\n <Grid item style={{ width: '100%' }}>\n <Grid container spacing={1}>\n {props.items.map(item => (\n <Grid item style={{ width: '100%' }}>\n <b>{item.name}</b>\n <button\n type='button'\n style={{ float: 'right' }}\n className='psdk-utility-button'\n id={`delete-row-${Utils.getLastChar(item.name)}`}\n onClick={() => {\n props.onDelete(item.id);\n }}\n >\n <img className='psdk-utility-card-action-svg-icon' src={menuIconOverride$}></img>\n </button>\n {item.children}\n <br />\n <Divider />\n <br />\n </Grid>\n ))}\n <Link onClick={props.onAdd} style={{ cursor: 'pointer' }}>\n +Add\n </Link>\n </Grid>\n </Grid>\n </Grid>\n );\n};\n\nexport default FieldGroupList;\n"]}
1
+ {"version":3,"file":"FieldGroupList.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtensions/FieldGroupList/FieldGroupList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,MAAM,cAAc,GAAG,KAAK,CAAC,EAAE;IAC7B,IAAI,iBAAiB,GAAG,OAAO,CAAC;IAChC,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACnC,iBAAiB,EACjB,KAAK,CAAC,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAC5C,CAAC;KACH;IAED,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe;QACxD,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACjC,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC;gBACvB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;oBACjC,+BAAI,IAAI,CAAC,IAAI,CAAK;oBACjB,KAAK,CAAC,QAAQ,IAAI,CACjB,gCACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EACzB,SAAS,EAAC,qBAAqB,EAC/B,EAAE,EAAE,cAAc,IAAI,CAAC,EAAE,EAAE,EAC3B,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC1B,CAAC;wBAED,6BAAK,SAAS,EAAC,mCAAmC,EAAC,GAAG,EAAE,iBAAiB,GAAQ,CAC1E,CACV;oBACA,IAAI,CAAC,QAAQ;oBACd,+BAAM;oBACL,KAAK,CAAC,KAAK,IAAI,oBAAC,OAAO,OAAG;oBAC3B,+BAAM,CACD,CACR,CAAC;gBACD,KAAK,CAAC,KAAK,IAAI,CACd,oBAAC,IAAI,IAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAEjD,CACR,CACI,CACF,CACF,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import React from 'react';\n\nimport Grid from '@material-ui/core/Grid';\nimport Divider from '@material-ui/core/Divider';\nimport Link from '@material-ui/core/Link';\n\nimport { Utils } from '../../helpers/utils';\n\ndeclare const PCore: any;\n\nconst FieldGroupList = props => {\n let menuIconOverride$ = 'trash';\n if (menuIconOverride$) {\n menuIconOverride$ = Utils.getImageSrc(\n menuIconOverride$,\n PCore.getAssetLoader().getStaticServerUrl()\n );\n }\n\n return (\n <Grid container spacing={4} justifyContent='space-between'>\n <Grid item style={{ width: '100%' }}>\n <Grid container spacing={1}>\n {props.items.map(item => (\n <Grid item style={{ width: '100%' }}>\n <b>{item.name}</b>\n {props.onDelete && (\n <button\n type='button'\n style={{ float: 'right' }}\n className='psdk-utility-button'\n id={`delete-row-${item.id}`}\n onClick={() => {\n props.onDelete(item.id);\n }}\n >\n <img className='psdk-utility-card-action-svg-icon' src={menuIconOverride$}></img>\n </button>\n )}\n {item.children}\n <br />\n {props.onAdd && <Divider />}\n <br />\n </Grid>\n ))}\n {props.onAdd && (\n <Link onClick={props.onAdd} style={{ cursor: 'pointer' }}>\n +Add\n </Link>\n )}\n </Grid>\n </Grid>\n </Grid>\n );\n};\n\nexport default FieldGroupList;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoComplete.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/AutoComplete/AutoComplete.tsx"],"names":[],"mappings":";AAoCA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,KAAA,eAkJzC"}
1
+ {"version":3,"file":"AutoComplete.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/AutoComplete/AutoComplete.tsx"],"names":[],"mappings":";AAqCA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,KAAA,eAuJzC"}
@@ -5,6 +5,7 @@ import Utils from '../../helpers/utils';
5
5
  import TextInput from '../TextInput';
6
6
  import isDeepEqual from 'fast-deep-equal/react';
7
7
  import { getDataPage } from '../../helpers/data_page';
8
+ import handleEvent from '../../helpers/event-utils';
8
9
  const preProcessColumns = columnList => {
9
10
  return columnList.map(col => {
10
11
  const tempColObj = { ...col };
@@ -28,7 +29,7 @@ const getDisplayFieldsMetaData = columnList => {
28
29
  return metaDataObj;
29
30
  };
30
31
  export default function AutoComplete(props) {
31
- const { getPConnect, label, required, placeholder, value = '', validatemessage, onChange, readOnly, testId, displayMode, deferDatasource, datasourceMetadata, status, helperText } = props;
32
+ const { getPConnect, label, required, placeholder, value = '', validatemessage, readOnly, testId, displayMode, deferDatasource, datasourceMetadata, status, helperText } = props;
32
33
  let parameters = datasourceMetadata?.datasource?.parameters;
33
34
  const context = getPConnect().getContextName();
34
35
  let { listType, datasource = [], columns = [] } = props;
@@ -37,6 +38,9 @@ export default function AutoComplete(props) {
37
38
  const [theDatasource, setDatasource] = useState(null);
38
39
  let selectedValue = '';
39
40
  const helperTextToDisplay = validatemessage || helperText;
41
+ const thePConn = getPConnect();
42
+ const actionsApi = thePConn.getActionsApi();
43
+ const propName = thePConn.getStateProps().value;
40
44
  if (!isDeepEqual(datasource, theDatasource)) {
41
45
  // inbound datasource is different, so update theDatasource (to trigger useEffect)
42
46
  setDatasource(datasource);
@@ -108,7 +112,8 @@ export default function AutoComplete(props) {
108
112
  }
109
113
  }
110
114
  const handleChange = (event, newValue) => {
111
- onChange({ value: newValue ? newValue.key : '' });
115
+ const val = newValue ? newValue.key : '';
116
+ handleEvent(actionsApi, 'changeNblur', propName, val);
112
117
  };
113
118
  const handleInputValue = (event, newInputValue) => {
114
119
  setInputValue(newInputValue);
@@ -1 +1 @@
1
- {"version":3,"file":"AutoComplete.js","sourceRoot":"","sources":["../../../../src/components/forms/AutoComplete/AutoComplete.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { TextField } from '@material-ui/core';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport Utils from '../../helpers/utils';\nimport TextInput from '../TextInput';\nimport isDeepEqual from 'fast-deep-equal/react';\nimport { getDataPage } from '../../helpers/data_page';\n\ninterface IOption {\n key: string;\n value: string;\n}\n\nconst preProcessColumns = columnList => {\n return columnList.map(col => {\n const tempColObj = { ...col };\n tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;\n return tempColObj;\n });\n};\n\nconst getDisplayFieldsMetaData = columnList => {\n const displayColumns = columnList.filter(col => col.display === 'true');\n const metaDataObj: any = { key: '', primary: '', secondary: [] };\n const keyCol = columnList.filter(col => col.key === 'true');\n metaDataObj.key = keyCol.length > 0 ? keyCol[0].value : 'auto';\n for (let index = 0; index < displayColumns.length; index += 1) {\n if (displayColumns[index].primary === 'true') {\n metaDataObj.primary = displayColumns[index].value;\n } else {\n metaDataObj.secondary.push(displayColumns[index].value);\n }\n }\n return metaDataObj;\n};\n\nexport default function AutoComplete(props) {\n const {\n getPConnect,\n label,\n required,\n placeholder,\n value = '',\n validatemessage,\n onChange,\n readOnly,\n testId,\n displayMode,\n deferDatasource,\n datasourceMetadata,\n status,\n helperText\n } = props;\n let parameters = datasourceMetadata?.datasource?.parameters;\n const context = getPConnect().getContextName();\n let { listType, datasource = [], columns = [] } = props;\n const [inputValue, setInputValue] = useState('');\n const [options, setOptions] = useState<Array<IOption>>([]);\n const [theDatasource, setDatasource] = useState(null);\n let selectedValue: any = '';\n const helperTextToDisplay = validatemessage || helperText;\n\n if (!isDeepEqual(datasource, theDatasource)) {\n // inbound datasource is different, so update theDatasource (to trigger useEffect)\n setDatasource(datasource);\n }\n\n const flattenParameters = (params = {}) => {\n const flatParams = {};\n Object.keys(params).forEach((key) => {\n const { name, value: theVal } = params[key];\n flatParams[name] = theVal;\n });\n\n return flatParams;\n };\n\n // convert associated to datapage listtype and transform props\n // Process deferDatasource when datapage name is present. WHhen tableType is promptList / localList\n if (deferDatasource && datasourceMetadata?.datasource?.name) {\n listType = 'datapage';\n datasource = datasourceMetadata.datasource.name;\n parameters = flattenParameters(parameters);\n const displayProp = datasourceMetadata.datasource.propertyForDisplayText.startsWith('@P')\n ? datasourceMetadata.datasource.propertyForDisplayText.substring(3)\n : datasourceMetadata.datasource.propertyForDisplayText;\n const valueProp = datasourceMetadata.datasource.propertyForValue.startsWith('@P')\n ? datasourceMetadata.datasource.propertyForValue.substring(3)\n : datasourceMetadata.datasource.propertyForValue;\n columns = [\n {\n key: 'true',\n setProperty: 'Associated property',\n value: valueProp\n },\n {\n display: 'true',\n primary: 'true',\n useForSearch: true,\n value: displayProp\n }\n ];\n }\n columns = preProcessColumns(columns);\n\n useEffect(() => {\n if (listType === 'associated') {\n setOptions(Utils.getOptionList(props, getPConnect().getDataObject()));\n }\n }, [theDatasource]);\n\n useEffect(() => {\n if (!displayMode && listType !== 'associated') {\n getDataPage(datasource, parameters, context).then((results: any) => {\n const optionsData: Array<any> = [];\n const displayColumn = getDisplayFieldsMetaData(columns);\n results?.forEach(element => {\n const val = element[displayColumn.primary]?.toString();\n const obj = {\n key: element[displayColumn.key] || element.pyGUID,\n value: val\n };\n optionsData.push(obj);\n });\n setOptions(optionsData);\n });\n }\n }, []);\n\n if (value) {\n const index = options?.findIndex(element => element.key === value);\n if (index > -1) {\n selectedValue = options[index].value;\n } else {\n selectedValue = value;\n }\n }\n\n const handleChange = (event: object, newValue) => {\n onChange({ value: newValue ? newValue.key : '' });\n };\n\n const handleInputValue = (event, newInputValue) => {\n setInputValue(newInputValue);\n };\n\n if (readOnly) {\n const theValAsString = options?.find(opt => opt.key === value)?.value;\n return <TextInput {...props} value={theValAsString} />;\n }\n // Need to use both getOptionLabel and getOptionSelected to map our\n // key/value structure to what Autocomplete expects\n return (\n <Autocomplete\n options={options}\n getOptionLabel={(option: IOption) => {\n return option.value ? option.value : '';\n }}\n getOptionSelected={(option: any) => {\n return option.value ? option.value : '';\n }}\n fullWidth\n onChange={handleChange}\n value={selectedValue}\n inputValue={inputValue || selectedValue}\n onInputChange={handleInputValue}\n renderInput={params => (\n <TextField\n {...params}\n fullWidth\n variant='outlined'\n helperText={helperTextToDisplay}\n placeholder={placeholder}\n size='small'\n required={required}\n error={status === 'error'}\n label={label}\n data-test-id={testId}\n />\n )}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"AutoComplete.js","sourceRoot":"","sources":["../../../../src/components/forms/AutoComplete/AutoComplete.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { TextField } from '@material-ui/core';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport Utils from '../../helpers/utils';\nimport TextInput from '../TextInput';\nimport isDeepEqual from 'fast-deep-equal/react';\nimport { getDataPage } from '../../helpers/data_page';\nimport handleEvent from '../../helpers/event-utils';\n\ninterface IOption {\n key: string;\n value: string;\n}\n\nconst preProcessColumns = columnList => {\n return columnList.map(col => {\n const tempColObj = { ...col };\n tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;\n return tempColObj;\n });\n};\n\nconst getDisplayFieldsMetaData = columnList => {\n const displayColumns = columnList.filter(col => col.display === 'true');\n const metaDataObj: any = { key: '', primary: '', secondary: [] };\n const keyCol = columnList.filter(col => col.key === 'true');\n metaDataObj.key = keyCol.length > 0 ? keyCol[0].value : 'auto';\n for (let index = 0; index < displayColumns.length; index += 1) {\n if (displayColumns[index].primary === 'true') {\n metaDataObj.primary = displayColumns[index].value;\n } else {\n metaDataObj.secondary.push(displayColumns[index].value);\n }\n }\n return metaDataObj;\n};\n\nexport default function AutoComplete(props) {\n const {\n getPConnect,\n label,\n required,\n placeholder,\n value = '',\n validatemessage,\n readOnly,\n testId,\n displayMode,\n deferDatasource,\n datasourceMetadata,\n status,\n helperText\n } = props;\n let parameters = datasourceMetadata?.datasource?.parameters;\n const context = getPConnect().getContextName();\n let { listType, datasource = [], columns = [] } = props;\n const [inputValue, setInputValue] = useState('');\n const [options, setOptions] = useState<Array<IOption>>([]);\n const [theDatasource, setDatasource] = useState(null);\n let selectedValue: any = '';\n const helperTextToDisplay = validatemessage || helperText;\n\n const thePConn = getPConnect();\n const actionsApi = thePConn.getActionsApi();\n const propName = thePConn.getStateProps().value;\n\n\n if (!isDeepEqual(datasource, theDatasource)) {\n // inbound datasource is different, so update theDatasource (to trigger useEffect)\n setDatasource(datasource);\n }\n\n const flattenParameters = (params = {}) => {\n const flatParams = {};\n Object.keys(params).forEach((key) => {\n const { name, value: theVal } = params[key];\n flatParams[name] = theVal;\n });\n\n return flatParams;\n };\n\n // convert associated to datapage listtype and transform props\n // Process deferDatasource when datapage name is present. WHhen tableType is promptList / localList\n if (deferDatasource && datasourceMetadata?.datasource?.name) {\n listType = 'datapage';\n datasource = datasourceMetadata.datasource.name;\n parameters = flattenParameters(parameters);\n const displayProp = datasourceMetadata.datasource.propertyForDisplayText.startsWith('@P')\n ? datasourceMetadata.datasource.propertyForDisplayText.substring(3)\n : datasourceMetadata.datasource.propertyForDisplayText;\n const valueProp = datasourceMetadata.datasource.propertyForValue.startsWith('@P')\n ? datasourceMetadata.datasource.propertyForValue.substring(3)\n : datasourceMetadata.datasource.propertyForValue;\n columns = [\n {\n key: 'true',\n setProperty: 'Associated property',\n value: valueProp\n },\n {\n display: 'true',\n primary: 'true',\n useForSearch: true,\n value: displayProp\n }\n ];\n }\n columns = preProcessColumns(columns);\n\n useEffect(() => {\n if (listType === 'associated') {\n setOptions(Utils.getOptionList(props, getPConnect().getDataObject()));\n }\n }, [theDatasource]);\n\n useEffect(() => {\n if (!displayMode && listType !== 'associated') {\n getDataPage(datasource, parameters, context).then((results: any) => {\n const optionsData: Array<any> = [];\n const displayColumn = getDisplayFieldsMetaData(columns);\n results?.forEach(element => {\n const val = element[displayColumn.primary]?.toString();\n const obj = {\n key: element[displayColumn.key] || element.pyGUID,\n value: val\n };\n optionsData.push(obj);\n });\n setOptions(optionsData);\n });\n }\n }, []);\n\n if (value) {\n const index = options?.findIndex(element => element.key === value);\n if (index > -1) {\n selectedValue = options[index].value;\n } else {\n selectedValue = value;\n }\n }\n\n const handleChange = (event: object, newValue) => {\n const val = newValue ? newValue.key : '' ;\n handleEvent(actionsApi, 'changeNblur', propName, val);\n };\n\n const handleInputValue = (event, newInputValue) => {\n setInputValue(newInputValue);\n };\n\n if (readOnly) {\n const theValAsString = options?.find(opt => opt.key === value)?.value;\n return <TextInput {...props} value={theValAsString} />;\n }\n // Need to use both getOptionLabel and getOptionSelected to map our\n // key/value structure to what Autocomplete expects\n return (\n <Autocomplete\n options={options}\n getOptionLabel={(option: IOption) => {\n return option.value ? option.value : '';\n }}\n getOptionSelected={(option: any) => {\n return option.value ? option.value : '';\n }}\n fullWidth\n onChange={handleChange}\n value={selectedValue}\n inputValue={inputValue || selectedValue}\n onInputChange={handleInputValue}\n renderInput={params => (\n <TextField\n {...params}\n fullWidth\n variant='outlined'\n helperText={helperTextToDisplay}\n placeholder={placeholder}\n size='small'\n required={required}\n error={status === 'error'}\n label={label}\n data-test-id={testId}\n />\n )}\n />\n );\n}\n"]}
@@ -0,0 +1,9 @@
1
+ export const NavContext: import("react").Context<{
2
+ open: boolean;
3
+ setOpen: (f: any) => any;
4
+ }>;
5
+ export function useNavBar(): {
6
+ open: boolean;
7
+ setOpen: (f: any) => any;
8
+ };
9
+ //# sourceMappingURL=reactContextHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactContextHelpers.d.ts","sourceRoot":"","sources":["../../../src/components/helpers/reactContextHelpers.js"],"names":[],"mappings":"AAQA;;;GAAwE;AACjE;;;EAA8C"}
@@ -0,0 +1,9 @@
1
+ import { createContext, useContext } from "react";
2
+ // This file contains a shared access point for any React contexts that may need to be
3
+ // defined/used across various components.
4
+ // For example, the AppShell wants to use a NavContext that interacts with
5
+ // that context's consumption in the NavBar to handle clicks for opening/closing
6
+ // aspects of the NavBar
7
+ export const NavContext = createContext({ open: false, setOpen: f => f });
8
+ export const useNavBar = () => useContext(NavContext);
9
+ //# sourceMappingURL=reactContextHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactContextHelpers.js","sourceRoot":"","sources":["../../../src/components/helpers/reactContextHelpers.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,sFAAsF;AACtF,2CAA2C;AAE3C,2EAA2E;AAC3E,iFAAiF;AACjF,yBAAyB;AACzB,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC","sourcesContent":["import { createContext, useContext } from \"react\";\n\n// This file contains a shared access point for any React contexts that may need to be\n// defined/used across various components.\n\n// For example, the AppShell wants to use a NavContext that interacts with\n// that context's consumption in the NavBar to handle clicks for opening/closing\n// aspects of the NavBar\nexport const NavContext = createContext({open: false, setOpen: f => f});\nexport const useNavBar = () => useContext(NavContext);\n"]}
@@ -6,11 +6,11 @@ declare namespace Assignment {
6
6
  children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
7
7
  getPConnect: PropTypes.Validator<(...args: any[]) => any>;
8
8
  itemKey: PropTypes.Requireable<string>;
9
- isCreateStage: PropTypes.Requireable<boolean>;
9
+ isInModal: PropTypes.Requireable<boolean>;
10
10
  };
11
11
  var defaultProps: {
12
12
  itemKey: null;
13
- isCreateStage: boolean;
13
+ isInModal: boolean;
14
14
  };
15
15
  }
16
16
  export default Assignment;
@@ -1 +1 @@
1
- {"version":3,"file":"Assignment.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,iBAAwB,UAAU,CAAC,KAAK,KAAA,eAyPvC;kBAzPuB,UAAU;;;;;;;;;;;;eAAV,UAAU"}
1
+ {"version":3,"file":"Assignment.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,iBAAwB,UAAU,CAAC,KAAK,KAAA,eA2PvC;kBA3PuB,UAAU;;;;;;;;;;;;eAAV,UAAU"}
@@ -6,7 +6,7 @@ import Snackbar from '@material-ui/core/Snackbar';
6
6
  import IconButton from '@material-ui/core/IconButton';
7
7
  import CloseIcon from '@material-ui/icons/Close';
8
8
  export default function Assignment(props) {
9
- const { getPConnect, children, itemKey, isCreateStage } = props;
9
+ const { getPConnect, children, itemKey, isInModal } = props;
10
10
  const thePConn = getPConnect();
11
11
  const [bHasNavigation, setHasNavigation] = useState(false);
12
12
  const [actionButtons, setActionButtons] = useState({});
@@ -123,7 +123,9 @@ export default function Assignment(props) {
123
123
  // check if create stage (modal)
124
124
  const { PUB_SUB_EVENTS } = PCore.getConstants();
125
125
  const { publish } = PCore.getPubSubUtils();
126
- if (isCreateStage) {
126
+ const isAssignmentInCreateStage = thePConn.getCaseInfo().isAssignmentInCreateStage();
127
+ const isLocalAction = thePConn.getCaseInfo().isLocalAction() || getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION);
128
+ if (isAssignmentInCreateStage && isInModal && !isLocalAction) {
127
129
  const cancelPromise = cancelCreateStageAssignment(itemKey);
128
130
  cancelPromise
129
131
  .then(data => {
@@ -205,13 +207,13 @@ Assignment.propTypes = {
205
207
  children: PropTypes.node.isRequired,
206
208
  getPConnect: PropTypes.func.isRequired,
207
209
  itemKey: PropTypes.string,
208
- isCreateStage: PropTypes.bool
210
+ isInModal: PropTypes.bool
209
211
  // actionButtons: PropTypes.object
210
212
  // buildName: PropTypes.string
211
213
  };
212
214
  Assignment.defaultProps = {
213
215
  itemKey: null,
214
- isCreateStage: false
216
+ isInModal: false
215
217
  // buildName: null
216
218
  };
217
219
  //# sourceMappingURL=Assignment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Assignment.js","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport AssignmentCard from '../AssignmentCard';\nimport MultiStep from '../MultiStep';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\n\ndeclare const PCore: any;\n\nexport default function Assignment(props) {\n const { getPConnect, children, itemKey, isCreateStage } = props;\n const thePConn = getPConnect();\n\n const [bHasNavigation, setHasNavigation] = useState(false);\n const [actionButtons, setActionButtons] = useState( {} );\n const [bIsVertical, setIsVertical] = useState(false);\n const [arCurrentStepIndicies, setArCurrentStepIndicies] = useState<Array<any>>([]);\n const [arNavigationSteps, setArNavigationSteps] = useState<Array<any>>([]);\n\n const actionsAPI = thePConn.getActionsApi();\n\n // store off bound functions to above pointers\n const finishAssignment = actionsAPI.finishAssignment.bind(actionsAPI);\n const navigateToStep = actionsAPI.navigateToStep.bind(actionsAPI);\n const cancelAssignment = actionsAPI.cancelAssignment.bind(actionsAPI);\n const saveAssignment = actionsAPI.saveAssignment?.bind(actionsAPI);\n const cancelCreateStageAssignment = actionsAPI.cancelCreateStageAssignment.bind(actionsAPI);\n // const showPage = actionsAPI.showPage.bind(actionsAPI);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState(\"\");\n\n function findCurrentIndicies(arStepperSteps: Array<any>, arIndicies: Array<number>, depth: number) : Array<number> {\n\n let count = 0;\n arStepperSteps.forEach( (step) => {\n if (step.visited_status === \"current\") {\n arIndicies[depth] = count;\n\n // add in\n step[\"step_status\"] = \"\";\n }\n else if (step.visited_status === \"success\") {\n count += 1;\n step.step_status = \"completed\"\n }\n else {\n count += 1;\n step.step_status = \"\";\n }\n\n if (step.steps) {\n arIndicies = findCurrentIndicies(step.steps, arIndicies, depth + 1)\n }\n });\n\n return arIndicies;\n }\n\n\n useEffect( ()=> {\n\n if (children && children.length > 0) {\n\n // debugger;\n\n const oWorkItem = children[0].props.getPConnect();\n const oWorkData = oWorkItem.getDataObject();\n const oData = thePConn.getDataObject();\n\n if (oWorkData?.caseInfo && oWorkData.caseInfo.assignments !== null) {\n const oCaseInfo = oData.caseInfo;\n\n if (oCaseInfo && oCaseInfo.actionButtons) {\n setActionButtons(oCaseInfo.actionButtons);\n }\n\n if ( oCaseInfo?.navigation /* was oCaseInfo.navigation != null */) {\n setHasNavigation(true);\n\n if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === \"standard\") {\n setHasNavigation(false);\n }\n else if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === \"vertical\") {\n setIsVertical(true);\n }\n else {\n setIsVertical(false);\n }\n\n setArNavigationSteps(JSON.parse(JSON.stringify(oCaseInfo.navigation.steps)));\n setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0));\n\n }\n }\n\n }\n\n\n }, [children]);\n\n\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n };\n\n function onSaveActionSuccess(data) {\n actionsAPI.cancelAssignment(itemKey).then(() => {\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CREATE_STAGE_SAVED, data);\n });\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n\n if (sButtonType === \"secondary\") {\n\n switch (sAction) {\n case \"navigateToStep\": {\n const navigatePromise = navigateToStep( \"previous\", itemKey );\n\n navigatePromise\n .then(() => {\n })\n .catch(() => {\n showToast( `Navigation failed!`);\n });\n\n break;\n }\n\n case \"saveAssignment\": {\n const caseID = thePConn.getCaseInfo().getKey();\n const assignmentID = thePConn.getCaseInfo().getAssignmentID();\n const savePromise = saveAssignment(itemKey);\n\n savePromise\n .then(() => {\n const caseType = thePConn.getCaseInfo().c11nEnv.getValue(PCore.getConstants().CASE_INFO.CASE_TYPE_ID);\n onSaveActionSuccess({ caseType, caseID, assignmentID });\n })\n .catch(() => {\n showToast('Save failed');\n });\n\n break;\n }\n\n case \"cancelAssignment\": {\n // check if create stage (modal)\n const { PUB_SUB_EVENTS } = PCore.getConstants();\n const { publish } = PCore.getPubSubUtils();\n if (isCreateStage) {\n const cancelPromise = cancelCreateStageAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`Cancel failed!`);\n });\n } else {\n const cancelPromise = cancelAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`Cancel failed!`);\n });\n }\n break;\n }\n\n default:\n break;\n }\n }\n else if (sButtonType === \"primary\") {\n // eslint-disable-next-line sonarjs/no-small-switch\n switch (sAction) {\n case \"finishAssignment\" :\n {\n const finishPromise = finishAssignment(itemKey);\n\n finishPromise\n .then(() => {\n })\n .catch(() => {\n showToast( `Submit failed!`);\n });\n\n break;\n }\n\n default:\n break;\n }\n }\n\n }\n\n\n return (\n <div id=\"Assignment\">\n { bHasNavigation ?\n <React.Fragment>\n <MultiStep getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}\n bIsVertical={bIsVertical} arCurrentStepIndicies={arCurrentStepIndicies} arNavigationSteps={arNavigationSteps}>\n {children}\n </MultiStep>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size=\"small\" aria-label=\"close\" color=\"inherit\" onClick={handleSnackbarClose}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n }\n />\n </React.Fragment>\n : (\n <React.Fragment>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress} >\n {children}\n </AssignmentCard>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size=\"small\" aria-label=\"close\" color=\"inherit\" onClick={handleSnackbarClose}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n }\n />\n </React.Fragment>\n )\n }\n </div>\n )\n}\n\n// From WC SDK\n// const aHtml = html`\n// ${this.bHasNavigation?\n// html`\n// <div class=\"psdk-stepper\">\n// <multi-step-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// .bIsVertical=${this.bIsVertical} .arCurrentStepIndicies=${this.arCurrentStepIndicies}\n// .arNavigationSteps=${this.arNavigationSteps}\n// @MultiStepActionButtonClick=\"${this._onActionButtonClick}\">\n// </multi-step-component>\n// <lit-toast></lit-toast>\n// </div>`\n// :\n// html`\n// <div>\n// <assignment-card-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// @AssignmentActionButtonClick=\"${this._onActionButtonClick}\">\n// </assignment-card-component>\n// <lit-toast></lit-toast>\n// </div>`}\n// `;\n\n\nAssignment.propTypes = {\n children: PropTypes.node.isRequired,\n getPConnect: PropTypes.func.isRequired,\n itemKey: PropTypes.string,\n isCreateStage: PropTypes.bool\n // actionButtons: PropTypes.object\n // buildName: PropTypes.string\n};\n\nAssignment.defaultProps = {\n itemKey: null,\n isCreateStage: false\n // buildName: null\n};\n"]}
1
+ {"version":3,"file":"Assignment.js","sourceRoot":"","sources":["../../../../src/components/infra/Assignment/Assignment.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport AssignmentCard from '../AssignmentCard';\nimport MultiStep from '../MultiStep';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\n\ndeclare const PCore: any;\n\nexport default function Assignment(props) {\n const { getPConnect, children, itemKey, isInModal } = props;\n const thePConn = getPConnect();\n\n const [bHasNavigation, setHasNavigation] = useState(false);\n const [actionButtons, setActionButtons] = useState( {} );\n const [bIsVertical, setIsVertical] = useState(false);\n const [arCurrentStepIndicies, setArCurrentStepIndicies] = useState<Array<any>>([]);\n const [arNavigationSteps, setArNavigationSteps] = useState<Array<any>>([]);\n\n const actionsAPI = thePConn.getActionsApi();\n\n // store off bound functions to above pointers\n const finishAssignment = actionsAPI.finishAssignment.bind(actionsAPI);\n const navigateToStep = actionsAPI.navigateToStep.bind(actionsAPI);\n const cancelAssignment = actionsAPI.cancelAssignment.bind(actionsAPI);\n const saveAssignment = actionsAPI.saveAssignment?.bind(actionsAPI);\n const cancelCreateStageAssignment = actionsAPI.cancelCreateStageAssignment.bind(actionsAPI);\n // const showPage = actionsAPI.showPage.bind(actionsAPI);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState(\"\");\n\n function findCurrentIndicies(arStepperSteps: Array<any>, arIndicies: Array<number>, depth: number) : Array<number> {\n\n let count = 0;\n arStepperSteps.forEach( (step) => {\n if (step.visited_status === \"current\") {\n arIndicies[depth] = count;\n\n // add in\n step[\"step_status\"] = \"\";\n }\n else if (step.visited_status === \"success\") {\n count += 1;\n step.step_status = \"completed\"\n }\n else {\n count += 1;\n step.step_status = \"\";\n }\n\n if (step.steps) {\n arIndicies = findCurrentIndicies(step.steps, arIndicies, depth + 1)\n }\n });\n\n return arIndicies;\n }\n\n\n useEffect( ()=> {\n\n if (children && children.length > 0) {\n\n // debugger;\n\n const oWorkItem = children[0].props.getPConnect();\n const oWorkData = oWorkItem.getDataObject();\n const oData = thePConn.getDataObject();\n\n if (oWorkData?.caseInfo && oWorkData.caseInfo.assignments !== null) {\n const oCaseInfo = oData.caseInfo;\n\n if (oCaseInfo && oCaseInfo.actionButtons) {\n setActionButtons(oCaseInfo.actionButtons);\n }\n\n if ( oCaseInfo?.navigation /* was oCaseInfo.navigation != null */) {\n setHasNavigation(true);\n\n if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === \"standard\") {\n setHasNavigation(false);\n }\n else if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === \"vertical\") {\n setIsVertical(true);\n }\n else {\n setIsVertical(false);\n }\n\n setArNavigationSteps(JSON.parse(JSON.stringify(oCaseInfo.navigation.steps)));\n setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0));\n\n }\n }\n\n }\n\n\n }, [children]);\n\n\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n };\n\n function onSaveActionSuccess(data) {\n actionsAPI.cancelAssignment(itemKey).then(() => {\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CREATE_STAGE_SAVED, data);\n });\n }\n\n function buttonPress(sAction: string, sButtonType: string) {\n\n if (sButtonType === \"secondary\") {\n\n switch (sAction) {\n case \"navigateToStep\": {\n const navigatePromise = navigateToStep( \"previous\", itemKey );\n\n navigatePromise\n .then(() => {\n })\n .catch(() => {\n showToast( `Navigation failed!`);\n });\n\n break;\n }\n\n case \"saveAssignment\": {\n const caseID = thePConn.getCaseInfo().getKey();\n const assignmentID = thePConn.getCaseInfo().getAssignmentID();\n const savePromise = saveAssignment(itemKey);\n\n savePromise\n .then(() => {\n const caseType = thePConn.getCaseInfo().c11nEnv.getValue(PCore.getConstants().CASE_INFO.CASE_TYPE_ID);\n onSaveActionSuccess({ caseType, caseID, assignmentID });\n })\n .catch(() => {\n showToast('Save failed');\n });\n\n break;\n }\n\n case \"cancelAssignment\": {\n // check if create stage (modal)\n const { PUB_SUB_EVENTS } = PCore.getConstants();\n const { publish } = PCore.getPubSubUtils();\n const isAssignmentInCreateStage = thePConn.getCaseInfo().isAssignmentInCreateStage();\n const isLocalAction = thePConn.getCaseInfo().isLocalAction() || getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION);\n if (isAssignmentInCreateStage && isInModal && !isLocalAction) {\n const cancelPromise = cancelCreateStageAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`Cancel failed!`);\n });\n } else {\n const cancelPromise = cancelAssignment(itemKey);\n\n cancelPromise\n .then(data => {\n publish(PUB_SUB_EVENTS.EVENT_CANCEL, data);\n })\n .catch(() => {\n showToast(`Cancel failed!`);\n });\n }\n break;\n }\n\n default:\n break;\n }\n }\n else if (sButtonType === \"primary\") {\n // eslint-disable-next-line sonarjs/no-small-switch\n switch (sAction) {\n case \"finishAssignment\" :\n {\n const finishPromise = finishAssignment(itemKey);\n\n finishPromise\n .then(() => {\n })\n .catch(() => {\n showToast( `Submit failed!`);\n });\n\n break;\n }\n\n default:\n break;\n }\n }\n\n }\n\n\n return (\n <div id=\"Assignment\">\n { bHasNavigation ?\n <React.Fragment>\n <MultiStep getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}\n bIsVertical={bIsVertical} arCurrentStepIndicies={arCurrentStepIndicies} arNavigationSteps={arNavigationSteps}>\n {children}\n </MultiStep>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size=\"small\" aria-label=\"close\" color=\"inherit\" onClick={handleSnackbarClose}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n }\n />\n </React.Fragment>\n : (\n <React.Fragment>\n <AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress} >\n {children}\n </AssignmentCard>\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size=\"small\" aria-label=\"close\" color=\"inherit\" onClick={handleSnackbarClose}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n }\n />\n </React.Fragment>\n )\n }\n </div>\n )\n}\n\n// From WC SDK\n// const aHtml = html`\n// ${this.bHasNavigation?\n// html`\n// <div class=\"psdk-stepper\">\n// <multi-step-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// .bIsVertical=${this.bIsVertical} .arCurrentStepIndicies=${this.arCurrentStepIndicies}\n// .arNavigationSteps=${this.arNavigationSteps}\n// @MultiStepActionButtonClick=\"${this._onActionButtonClick}\">\n// </multi-step-component>\n// <lit-toast></lit-toast>\n// </div>`\n// :\n// html`\n// <div>\n// <assignment-card-component .pConn=${this.pConn} .arChildren=${this.arChildren} itemKey=${this.itemKey}\n// .arMainButtons=${this.arMainButtons} .arSecondaryButtons=${this.arSecondaryButtons}\n// @AssignmentActionButtonClick=\"${this._onActionButtonClick}\">\n// </assignment-card-component>\n// <lit-toast></lit-toast>\n// </div>`}\n// `;\n\n\nAssignment.propTypes = {\n children: PropTypes.node.isRequired,\n getPConnect: PropTypes.func.isRequired,\n itemKey: PropTypes.string,\n isInModal: PropTypes.bool\n // actionButtons: PropTypes.object\n // buildName: PropTypes.string\n};\n\nAssignment.defaultProps = {\n itemKey: null,\n isInModal: false\n // buildName: null\n};\n"]}
@@ -231,7 +231,7 @@ const ModalViewContainer = props => {
231
231
  return (React.createElement(React.Fragment, null,
232
232
  React.createElement(Dialog, { open: bShowModal, "aria-labelledby": 'form-dialog-title' },
233
233
  React.createElement(DialogTitle, { id: 'form-dialog-title', className: classes.dlgTitle }, title),
234
- React.createElement(DialogContent, { className: classes.dlgContent }, bShowModal ? (React.createElement(Assignment, { getPConnect: createdView.getPConnect, itemKey: itemKey, isCreateStage: true }, arNewChildrenAsReact)) : (React.createElement(React.Fragment, null)))),
234
+ React.createElement(DialogContent, { className: classes.dlgContent }, bShowModal ? (React.createElement(Assignment, { getPConnect: createdView.getPConnect, itemKey: itemKey, isInModal: true }, arNewChildrenAsReact)) : (React.createElement(React.Fragment, null)))),
235
235
  bShowCancelAlert && (React.createElement(CancelAlert, { pConn: cancelPConn, showAlert: bShowCancelAlert, updateAlertState: updateAlertState }))));
236
236
  };
237
237
  export default ModalViewContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalViewContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ModalViewContainer/ModalViewContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'fast-deep-equal';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport { makeStyles } from '@material-ui/core/styles';\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport Assignment from '../../Assignment';\nimport CancelAlert from '../../../forms/CancelAlert';\nimport Utils from '../../../helpers/utils';\n\ndeclare const PCore;\n\nfunction buildName(pConnect, name = '') {\n const context = pConnect.getContextName();\n return `${context}/${name}`;\n}\n\nfunction getKeyAndLatestItem(routinginfo, pConn) {\n const containerName = pConn.getContainerName();\n if (PCore.getContainerUtils().hasContainerItems(buildName(pConn, containerName))) {\n const { accessedOrder, items } = routinginfo;\n const key = accessedOrder[accessedOrder.length - 1];\n const latestItem = items[key];\n return { key, latestItem };\n }\n return {};\n}\n\nfunction getConfigObject(item, pConnect) {\n if (item) {\n const { context, view } = item;\n const config = {\n meta: view,\n options: {\n context,\n pageReference: view.config.context || pConnect.getPageReference(),\n hasForm: true\n }\n };\n return PCore.createPConnect(config);\n }\n return null;\n}\n\nconst useStyles = makeStyles(theme => ({\n dlgTitle: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(0)\n // paddingLeft: theme.spacing(0),\n // paddingRight: theme.spacing(0),\n // paddingTop: theme.spacing(0),\n // paddingBottom: theme.spacing(0),\n },\n dlgContent: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(0),\n marginBottom: theme.spacing(2)\n // paddingLeft: theme.spacing(0),\n // paddingRight: theme.spacing(0),\n // paddingTop: theme.spacing(0),\n // paddingBottom: theme.spacing(0),\n }\n}));\n\nconst ModalViewContainer = props => {\n const classes = useStyles();\n\n const routingInfoRef = useRef({});\n const { getPConnect, routingInfo, loadingInfo } = props;\n const pConn = getPConnect();\n const {\n CONTAINER_TYPE: { MULTIPLE },\n PUB_SUB_EVENTS: { EVENT_SHOW_CANCEL_ALERT }\n } = PCore.getConstants();\n const { subscribe } = PCore.getPubSubUtils();\n const [bShowModal, setShowModal] = useState(false);\n const [bSubscribed, setSubscribed] = useState(false);\n const [bShowCancelAlert, setShowCancelAlert] = useState(false);\n const [oCaseInfo, setOCaseInfo] = useState({});\n const [createdView, setCreatedView] = useState<any>(null);\n const [title, setTitle] = useState('');\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<Array<any>>([]);\n const [itemKey, setItemKey] = useState('');\n const [cancelPConn, setCancelPConn] = useState(null);\n\n function showAlert(payload) {\n const { latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn);\n const { isModalAction } = payload;\n\n /*\n If we are in create stage full page mode, created a new case and trying to click on cancel button\n it will show two alert dialogs which is not expected. Hence isModalAction flag to avoid that.\n */\n if (latestItem && isModalAction) {\n const configObject = getConfigObject(latestItem, pConn);\n setCancelPConn(configObject.getPConnect());\n setShowCancelAlert(true);\n }\n }\n\n function compareCaseInfoIsDifferent(oCurrentCaseInfo: Object): boolean {\n let bRet = false;\n\n // fast-deep-equal version\n if (isEqual !== undefined) {\n bRet = !isEqual(oCaseInfo, oCurrentCaseInfo);\n } else {\n const sCurrentCaseInfo = JSON.stringify(oCurrentCaseInfo);\n const sOldCaseInfo = JSON.stringify(oCaseInfo);\n // stringify compare version\n if (sCurrentCaseInfo !== sOldCaseInfo) {\n bRet = true;\n }\n }\n\n // if different, save off new case info\n if (bRet) {\n setOCaseInfo(JSON.parse(JSON.stringify(oCurrentCaseInfo)));\n }\n\n return bRet;\n }\n\n const updateAlertState = modalFlag => {\n setShowCancelAlert(false);\n setShowModal(modalFlag);\n };\n\n useEffect(() => {\n // Establish the necessary containers\n const containerMgr = pConn.getContainerManager();\n containerMgr.initializeContainers({ type: MULTIPLE });\n }, [MULTIPLE, pConn]);\n\n useEffect(() => {\n // Update routingInfoRef.current whenever routingInfo changes\n routingInfoRef.current = routingInfo;\n }, [routingInfo]);\n\n useEffect(() => {\n if (routingInfoRef.current && !loadingInfo) {\n const currentOrder = routingInfo.accessedOrder;\n\n if (undefined === currentOrder) {\n return;\n }\n\n const currentItems = routingInfo.items;\n\n const { key, latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn);\n\n // console.log(`ModalViewContainer: key: ${key} latestItem: ${JSON.stringify(latestItem)}`);\n\n if (currentOrder.length > 0) {\n if (\n currentItems[key] &&\n currentItems[key].view &&\n !Utils.isEmptyObject(currentItems[key].view)\n ) {\n const currentItem = currentItems[key];\n const rootView = currentItem.view;\n const { context } = rootView.config;\n const config = { meta: rootView };\n config['options'] = {\n context: currentItem.context,\n hasForm: true,\n pageReference: context || pConn.getPageReference()\n };\n\n if (!bSubscribed) {\n setSubscribed(true);\n subscribe(\n EVENT_SHOW_CANCEL_ALERT,\n showAlert,\n EVENT_SHOW_CANCEL_ALERT /* Unique string for subscription */\n );\n }\n\n const configObject = PCore.createPConnect(config);\n\n // THIS is where the ViewContainer creates a View\n // The config has meta.config.type = \"view\"\n const newComp = configObject.getPConnect();\n // const newCompName = newComp.getComponentName();\n const caseInfo =\n newComp && newComp.getDataObject() && newComp.getDataObject().caseInfo\n ? newComp.getDataObject().caseInfo\n : null;\n\n // console.log(`ModalViewContainer just created newComp: ${newCompName}`);\n\n // The metadata for pyDetails changed such that the \"template\": \"CaseView\"\n // is no longer a child of the created View but is in the created View's\n // config. So, we DON'T want to replace this.pConn$ since the created\n // component is a View (and not a ViewContainer). We now look for the\n // \"template\" type directly in the created component (newComp) and NOT\n // as a child of the newly created component.\n // console.log(`---> ModalViewContainer created new ${newCompName}`);\n\n // Use the newly created component (View) info but DO NOT replace\n // this ModalViewContainer's pConn$, etc.\n // Note that we're now using the newly created View's PConnect in the\n // ViewContainer HTML template to guide what's rendered similar to what\n // the React return of React.Fragment does\n\n // right now need to check caseInfo for changes, to trigger redraw, not getting\n // changes from angularPconnect except for first draw\n if (newComp && caseInfo && compareCaseInfoIsDifferent(caseInfo)) {\n setCreatedView(configObject);\n\n const { actionName } = latestItem;\n const theNewCaseInfo = newComp.getCaseInfo();\n const caseName = theNewCaseInfo.getName();\n const ID = theNewCaseInfo.getID();\n\n setTitle(actionName || `New ${caseName} (${ID})`);\n\n let arChildrenAsReact: Array<any> = [];\n\n if (newComp.getComponentName() === 'reference') {\n // Reference component doesn't have children. It can build the View we want.\n // The Reference component getPConnect is in configObject\n\n arChildrenAsReact.push(\n createElement(createPConnectComponent(), {\n ...configObject,\n key: `${caseName}-${ID}`\n })\n );\n } else {\n // This is the 8.6 implementation. Leaving it in for reference for now.\n // And create a similar array of the children as React components\n // passed to Assignment component when rendered\n arChildrenAsReact = newComp.getChildren().map(child => {\n // Use Case Summary ID as the React element's key\n const caseSummaryID = child.getPConnect().getCaseSummary().ID;\n return createElement(createPConnectComponent(), { ...child, key: caseSummaryID });\n });\n }\n\n if (arChildrenAsReact.length > 0) setArNewChildrenAsReact(arChildrenAsReact);\n\n setShowModal(true);\n\n // save off itemKey to be used for finishAssignment, etc.\n setItemKey(key);\n }\n }\n } else {\n if (bShowModal) {\n setShowModal(false);\n }\n if (!Utils.isEmptyObject(oCaseInfo)) {\n setOCaseInfo({});\n }\n }\n }\n });\n\n // function placeholderModalClose() {\n // // Intentionally a no-op. Similar behavior in other SDKs.\n // // Does NOT close the window. This forces the user to use\n // // the cancel or submit button to close the modal (which, in turn, gets the right\n // // Constellation code to run to clean up the containers, data, etc.)\n\n // // console.log(`ModalViewContainer: placeholderModalClose setting bShowModal to false`) setShowModal(false);\n // }\n\n // if (bShowModal) {\n // console.log(`ModalViewContainer about to show modal with`);\n // console.log(`--> createdView: ${createdView} createdView.getPConnect: ${typeof createdView.getPConnect}`);\n // console.log(`--> itemKey: ${itemKey}`);\n // console.log(`--> arNewChildrenAsReact: ${JSON.stringify(arNewChildrenAsReact)}`);\n // }\n\n return (\n <>\n <Dialog open={bShowModal} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title' className={classes.dlgTitle}>\n {title}\n </DialogTitle>\n <DialogContent className={classes.dlgContent}>\n {bShowModal ? (\n <Assignment getPConnect={createdView.getPConnect} itemKey={itemKey} isCreateStage>\n {arNewChildrenAsReact}\n </Assignment>\n ) : (\n <></>\n )}\n </DialogContent>\n </Dialog>\n {bShowCancelAlert && (\n <CancelAlert\n pConn={cancelPConn}\n showAlert={bShowCancelAlert}\n updateAlertState={updateAlertState}\n />\n )}\n </>\n );\n};\n\nexport default ModalViewContainer;\n\nModalViewContainer.defaultProps = {\n getPConnect: null,\n loadingInfo: false,\n routingInfo: null\n};\n\nModalViewContainer.propTypes = {\n getPConnect: PropTypes.func,\n loadingInfo: PropTypes.bool,\n routingInfo: PropTypes.objectOf(PropTypes.any)\n};\n"]}
1
+ {"version":3,"file":"ModalViewContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ModalViewContainer/ModalViewContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,OAAO,MAAM,iBAAiB,CAAC;AACtC,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,MAAM,wBAAwB,CAAC;AAI3C,SAAS,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAC1C,OAAO,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAW,EAAE,KAAK;IAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAC/C,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE;QAChF,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;KAC5B;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,eAAe,CAAC,IAAI,EAAE,QAAQ;IACrC,IAAI,IAAI,EAAE;QACR,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,OAAO;gBACP,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,gBAAgB,EAAE;gBACjE,OAAO,EAAE,IAAI;aACd;SACF,CAAC;QACF,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KACrC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,QAAQ,EAAE;QACR,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,iCAAiC;QACjC,kCAAkC;QAClC,gCAAgC;QAChC,mCAAmC;KACpC;IACD,UAAU,EAAE;QACV,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,iCAAiC;QACjC,kCAAkC;QAClC,gCAAgC;QAChC,mCAAmC;KACpC;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,kBAAkB,GAAG,KAAK,CAAC,EAAE;IACjC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACxD,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,EACJ,cAAc,EAAE,EAAE,QAAQ,EAAE,EAC5B,cAAc,EAAE,EAAE,uBAAuB,EAAE,EAC5C,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAM,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IACjF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAErD,SAAS,SAAS,CAAC,OAAO;QACxB,MAAM,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1E,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAElC;;;UAGE;QACF,IAAI,UAAU,IAAI,aAAa,EAAE;YAC/B,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACxD,cAAc,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3C,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,SAAS,0BAA0B,CAAC,gBAAwB;QAC1D,IAAI,IAAI,GAAG,KAAK,CAAC;QAEjB,0BAA0B;QAC1B,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;SAC9C;aAAM;YACL,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC/C,4BAA4B;YAC5B,IAAI,gBAAgB,KAAK,YAAY,EAAE;gBACrC,IAAI,GAAG,IAAI,CAAC;aACb;SACF;QAED,uCAAuC;QACvC,IAAI,IAAI,EAAE;YACR,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAC5D;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,EAAE;QACnC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,qCAAqC;QACrC,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;QACjD,YAAY,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAEtB,SAAS,CAAC,GAAG,EAAE;QACb,6DAA6D;QAC7D,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACvC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE;YAC1C,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC;YAE/C,IAAI,SAAS,KAAK,YAAY,EAAE;gBAC9B,OAAO;aACR;YAED,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;YAEvC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE/E,4FAA4F;YAE5F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,IACE,YAAY,CAAC,GAAG,CAAC;oBACjB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI;oBACtB,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAC5C;oBACA,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;oBACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;oBAClC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;oBACpC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAClC,MAAM,CAAC,SAAS,CAAC,GAAG;wBAClB,OAAO,EAAE,WAAW,CAAC,OAAO;wBAC5B,OAAO,EAAE,IAAI;wBACb,aAAa,EAAE,OAAO,IAAI,KAAK,CAAC,gBAAgB,EAAE;qBACnD,CAAC;oBAEF,IAAI,CAAC,WAAW,EAAE;wBAChB,aAAa,CAAC,IAAI,CAAC,CAAC;wBACpB,SAAS,CACP,uBAAuB,EACvB,SAAS,EACT,uBAAuB,CAAC,oCAAoC,CAC7D,CAAC;qBACH;oBAED,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAElD,iDAAiD;oBACjD,8CAA8C;oBAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC3C,kDAAkD;oBAClD,MAAM,QAAQ,GACZ,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ;wBACpE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ;wBAClC,CAAC,CAAC,IAAI,CAAC;oBAEX,0EAA0E;oBAE1E,0EAA0E;oBAC1E,yEAAyE;oBACzE,sEAAsE;oBACtE,sEAAsE;oBACtE,uEAAuE;oBACvE,8CAA8C;oBAC9C,qEAAqE;oBAErE,iEAAiE;oBACjE,0CAA0C;oBAC1C,sEAAsE;oBACtE,wEAAwE;oBACxE,2CAA2C;oBAE3C,+EAA+E;oBAC/E,qDAAqD;oBACrD,IAAI,OAAO,IAAI,QAAQ,IAAI,0BAA0B,CAAC,QAAQ,CAAC,EAAE;wBAC/D,cAAc,CAAC,YAAY,CAAC,CAAC;wBAE7B,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;wBAClC,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;wBAC1C,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;wBAElC,QAAQ,CAAC,UAAU,IAAI,OAAO,QAAQ,KAAK,EAAE,GAAG,CAAC,CAAC;wBAElD,IAAI,iBAAiB,GAAe,EAAE,CAAC;wBAEvC,IAAI,OAAO,CAAC,gBAAgB,EAAE,KAAK,WAAW,EAAE;4BAC9C,4EAA4E;4BAC5E,0DAA0D;4BAE1D,iBAAiB,CAAC,IAAI,CACpB,aAAa,CAAC,uBAAuB,EAAE,EAAE;gCACvC,GAAG,YAAY;gCACf,GAAG,EAAE,GAAG,QAAQ,IAAI,EAAE,EAAE;6BACzB,CAAC,CACH,CAAC;yBACH;6BAAM;4BACL,uEAAuE;4BACvE,iEAAiE;4BACjE,gDAAgD;4BAChD,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gCACpD,iDAAiD;gCACjD,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;gCAC9D,OAAO,aAAa,CAAC,uBAAuB,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;4BACpF,CAAC,CAAC,CAAC;yBACJ;wBAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;4BAAE,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;wBAE7E,YAAY,CAAC,IAAI,CAAC,CAAC;wBAEnB,yDAAyD;wBACzD,UAAU,CAAC,GAAG,CAAC,CAAC;qBACjB;iBACF;aACF;iBAAM;gBACL,IAAI,UAAU,EAAE;oBACd,YAAY,CAAC,KAAK,CAAC,CAAC;iBACrB;gBACD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;oBACnC,YAAY,CAAC,EAAE,CAAC,CAAC;iBAClB;aACF;SACF;IACH,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,8DAA8D;IAC9D,+DAA+D;IAC/D,uFAAuF;IACvF,0EAA0E;IAE1E,oHAAoH;IACpH,IAAI;IAEJ,oBAAoB;IACpB,gEAAgE;IAChE,+GAA+G;IAC/G,4CAA4C;IAC5C,sFAAsF;IACtF,IAAI;IAEJ,OAAO,CACL;QACE,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,qBAAkB,mBAAmB;YAC3D,oBAAC,WAAW,IAAC,EAAE,EAAC,mBAAmB,EAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,IAC5D,KAAK,CACM;YACd,oBAAC,aAAa,IAAC,SAAS,EAAE,OAAO,CAAC,UAAU,IACzC,UAAU,CAAC,CAAC,CAAC,CACZ,oBAAC,UAAU,IAAC,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,UAC1E,oBAAoB,CACV,CACd,CAAC,CAAC,CAAC,CACF,yCAAK,CACN,CACa,CACT;QACR,gBAAgB,IAAI,CACnB,oBAAC,WAAW,IACV,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CACA,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC;AAElC,kBAAkB,CAAC,YAAY,GAAG;IAChC,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,kBAAkB,CAAC,SAAS,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,IAAI;IAC3B,WAAW,EAAE,SAAS,CAAC,IAAI;IAC3B,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;CAC/C,CAAC","sourcesContent":["import React, { useEffect, useRef, useState, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'fast-deep-equal';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport { makeStyles } from '@material-ui/core/styles';\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport Assignment from '../../Assignment';\nimport CancelAlert from '../../../forms/CancelAlert';\nimport Utils from '../../../helpers/utils';\n\ndeclare const PCore;\n\nfunction buildName(pConnect, name = '') {\n const context = pConnect.getContextName();\n return `${context}/${name}`;\n}\n\nfunction getKeyAndLatestItem(routinginfo, pConn) {\n const containerName = pConn.getContainerName();\n if (PCore.getContainerUtils().hasContainerItems(buildName(pConn, containerName))) {\n const { accessedOrder, items } = routinginfo;\n const key = accessedOrder[accessedOrder.length - 1];\n const latestItem = items[key];\n return { key, latestItem };\n }\n return {};\n}\n\nfunction getConfigObject(item, pConnect) {\n if (item) {\n const { context, view } = item;\n const config = {\n meta: view,\n options: {\n context,\n pageReference: view.config.context || pConnect.getPageReference(),\n hasForm: true\n }\n };\n return PCore.createPConnect(config);\n }\n return null;\n}\n\nconst useStyles = makeStyles(theme => ({\n dlgTitle: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(0)\n // paddingLeft: theme.spacing(0),\n // paddingRight: theme.spacing(0),\n // paddingTop: theme.spacing(0),\n // paddingBottom: theme.spacing(0),\n },\n dlgContent: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(0),\n marginBottom: theme.spacing(2)\n // paddingLeft: theme.spacing(0),\n // paddingRight: theme.spacing(0),\n // paddingTop: theme.spacing(0),\n // paddingBottom: theme.spacing(0),\n }\n}));\n\nconst ModalViewContainer = props => {\n const classes = useStyles();\n\n const routingInfoRef = useRef({});\n const { getPConnect, routingInfo, loadingInfo } = props;\n const pConn = getPConnect();\n const {\n CONTAINER_TYPE: { MULTIPLE },\n PUB_SUB_EVENTS: { EVENT_SHOW_CANCEL_ALERT }\n } = PCore.getConstants();\n const { subscribe } = PCore.getPubSubUtils();\n const [bShowModal, setShowModal] = useState(false);\n const [bSubscribed, setSubscribed] = useState(false);\n const [bShowCancelAlert, setShowCancelAlert] = useState(false);\n const [oCaseInfo, setOCaseInfo] = useState({});\n const [createdView, setCreatedView] = useState<any>(null);\n const [title, setTitle] = useState('');\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<Array<any>>([]);\n const [itemKey, setItemKey] = useState('');\n const [cancelPConn, setCancelPConn] = useState(null);\n\n function showAlert(payload) {\n const { latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn);\n const { isModalAction } = payload;\n\n /*\n If we are in create stage full page mode, created a new case and trying to click on cancel button\n it will show two alert dialogs which is not expected. Hence isModalAction flag to avoid that.\n */\n if (latestItem && isModalAction) {\n const configObject = getConfigObject(latestItem, pConn);\n setCancelPConn(configObject.getPConnect());\n setShowCancelAlert(true);\n }\n }\n\n function compareCaseInfoIsDifferent(oCurrentCaseInfo: Object): boolean {\n let bRet = false;\n\n // fast-deep-equal version\n if (isEqual !== undefined) {\n bRet = !isEqual(oCaseInfo, oCurrentCaseInfo);\n } else {\n const sCurrentCaseInfo = JSON.stringify(oCurrentCaseInfo);\n const sOldCaseInfo = JSON.stringify(oCaseInfo);\n // stringify compare version\n if (sCurrentCaseInfo !== sOldCaseInfo) {\n bRet = true;\n }\n }\n\n // if different, save off new case info\n if (bRet) {\n setOCaseInfo(JSON.parse(JSON.stringify(oCurrentCaseInfo)));\n }\n\n return bRet;\n }\n\n const updateAlertState = modalFlag => {\n setShowCancelAlert(false);\n setShowModal(modalFlag);\n };\n\n useEffect(() => {\n // Establish the necessary containers\n const containerMgr = pConn.getContainerManager();\n containerMgr.initializeContainers({ type: MULTIPLE });\n }, [MULTIPLE, pConn]);\n\n useEffect(() => {\n // Update routingInfoRef.current whenever routingInfo changes\n routingInfoRef.current = routingInfo;\n }, [routingInfo]);\n\n useEffect(() => {\n if (routingInfoRef.current && !loadingInfo) {\n const currentOrder = routingInfo.accessedOrder;\n\n if (undefined === currentOrder) {\n return;\n }\n\n const currentItems = routingInfo.items;\n\n const { key, latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn);\n\n // console.log(`ModalViewContainer: key: ${key} latestItem: ${JSON.stringify(latestItem)}`);\n\n if (currentOrder.length > 0) {\n if (\n currentItems[key] &&\n currentItems[key].view &&\n !Utils.isEmptyObject(currentItems[key].view)\n ) {\n const currentItem = currentItems[key];\n const rootView = currentItem.view;\n const { context } = rootView.config;\n const config = { meta: rootView };\n config['options'] = {\n context: currentItem.context,\n hasForm: true,\n pageReference: context || pConn.getPageReference()\n };\n\n if (!bSubscribed) {\n setSubscribed(true);\n subscribe(\n EVENT_SHOW_CANCEL_ALERT,\n showAlert,\n EVENT_SHOW_CANCEL_ALERT /* Unique string for subscription */\n );\n }\n\n const configObject = PCore.createPConnect(config);\n\n // THIS is where the ViewContainer creates a View\n // The config has meta.config.type = \"view\"\n const newComp = configObject.getPConnect();\n // const newCompName = newComp.getComponentName();\n const caseInfo =\n newComp && newComp.getDataObject() && newComp.getDataObject().caseInfo\n ? newComp.getDataObject().caseInfo\n : null;\n\n // console.log(`ModalViewContainer just created newComp: ${newCompName}`);\n\n // The metadata for pyDetails changed such that the \"template\": \"CaseView\"\n // is no longer a child of the created View but is in the created View's\n // config. So, we DON'T want to replace this.pConn$ since the created\n // component is a View (and not a ViewContainer). We now look for the\n // \"template\" type directly in the created component (newComp) and NOT\n // as a child of the newly created component.\n // console.log(`---> ModalViewContainer created new ${newCompName}`);\n\n // Use the newly created component (View) info but DO NOT replace\n // this ModalViewContainer's pConn$, etc.\n // Note that we're now using the newly created View's PConnect in the\n // ViewContainer HTML template to guide what's rendered similar to what\n // the React return of React.Fragment does\n\n // right now need to check caseInfo for changes, to trigger redraw, not getting\n // changes from angularPconnect except for first draw\n if (newComp && caseInfo && compareCaseInfoIsDifferent(caseInfo)) {\n setCreatedView(configObject);\n\n const { actionName } = latestItem;\n const theNewCaseInfo = newComp.getCaseInfo();\n const caseName = theNewCaseInfo.getName();\n const ID = theNewCaseInfo.getID();\n\n setTitle(actionName || `New ${caseName} (${ID})`);\n\n let arChildrenAsReact: Array<any> = [];\n\n if (newComp.getComponentName() === 'reference') {\n // Reference component doesn't have children. It can build the View we want.\n // The Reference component getPConnect is in configObject\n\n arChildrenAsReact.push(\n createElement(createPConnectComponent(), {\n ...configObject,\n key: `${caseName}-${ID}`\n })\n );\n } else {\n // This is the 8.6 implementation. Leaving it in for reference for now.\n // And create a similar array of the children as React components\n // passed to Assignment component when rendered\n arChildrenAsReact = newComp.getChildren().map(child => {\n // Use Case Summary ID as the React element's key\n const caseSummaryID = child.getPConnect().getCaseSummary().ID;\n return createElement(createPConnectComponent(), { ...child, key: caseSummaryID });\n });\n }\n\n if (arChildrenAsReact.length > 0) setArNewChildrenAsReact(arChildrenAsReact);\n\n setShowModal(true);\n\n // save off itemKey to be used for finishAssignment, etc.\n setItemKey(key);\n }\n }\n } else {\n if (bShowModal) {\n setShowModal(false);\n }\n if (!Utils.isEmptyObject(oCaseInfo)) {\n setOCaseInfo({});\n }\n }\n }\n });\n\n // function placeholderModalClose() {\n // // Intentionally a no-op. Similar behavior in other SDKs.\n // // Does NOT close the window. This forces the user to use\n // // the cancel or submit button to close the modal (which, in turn, gets the right\n // // Constellation code to run to clean up the containers, data, etc.)\n\n // // console.log(`ModalViewContainer: placeholderModalClose setting bShowModal to false`) setShowModal(false);\n // }\n\n // if (bShowModal) {\n // console.log(`ModalViewContainer about to show modal with`);\n // console.log(`--> createdView: ${createdView} createdView.getPConnect: ${typeof createdView.getPConnect}`);\n // console.log(`--> itemKey: ${itemKey}`);\n // console.log(`--> arNewChildrenAsReact: ${JSON.stringify(arNewChildrenAsReact)}`);\n // }\n\n return (\n <>\n <Dialog open={bShowModal} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title' className={classes.dlgTitle}>\n {title}\n </DialogTitle>\n <DialogContent className={classes.dlgContent}>\n {bShowModal ? (\n <Assignment getPConnect={createdView.getPConnect} itemKey={itemKey} isInModal>\n {arNewChildrenAsReact}\n </Assignment>\n ) : (\n <></>\n )}\n </DialogContent>\n </Dialog>\n {bShowCancelAlert && (\n <CancelAlert\n pConn={cancelPConn}\n showAlert={bShowCancelAlert}\n updateAlertState={updateAlertState}\n />\n )}\n </>\n );\n};\n\nexport default ModalViewContainer;\n\nModalViewContainer.defaultProps = {\n getPConnect: null,\n loadingInfo: false,\n routingInfo: null\n};\n\nModalViewContainer.propTypes = {\n getPConnect: PropTypes.func,\n loadingInfo: PropTypes.bool,\n routingInfo: PropTypes.objectOf(PropTypes.any)\n};\n"]}
@@ -17,7 +17,7 @@ import WorkOutlineIcon from '@material-ui/icons/WorkOutline';
17
17
  import ClearOutlinedIcon from '@material-ui/icons/ClearOutlined';
18
18
  import ArrowBackIcon from '@material-ui/icons/ArrowBack';
19
19
  import useMediaQuery from '@material-ui/core/useMediaQuery';
20
- import { useNavBar } from "../../templates/AppShell/AppShell";
20
+ import { useNavBar } from "../../helpers/reactContextHelpers";
21
21
  import { logout } from '../../helpers/authManager';
22
22
  const iconMap = {
23
23
  "pi pi-headline": React.createElement(HomeOutlinedIcon, { fontSize: "large" }),
@@ -1 +1 @@
1
- {"version":3,"file":"NavBar.js","sourceRoot":"","sources":["../../../../src/components/infra/NavBar/NavBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,cAAc,CAAC;AAEtB,OAAO,EACL,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,QAAQ,EACR,OAAO,EACP,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,UAAU,EACX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AACzE,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAInD,MAAM,OAAO,GAAG;IACd,gBAAgB,EAAG,oBAAC,gBAAgB,IAAC,QAAQ,EAAC,OAAO,GAAE;IACvD,kBAAkB,EAAE,oBAAC,gBAAgB,IAAC,QAAQ,EAAC,OAAO,GAAE;CACzD,CAAA;AAED,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvC,WAAW,EAAE;QACX,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;YAC5C,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK;YACtC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc;SACpD,CAAC;QACF,MAAM,EAAE,OAAO;KAChB;IACD,gBAAgB,EAAE;QAChB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;YAC5C,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK;YACtC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa;SACnD,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACvB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACxB;QACD,MAAM,EAAE,OAAO;KAChB;IACD,MAAM,EAAE;QACN,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9B;IACD,WAAW,EAAE;QACX,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;QAC5C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;KAClE;IACD,WAAW,EAAE;QACX,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,KAAK,EAAE,QAAQ;KAChB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;KAClE;IACD,UAAU,EAAE;QACV,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;QAC5C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACjE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK;IAClC,MAAM,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACV,GAAG,KAAK,CAAC;IAEV,6EAA6E;IAC7E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACrH,6EAA6E;IAC7E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACnI,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,6EAA6E;IAC7E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACtJ,6EAA6E;IAC7E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;IACnG,6EAA6E;IAC7E,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IACxG,6EAA6E;IAC7E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7F,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvE,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,SAAS,EAAE,CAAC;IACpC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5D,SAAS,CAAE,GAAG,EAAE;QACd,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,EACD,CAAC,KAAK,CAAC,CAAC,CAAC;IAET,4DAA4D;IAC5D,wCAAwC;IACxC,qDAAqD;IACrD,MAAM;IAEN,gDAAgD;IAChD,oCAAoC;IACpC,iDAAiD;IACjD,MAAM;IAEN,SAAS,mBAAmB,CAAC,SAAc;QACzC,MAAM,EACJ,WAAW,EACX,UAAU,EACX,GAAG,SAAS,CAAC;QAEd,KAAK,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAChE,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC;IACzC,iDAAiD;IACjD,oGAAoG;IACpG,8BAA8B;IAC9B,MAAM;IACN,WAAW;IACX,oGAAoG;IACpG,gCAAgC;IAChC,MAAM;IACN,IAAI;IAEJ,SAAS,sBAAsB,CAAC,SAAiB,EAAE,SAAiB;QAClE,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,UAAU,GAAG;YACjB,aAAa,EAAE,SAAS;YACxB,QAAQ,EAAE,SAAS,IAAI,aAAa;SACrC,CAAC;QAEF,KAAK,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAChE,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,sCAAsC;IACtC,SAAS,2BAA2B,CAAC,GAAG;QACtC,uBAAuB,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC/C,IAAI,CAAC,oBAAoB;YAAE,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;;YACrD,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,SAAS,mBAAmB;QAE1B,IAAI;YACF,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,oDAAoD;YACpD,8CAA8C;YAC9C,2CAA2C;YAC3C,qCAAqC;YACrC,KAAK;YACL,aAAa;YACb,2CAA2C;YAC3C,mEAAmE;YACnE,KAAK;SACN;QAAC,OAAO,GAAG,EAAE;YACZ,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;SAC9D;gBACO;YACN,gBAAgB;YAChB,MAAM,EAAE,CAAC;SACV;IACH,CAAC;IAED,yFAAyF;IACzF,gDAAgD;IAChD,6HAA6H;IAC7H,KAAK;IAEL,yJAAyJ;IAGzJ,gFAAgF;IAChF,4CAA4C;IAC5C,gBAAgB;IAChB,iBAAiB;IACjB,WAAW;IACX,uBAAuB;IACvB,YAAY;IACZ,aAAa;IACb,WAAW;IACX,mBAAmB;IACnB,YAAY;IACZ,YAAY;IAGZ,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACzB;;YAAM,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC,CAAA;IAEH,0CAA0C;IAC1C,wCAAwC;IACxC,OAAO;IAEL,qCAAqC;IACrC,uBAAuB;IACvB,KAAK;IAGL,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAGf,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE;YACP,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;SACpE,EACD,IAAI,EAAE,IAAI,IAAI,SAAS;QAGrB,IAAI,CAAC,CAAC,CAAC,CACL,oBAAC,IAAI,IAAC,SAAS,EAAE,OAAO,CAAC,WAAW;YAClC,oBAAC,QAAQ,IAAC,OAAO,EAAE,gBAAgB;gBACjC,oBAAC,YAAY;oBACT,6BAAK,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,GAAG,CACjD;gBACf,oBAAC,YAAY,IACX,OAAO,EAAE,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,IAAE,SAAS,CAAc,GAC1D;gBACF,oBAAC,uBAAuB;oBACtB,oBAAC,UAAU,IAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAE,gBAAgB;wBAC9C,oBAAC,eAAe,IAAC,SAAS,EAAE,OAAO,CAAC,WAAW,GAAI,CACxC,CACmB,CACzB,CACN,CACN,CAAC,CAAC,CAAC,CACF,6BAAK,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB;YAC3D,oBAAC,gBAAgB,IAAC,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,EAAC,oBAAoB,EAAC,QAAQ,EAAC,OAAO,GAAG,CACzF,CACP;QAEL,oBAAC,IAAI;YACH,oBAAC,QAAQ,IAAC,MAAM,QAAC,OAAO,EAAE,mBAAmB;gBAC3C,oBAAC,YAAY,QAET,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,OAAO,GAAG,CAAC,CAAC,CAAC,oBAAC,OAAO,IAAC,QAAQ,EAAC,OAAO,GAAG,CAEnF;gBACf,oBAAC,YAAY,IAAC,OAAO,EAAC,QAAQ,GAAG;gBAChC,cAAc,CAAC,CAAC,CAAC,oBAAC,UAAU,OAAG,CAAC,CAAC,CAAC,oBAAC,UAAU,OAAG,CACxC,CACN;QACP,oBAAC,QAAQ,IAAC,EAAE,EAAE,cAAc,IAAI,IAAI,EAAE,OAAO,EAAC,MAAM,EAAC,aAAa,QAAC,SAAS,EAAC,YAAY;YACvF,oBAAC,IAAI,IAAC,SAAS,EAAC,KAAK,EAAC,cAAc,UAEhC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CACxB,oBAAC,QAAQ,IACP,MAAM,QACN,SAAS,EAAE,OAAO,CAAC,MAAM,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChF,GAAG,EAAE,QAAQ,CAAC,OAAO;gBAErB,oBAAC,YAAY;oBACX,oBAAC,eAAe,IAAC,QAAQ,EAAC,OAAO,GAAG,CACvB;gBACf,oBAAC,YAAY,IAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAI,CAClC,CACZ,CAAC,CAEC,CACE;QACX,oBAAC,IAAI,QAED,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACjB,oBAAC,QAAQ,IACP,MAAM,QACN,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACxC,GAAG,EAAE,IAAI,CAAC,OAAO;YAEjB,oBAAC,YAAY,QACV,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAChB;YACf,oBAAC,YAAY,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,CAChC,CACZ,CAAC,CAEC;QACP,oBAAC,OAAO,OAAG;QACX,oBAAC,IAAI,IAAC,SAAS,EAAC,eAAe;YAC7B;gBACE,oBAAC,QAAQ,IAAC,OAAO,EAAE,2BAA2B;oBAC5C,oBAAC,YAAY;wBACX,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,OAAO,GAAG,CACzB;oBACf,oBAAC,YAAY,IAAC,OAAO,EAAE,cAAc,GAAI;oBAEvC,IAAI,IAAI,CACN,oBAAC,uBAAuB;wBACtB,oBAAC,UAAU,IAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAE,2BAA2B;4BACzD,oBAAC,gBAAgB,OAAE,CACR,CACW,CAC3B,CAGM;gBACX,oBAAC,IAAI,IACH,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,oBAAoB,EACjC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,2BAA2B,EACpC,YAAY,EAAE;wBACZ,QAAQ,EAAE,KAAK;wBACf,UAAU,EAAE,OAAO;qBACpB,EACD,eAAe,EAAE;wBACf,QAAQ,EAAE,KAAK;wBACf,UAAU,EAAE,MAAM;qBACnB;oBAED,oBAAC,QAAQ,IAAC,OAAO,EAAE,mBAAmB;wBACpC,oBAAC,YAAY;4BACX,oBAAC,aAAa,IAAC,QAAQ,EAAC,OAAO,GAAG,CACrB;wBACf,oBAAC,UAAU,IAAC,OAAO,EAAC,SAAS,aAAoB,CACxC,CACN,CACN,CACE,CACA,CACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,YAAY,GAAG;IACpB,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,CAAC,SAAS,GAAG;IACjB,KAAK,EAAE,SAAS,CAAC,MAAM;IACvB,sDAAsD;IACtD,OAAO,EAAE,SAAS,CAAC,MAAM;IACzB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;CAC/C,CAAC","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport clsx from 'clsx';\nimport PropTypes from \"prop-types\";\nimport { Utils } from '../../helpers/utils';\n\nimport './NavBar.css';\n\nimport {\n Drawer,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n ListItemSecondaryAction,\n Collapse,\n Divider,\n IconButton,\n Menu,\n MenuItem,\n Typography\n} from '@material-ui/core';\n\nimport PersonOutlineIcon from '@material-ui/icons/PersonOutlineOutlined';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport FlagOutlinedIcon from '@material-ui/icons/FlagOutlined';\nimport HomeOutlinedIcon from '@material-ui/icons/HomeOutlined';\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport AddIcon from '@material-ui/icons/Add';\nimport WorkOutlineIcon from '@material-ui/icons/WorkOutline';\nimport ClearOutlinedIcon from '@material-ui/icons/ClearOutlined';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nimport { useNavBar } from \"../../templates/AppShell/AppShell\";\nimport { logout } from '../../helpers/authManager';\n\ndeclare const PCore;\n\nconst iconMap = {\n \"pi pi-headline\" : <HomeOutlinedIcon fontSize=\"large\"/>,\n \"pi pi-flag-solid\": <FlagOutlinedIcon fontSize=\"large\"/>\n}\n\nconst drawerWidth = 300;\n\nconst useStyles = makeStyles((theme) => ({\n drawerPaper: {\n position: 'relative',\n whiteSpace: 'nowrap',\n width: drawerWidth,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n height: \"100vh\"\n },\n drawerPaperClose: {\n overflowX: 'hidden',\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n width: theme.spacing(7),\n [theme.breakpoints.up('md')]: {\n width: theme.spacing(9),\n },\n height: \"100vh\"\n },\n nested: {\n paddingLeft: theme.spacing(4),\n },\n appListItem: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n },\n appListLogo: {\n marginRight: theme.spacing(2),\n width: \"3.6rem\",\n },\n appListIcon: {\n color: theme.palette.getContrastText(theme.palette.primary.light),\n },\n appListDiv: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(2),\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }\n}));\n\nexport default function NavBar(props) {\n const {\n pConn,\n pages,\n caseTypes\n } = props;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [navIcon, setNavIcon] = useState((PCore.getAssetLoader().getStaticServerUrl()).concat(\"pzpega-logo-mark.svg\"));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [navExpandCollapse, setNavExpandCollapse] = useState(Utils.getImageSrc(\"plus\", PCore.getAssetLoader().getStaticServerUrl()));\n const [navPages, setNavPages] = useState(JSON.parse(JSON.stringify(pages)));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalLogoImage, setPortalLogoImage] = useState(Utils.getIconPath(PCore.getAssetLoader().getStaticServerUrl()).concat(\"pzpega-logo-mark.svg\"));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalOperator, setPortalOperator] = useState(PCore.getEnvironmentInfo().getOperatorName());\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalOperatorInitials, setPortalOperatorInitials] = useState(Utils.getInitials(portalOperator));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalApp, setPortalApp] = useState(PCore.getEnvironmentInfo().getApplicationLabel());\n const [bShowCaseTypes, setBShowCaseTypes] = useState(true);\n const [bShowOperatorButtons, setBShowOperatorButtons] = useState(false)\n const {open, setOpen} = useNavBar();\n const [anchorEl, setAnchorEl] = useState(null);\n\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n\n useEffect( () => {\n setNavPages(JSON.parse(JSON.stringify(pages)));\n },\n [pages]);\n\n // const caseTypesMap = caseTypes.map((caseType, index) => {\n // const theKey = `caseType.${index}`;\n // return <li key={theKey}>{caseType.pyLabel}</li>;\n // });\n\n // const pagesMap = pages.map((page, index) => {\n // const theKey = `page.${index}`;\n // return <li key={theKey}>{page.pyLabel}</li>;\n // });\n\n function navPanelButtonClick(oPageData: any) {\n const {\n pyClassName,\n pyRuleName\n } = oPageData;\n\n pConn.getActionsApi().showPage(pyRuleName, pyClassName).then(() => {\n // eslint-disable-next-line no-console\n console.log(`showPage completed`);\n });\n }\n\n // function navPanelCreateButtonClick() {\n // if (navExpandCollapse.indexOf(\"plus\") > 0) {\n // setNavExpandCollapse(Utils.getImageSrc(\"times\", PCore.getAssetLoader().getStaticServerUrl()));\n // setBShowCaseTypes(true);\n // }\n // else {\n // setNavExpandCollapse(Utils.getImageSrc(\"plus\", PCore.getAssetLoader().getStaticServerUrl()));\n // setBShowCaseTypes(false);\n // }\n // }\n\n function navPanelCreateCaseType(sCaseType: string, sFlowType: string) {\n setOpen(false);\n const actionInfo = {\n containerName: \"primary\",\n flowType: sFlowType || \"pyStartCase\"\n };\n\n pConn.getActionsApi().createWork(sCaseType, actionInfo).then(() => {\n // eslint-disable-next-line no-console\n console.log(`createWork completed`);\n });\n\n }\n\n // Toggle showing the Operator buttons\n function navPanelOperatorButtonClick(evt) {\n setBShowOperatorButtons(!bShowOperatorButtons);\n if (!bShowOperatorButtons) setAnchorEl(evt.currentTarget);\n else setAnchorEl(null);\n }\n\n function navPanelLogoutClick() {\n\n try {\n // eslint-disable-next-line no-console\n console.log(`--> navPanelLogoutClick clicked`);\n // Commenting out until revokeToken API is available\n // pConn.getActionsApi().logout().then(() => {\n // // eslint-disable-next-line no-console\n // console.log(`logout completed`);\n // },\n // error => {\n // // eslint-disable-next-line no-console\n // console.error(`onRejected function called: ${error.message}`);\n // })\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log(`--> Attempt to call logout api failed: ${err}`);\n }\n finally {\n // authLogout();\n logout();\n }\n }\n\n // const theCaseTypeButtons = caseTypes.map((caseType) => <div style={{display: \"flex\"}}>\n // <button className=\"btn btn-link text-white\"\n // onClick={() => { navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}}>{caseType.pyLabel}</button></div>\n // );\n\n // const theOperatorButtons = <button className=\"btn btn-link text-white\" style={{marginLeft: \"-0.05rem\"}} onClick={navPanelLogoutClick}>Logoff</button>;\n\n\n // return <div id=\"NavBar\" style={{border: \"solid 1px silver\", margin: \"1px\"}} >\n // NavBar for <strong>{appName}</strong>\n // <br></br>\n // caseTypes:\n // <ul>\n // {caseTypesMap}\n // </ul>\n // Pages:\n // <ul>\n // {pagesMap}\n // </ul>\n // </div>;\n\n\n const handleDrawerOpen = () => {\n setOpen(!open);\n };\n\n const handleCaseItemClick = () => {\n if (!open) {\n setOpen(true);\n setBShowCaseTypes(true);\n } else setBShowCaseTypes(!bShowCaseTypes);\n }\n\n// const handlePopoverOpen = (event) => {\n// setAnchorEl(event.currentTarget);\n// };\n\n // const handlePopoverClose = () => {\n // setAnchorEl(null);\n // };\n\n\n useEffect(() => {\n if (!isDesktop) setOpen(false);\n else setOpen(true);\n }, [isDesktop])\n\n\n return (\n <Drawer\n variant=\"permanent\"\n classes={{\n paper: clsx(classes.drawerPaper, !open && classes.drawerPaperClose),\n }}\n open={open && isDesktop}\n >\n {\n open ? (\n <List className={classes.appListItem}>\n <ListItem onClick={handleDrawerOpen}>\n <ListItemIcon>\n <img src={portalLogoImage} className={classes.appListLogo}/>\n </ListItemIcon>\n <ListItemText\n primary={<Typography variant=\"h6\">{portalApp}</Typography>}\n />\n <ListItemSecondaryAction>\n <IconButton edge=\"end\" onClick={handleDrawerOpen}>\n <ChevronLeftIcon className={classes.appListIcon} />\n </IconButton>\n </ListItemSecondaryAction>\n </ListItem>\n </List>\n ) : (\n <div className={classes.appListDiv} onClick={handleDrawerOpen} >\n <ChevronRightIcon className={classes.appListIcon} id=\"chevron-right-icon\" fontSize=\"large\" />\n </div>\n )\n }\n <List>\n <ListItem button onClick={handleCaseItemClick}>\n <ListItemIcon>\n {\n bShowCaseTypes && open ? <ClearOutlinedIcon fontSize=\"large\" /> : <AddIcon fontSize=\"large\" />\n }\n </ListItemIcon>\n <ListItemText primary=\"Create\" />\n {bShowCaseTypes ? <ExpandLess /> : <ExpandMore />}\n </ListItem>\n </List>\n <Collapse in={bShowCaseTypes && open} timeout=\"auto\" unmountOnExit className='scrollable'>\n <List component=\"div\" disablePadding>\n {\n caseTypes.map(caseType => (\n <ListItem\n button\n className={classes.nested}\n onClick={() => navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}\n key={caseType.pyLabel}\n >\n <ListItemIcon>\n <WorkOutlineIcon fontSize=\"large\" />\n </ListItemIcon>\n <ListItemText primary={caseType.pyLabel} />\n </ListItem>\n ))\n }\n </List>\n </Collapse>\n <List>\n {\n navPages.map(page => (\n <ListItem\n button\n onClick={() => navPanelButtonClick(page)}\n key={page.pyLabel}\n >\n <ListItemIcon>\n {iconMap[page.pxPageViewIcon]}\n </ListItemIcon>\n <ListItemText primary={page.pyLabel} />\n </ListItem>\n ))\n }\n </List>\n <Divider />\n <List className='marginTopAuto'>\n <>\n <ListItem onClick={navPanelOperatorButtonClick}>\n <ListItemIcon>\n <PersonOutlineIcon fontSize=\"large\" />\n </ListItemIcon>\n <ListItemText primary={portalOperator} />\n {\n open && (\n <ListItemSecondaryAction>\n <IconButton edge=\"end\" onClick={navPanelOperatorButtonClick}>\n <ChevronRightIcon/>\n </IconButton>\n </ListItemSecondaryAction>\n )\n }\n\n </ListItem>\n <Menu\n anchorEl={anchorEl}\n keepMounted={bShowOperatorButtons}\n open={bShowOperatorButtons}\n onClick={navPanelOperatorButtonClick}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n >\n <MenuItem onClick={navPanelLogoutClick}>\n <ListItemIcon>\n <ArrowBackIcon fontSize=\"large\" />\n </ListItemIcon>\n <Typography variant=\"inherit\">Logout</Typography>\n </MenuItem>\n </Menu>\n </>\n </List>\n </Drawer>\n );\n}\n\nNavBar.defaultProps = {\n pConn: null,\n appName: \"\",\n pages: [],\n caseTypes: [],\n};\n\nNavBar.propTypes = {\n pConn: PropTypes.object,\n // eslint-disable-next-line react/no-unused-prop-types\n appName: PropTypes.string,\n pages: PropTypes.arrayOf(PropTypes.object),\n caseTypes: PropTypes.arrayOf(PropTypes.object)\n};\n"]}
1
+ {"version":3,"file":"NavBar.js","sourceRoot":"","sources":["../../../../src/components/infra/NavBar/NavBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport clsx from 'clsx';\nimport PropTypes from \"prop-types\";\nimport { Utils } from '../../helpers/utils';\n\nimport './NavBar.css';\n\nimport {\n Drawer,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n ListItemSecondaryAction,\n Collapse,\n Divider,\n IconButton,\n Menu,\n MenuItem,\n Typography\n} from '@material-ui/core';\n\nimport PersonOutlineIcon from '@material-ui/icons/PersonOutlineOutlined';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport FlagOutlinedIcon from '@material-ui/icons/FlagOutlined';\nimport HomeOutlinedIcon from '@material-ui/icons/HomeOutlined';\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport AddIcon from '@material-ui/icons/Add';\nimport WorkOutlineIcon from '@material-ui/icons/WorkOutline';\nimport ClearOutlinedIcon from '@material-ui/icons/ClearOutlined';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nimport { useNavBar } from \"../../helpers/reactContextHelpers\";\nimport { logout } from '../../helpers/authManager';\n\ndeclare const PCore;\n\nconst iconMap = {\n \"pi pi-headline\" : <HomeOutlinedIcon fontSize=\"large\"/>,\n \"pi pi-flag-solid\": <FlagOutlinedIcon fontSize=\"large\"/>\n}\n\nconst drawerWidth = 300;\n\nconst useStyles = makeStyles((theme) => ({\n drawerPaper: {\n position: 'relative',\n whiteSpace: 'nowrap',\n width: drawerWidth,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n height: \"100vh\"\n },\n drawerPaperClose: {\n overflowX: 'hidden',\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n width: theme.spacing(7),\n [theme.breakpoints.up('md')]: {\n width: theme.spacing(9),\n },\n height: \"100vh\"\n },\n nested: {\n paddingLeft: theme.spacing(4),\n },\n appListItem: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n },\n appListLogo: {\n marginRight: theme.spacing(2),\n width: \"3.6rem\",\n },\n appListIcon: {\n color: theme.palette.getContrastText(theme.palette.primary.light),\n },\n appListDiv: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light),\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(2),\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }\n}));\n\nexport default function NavBar(props) {\n const {\n pConn,\n pages,\n caseTypes\n } = props;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [navIcon, setNavIcon] = useState((PCore.getAssetLoader().getStaticServerUrl()).concat(\"pzpega-logo-mark.svg\"));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [navExpandCollapse, setNavExpandCollapse] = useState(Utils.getImageSrc(\"plus\", PCore.getAssetLoader().getStaticServerUrl()));\n const [navPages, setNavPages] = useState(JSON.parse(JSON.stringify(pages)));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalLogoImage, setPortalLogoImage] = useState(Utils.getIconPath(PCore.getAssetLoader().getStaticServerUrl()).concat(\"pzpega-logo-mark.svg\"));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalOperator, setPortalOperator] = useState(PCore.getEnvironmentInfo().getOperatorName());\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalOperatorInitials, setPortalOperatorInitials] = useState(Utils.getInitials(portalOperator));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [portalApp, setPortalApp] = useState(PCore.getEnvironmentInfo().getApplicationLabel());\n const [bShowCaseTypes, setBShowCaseTypes] = useState(true);\n const [bShowOperatorButtons, setBShowOperatorButtons] = useState(false)\n const {open, setOpen} = useNavBar();\n const [anchorEl, setAnchorEl] = useState(null);\n\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n\n useEffect( () => {\n setNavPages(JSON.parse(JSON.stringify(pages)));\n },\n [pages]);\n\n // const caseTypesMap = caseTypes.map((caseType, index) => {\n // const theKey = `caseType.${index}`;\n // return <li key={theKey}>{caseType.pyLabel}</li>;\n // });\n\n // const pagesMap = pages.map((page, index) => {\n // const theKey = `page.${index}`;\n // return <li key={theKey}>{page.pyLabel}</li>;\n // });\n\n function navPanelButtonClick(oPageData: any) {\n const {\n pyClassName,\n pyRuleName\n } = oPageData;\n\n pConn.getActionsApi().showPage(pyRuleName, pyClassName).then(() => {\n // eslint-disable-next-line no-console\n console.log(`showPage completed`);\n });\n }\n\n // function navPanelCreateButtonClick() {\n // if (navExpandCollapse.indexOf(\"plus\") > 0) {\n // setNavExpandCollapse(Utils.getImageSrc(\"times\", PCore.getAssetLoader().getStaticServerUrl()));\n // setBShowCaseTypes(true);\n // }\n // else {\n // setNavExpandCollapse(Utils.getImageSrc(\"plus\", PCore.getAssetLoader().getStaticServerUrl()));\n // setBShowCaseTypes(false);\n // }\n // }\n\n function navPanelCreateCaseType(sCaseType: string, sFlowType: string) {\n setOpen(false);\n const actionInfo = {\n containerName: \"primary\",\n flowType: sFlowType || \"pyStartCase\"\n };\n\n pConn.getActionsApi().createWork(sCaseType, actionInfo).then(() => {\n // eslint-disable-next-line no-console\n console.log(`createWork completed`);\n });\n\n }\n\n // Toggle showing the Operator buttons\n function navPanelOperatorButtonClick(evt) {\n setBShowOperatorButtons(!bShowOperatorButtons);\n if (!bShowOperatorButtons) setAnchorEl(evt.currentTarget);\n else setAnchorEl(null);\n }\n\n function navPanelLogoutClick() {\n\n try {\n // eslint-disable-next-line no-console\n console.log(`--> navPanelLogoutClick clicked`);\n // Commenting out until revokeToken API is available\n // pConn.getActionsApi().logout().then(() => {\n // // eslint-disable-next-line no-console\n // console.log(`logout completed`);\n // },\n // error => {\n // // eslint-disable-next-line no-console\n // console.error(`onRejected function called: ${error.message}`);\n // })\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log(`--> Attempt to call logout api failed: ${err}`);\n }\n finally {\n // authLogout();\n logout();\n }\n }\n\n // const theCaseTypeButtons = caseTypes.map((caseType) => <div style={{display: \"flex\"}}>\n // <button className=\"btn btn-link text-white\"\n // onClick={() => { navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}}>{caseType.pyLabel}</button></div>\n // );\n\n // const theOperatorButtons = <button className=\"btn btn-link text-white\" style={{marginLeft: \"-0.05rem\"}} onClick={navPanelLogoutClick}>Logoff</button>;\n\n\n // return <div id=\"NavBar\" style={{border: \"solid 1px silver\", margin: \"1px\"}} >\n // NavBar for <strong>{appName}</strong>\n // <br></br>\n // caseTypes:\n // <ul>\n // {caseTypesMap}\n // </ul>\n // Pages:\n // <ul>\n // {pagesMap}\n // </ul>\n // </div>;\n\n\n const handleDrawerOpen = () => {\n setOpen(!open);\n };\n\n const handleCaseItemClick = () => {\n if (!open) {\n setOpen(true);\n setBShowCaseTypes(true);\n } else setBShowCaseTypes(!bShowCaseTypes);\n }\n\n// const handlePopoverOpen = (event) => {\n// setAnchorEl(event.currentTarget);\n// };\n\n // const handlePopoverClose = () => {\n // setAnchorEl(null);\n // };\n\n\n useEffect(() => {\n if (!isDesktop) setOpen(false);\n else setOpen(true);\n }, [isDesktop])\n\n\n return (\n <Drawer\n variant=\"permanent\"\n classes={{\n paper: clsx(classes.drawerPaper, !open && classes.drawerPaperClose),\n }}\n open={open && isDesktop}\n >\n {\n open ? (\n <List className={classes.appListItem}>\n <ListItem onClick={handleDrawerOpen}>\n <ListItemIcon>\n <img src={portalLogoImage} className={classes.appListLogo}/>\n </ListItemIcon>\n <ListItemText\n primary={<Typography variant=\"h6\">{portalApp}</Typography>}\n />\n <ListItemSecondaryAction>\n <IconButton edge=\"end\" onClick={handleDrawerOpen}>\n <ChevronLeftIcon className={classes.appListIcon} />\n </IconButton>\n </ListItemSecondaryAction>\n </ListItem>\n </List>\n ) : (\n <div className={classes.appListDiv} onClick={handleDrawerOpen} >\n <ChevronRightIcon className={classes.appListIcon} id=\"chevron-right-icon\" fontSize=\"large\" />\n </div>\n )\n }\n <List>\n <ListItem button onClick={handleCaseItemClick}>\n <ListItemIcon>\n {\n bShowCaseTypes && open ? <ClearOutlinedIcon fontSize=\"large\" /> : <AddIcon fontSize=\"large\" />\n }\n </ListItemIcon>\n <ListItemText primary=\"Create\" />\n {bShowCaseTypes ? <ExpandLess /> : <ExpandMore />}\n </ListItem>\n </List>\n <Collapse in={bShowCaseTypes && open} timeout=\"auto\" unmountOnExit className='scrollable'>\n <List component=\"div\" disablePadding>\n {\n caseTypes.map(caseType => (\n <ListItem\n button\n className={classes.nested}\n onClick={() => navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}\n key={caseType.pyLabel}\n >\n <ListItemIcon>\n <WorkOutlineIcon fontSize=\"large\" />\n </ListItemIcon>\n <ListItemText primary={caseType.pyLabel} />\n </ListItem>\n ))\n }\n </List>\n </Collapse>\n <List>\n {\n navPages.map(page => (\n <ListItem\n button\n onClick={() => navPanelButtonClick(page)}\n key={page.pyLabel}\n >\n <ListItemIcon>\n {iconMap[page.pxPageViewIcon]}\n </ListItemIcon>\n <ListItemText primary={page.pyLabel} />\n </ListItem>\n ))\n }\n </List>\n <Divider />\n <List className='marginTopAuto'>\n <>\n <ListItem onClick={navPanelOperatorButtonClick}>\n <ListItemIcon>\n <PersonOutlineIcon fontSize=\"large\" />\n </ListItemIcon>\n <ListItemText primary={portalOperator} />\n {\n open && (\n <ListItemSecondaryAction>\n <IconButton edge=\"end\" onClick={navPanelOperatorButtonClick}>\n <ChevronRightIcon/>\n </IconButton>\n </ListItemSecondaryAction>\n )\n }\n\n </ListItem>\n <Menu\n anchorEl={anchorEl}\n keepMounted={bShowOperatorButtons}\n open={bShowOperatorButtons}\n onClick={navPanelOperatorButtonClick}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n >\n <MenuItem onClick={navPanelLogoutClick}>\n <ListItemIcon>\n <ArrowBackIcon fontSize=\"large\" />\n </ListItemIcon>\n <Typography variant=\"inherit\">Logout</Typography>\n </MenuItem>\n </Menu>\n </>\n </List>\n </Drawer>\n );\n}\n\nNavBar.defaultProps = {\n pConn: null,\n appName: \"\",\n pages: [],\n caseTypes: [],\n};\n\nNavBar.propTypes = {\n pConn: PropTypes.object,\n // eslint-disable-next-line react/no-unused-prop-types\n appName: PropTypes.string,\n pages: PropTypes.arrayOf(PropTypes.object),\n caseTypes: PropTypes.arrayOf(PropTypes.object)\n};\n"]}
@@ -2,7 +2,7 @@ import React, { useState, useEffect } from "react";
2
2
  import PropTypes from "prop-types";
3
3
  import { makeStyles } from '@material-ui/core/styles';
4
4
  import Tabs from '@material-ui/core/Tabs';
5
- import LeftAlignVerticalTab from '../LeftAlignVerticalTabs/LeftAlignVerticalTabs';
5
+ import LeftAlignVerticalTab from '../LeftAlignVerticalTabs';
6
6
  // The MuiTabs-indicator class is in a span whose parent is div (under the Tabs root component)
7
7
  // So, we're going to make the selected vertical tab indicator use a color from our theme.
8
8
  const useStyles = makeStyles((theme) => ({