@pega/react-sdk-components 0.242.7 → 0.242.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/field/CancelAlert/CancelAlert.js +1 -1
- package/lib/components/field/CancelAlert/CancelAlert.js.map +1 -1
- package/lib/components/field/Currency/Currency.js +1 -1
- package/lib/components/field/Currency/Currency.js.map +1 -1
- package/lib/components/field/Decimal/Decimal.js +1 -1
- package/lib/components/field/Decimal/Decimal.js.map +1 -1
- package/lib/components/field/Percentage/Percentage.js +1 -1
- package/lib/components/field/Percentage/Percentage.js.map +1 -1
- package/lib/components/field/ScalarList/ScalarList.d.ts.map +1 -1
- package/lib/components/field/ScalarList/ScalarList.js +3 -1
- package/lib/components/field/ScalarList/ScalarList.js.map +1 -1
- package/lib/components/helpers/formatters/common.d.ts +2 -2
- package/lib/components/helpers/formatters/common.d.ts.map +1 -1
- package/lib/components/helpers/simpleTableHelpers.d.ts +1 -1
- package/lib/components/infra/Assignment/Assignment.js +2 -2
- package/lib/components/infra/Assignment/Assignment.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.d.ts.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js +7 -2
- package/lib/components/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.js.map +1 -1
- package/lib/components/infra/Containers/helpers.d.ts +1 -1
- package/lib/components/infra/Containers/helpers.d.ts.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.js +2 -2
- package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.js +1 -1
- package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
- package/lib/components/template/AppShell/AppShell.js +6 -6
- package/lib/components/template/AppShell/AppShell.js.map +1 -1
- package/lib/components/template/Confirmation/Confirmation.js +1 -1
- package/lib/components/template/Confirmation/Confirmation.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts +2 -0
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +20 -2
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/lib/components/widget/Attachment/Attachment.css +1 -0
- package/lib/components/widget/Attachment/Attachment.js +2 -2
- package/lib/components/widget/Attachment/Attachment.js.map +1 -1
- package/lib/components/widget/ToDo/ToDo.js +1 -1
- package/lib/components/widget/ToDo/ToDo.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Containers/helpers.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/Containers/helpers.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,sBAAsB,wCAIlC,CAAC"}
|
|
@@ -49,8 +49,8 @@ export default function DeferLoad(props) {
|
|
|
49
49
|
const getViewOptions = () => ({
|
|
50
50
|
viewContext: resourceType,
|
|
51
51
|
pageClass: loadViewCaseID ? '' : pConnect.getDataObject('').pyPortal.classID,
|
|
52
|
-
container: isContainerPreview ? 'preview' :
|
|
53
|
-
containerName: isContainerPreview ? 'preview' :
|
|
52
|
+
container: isContainerPreview ? 'preview' : undefined,
|
|
53
|
+
containerName: isContainerPreview ? 'preview' : undefined,
|
|
54
54
|
updateData: isContainerPreview
|
|
55
55
|
});
|
|
56
56
|
const onResponse = data => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeferLoad.js","sourceRoot":"","sources":["../../../../src/components/infra/DeferLoad/DeferLoad.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, createElement } from 'react';\nimport { Box, Card, CircularProgress } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\n\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface DeferLoadProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n name: string;\n isChildDeferLoad?: boolean;\n isTab: boolean;\n deferLoadId: string;\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n }\n}));\n\nexport default function DeferLoad(props: DeferLoadProps) {\n const { getPConnect, name, deferLoadId, isTab } = props;\n const [content, setContent] = useState<any>(null);\n const [isLoading, setLoading] = useState(true);\n const [currentLoadedAssignment, setCurrentLoadedAssignment] = useState('');\n\n const classes = useStyles();\n\n const pConnect = getPConnect();\n const constants = PCore.getConstants();\n\n const theRequestedAssignment = pConnect.getValue(PCore.getConstants().CASE_INFO.ASSIGNMENT_LABEL, ''); // 2nd arg empty string until typedef allows optional\n if (theRequestedAssignment !== currentLoadedAssignment) {\n // console.log(`DeferLoad: currentLoadedAssignment about to change from ${currentLoadedAssignment} to ${theRequestedAssignment}`);\n setCurrentLoadedAssignment(theRequestedAssignment);\n }\n\n const { CASE, PAGE, DATA } = constants.RESOURCE_TYPES;\n const loadViewCaseID = pConnect.getValue(constants.PZINSKEY, '') || pConnect.getValue(constants.CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef allows optional\n let containerName;\n let containerItemData;\n const targetName = pConnect.getTarget();\n if (targetName) {\n containerName = PCore.getContainerUtils().getActiveContainerItemName(targetName);\n\n containerItemData = PCore.getContainerUtils().getContainerItemData(targetName, containerName);\n }\n\n const { resourceType = CASE } = containerItemData || {\n resourceType: loadViewCaseID ? CASE : PAGE\n };\n const isContainerPreview = /preview_[0-9]*/g.test(pConnect.getContextName());\n\n const getViewOptions = () => ({\n viewContext: resourceType,\n pageClass: loadViewCaseID ? '' : (pConnect.getDataObject('') as any).pyPortal.classID, // 2nd arg empty string until typedef allows optional\n container: isContainerPreview ? 'preview' : null,\n containerName: isContainerPreview ? 'preview' : null,\n updateData: isContainerPreview\n });\n\n const onResponse = data => {\n setLoading(false);\n if (deferLoadId) {\n PCore.getDeferLoadManager().start(\n name,\n getPConnect().getCaseInfo().getKey(),\n getPConnect().getPageReference().replace('caseInfo.content', ''),\n getPConnect().getContextName(),\n deferLoadId\n );\n }\n\n if (data && !(data.type && data.type === 'error')) {\n const config = {\n meta: data,\n options: {\n context: pConnect.getContextName(),\n pageReference: pConnect.getPageReference()\n }\n };\n const configObject = PCore.createPConnect(config);\n configObject.getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');\n setContent(createElement(createPConnectComponent(), configObject));\n if (deferLoadId) {\n PCore.getDeferLoadManager().stop(deferLoadId, getPConnect().getContextName());\n }\n }\n };\n\n useEffect(() => {\n if (resourceType === DATA) {\n // Rendering defer loaded tabs in data context\n if (containerName) {\n const dataContext = PCore.getStoreValue('.dataContext', 'dataInfo', containerName);\n const dataContextParameters = PCore.getStoreValue('.dataContextParameters', 'dataInfo', containerName);\n\n getPConnect()\n .getActionsApi()\n .showData(name, dataContext, dataContextParameters, {\n // @ts-ignore - Type 'boolean' is not assignable to type 'string'\n skipSemanticUrl: true,\n // @ts-ignore\n isDeferLoaded: true\n })\n .then(data => {\n onResponse(data);\n });\n } else {\n // eslint-disable-next-line no-console\n console.error('Cannot load the defer loaded view without container information');\n }\n } else if (resourceType === PAGE) {\n // Rendering defer loaded tabs in case/ page context\n getPConnect()\n .getActionsApi()\n .loadView(encodeURI(loadViewCaseID), name, getViewOptions())\n .then(data => {\n onResponse(data);\n });\n } else {\n getPConnect()\n .getActionsApi()\n .refreshCaseView(encodeURI(loadViewCaseID), name, '') // 3rd arg empty string until typedef allows optional\n .then((data: any) => {\n onResponse(data.root);\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.log(`deferload: ${error}`);\n });\n }\n }, [name, getPConnect, currentLoadedAssignment]);\n /* TODO Cosmos need to handle for now added a wrapper div with pos relative */\n let deferLoadContent;\n if (isLoading) {\n deferLoadContent = (\n <div style={{ position: 'relative', height: '100px' }}>\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n </div>\n );\n } else {\n deferLoadContent = !isTab ? (\n <div className={classes.root}>{content}</div>\n ) : (\n <Card id='DeferLoad' className={classes.root}>\n <>{content}</>\n </Card>\n );\n }\n\n return deferLoadContent;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DeferLoad.js","sourceRoot":"","sources":["../../../../src/components/infra/DeferLoad/DeferLoad.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, createElement } from 'react';\nimport { Box, Card, CircularProgress } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\n\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface DeferLoadProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n name: string;\n isChildDeferLoad?: boolean;\n isTab: boolean;\n deferLoadId: string;\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n }\n}));\n\nexport default function DeferLoad(props: DeferLoadProps) {\n const { getPConnect, name, deferLoadId, isTab } = props;\n const [content, setContent] = useState<any>(null);\n const [isLoading, setLoading] = useState(true);\n const [currentLoadedAssignment, setCurrentLoadedAssignment] = useState('');\n\n const classes = useStyles();\n\n const pConnect = getPConnect();\n const constants = PCore.getConstants();\n\n const theRequestedAssignment = pConnect.getValue(PCore.getConstants().CASE_INFO.ASSIGNMENT_LABEL, ''); // 2nd arg empty string until typedef allows optional\n if (theRequestedAssignment !== currentLoadedAssignment) {\n // console.log(`DeferLoad: currentLoadedAssignment about to change from ${currentLoadedAssignment} to ${theRequestedAssignment}`);\n setCurrentLoadedAssignment(theRequestedAssignment);\n }\n\n const { CASE, PAGE, DATA } = constants.RESOURCE_TYPES;\n const loadViewCaseID = pConnect.getValue(constants.PZINSKEY, '') || pConnect.getValue(constants.CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef allows optional\n let containerName;\n let containerItemData;\n const targetName = pConnect.getTarget();\n if (targetName) {\n containerName = PCore.getContainerUtils().getActiveContainerItemName(targetName);\n\n containerItemData = PCore.getContainerUtils().getContainerItemData(targetName, containerName);\n }\n\n const { resourceType = CASE } = containerItemData || {\n resourceType: loadViewCaseID ? CASE : PAGE\n };\n const isContainerPreview = /preview_[0-9]*/g.test(pConnect.getContextName());\n\n const getViewOptions = () => ({\n viewContext: resourceType,\n pageClass: loadViewCaseID ? '' : (pConnect.getDataObject('') as any).pyPortal.classID, // 2nd arg empty string until typedef allows optional\n container: isContainerPreview ? 'preview' : undefined,\n containerName: isContainerPreview ? 'preview' : undefined,\n updateData: isContainerPreview\n });\n\n const onResponse = data => {\n setLoading(false);\n if (deferLoadId) {\n PCore.getDeferLoadManager().start(\n name,\n getPConnect().getCaseInfo().getKey(),\n getPConnect().getPageReference().replace('caseInfo.content', ''),\n getPConnect().getContextName(),\n deferLoadId\n );\n }\n\n if (data && !(data.type && data.type === 'error')) {\n const config = {\n meta: data,\n options: {\n context: pConnect.getContextName(),\n pageReference: pConnect.getPageReference()\n }\n };\n const configObject = PCore.createPConnect(config);\n configObject.getPConnect().setInheritedProp('displayMode', 'DISPLAY_ONLY');\n setContent(createElement(createPConnectComponent(), configObject));\n if (deferLoadId) {\n PCore.getDeferLoadManager().stop(deferLoadId, getPConnect().getContextName());\n }\n }\n };\n\n useEffect(() => {\n if (resourceType === DATA) {\n // Rendering defer loaded tabs in data context\n if (containerName) {\n const dataContext = PCore.getStoreValue('.dataContext', 'dataInfo', containerName);\n const dataContextParameters = PCore.getStoreValue('.dataContextParameters', 'dataInfo', containerName);\n\n getPConnect()\n .getActionsApi()\n .showData(name, dataContext, dataContextParameters, {\n // @ts-ignore - Type 'boolean' is not assignable to type 'string'\n skipSemanticUrl: true,\n // @ts-ignore\n isDeferLoaded: true\n })\n .then(data => {\n onResponse(data);\n });\n } else {\n // eslint-disable-next-line no-console\n console.error('Cannot load the defer loaded view without container information');\n }\n } else if (resourceType === PAGE) {\n // Rendering defer loaded tabs in case/ page context\n getPConnect()\n .getActionsApi()\n .loadView(encodeURI(loadViewCaseID), name, getViewOptions())\n .then(data => {\n onResponse(data);\n });\n } else {\n getPConnect()\n .getActionsApi()\n .refreshCaseView(encodeURI(loadViewCaseID), name, '') // 3rd arg empty string until typedef allows optional\n .then((data: any) => {\n onResponse(data.root);\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.log(`deferload: ${error}`);\n });\n }\n }, [name, getPConnect, currentLoadedAssignment]);\n /* TODO Cosmos need to handle for now added a wrapper div with pos relative */\n let deferLoadContent;\n if (isLoading) {\n deferLoadContent = (\n <div style={{ position: 'relative', height: '100px' }}>\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n </div>\n );\n } else {\n deferLoadContent = !isTab ? (\n <div className={classes.root}>{content}</div>\n ) : (\n <Card id='DeferLoad' className={classes.root}>\n <>{content}</>\n </Card>\n );\n }\n\n return deferLoadContent;\n}\n"]}
|
|
@@ -132,7 +132,7 @@ export default function RootContainer(props) {
|
|
|
132
132
|
context: items[0].context
|
|
133
133
|
}
|
|
134
134
|
};
|
|
135
|
-
if (!PCore.isDeepEqual(currentRootConfig, prevRootConfig)) {
|
|
135
|
+
if (prevRootConfig && !PCore.isDeepEqual(currentRootConfig, prevRootConfig)) {
|
|
136
136
|
rootView.current = createElement(createPConnectComponent(), PCore.createPConnect(currentRootConfig));
|
|
137
137
|
}
|
|
138
138
|
// debugging/investigation help
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootContainer.js","sourceRoot":"","sources":["../../../../src/components/infra/RootContainer/RootContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Children, createElement, PropsWithChildren, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { Box, CircularProgress } from '@mui/material';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\nimport StoreContext from '../../../bridge/Context/StoreContext';\nimport { LazyMap as LazyComponentMap } from '../../../components_map';\nimport { isEmptyObject } from '../../helpers/common-utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface RootContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n renderingMode?: string;\n routingInfo: { type: string; accessedOrder: any[]; items: any };\n skeleton: any;\n httpMessages: any[];\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst renderingModes = ['portal', 'view'];\n\nfunction usePrevious(value) {\n const ref = useRef(null);\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nfunction getItemView(routingInfo, renderingMode) {\n const viewConfigs: any = [];\n if (routingInfo && renderingModes.includes(renderingMode)) {\n const { accessedOrder, items }: { accessedOrder: any; items: any } = routingInfo;\n if (accessedOrder && items) {\n const key = accessedOrder[accessedOrder.length - 1];\n if (items[key] && items[key].view && !isEmptyObject(items[key].view)) {\n viewConfigs.push(items[key]);\n }\n }\n }\n return viewConfigs;\n}\n\nexport default function RootContainer(props: PropsWithChildren<RootContainerProps>) {\n const { getPConnect, renderingMode = '', children, skeleton, httpMessages = [], routingInfo } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n\n const pConn = getPConnect();\n\n const options = { context: 'app' };\n const rootView = useRef(null);\n\n const [componentName, setComponentName] = useState('');\n\n useEffect(() => {\n // debugging/investigation help\n // console.log(`componentName change: ${componentName} triggering a re-render`);\n }, [componentName]);\n\n // debugging/investigation help\n // console.log(`RootContainer props.routingInfo: ${JSON.stringify(routingInfo)}`);\n\n let hasBanner = false;\n let banners: any = null;\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Messages';\n\n const messages = httpMessages ? httpMessages.map(msg => localizedVal(msg.message, localeCategory)) : httpMessages;\n\n hasBanner = messages && messages.length > 0;\n banners = hasBanner && <div>{localizedVal(`RootContainer: trying to emit Banner with ${messages}`, localeCategory)}</div>;\n\n const MemoizedModalViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'ModalViewContainer',\n config: {\n name: 'modal'\n }\n },\n options\n })\n );\n }, []);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const MemoizedPreviewViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'PreviewViewContainer',\n config: {\n name: 'preview'\n }\n },\n options\n })\n );\n }, []);\n\n //\n function getNoPortalContent() {\n let noPortalContent: any;\n\n switch (componentName) {\n case 'View':\n noPortalContent = <div>{localizedVal('getNoPortalContent: RootContainer wants to render View in noPortal mode', localeCategory)}</div>;\n break;\n\n case 'ViewContainer': {\n const configProps = pConn.getConfigProps();\n const viewContConfig = {\n meta: {\n type: 'ViewContainer',\n config: configProps\n },\n options\n };\n const theViewCont: any = PCore.createPConnect(viewContConfig);\n // Add in displayOnlyFA if prop is on RootContainer\n if (displayOnlyFA) {\n theViewCont.displayOnlyFA = true;\n }\n\n const theViewContainerAsReact = createElement(createPConnectComponent(), theViewCont);\n\n noPortalContent = theViewContainerAsReact;\n break;\n }\n\n default:\n noPortalContent = (\n <div>{localizedVal('getNoPortalContent: RootContainer wants to render NO componentName in noPortal mode', localeCategory)}</div>\n );\n break;\n }\n\n return noPortalContent;\n }\n\n let rootViewConfig: any = null;\n\n useEffect(() => {\n const { containers } = PCore.getStore().getState();\n const items = Object.keys(containers).filter(item => item.includes('root'));\n (PCore.getContainerUtils().getContainerAPI() as any).addContainerItems(items);\n }, [routingInfo]);\n\n const items: any = getItemView(routingInfo, renderingMode);\n\n if (items.length > 0) {\n rootViewConfig = {\n meta: items[0].view,\n options: {\n context: items[0].context\n }\n };\n }\n const prevRootConfig = usePrevious(rootViewConfig);\n\n if (renderingModes.includes(renderingMode) && messages && routingInfo && routingInfo?.accessedOrder.length === 0) {\n return <div id='root-container'>{banners}</div>;\n }\n\n if (items.length > 0) {\n const itemView = items[0].view;\n const currentRootConfig = {\n meta: itemView,\n options: {\n context: items[0].context\n }\n };\n\n if (!PCore.isDeepEqual(currentRootConfig, prevRootConfig)) {\n rootView.current = createElement(createPConnectComponent(), PCore.createPConnect(currentRootConfig)) as any;\n }\n\n // debugging/investigation help\n // console.log(`rootView.props.getPConnect().getComponentName(): ${rootView.props.getPConnect().getComponentName()}`);\n\n return (\n <div id='ModalManager'>\n {rootView.current}\n {MemoizedModalViewContainer}\n <div id='MemoizedPreviewViewContainer' />\n <div id='ReAuthMessageModal' />\n </div>\n );\n }\n if (renderingMode === 'noPortal') {\n // eslint-disable-next-line no-console\n console.log(`${localizedVal('RootContainer rendering in noPortal mode', localeCategory)}`);\n\n const theChildren = pConn.getChildren() as any[];\n if (theChildren && theChildren.length === 1) {\n const localPConn = theChildren[0].getPConnect();\n const localCompName = localPConn.getComponentName();\n if (componentName !== localCompName) {\n setComponentName(localCompName);\n }\n }\n\n return getNoPortalContent();\n }\n if (children && Children.count(children) > 0) {\n return (\n <>\n <div>{localizedVal('RootContainer: Has children. Trying to show ModalManager with children, etc.', localeCategory)}</div>\n {children}\n {MemoizedModalViewContainer}\n </>\n );\n }\n if (skeleton) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const LoadingComponent = LazyComponentMap[skeleton];\n\n return (\n <div id='root-container'>\n {/* <div>RootContainer: Trying to show skeleton</div> */}\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n </div>\n );\n }\n return (\n <div id='root-container'>\n <div>{localizedVal('RootContainer: Should be ModalManager, etc.', localeCategory)}</div>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RootContainer.js","sourceRoot":"","sources":["../../../../src/components/infra/RootContainer/RootContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Children, createElement, PropsWithChildren, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { Box, CircularProgress } from '@mui/material';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\nimport StoreContext from '../../../bridge/Context/StoreContext';\nimport { LazyMap as LazyComponentMap } from '../../../components_map';\nimport { isEmptyObject } from '../../helpers/common-utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface RootContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n renderingMode?: string;\n routingInfo: { type: string; accessedOrder: any[]; items: any };\n skeleton: any;\n httpMessages: any[];\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst renderingModes = ['portal', 'view'];\n\nfunction usePrevious(value) {\n const ref = useRef(null);\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nfunction getItemView(routingInfo, renderingMode) {\n const viewConfigs: any = [];\n if (routingInfo && renderingModes.includes(renderingMode)) {\n const { accessedOrder, items }: { accessedOrder: any; items: any } = routingInfo;\n if (accessedOrder && items) {\n const key = accessedOrder[accessedOrder.length - 1];\n if (items[key] && items[key].view && !isEmptyObject(items[key].view)) {\n viewConfigs.push(items[key]);\n }\n }\n }\n return viewConfigs;\n}\n\nexport default function RootContainer(props: PropsWithChildren<RootContainerProps>) {\n const { getPConnect, renderingMode = '', children, skeleton, httpMessages = [], routingInfo } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n\n const pConn = getPConnect();\n\n const options = { context: 'app' };\n const rootView = useRef(null);\n\n const [componentName, setComponentName] = useState('');\n\n useEffect(() => {\n // debugging/investigation help\n // console.log(`componentName change: ${componentName} triggering a re-render`);\n }, [componentName]);\n\n // debugging/investigation help\n // console.log(`RootContainer props.routingInfo: ${JSON.stringify(routingInfo)}`);\n\n let hasBanner = false;\n let banners: any = null;\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Messages';\n\n const messages = httpMessages ? httpMessages.map(msg => localizedVal(msg.message, localeCategory)) : httpMessages;\n\n hasBanner = messages && messages.length > 0;\n banners = hasBanner && <div>{localizedVal(`RootContainer: trying to emit Banner with ${messages}`, localeCategory)}</div>;\n\n const MemoizedModalViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'ModalViewContainer',\n config: {\n name: 'modal'\n }\n },\n options\n })\n );\n }, []);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const MemoizedPreviewViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'PreviewViewContainer',\n config: {\n name: 'preview'\n }\n },\n options\n })\n );\n }, []);\n\n //\n function getNoPortalContent() {\n let noPortalContent: any;\n\n switch (componentName) {\n case 'View':\n noPortalContent = <div>{localizedVal('getNoPortalContent: RootContainer wants to render View in noPortal mode', localeCategory)}</div>;\n break;\n\n case 'ViewContainer': {\n const configProps = pConn.getConfigProps();\n const viewContConfig = {\n meta: {\n type: 'ViewContainer',\n config: configProps\n },\n options\n };\n const theViewCont: any = PCore.createPConnect(viewContConfig);\n // Add in displayOnlyFA if prop is on RootContainer\n if (displayOnlyFA) {\n theViewCont.displayOnlyFA = true;\n }\n\n const theViewContainerAsReact = createElement(createPConnectComponent(), theViewCont);\n\n noPortalContent = theViewContainerAsReact;\n break;\n }\n\n default:\n noPortalContent = (\n <div>{localizedVal('getNoPortalContent: RootContainer wants to render NO componentName in noPortal mode', localeCategory)}</div>\n );\n break;\n }\n\n return noPortalContent;\n }\n\n let rootViewConfig: any = null;\n\n useEffect(() => {\n const { containers } = PCore.getStore().getState();\n const items = Object.keys(containers).filter(item => item.includes('root'));\n (PCore.getContainerUtils().getContainerAPI() as any).addContainerItems(items);\n }, [routingInfo]);\n\n const items: any = getItemView(routingInfo, renderingMode);\n\n if (items.length > 0) {\n rootViewConfig = {\n meta: items[0].view,\n options: {\n context: items[0].context\n }\n };\n }\n const prevRootConfig = usePrevious(rootViewConfig);\n\n if (renderingModes.includes(renderingMode) && messages && routingInfo && routingInfo?.accessedOrder.length === 0) {\n return <div id='root-container'>{banners}</div>;\n }\n\n if (items.length > 0) {\n const itemView = items[0].view;\n const currentRootConfig = {\n meta: itemView,\n options: {\n context: items[0].context\n }\n };\n\n if (prevRootConfig && !PCore.isDeepEqual(currentRootConfig, prevRootConfig)) {\n rootView.current = createElement(createPConnectComponent(), PCore.createPConnect(currentRootConfig)) as any;\n }\n\n // debugging/investigation help\n // console.log(`rootView.props.getPConnect().getComponentName(): ${rootView.props.getPConnect().getComponentName()}`);\n\n return (\n <div id='ModalManager'>\n {rootView.current}\n {MemoizedModalViewContainer}\n <div id='MemoizedPreviewViewContainer' />\n <div id='ReAuthMessageModal' />\n </div>\n );\n }\n if (renderingMode === 'noPortal') {\n // eslint-disable-next-line no-console\n console.log(`${localizedVal('RootContainer rendering in noPortal mode', localeCategory)}`);\n\n const theChildren = pConn.getChildren() as any[];\n if (theChildren && theChildren.length === 1) {\n const localPConn = theChildren[0].getPConnect();\n const localCompName = localPConn.getComponentName();\n if (componentName !== localCompName) {\n setComponentName(localCompName);\n }\n }\n\n return getNoPortalContent();\n }\n if (children && Children.count(children) > 0) {\n return (\n <>\n <div>{localizedVal('RootContainer: Has children. Trying to show ModalManager with children, etc.', localeCategory)}</div>\n {children}\n {MemoizedModalViewContainer}\n </>\n );\n }\n if (skeleton) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const LoadingComponent = LazyComponentMap[skeleton];\n\n return (\n <div id='root-container'>\n {/* <div>RootContainer: Trying to show skeleton</div> */}\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n </div>\n );\n }\n return (\n <div id='root-container'>\n <div>{localizedVal('RootContainer: Should be ModalManager, etc.', localeCategory)}</div>\n </div>\n );\n}\n"]}
|
|
@@ -36,7 +36,7 @@ export default function AppShell(props) {
|
|
|
36
36
|
const pConn = getPConnect();
|
|
37
37
|
const envInfo = PCore.getEnvironmentInfo();
|
|
38
38
|
const imageKey = envInfo.getOperatorImageInsKey();
|
|
39
|
-
const userName = envInfo.getOperatorName();
|
|
39
|
+
const userName = envInfo.getOperatorName() || '';
|
|
40
40
|
const currentUserInitials = Utils.getInitials(userName);
|
|
41
41
|
const appNameToDisplay = showAppName ? envInfo.getApplicationLabel() : '';
|
|
42
42
|
const portalClass = pConn.getValue('.classID', ''); // 2nd arg empty string until typedef marked correctly
|
|
@@ -57,7 +57,7 @@ export default function AppShell(props) {
|
|
|
57
57
|
banners = hasBanner && (_jsx("div", { style: { display: 'flex', flexDirection: 'column', padding: '1em 0' }, children: _jsx(AlertBanner, { id: 'AppShell', variant: 'urgent', messages: messages }) }));
|
|
58
58
|
// Initial setting of appName and mapChildren
|
|
59
59
|
useEffect(() => {
|
|
60
|
-
setAppName(PCore.getEnvironmentInfo().getApplicationName());
|
|
60
|
+
setAppName(PCore.getEnvironmentInfo().getApplicationName() || '');
|
|
61
61
|
const tempMap = pConn.getChildren()?.map((child, index) => {
|
|
62
62
|
const theChildComp = child.getPConnect().getComponentName();
|
|
63
63
|
const theKey = `.${index}`;
|
|
@@ -74,7 +74,7 @@ export default function AppShell(props) {
|
|
|
74
74
|
.getPageDataAsync(caseTypesAvailableToCreateDP, pConn.getContextName(), {
|
|
75
75
|
PortalName: portalID
|
|
76
76
|
})
|
|
77
|
-
.then(response => {
|
|
77
|
+
.then((response) => {
|
|
78
78
|
if (response?.pyCaseTypesAvailableToCreate) {
|
|
79
79
|
pConn.replaceState('.pyCaseTypesAvailableToCreate', response.pyCaseTypesAvailableToCreate, {
|
|
80
80
|
skipDirtyValidation: true
|
|
@@ -151,9 +151,9 @@ export default function AppShell(props) {
|
|
|
151
151
|
// console.log(`--> ${mapChildCompNames.map((name) => {return name;})}`);
|
|
152
152
|
}
|
|
153
153
|
if (portalTemplate === 'wss') {
|
|
154
|
-
return (_jsxs("div", { id: 'AppShell', children: [_jsx(WssNavBar, { portalName: portalName, imageSrc: iconURL, fullImageSrc: fullIconURL, appName: localizedVal(appNameToDisplay, '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()), appInfo: {
|
|
154
|
+
return (_jsxs("div", { id: 'AppShell', children: [_jsx(WssNavBar, { portalName: portalName, imageSrc: iconURL, fullImageSrc: fullIconURL, appName: localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()), appInfo: {
|
|
155
155
|
imageSrc: iconURL,
|
|
156
|
-
appName: localizedVal(appNameToDisplay, '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()),
|
|
156
|
+
appName: localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()),
|
|
157
157
|
onClick: links[0] && /* links[0].onClick ? */ links[0].onClick /* : undefined */
|
|
158
158
|
}, navLinks: links.filter((link, index) => {
|
|
159
159
|
return index !== 0;
|
|
@@ -161,6 +161,6 @@ export default function AppShell(props) {
|
|
|
161
161
|
}
|
|
162
162
|
return (
|
|
163
163
|
// eslint-disable-next-line react/jsx-no-constructed-context-values
|
|
164
|
-
_jsx(NavContext.Provider, { value: { open, setOpen }, children: _jsxs("div", { id: 'AppShell', className: classes.root, children: [_jsx(NavBar, { getPConnect: getPConnect, pConn: getPConnect(), appName: localizedVal(appNameToDisplay, '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()), pages: pages, caseTypes: caseTypes }), _jsxs("div", { className: classes.content, children: [banners, children] })] }) }));
|
|
164
|
+
_jsx(NavContext.Provider, { value: { open, setOpen }, children: _jsxs("div", { id: 'AppShell', className: classes.root, children: [_jsx(NavBar, { getPConnect: getPConnect, pConn: getPConnect(), appName: localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()), pages: pages, caseTypes: caseTypes }), _jsxs("div", { className: classes.content, children: [banners, children] })] }) }));
|
|
165
165
|
}
|
|
166
166
|
//# sourceMappingURL=AppShell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { PropsWithChildren, useEffect, useState } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Avatar from '@mui/material/Avatar';\n\nimport { Utils } from '../../helpers/utils';\nimport { NavContext } from '../../helpers/reactContextHelpers';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnProps } from '../../../types/PConnProps';\n\nimport './AppShell.css';\n\ninterface AppShellProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showAppName: boolean;\n pages: {\n pxPageViewIcon: string;\n pyClassName: string;\n pyLabel: string;\n pyRuleName: string;\n pyURLContent: string;\n }[];\n caseTypes?: object[];\n portalTemplate: string;\n portalName: string;\n portalLogo: string;\n navDisplayOptions: { alignment: string; position: string };\n httpMessages: string[];\n pageMessages: string[];\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex'\n },\n content: {\n flexGrow: 1,\n height: '100vh',\n overflow: 'auto',\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n wsscontent: {\n flexGrow: 1,\n height: '100vh',\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1)\n }\n}));\n\nexport default function AppShell(props: PropsWithChildren<AppShellProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const NavBar = getComponentFromMap('NavBar');\n const WssNavBar = getComponentFromMap('WssNavBar');\n const AlertBanner = getComponentFromMap('AlertBanner');\n\n const {\n pages = [],\n caseTypes = [],\n showAppName,\n children = [],\n getPConnect,\n httpMessages = [],\n pageMessages = [],\n portalTemplate,\n portalName,\n portalLogo,\n navDisplayOptions\n } = props;\n\n const [open, setOpen] = useState(true);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [activeTab, setActiveTab] = useState(!pages ? null : pages[0]?.pyRuleName);\n const pConn = getPConnect();\n const envInfo = PCore.getEnvironmentInfo();\n const imageKey = envInfo.getOperatorImageInsKey();\n const userName = envInfo.getOperatorName();\n const currentUserInitials = Utils.getInitials(userName);\n const appNameToDisplay = showAppName ? envInfo.getApplicationLabel() : '';\n const portalClass = pConn.getValue('.classID', ''); // 2nd arg empty string until typedef marked correctly\n const envPortalName = envInfo.getPortalName();\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n\n const classes = useStyles();\n const actionsAPI = pConn.getActionsApi();\n const localeReference = pConn.getValue('.pyLocaleReference', ''); // 2nd arg empty string until typedef marked correctly\n const [imageBlobUrl, setImageBlobUrl] = useState<string | null>(null);\n // useState for appName and mapChildren - note these are ONLY updated once (on component mount!)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [appName, setAppName] = useState('');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [mapChildren, setMapChildren] = useState([]);\n\n const messages = [...httpMessages, ...pageMessages];\n\n const hasBanner = messages && messages.length ? messages.length > 0 : false;\n let banners: any = null;\n banners = hasBanner && (\n <div style={{ display: 'flex', flexDirection: 'column', padding: '1em 0' }}>\n <AlertBanner id='AppShell' variant='urgent' messages={messages} />\n </div>\n );\n // Initial setting of appName and mapChildren\n useEffect(() => {\n setAppName(PCore.getEnvironmentInfo().getApplicationName());\n\n const tempMap: any = (pConn.getChildren() as any)?.map((child: any, index) => {\n const theChildComp = child.getPConnect().getComponentName();\n const theKey = `.${index}`;\n return (\n <div id={theChildComp} key={theKey} style={{ border: 'solid 1px silver', margin: '1px' }}>\n {theChildComp} will be here\n </div>\n );\n });\n\n setMapChildren(tempMap);\n }, []);\n\n useEffect(() => {\n // @ts-ignore\n const caseTypesAvailableToCreateDP = PCore.getEnvironmentInfo().environmentInfoObject?.pxApplication?.pyCaseTypesAvailableToCreateDP;\n if (caseTypesAvailableToCreateDP) {\n const portalID = pConn.getValue('.pyOwner');\n PCore.getDataPageUtils()\n .getPageDataAsync(caseTypesAvailableToCreateDP, pConn.getContextName(), {\n PortalName: portalID\n })\n .then(response => {\n if (response?.pyCaseTypesAvailableToCreate) {\n pConn.replaceState('.pyCaseTypesAvailableToCreate', response.pyCaseTypesAvailableToCreate, {\n skipDirtyValidation: true\n });\n }\n });\n }\n }, []);\n\n const [iconURL, setIconURL] = useState('');\n const [fullIconURL, setFullIconURL] = useState('');\n useEffect(() => {\n // using the default icon then fetch it from the static folder (not auth involved)\n if (\n !portalLogo ||\n portalLogo.toLowerCase().includes('pzpega-logo-mark') ||\n portalLogo.toLowerCase().includes('py-logo') ||\n portalLogo.toLowerCase().includes('py-full-logo')\n ) {\n const portalLogoImage = Utils.getIconPath(Utils.getSDKStaticConentUrl()).concat('pzpega-logo-mark.svg');\n setIconURL(portalLogoImage);\n setFullIconURL(`${Utils.getSDKStaticConentUrl()}static/py-full-logo.svg`);\n }\n // not using default icon to fetch it using the way which uses authentication\n else {\n PCore.getAssetLoader()\n .getSvcImage(portalLogo)\n .then(blob => window.URL.createObjectURL(blob))\n .then(data => {\n setIconURL(data);\n setFullIconURL(data);\n })\n .catch(() => {\n // eslint-disable-next-line no-console\n console.error(`${localizedVal('Unable to load the image for the portal logo/icon with the insName', 'AppShell')}:${portalLogo}`);\n });\n }\n }, [portalLogo]);\n\n useEffect(() => {\n if (imageKey && portalTemplate === 'wss') {\n PCore.getAssetLoader()\n .getSvcImage(imageKey)\n .then(blob => window.URL.createObjectURL(blob))\n .then(imagePath => setImageBlobUrl(imagePath));\n }\n }, []);\n\n const getOperator = () => {\n return {\n avatar: portalTemplate !== 'wss' ? <Avatar /> : { name: userName, imageSrc: imageBlobUrl },\n name: userName,\n currentUserInitials\n };\n };\n\n function showPage(viewName, className) {\n actionsAPI.showPage(viewName, className);\n }\n\n function openURL(URL) {\n window.open(URL, '_blank');\n }\n\n const links = !pages\n ? []\n : pages.map(page => {\n const name = localizedVal(page.pyLabel, '', localeReference);\n return {\n text: name,\n name,\n icon: page.pxPageViewIcon.replace('pi pi-', ''),\n active: page.pyRuleName === activeTab,\n onClick: () => (!page.pyURLContent || page.pyURLContent === '' ? showPage(page.pyRuleName, page.pyClassName) : openURL(page.pyURLContent))\n };\n });\n\n if (pConn.hasChildren()) {\n // const theChildren = pConn.getChildren();\n // const mapChildCompNames = theChildren.map((child) => { return child.getPConnect().getComponentName()});\n // debugging/investigation help\n // console.log(`AppShell has children: ${theChildren.length}`);\n // console.log(`--> ${mapChildCompNames.map((name) => {return name;})}`);\n }\n\n if (portalTemplate === 'wss') {\n return (\n <div id='AppShell'>\n <WssNavBar\n portalName={portalName}\n imageSrc={iconURL}\n fullImageSrc={fullIconURL}\n appName={localizedVal(appNameToDisplay, '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n appInfo={{\n imageSrc: iconURL,\n appName: localizedVal(appNameToDisplay, '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()),\n onClick: links[0] && /* links[0].onClick ? */ links[0].onClick /* : undefined */\n }}\n navLinks={links.filter((link, index) => {\n return index !== 0;\n })}\n operator={getOperator()}\n navDisplayOptions={navDisplayOptions}\n />\n <div className={classes.wsscontent}>\n {banners}\n {children}\n </div>\n </div>\n );\n }\n\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n <NavContext.Provider value={{ open, setOpen }}>\n <div id='AppShell' className={classes.root}>\n <NavBar\n getPConnect={getPConnect}\n pConn={getPConnect()}\n appName={localizedVal(appNameToDisplay, '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n pages={pages}\n caseTypes={caseTypes}\n />\n\n <div className={classes.content}>\n {banners}\n {children}\n </div>\n </div>\n </NavContext.Provider>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../../../../src/components/template/AppShell/AppShell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { PropsWithChildren, useEffect, useState } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Avatar from '@mui/material/Avatar';\n\nimport { Utils } from '../../helpers/utils';\nimport { NavContext } from '../../helpers/reactContextHelpers';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnProps } from '../../../types/PConnProps';\n\nimport './AppShell.css';\n\ninterface AppShellProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n showAppName: boolean;\n pages: {\n pxPageViewIcon: string;\n pyClassName: string;\n pyLabel: string;\n pyRuleName: string;\n pyURLContent: string;\n }[];\n caseTypes?: object[];\n portalTemplate: string;\n portalName: string;\n portalLogo: string;\n navDisplayOptions: { alignment: string; position: string };\n httpMessages: string[];\n pageMessages: string[];\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex'\n },\n content: {\n flexGrow: 1,\n height: '100vh',\n overflow: 'auto',\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n wsscontent: {\n flexGrow: 1,\n height: '100vh',\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1)\n }\n}));\n\nexport default function AppShell(props: PropsWithChildren<AppShellProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const NavBar = getComponentFromMap('NavBar');\n const WssNavBar = getComponentFromMap('WssNavBar');\n const AlertBanner = getComponentFromMap('AlertBanner');\n\n const {\n pages = [],\n caseTypes = [],\n showAppName,\n children = [],\n getPConnect,\n httpMessages = [],\n pageMessages = [],\n portalTemplate,\n portalName,\n portalLogo,\n navDisplayOptions\n } = props;\n\n const [open, setOpen] = useState(true);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [activeTab, setActiveTab] = useState(!pages ? null : pages[0]?.pyRuleName);\n const pConn = getPConnect();\n const envInfo = PCore.getEnvironmentInfo();\n const imageKey = envInfo.getOperatorImageInsKey();\n const userName = envInfo.getOperatorName() || '';\n const currentUserInitials = Utils.getInitials(userName);\n const appNameToDisplay = showAppName ? envInfo.getApplicationLabel() : '';\n const portalClass = pConn.getValue('.classID', ''); // 2nd arg empty string until typedef marked correctly\n const envPortalName = envInfo.getPortalName();\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n\n const classes = useStyles();\n const actionsAPI = pConn.getActionsApi();\n const localeReference = pConn.getValue('.pyLocaleReference', ''); // 2nd arg empty string until typedef marked correctly\n const [imageBlobUrl, setImageBlobUrl] = useState<string | null>(null);\n // useState for appName and mapChildren - note these are ONLY updated once (on component mount!)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [appName, setAppName] = useState('');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [mapChildren, setMapChildren] = useState([]);\n\n const messages = [...httpMessages, ...pageMessages];\n\n const hasBanner = messages && messages.length ? messages.length > 0 : false;\n let banners: any = null;\n banners = hasBanner && (\n <div style={{ display: 'flex', flexDirection: 'column', padding: '1em 0' }}>\n <AlertBanner id='AppShell' variant='urgent' messages={messages} />\n </div>\n );\n // Initial setting of appName and mapChildren\n useEffect(() => {\n setAppName(PCore.getEnvironmentInfo().getApplicationName() || '');\n\n const tempMap: any = (pConn.getChildren() as any)?.map((child: any, index) => {\n const theChildComp = child.getPConnect().getComponentName();\n const theKey = `.${index}`;\n return (\n <div id={theChildComp} key={theKey} style={{ border: 'solid 1px silver', margin: '1px' }}>\n {theChildComp} will be here\n </div>\n );\n });\n\n setMapChildren(tempMap);\n }, []);\n\n useEffect(() => {\n // @ts-ignore\n const caseTypesAvailableToCreateDP = PCore.getEnvironmentInfo().environmentInfoObject?.pxApplication?.pyCaseTypesAvailableToCreateDP;\n if (caseTypesAvailableToCreateDP) {\n const portalID = pConn.getValue('.pyOwner');\n PCore.getDataPageUtils()\n .getPageDataAsync(caseTypesAvailableToCreateDP, pConn.getContextName(), {\n PortalName: portalID\n })\n .then((response: { pyCaseTypesAvailableToCreate?: any }) => {\n if (response?.pyCaseTypesAvailableToCreate) {\n pConn.replaceState('.pyCaseTypesAvailableToCreate', response.pyCaseTypesAvailableToCreate, {\n skipDirtyValidation: true\n });\n }\n });\n }\n }, []);\n\n const [iconURL, setIconURL] = useState('');\n const [fullIconURL, setFullIconURL] = useState('');\n useEffect(() => {\n // using the default icon then fetch it from the static folder (not auth involved)\n if (\n !portalLogo ||\n portalLogo.toLowerCase().includes('pzpega-logo-mark') ||\n portalLogo.toLowerCase().includes('py-logo') ||\n portalLogo.toLowerCase().includes('py-full-logo')\n ) {\n const portalLogoImage = Utils.getIconPath(Utils.getSDKStaticConentUrl()).concat('pzpega-logo-mark.svg');\n setIconURL(portalLogoImage);\n setFullIconURL(`${Utils.getSDKStaticConentUrl()}static/py-full-logo.svg`);\n }\n // not using default icon to fetch it using the way which uses authentication\n else {\n PCore.getAssetLoader()\n .getSvcImage(portalLogo)\n .then(blob => window.URL.createObjectURL(blob))\n .then(data => {\n setIconURL(data);\n setFullIconURL(data);\n })\n .catch(() => {\n // eslint-disable-next-line no-console\n console.error(`${localizedVal('Unable to load the image for the portal logo/icon with the insName', 'AppShell')}:${portalLogo}`);\n });\n }\n }, [portalLogo]);\n\n useEffect(() => {\n if (imageKey && portalTemplate === 'wss') {\n PCore.getAssetLoader()\n .getSvcImage(imageKey)\n .then(blob => window.URL.createObjectURL(blob))\n .then(imagePath => setImageBlobUrl(imagePath));\n }\n }, []);\n\n const getOperator = () => {\n return {\n avatar: portalTemplate !== 'wss' ? <Avatar /> : { name: userName, imageSrc: imageBlobUrl },\n name: userName,\n currentUserInitials\n };\n };\n\n function showPage(viewName, className) {\n actionsAPI.showPage(viewName, className);\n }\n\n function openURL(URL) {\n window.open(URL, '_blank');\n }\n\n const links = !pages\n ? []\n : pages.map(page => {\n const name = localizedVal(page.pyLabel, '', localeReference);\n return {\n text: name,\n name,\n icon: page.pxPageViewIcon.replace('pi pi-', ''),\n active: page.pyRuleName === activeTab,\n onClick: () => (!page.pyURLContent || page.pyURLContent === '' ? showPage(page.pyRuleName, page.pyClassName) : openURL(page.pyURLContent))\n };\n });\n\n if (pConn.hasChildren()) {\n // const theChildren = pConn.getChildren();\n // const mapChildCompNames = theChildren.map((child) => { return child.getPConnect().getComponentName()});\n // debugging/investigation help\n // console.log(`AppShell has children: ${theChildren.length}`);\n // console.log(`--> ${mapChildCompNames.map((name) => {return name;})}`);\n }\n\n if (portalTemplate === 'wss') {\n return (\n <div id='AppShell'>\n <WssNavBar\n portalName={portalName}\n imageSrc={iconURL}\n fullImageSrc={fullIconURL}\n appName={localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n appInfo={{\n imageSrc: iconURL,\n appName: localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase()),\n onClick: links[0] && /* links[0].onClick ? */ links[0].onClick /* : undefined */\n }}\n navLinks={links.filter((link, index) => {\n return index !== 0;\n })}\n operator={getOperator()}\n navDisplayOptions={navDisplayOptions}\n />\n <div className={classes.wsscontent}>\n {banners}\n {children}\n </div>\n </div>\n );\n }\n\n return (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n <NavContext.Provider value={{ open, setOpen }}>\n <div id='AppShell' className={classes.root}>\n <NavBar\n getPConnect={getPConnect}\n pConn={getPConnect()}\n appName={localizedVal(appNameToDisplay || '', '', `${portalClass}!PORTAL!${envPortalName}`.toUpperCase())}\n pages={pages}\n caseTypes={caseTypes}\n />\n\n <div className={classes.content}>\n {banners}\n {children}\n </div>\n </div>\n </NavContext.Provider>\n );\n}\n"]}
|
|
@@ -29,7 +29,7 @@ export default function Confirmation(props) {
|
|
|
29
29
|
// Not using whatsNext at the moment, need to figure out the use of it
|
|
30
30
|
// const whatsNext = datasource?.source;
|
|
31
31
|
// const items = whatsNext.length > 0 ? whatsNext.map(item => item.label) : '';
|
|
32
|
-
const activeContainerItemID = PCore.getContainerUtils().getActiveContainerItemName(getPConnect().getTarget());
|
|
32
|
+
const activeContainerItemID = PCore.getContainerUtils().getActiveContainerItemName(getPConnect().getTarget() || '');
|
|
33
33
|
const rootInfo = PCore.getContainerUtils().getContainerItemData(getPConnect().getTarget(), activeContainerItemID);
|
|
34
34
|
const onConfirmViewClose = () => {
|
|
35
35
|
setShowConfirmView(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Confirmation.js","sourceRoot":"","sources":["../../../../src/components/template/Confirmation/Confirmation.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,OAAO,EAAqB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAWhF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE;QACJ,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/B;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAA2C;IAC9E,8EAA8E;IAC9E,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,6DAA6D;IACvG,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACpC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACzC,sEAAsE;IACtE,sEAAsE;IACtE,wCAAwC;IACxC,+EAA+E;IAC/E,MAAM,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Confirmation.js","sourceRoot":"","sources":["../../../../src/components/template/Confirmation/Confirmation.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-nested-ternary */\nimport { PropsWithChildren, useState } from 'react';\nimport { Button, Card } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport { getToDoAssignments } from '../../infra/Containers/FlowContainer/helpers';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface ConfirmationProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n datasource: { source: any };\n label: string;\n showLabel: boolean;\n showTasks: boolean;\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n }\n}));\n\nexport default function Confirmation(props: PropsWithChildren<ConfirmationProps>) {\n // Get emitted components from map (so we can get any override that may exist)\n const ToDo = getComponentFromMap('Todo'); // NOTE: ConstellationJS Engine uses \"Todo\" and not \"ToDo\"!!!\n const Details = getComponentFromMap('Details');\n\n const classes = useStyles();\n const CONSTS = PCore.getConstants();\n const [showConfirmView, setShowConfirmView] = useState(true);\n const { showTasks, getPConnect } = props;\n // Get the inherited props from the parent to determine label settings\n // Not using whatsNext at the moment, need to figure out the use of it\n // const whatsNext = datasource?.source;\n // const items = whatsNext.length > 0 ? whatsNext.map(item => item.label) : '';\n const activeContainerItemID = PCore.getContainerUtils().getActiveContainerItemName(getPConnect().getTarget() || '');\n const rootInfo = PCore.getContainerUtils().getContainerItemData(getPConnect().getTarget(), activeContainerItemID);\n const onConfirmViewClose = () => {\n setShowConfirmView(false);\n PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CLOSE_CONFIRM_VIEW, rootInfo);\n };\n const todoProps = { ...props, renderTodoInConfirm: true };\n const toDoList = getToDoAssignments(getPConnect());\n const detailProps = { ...props, showLabel: false };\n const showDetails = detailProps?.children?.[0]?.props?.getPConnect()?.getChildren()?.length > 0;\n return showConfirmView ? (\n <Card className={classes.root}>\n <h2 id='confirm-label'>{props.showLabel ? props.label : ''}</h2>\n {showDetails ? <Details {...detailProps} /> : undefined}\n {showTasks ? (\n toDoList && toDoList.length > 0 ? (\n <ToDo {...todoProps} datasource={{ source: toDoList }} getPConnect={getPConnect} type={CONSTS.TODO} headerText='Open Tasks' isConfirm />\n ) : undefined\n ) : undefined}\n <div style={{ display: 'flex', justifyContent: 'flex-end' }}>\n <Button variant='contained' color='primary' onClick={onConfirmViewClose}>\n Done\n </Button>\n </div>\n </Card>\n ) : toDoList && toDoList.length > 0 ? (\n <Card className={classes.root}>\n <ToDo {...props} datasource={{ source: toDoList }} getPConnect={getPConnect} type={CONSTS.TODO} headerText='Tasks' isConfirm />\n </Card>\n ) : null;\n}\n"]}
|
|
@@ -19,6 +19,8 @@ interface SimpleTableManualProps extends PConnProps {
|
|
|
19
19
|
displayMode?: string;
|
|
20
20
|
useSeparateViewForEdit: any;
|
|
21
21
|
viewForEditModal: any;
|
|
22
|
+
validatemessage?: string;
|
|
23
|
+
required?: boolean;
|
|
22
24
|
}
|
|
23
25
|
export default function SimpleTableManual(props: PropsWithChildren<SimpleTableManualProps>): import("react/jsx-runtime").JSX.Element;
|
|
24
26
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTableManual.d.ts","sourceRoot":"","sources":["../../../../../src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,iBAAiB,EAAgD,MAAM,OAAO,CAAC;AA8B/F,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,UAAU,sBAAuB,SAAQ,UAAU;IAEjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,gBAAgB,EAAE,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"SimpleTableManual.d.ts","sourceRoot":"","sources":["../../../../../src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,iBAAiB,EAAgD,MAAM,OAAO,CAAC;AA8B/F,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,UAAU,sBAAuB,SAAQ,UAAU;IAEjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,gBAAgB,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiDD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,2CA6sBzF"}
|
|
@@ -34,6 +34,19 @@ const useStyles = makeStyles(( /* theme */) => ({
|
|
|
34
34
|
label: {
|
|
35
35
|
margin: '8px'
|
|
36
36
|
},
|
|
37
|
+
tableLabel: {
|
|
38
|
+
'&::after': {
|
|
39
|
+
display: 'inline',
|
|
40
|
+
content: '" *"',
|
|
41
|
+
verticalAlign: 'top',
|
|
42
|
+
color: 'var(--app-error-color)'
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
message: {
|
|
46
|
+
margin: '8px',
|
|
47
|
+
color: 'var(--app-error-color)',
|
|
48
|
+
fontSize: '14px'
|
|
49
|
+
},
|
|
37
50
|
header: {
|
|
38
51
|
background: '#f5f5f5'
|
|
39
52
|
},
|
|
@@ -64,7 +77,7 @@ let myRows;
|
|
|
64
77
|
export default function SimpleTableManual(props) {
|
|
65
78
|
const classes = useStyles();
|
|
66
79
|
const { getPConnect, referenceList = [], // if referenceList not in configProps$, default to empy list
|
|
67
|
-
children, renderMode, presets, label: labelProp, showLabel, dataPageName, contextClass, hideAddRow, hideDeleteRow, propertyLabel, fieldMetadata, editMode, addAndEditRowsWithin, viewForAddAndEditModal, editModeConfig, displayMode, useSeparateViewForEdit, viewForEditModal } = props;
|
|
80
|
+
children, renderMode, presets, label: labelProp, showLabel, dataPageName, contextClass, hideAddRow, hideDeleteRow, propertyLabel, fieldMetadata, editMode, addAndEditRowsWithin, viewForAddAndEditModal, editModeConfig, displayMode, useSeparateViewForEdit, viewForEditModal, required, validatemessage } = props;
|
|
68
81
|
const pConn = getPConnect();
|
|
69
82
|
const [rowData, setRowData] = useState([]);
|
|
70
83
|
const [elements, setElementsData] = useState([]);
|
|
@@ -240,6 +253,7 @@ export default function SimpleTableManual(props) {
|
|
|
240
253
|
if (allowEditingInModal && defaultView) {
|
|
241
254
|
pConn
|
|
242
255
|
.getActionsApi()
|
|
256
|
+
// @ts-ignore
|
|
243
257
|
.openEmbeddedDataModal(defaultView, pConn, referenceListStr, referenceList.length, PCore.getConstants().RESOURCE_STATUS.CREATE);
|
|
244
258
|
}
|
|
245
259
|
else {
|
|
@@ -255,6 +269,7 @@ export default function SimpleTableManual(props) {
|
|
|
255
269
|
if (typeof selectedRowIndex.current === 'number') {
|
|
256
270
|
pConn
|
|
257
271
|
.getActionsApi()
|
|
272
|
+
// @ts-ignore
|
|
258
273
|
.openEmbeddedDataModal(bUseSeparateViewForEdit ? editView : defaultView, pConn, referenceListStr, selectedRowIndex.current, PCore.getConstants().RESOURCE_STATUS.UPDATE);
|
|
259
274
|
}
|
|
260
275
|
};
|
|
@@ -304,6 +319,9 @@ export default function SimpleTableManual(props) {
|
|
|
304
319
|
handleRequestSort(event, property);
|
|
305
320
|
};
|
|
306
321
|
function descendingComparator(a, b, orderedBy) {
|
|
322
|
+
if (!orderedBy || (!a[orderedBy] && !b[orderedBy])) {
|
|
323
|
+
return 0;
|
|
324
|
+
}
|
|
307
325
|
if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {
|
|
308
326
|
return -1;
|
|
309
327
|
}
|
|
@@ -460,7 +478,7 @@ export default function SimpleTableManual(props) {
|
|
|
460
478
|
const len = editableMode ? elements.length : rowData.length;
|
|
461
479
|
return len ? (_jsxs("span", { style: { fontSize: '0.9em', opacity: '0.7' }, children: [len, " result", len > 1 ? 's' : ''] })) : null;
|
|
462
480
|
}
|
|
463
|
-
return (_jsxs(_Fragment, { children: [_jsxs(TableContainer, { component: Paper, style: { margin: '4px 0px' }, id: 'simple-table-manual', children: [propsToUse.label && (_jsxs("h3", { className: classes.label
|
|
481
|
+
return (_jsxs(_Fragment, { children: [_jsxs(TableContainer, { component: Paper, style: { margin: '4px 0px' }, id: 'simple-table-manual', children: [propsToUse.label && (_jsxs("h3", { className: `${classes.label} ${required ? classes.tableLabel : ''}`, children: [propsToUse.label, " ", results()] })), validatemessage && _jsx("div", { className: classes.message, children: validatemessage }), _jsxs(Table, { children: [_jsx(TableHead, { className: classes.header, children: _jsx(TableRow, { children: fieldDefs.map((field, index) => {
|
|
464
482
|
return (_jsx(TableCell, { className: classes.tableCell, children: readOnlyMode ? (_jsxs("div", { children: [_jsxs(TableSortLabel, { active: orderBy === displayedColumns[index], direction: orderBy === displayedColumns[index] ? order : 'asc', onClick: createSortHandler(displayedColumns[index]), children: [field.label || '---', _showFilteredIcon(field.name) && _jsx(FilterListIcon, { className: classes.moreIcon }), orderBy === displayedColumns[index] ? (_jsx("span", { className: classes.visuallyHidden, children: order === 'desc' ? 'sorted descending' : 'sorted ascending' })) : null] }), _jsx(MoreIcon, { id: 'menu-icon', className: classes.moreIcon, onClick: event => {
|
|
465
483
|
_menuClick(event, field.name, field.meta.type, field.label);
|
|
466
484
|
} })] })) : (field.label) }, `head-${displayedColumns[index]}`));
|