@pega/react-sdk-components 0.23.21 → 0.23.22
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/Currency/Currency.d.ts.map +1 -1
- package/lib/components/field/Currency/Currency.js +2 -1
- package/lib/components/field/Currency/Currency.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +3 -2
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Currency.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Currency/Currency.tsx"],"names":[],"mappings":";AAUA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,KAAA,
|
|
1
|
+
{"version":3,"file":"Currency.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Currency/Currency.tsx"],"names":[],"mappings":";AAUA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,KAAA,eAwGrC"}
|
|
@@ -46,10 +46,11 @@ export default function Currency(props) {
|
|
|
46
46
|
if (displayMode === 'STACKED_LARGE_VAL') {
|
|
47
47
|
return React.createElement(FieldValueList, { name: hideLabel ? '' : label, value: formattedValue, variant: 'stacked' });
|
|
48
48
|
}
|
|
49
|
+
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
|
|
49
50
|
function currOnChange(event, inValue) {
|
|
50
51
|
// console.log(`Currency currOnChange inValue: ${inValue}`);
|
|
51
52
|
// update internal value
|
|
52
|
-
setCurrValue(
|
|
53
|
+
setCurrValue(event?.target?.value);
|
|
53
54
|
}
|
|
54
55
|
function currOnBlur(event, inValue) {
|
|
55
56
|
// console.log(`Currency currOnBlur inValue: ${inValue}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Currency.js","sourceRoot":"","sources":["../../../../src/components/field/Currency/Currency.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,iDAAiD;AACjD,OAAO,iBAAiB,MAAM,wCAAwC,CAAC;AACvE,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,+EAA+E;AAE/E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK;IACpC,MAAM,EACJ,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,eAAe,EACf,MAAM;IACN,uBAAuB;IACvB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,eAAe,GAAG,KAAK,EACxB,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;IAC7C,MAAM,mBAAmB,GAAG,eAAe,IAAI,UAAU,CAAC;IAE1D,4DAA4D;IAE5D,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC,8BAA8B;IAErD,IAAI,QAAQ,EAAE;QACZ,YAAY,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACnC;IAED,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,QAAQ,GAAG;QACT,cAAc,EAAE,MAAM;KACvB,CAAC;IAEF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAE,CAAC;IAC7C,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,2GAA2G;QAC3G,MAAM,UAAU,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAC1D,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACzC,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC3C,UAAU,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,SAAS,CAAC,GAAG,EAAE;QACb,yBAAyB;QACzB,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAEjG,IAAI,WAAW,KAAK,aAAa,EAAE;QACjC,OAAO,oBAAC,cAAc,IAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,GAAI,CAAC;KAChF;IAED,IAAI,WAAW,KAAK,mBAAmB,EAAE;QACvC,OAAO,oBAAC,cAAc,IAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAC,SAAS,GAAG,CAAC;KAClG;IAED,SAAS,YAAY,CAAC,KAAK,EAAE,OAAO;QAClC,4DAA4D;QAE5D,wBAAwB;QACxB,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"Currency.js","sourceRoot":"","sources":["../../../../src/components/field/Currency/Currency.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\n// import { TextField } from \"@material-ui/core\";\nimport CurrencyTextField from '@unicef/material-ui-currency-textfield';\nimport handleEvent from '../../helpers/event-utils';\nimport FieldValueList from '../../designSystemExtension/FieldValueList';\nimport { format } from \"../../helpers/formatters\";\nimport { getCurrencyCharacters, getCurrencyOptions } from './currency-utils';\n\n// Using control from: https://github.com/unicef/material-ui-currency-textfield\n\nexport default function Currency(props) {\n const {\n getPConnect,\n label,\n required,\n disabled,\n value = '',\n validatemessage,\n status,\n /* onChange, onBlur, */\n readOnly,\n testId,\n helperText,\n displayMode,\n hideLabel,\n currencyISOCode = \"USD\"\n } = props;\n\n const pConn = getPConnect();\n const actions = pConn.getActionsApi();\n const propName = pConn.getStateProps().value;\n const helperTextToDisplay = validatemessage || helperText;\n\n // console.log(`Currency: label: ${label} value: ${value}`);\n\n let readOnlyProp = {}; // Note: empty if NOT ReadOnly\n\n if (readOnly) {\n readOnlyProp = { readOnly: true };\n }\n\n let testProp = {};\n\n testProp = {\n 'data-test-id': testId\n };\n\n const [currValue, setCurrValue] = useState();\n const [theCurrSym, setCurrSym] = useState(\"$\");\n const [theCurrDec, setCurrDec] = useState(\".\");\n const [theCurrSep, setCurrSep] = useState(\",\");\n\n useEffect(() => {\n // currencySymbols looks like this: { theCurrencySymbol: '$', theDecimalIndicator: '.', theSeparator: ',' }\n const theSymbols = getCurrencyCharacters(currencyISOCode);\n setCurrSym(theSymbols.theCurrencySymbol);\n setCurrDec(theSymbols.theDecimalIndicator);\n setCurrSep(theSymbols.theDigitGroupSeparator);\n }, [currencyISOCode]);\n\n useEffect(() => {\n // const testVal = value;\n setCurrValue(value.toString());\n }, [value]);\n\n const theCurrencyOptions = getCurrencyOptions(currencyISOCode);\n const formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);\n\n if (displayMode === 'LABELS_LEFT') {\n return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} />;\n }\n\n if (displayMode === 'STACKED_LARGE_VAL') {\n return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} variant='stacked' />;\n }\n\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n function currOnChange(event, inValue) {\n // console.log(`Currency currOnChange inValue: ${inValue}`);\n\n // update internal value\n setCurrValue(event?.target?.value);\n }\n\n function currOnBlur(event, inValue) {\n // console.log(`Currency currOnBlur inValue: ${inValue}`);\n handleEvent(actions, 'changeNblur', propName, inValue !== '' ? Number(inValue) : inValue);\n }\n\n // console.log(`theCurrSym: ${theCurrSym} | theCurrDec: ${theCurrDec} | theCurrSep: ${theCurrSep}`);\n\n return (\n <CurrencyTextField\n fullWidth\n variant={readOnly ? 'standard' : 'outlined'}\n helperText={helperTextToDisplay}\n placeholder=''\n size='small'\n required={required}\n disabled={disabled}\n onChange={currOnChange}\n onBlur={!readOnly ? currOnBlur : undefined}\n error={status === 'error'}\n label={label}\n value={currValue}\n type='text'\n outputFormat='number'\n textAlign='left'\n InputProps={{ ...readOnlyProp, inputProps: { ...testProp, value: currValue } }}\n currencySymbol={theCurrSym}\n decimalCharacter={theCurrDec}\n digitGroupSeparator={theCurrSep}\n />\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":";AAGA,OAAO,SAAS,MAAM,YAAY,CAAC;AA6CnC,iBAAwB,aAAa,CAAC,KAAK,KAAA,
|
|
1
|
+
{"version":3,"file":"FlowContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":";AAGA,OAAO,SAAS,MAAM,YAAY,CAAC;AA6CnC,iBAAwB,aAAa,CAAC,KAAK,KAAA,eAua1C;kBAvauB,aAAa;;;;;;;;;;;;;;;;;;eAAb,aAAa"}
|
|
@@ -12,7 +12,7 @@ import createPConnectComponent from '../../../../bridge/react_pconnect';
|
|
|
12
12
|
import StoreContext from '../../../../bridge/Context/StoreContext';
|
|
13
13
|
import DayjsUtils from '@date-io/dayjs';
|
|
14
14
|
import { MuiPickersUtilsProvider } from '@material-ui/pickers';
|
|
15
|
-
import { addContainerItem, getToDoAssignments } from './helpers';
|
|
15
|
+
import { addContainerItem, getToDoAssignments, showBanner } from './helpers';
|
|
16
16
|
//
|
|
17
17
|
// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
|
|
18
18
|
// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and
|
|
@@ -328,6 +328,7 @@ export default function FlowContainer(props) {
|
|
|
328
328
|
if (instructionText === undefined) {
|
|
329
329
|
instructionText = '';
|
|
330
330
|
}
|
|
331
|
+
const bShowBanner = showBanner(getPConnect);
|
|
331
332
|
return (React.createElement("div", { style: { textAlign: 'left' }, id: buildName, className: 'psdk-flow-container-top' },
|
|
332
333
|
!bShowConfirm &&
|
|
333
334
|
(!todo_showTodo ? (!displayOnlyFA ? (React.createElement(Card, { className: classes.root },
|
|
@@ -342,7 +343,7 @@ export default function FlowContainer(props) {
|
|
|
342
343
|
React.createElement(ToDo, { getPConnect: getPConnect, caseInfoID: todo_caseInfoID, datasource: todo_datasource, showTodoList: todo_showTodoList, headerText: todo_headerText, type: TODO, context: todo_context, itemKey: itemKey })))),
|
|
343
344
|
bHasCaseMessages && (React.createElement("div", { className: classes.alert },
|
|
344
345
|
React.createElement(Alert, { severity: 'success' }, caseMessages))),
|
|
345
|
-
bShowConfirm && React.createElement("div", null, arNewChildrenAsReact)));
|
|
346
|
+
bShowConfirm && bShowBanner && React.createElement("div", null, arNewChildrenAsReact)));
|
|
346
347
|
}
|
|
347
348
|
FlowContainer.defaultProps = {
|
|
348
349
|
children: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-nested-ternary */\n/* eslint-disable camelcase */\nimport React, { useState, useEffect, useContext, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Card, CardHeader, Avatar, Typography } from '@material-ui/core';\nimport { Utils } from '../../../helpers/utils';\nimport { Alert } from '@material-ui/lab';\n\nimport Assignment from '../../Assignment';\nimport ToDo from '../../../widget/ToDo';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport StoreContext from '../../../../bridge/Context/StoreContext';\nimport DayjsUtils from '@date-io/dayjs';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\n\nimport { addContainerItem, getToDoAssignments } from './helpers';\n\ndeclare const PCore;\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(2),\n paddingLeft: theme.spacing(2),\n paddingTop: theme.spacing(1.5),\n paddingBottom: theme.spacing(1.5),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n alert: {\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1)\n },\n avatar: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n }\n}));\n\nexport default function FlowContainer(props) {\n const pCoreConstants = PCore.getConstants();\n const { TODO } = pCoreConstants;\n const todo_headerText = 'To do';\n\n const { getPConnect, routingInfo } = props;\n\n const { displayOnlyFA } = useContext(StoreContext);\n\n const thePConn = getPConnect();\n\n // const [init, setInit] = useState(true);\n // const [fcState, setFCState] = useState({ hasError: false });\n const [arNewChildren, setArNewChildren] = useState<Array<any>>(thePConn.getChildren());\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<Array<any>>([]);\n\n const [todo_showTodo, setShowTodo] = useState(false);\n const [todo_caseInfoID, setCaseInfoID] = useState('');\n const [todo_showTodoList, setShowTodoList] = useState(false);\n const [todo_datasource, setTodoDatasource] = useState({});\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [todo_context, setTodoContext] = useState('');\n\n const [caseMessages, setCaseMessages] = useState('');\n const [bHasCaseMessages, setHasCaseMessages] = useState(false);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [checkSvg, setCheckSvg] = useState('');\n\n const [itemKey, setItemKey] = useState('');\n const [containerName, setContainerName] = useState('');\n const [buildName, setBuildName] = useState('');\n const [bShowConfirm, setShowConfirm] = useState(false);\n\n const classes = useStyles();\n\n function initContainer() {\n const ourPConn = getPConnect();\n const containerMgr = ourPConn.getContainerManager();\n const baseContext = ourPConn.getContextName();\n const theContainerName = ourPConn.getContainerName();\n const containerType = 'single';\n\n const flowContainerTarget = `${baseContext}/${theContainerName}`;\n const isContainerItemAvailable =\n PCore.getContainerUtils().getActiveContainerItemName(flowContainerTarget);\n\n window.sessionStorage.setItem('okToInitFlowContainer', 'false');\n\n if (!isContainerItemAvailable) {\n containerMgr.initializeContainers({\n type: containerType\n });\n\n // updated for 8.7 - 30-Mar-2022\n addContainerItem(ourPConn);\n }\n }\n\n function getBuildName(): string {\n const ourPConn = getPConnect();\n\n // let { getPConnect, name } = this.pConn$.pConn;\n const context = ourPConn.getContextName();\n let viewContainerName = ourPConn.getContainerName();\n\n if (!viewContainerName) viewContainerName = '';\n return `${context.toUpperCase()}/${viewContainerName.toUpperCase()}`;\n }\n\n function getTodoVisibility() {\n const caseViewMode = getPConnect().getValue('context_data.caseViewMode');\n if (caseViewMode && caseViewMode === 'review') {\n return true;\n }\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (caseViewMode && caseViewMode === 'perform') {\n return false;\n }\n\n return true;\n }\n\n function initComponent(bLoadChildren: boolean) {\n const ourPConn = getPConnect();\n\n // when true, update arChildren from pConn, otherwise, arChilren will be updated in updateSelf()\n if (bLoadChildren) {\n setArNewChildren(ourPConn.getChildren());\n }\n\n // debugging/investigation help\n // console.log(`${ourPConn.getComponentName()}: children update for main draw`);\n\n // const oData = ourPConn.getDataObject();\n\n // const activeActionLabel = \"\";\n // const child0_getPConnect = arNewChildren[0].getPConnect();\n\n // this.templateName$ = this.configProps$[\"template\"];\n\n // debugger;\n setShowTodo(getTodoVisibility());\n\n // create pointers to functions\n // const containerMgr = ourPConn.getContainerManager();\n // const actionsAPI = thePConn.getActionsApi();\n const baseContext = ourPConn.getContextName();\n const acName = ourPConn.getContainerName();\n\n // for now, in general this should be overridden by updateSelf(), and not be blank\n if (itemKey === '') {\n // debugger;\n setItemKey(baseContext.concat('/').concat(acName));\n }\n\n ourPConn.isBoundToState();\n\n // inside\n // get fist kid, get the name and displa\n // pass first kid to a view container, which will disperse it to a view which will use one column, two column, etc.\n const oWorkItem = arNewChildren[0].getPConnect(); // child0_getPConnect;\n const oWorkData = oWorkItem.getDataObject();\n\n if (bLoadChildren && oWorkData) {\n // debugger;\n setContainerName(oWorkData.caseInfo.assignments?.[0].name);\n }\n\n // debugger;\n setBuildName(getBuildName());\n }\n\n useEffect(() => {\n // from WC SDK connectedCallback (mount)\n initComponent(true);\n initContainer();\n }, []);\n\n function isCaseWideLocalAction() {\n const ourPConn = getPConnect();\n\n const actionID = ourPConn.getValue(pCoreConstants.CASE_INFO.ACTIVE_ACTION_ID);\n const caseActions = ourPConn.getValue(pCoreConstants.CASE_INFO.AVAILABLEACTIONS);\n let bCaseWideAction = false;\n if (caseActions && actionID) {\n const actionObj = caseActions.find(caseAction => caseAction.ID === actionID);\n if (actionObj) {\n bCaseWideAction = actionObj.type === 'Case';\n }\n }\n return bCaseWideAction;\n }\n\n function hasChildCaseAssignments() {\n const ourPConn = getPConnect();\n\n const childCases = ourPConn.getValue(pCoreConstants.CASE_INFO.CHILD_ASSIGNMENTS);\n // const allAssignments = [];\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (childCases && childCases.length > 0) {\n return true;\n }\n return false;\n }\n\n function hasAssignments() {\n const ourPConn = getPConnect();\n\n let bHasAssignments = false;\n const assignmentsList: Array<any> = ourPConn.getValue(\n pCoreConstants.CASE_INFO.D_CASE_ASSIGNMENTS_RESULTS\n );\n const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();\n // 8.7 includes assignments in Assignments List that may be assigned to\n // a different operator. So, see if there are any assignments for\n // the current operator\n let bAssignmentsForThisOperator = false;\n\n // Bail out if there isn't an assignmentsList\n if (!assignmentsList) {\n return bHasAssignments;\n }\n\n for (const assignment of assignmentsList) {\n if (assignment['assigneeInfo']['ID'] === thisOperator) {\n bAssignmentsForThisOperator = true;\n }\n }\n\n const bHasChildCaseAssignments = hasChildCaseAssignments();\n\n if (bAssignmentsForThisOperator || bHasChildCaseAssignments || isCaseWideLocalAction()) {\n bHasAssignments = true;\n }\n\n return bHasAssignments;\n }\n\n function getActiveViewLabel() {\n const ourPConn = getPConnect();\n\n let activeActionLabel = '';\n\n const { CASE_INFO: CASE_CONSTS } = pCoreConstants;\n\n const caseActions = ourPConn.getValue(CASE_CONSTS.CASE_INFO_ACTIONS);\n const activeActionID = ourPConn.getValue(CASE_CONSTS.ACTIVE_ACTION_ID);\n const activeAction = caseActions?.find(action => action.ID === activeActionID);\n if (activeAction) {\n activeActionLabel = activeAction.name;\n }\n return activeActionLabel;\n }\n\n // From SDK-WC updateSelf - so do this in useEffect that's run only when the props change...\n useEffect(() => {\n const localPConn = arNewChildren[0].getPConnect();\n\n setBuildName(getBuildName());\n\n // routingInfo was added as component prop in populateAdditionalProps\n // let routingInfo = this.getComponentProp(\"routingInfo\");\n\n let loadingInfo: any;\n try {\n loadingInfo = thePConn.getLoadingStatus();\n } catch (ex) {\n // eslint-disable-next-line no-console\n console.error(`${thePConn.getComponentName()}: loadingInfo catch block`);\n }\n\n // let configProps = this.thePConn.resolveConfigProps(this.thePConn.getConfigProps());\n\n if (!loadingInfo) {\n // turn off spinner\n // this.psService.sendMessage(false);\n }\n\n const caseViewMode = thePConn.getValue('context_data.caseViewMode');\n const { CASE_INFO: CASE_CONSTS } = pCoreConstants;\n if (caseViewMode && caseViewMode === 'review') {\n setTimeout(() => {\n // updated for 8.7 - 30-Mar-2022\n const todoAssignments = getToDoAssignments(thePConn);\n if (todoAssignments && todoAssignments.length > 0) {\n setCaseInfoID(thePConn.getValue(CASE_CONSTS.CASE_INFO_ID));\n setTodoDatasource({ source: todoAssignments });\n }\n setShowTodo(true);\n setShowTodoList(false);\n }, 100);\n\n // in React, when cancel is called, somehow the constructor for flowContainer is called which\n // does init/add of containers. This mimics that\n initContainer();\n } else if (caseViewMode && caseViewMode === 'perform') {\n // perform\n // debugger;\n setShowTodo(false);\n\n // this is different than Angular SDK, as we need to initContainer if root container reloaded\n if (window.sessionStorage.getItem('okToInitFlowContainer') === 'true') {\n initContainer();\n }\n }\n\n\n // if have caseMessage show message and end\n const theCaseMessages = thePConn.getValue('caseMessages');\n\n if (theCaseMessages || !hasAssignments()) {\n // Temp fix for 8.7 change: confirmationNote no longer coming through in caseMessages$.\n // So, if we get here and caseMessages$ is empty, use default value in DX API response\n setCaseMessages(\n theCaseMessages || 'Thank you! The next step in this case has been routed appropriately.'\n );\n setHasCaseMessages(true);\n setShowConfirm(true);\n\n // publish this \"assignmentFinished\" for mashup, need to get approved as a standard\n PCore.getPubSubUtils().publish('assignmentFinished');\n\n // debugger;\n setCheckSvg(Utils.getImageSrc('check', PCore.getAssetLoader().getStaticServerUrl()));\n } else {\n // debugger;\n setHasCaseMessages(false);\n setShowConfirm(false);\n }\n\n // this check in routingInfo, mimic React to check and get the internals of the\n // flowContainer and force updates to pConnect/redux\n if (routingInfo && loadingInfo !== undefined) {\n // debugging/investigation help\n // console.log(`${thePConn.getComponentName()}: >>routingInfo: ${JSON.stringify(routingInfo)}`);\n\n const currentOrder = routingInfo.accessedOrder;\n const currentItems = routingInfo.items;\n const type = routingInfo.type;\n if (currentOrder && currentItems) {\n // JA - making more similar to React version\n const key = currentOrder[currentOrder.length - 1];\n\n // save off itemKey to be used for finishAssignment, etc.\n // debugger;\n setItemKey(key);\n\n if (\n currentOrder.length > 0 &&\n currentItems[key] &&\n currentItems[key].view &&\n type === 'single' &&\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\n config['options'] = {\n context: currentItem.context,\n pageReference: context || localPConn.getPageReference(),\n hasForm: true,\n isFlowContainer: true,\n containerName: localPConn.getContainerName(),\n containerItemName: key,\n parentPageReference: localPConn.getPageReference()\n };\n\n const configObject = PCore.createPConnect(config);\n\n // Since we're setting an array, need to add in an appropriate key\n // to remove React warning.\n configObject['key'] = config['options'].parentPageReference;\n\n // keep track of these changes\n const theNewChildren: Array<Object> = [];\n theNewChildren.push(configObject);\n setArNewChildren(theNewChildren);\n\n // JEA - adapted from Constellation DX Components FlowContainer since we want to render children that are React components\n const root = createElement(createPConnectComponent(), configObject);\n setArNewChildrenAsReact([root]);\n\n const oWorkItem = configObject.getPConnect(); // was theNewChildren[0].getPConnect()\n const oWorkData = oWorkItem.getDataObject();\n\n // check if have oWorkData, there are times due to timing of state change, when this\n // may not be available\n if (oWorkData) {\n setContainerName(getActiveViewLabel() || oWorkData.caseInfo.assignments?.[0].name);\n }\n }\n }\n }\n }, [props]);\n\n const caseId = thePConn.getCaseSummary().content.pyID;\n const urgency = getPConnect().getCaseSummary().assignments\n ? getPConnect().getCaseSummary().assignments?.[0].urgency\n : '';\n const operatorInitials = Utils.getInitials(PCore.getEnvironmentInfo().getOperatorName());\n let instructionText = thePConn.getCaseSummary()?.assignments?.[0]?.instructions;\n if (instructionText === undefined) {\n instructionText = '';\n }\n\n return (\n <div style={{ textAlign: 'left' }} id={buildName} className='psdk-flow-container-top'>\n {!bShowConfirm &&\n (!todo_showTodo ? (\n !displayOnlyFA ? (\n <Card className={classes.root}>\n <CardHeader\n title={<Typography variant='h6'>{containerName}</Typography>}\n subheader={`Task in ${caseId} \\u2022 Priority ${urgency}`}\n avatar={<Avatar className={classes.avatar}>{operatorInitials}</Avatar>}\n ></CardHeader>\n {instructionText !== '' ? (\n <Typography variant='caption'>{instructionText}</Typography>\n ) : null}\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n ) : (\n <Card className={classes.root}>\n <Typography variant='h6'>{containerName}</Typography>\n {instructionText !== '' ? (\n <Typography variant='caption'>{instructionText}</Typography>\n ) : null}\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n )\n ) : (\n <div>\n <ToDo\n getPConnect={getPConnect}\n caseInfoID={todo_caseInfoID}\n datasource={todo_datasource}\n showTodoList={todo_showTodoList}\n headerText={todo_headerText}\n type={TODO}\n context={todo_context}\n itemKey={itemKey}\n ></ToDo>\n </div>\n ))}\n {bHasCaseMessages && (\n <div className={classes.alert}>\n <Alert severity='success'>{caseMessages}</Alert>\n </div>\n )}\n {bShowConfirm && <div>{arNewChildrenAsReact}</div>}\n </div>\n );\n}\n\nFlowContainer.defaultProps = {\n children: null,\n getPConnect: null,\n name: '',\n routingInfo: null,\n pageMessages: null\n};\n\nFlowContainer.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n children: PropTypes.node,\n getPConnect: PropTypes.func,\n // eslint-disable-next-line react/no-unused-prop-types\n name: PropTypes.string,\n routingInfo: PropTypes.objectOf(PropTypes.any),\n // eslint-disable-next-line react/no-unused-prop-types\n pageMessages: PropTypes.arrayOf(PropTypes.any)\n};\n"]}
|
|
1
|
+
{"version":3,"file":"FlowContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-nested-ternary */\n/* eslint-disable camelcase */\nimport React, { useState, useEffect, useContext, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Card, CardHeader, Avatar, Typography } from '@material-ui/core';\nimport { Utils } from '../../../helpers/utils';\nimport { Alert } from '@material-ui/lab';\n\nimport Assignment from '../../Assignment';\nimport ToDo from '../../../widget/ToDo';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport StoreContext from '../../../../bridge/Context/StoreContext';\nimport DayjsUtils from '@date-io/dayjs';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\n\nimport { addContainerItem, getToDoAssignments, showBanner } from './helpers';\n\ndeclare const PCore;\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(2),\n paddingLeft: theme.spacing(2),\n paddingTop: theme.spacing(1.5),\n paddingBottom: theme.spacing(1.5),\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n alert: {\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1)\n },\n avatar: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n }\n}));\n\nexport default function FlowContainer(props) {\n const pCoreConstants = PCore.getConstants();\n const { TODO } = pCoreConstants;\n const todo_headerText = 'To do';\n\n const { getPConnect, routingInfo } = props;\n\n const { displayOnlyFA } = useContext(StoreContext);\n\n const thePConn = getPConnect();\n\n // const [init, setInit] = useState(true);\n // const [fcState, setFCState] = useState({ hasError: false });\n const [arNewChildren, setArNewChildren] = useState<Array<any>>(thePConn.getChildren());\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<Array<any>>([]);\n\n const [todo_showTodo, setShowTodo] = useState(false);\n const [todo_caseInfoID, setCaseInfoID] = useState('');\n const [todo_showTodoList, setShowTodoList] = useState(false);\n const [todo_datasource, setTodoDatasource] = useState({});\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [todo_context, setTodoContext] = useState('');\n\n const [caseMessages, setCaseMessages] = useState('');\n const [bHasCaseMessages, setHasCaseMessages] = useState(false);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [checkSvg, setCheckSvg] = useState('');\n\n const [itemKey, setItemKey] = useState('');\n const [containerName, setContainerName] = useState('');\n const [buildName, setBuildName] = useState('');\n const [bShowConfirm, setShowConfirm] = useState(false);\n\n const classes = useStyles();\n\n function initContainer() {\n const ourPConn = getPConnect();\n const containerMgr = ourPConn.getContainerManager();\n const baseContext = ourPConn.getContextName();\n const theContainerName = ourPConn.getContainerName();\n const containerType = 'single';\n\n const flowContainerTarget = `${baseContext}/${theContainerName}`;\n const isContainerItemAvailable =\n PCore.getContainerUtils().getActiveContainerItemName(flowContainerTarget);\n\n window.sessionStorage.setItem('okToInitFlowContainer', 'false');\n\n if (!isContainerItemAvailable) {\n containerMgr.initializeContainers({\n type: containerType\n });\n\n // updated for 8.7 - 30-Mar-2022\n addContainerItem(ourPConn);\n }\n }\n\n function getBuildName(): string {\n const ourPConn = getPConnect();\n\n // let { getPConnect, name } = this.pConn$.pConn;\n const context = ourPConn.getContextName();\n let viewContainerName = ourPConn.getContainerName();\n\n if (!viewContainerName) viewContainerName = '';\n return `${context.toUpperCase()}/${viewContainerName.toUpperCase()}`;\n }\n\n function getTodoVisibility() {\n const caseViewMode = getPConnect().getValue('context_data.caseViewMode');\n if (caseViewMode && caseViewMode === 'review') {\n return true;\n }\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (caseViewMode && caseViewMode === 'perform') {\n return false;\n }\n\n return true;\n }\n\n function initComponent(bLoadChildren: boolean) {\n const ourPConn = getPConnect();\n\n // when true, update arChildren from pConn, otherwise, arChilren will be updated in updateSelf()\n if (bLoadChildren) {\n setArNewChildren(ourPConn.getChildren());\n }\n\n // debugging/investigation help\n // console.log(`${ourPConn.getComponentName()}: children update for main draw`);\n\n // const oData = ourPConn.getDataObject();\n\n // const activeActionLabel = \"\";\n // const child0_getPConnect = arNewChildren[0].getPConnect();\n\n // this.templateName$ = this.configProps$[\"template\"];\n\n // debugger;\n setShowTodo(getTodoVisibility());\n\n // create pointers to functions\n // const containerMgr = ourPConn.getContainerManager();\n // const actionsAPI = thePConn.getActionsApi();\n const baseContext = ourPConn.getContextName();\n const acName = ourPConn.getContainerName();\n\n // for now, in general this should be overridden by updateSelf(), and not be blank\n if (itemKey === '') {\n // debugger;\n setItemKey(baseContext.concat('/').concat(acName));\n }\n\n ourPConn.isBoundToState();\n\n // inside\n // get fist kid, get the name and displa\n // pass first kid to a view container, which will disperse it to a view which will use one column, two column, etc.\n const oWorkItem = arNewChildren[0].getPConnect(); // child0_getPConnect;\n const oWorkData = oWorkItem.getDataObject();\n\n if (bLoadChildren && oWorkData) {\n // debugger;\n setContainerName(oWorkData.caseInfo.assignments?.[0].name);\n }\n\n // debugger;\n setBuildName(getBuildName());\n }\n\n useEffect(() => {\n // from WC SDK connectedCallback (mount)\n initComponent(true);\n initContainer();\n }, []);\n\n function isCaseWideLocalAction() {\n const ourPConn = getPConnect();\n\n const actionID = ourPConn.getValue(pCoreConstants.CASE_INFO.ACTIVE_ACTION_ID);\n const caseActions = ourPConn.getValue(pCoreConstants.CASE_INFO.AVAILABLEACTIONS);\n let bCaseWideAction = false;\n if (caseActions && actionID) {\n const actionObj = caseActions.find(caseAction => caseAction.ID === actionID);\n if (actionObj) {\n bCaseWideAction = actionObj.type === 'Case';\n }\n }\n return bCaseWideAction;\n }\n\n function hasChildCaseAssignments() {\n const ourPConn = getPConnect();\n\n const childCases = ourPConn.getValue(pCoreConstants.CASE_INFO.CHILD_ASSIGNMENTS);\n // const allAssignments = [];\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (childCases && childCases.length > 0) {\n return true;\n }\n return false;\n }\n\n function hasAssignments() {\n const ourPConn = getPConnect();\n\n let bHasAssignments = false;\n const assignmentsList: Array<any> = ourPConn.getValue(\n pCoreConstants.CASE_INFO.D_CASE_ASSIGNMENTS_RESULTS\n );\n const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();\n // 8.7 includes assignments in Assignments List that may be assigned to\n // a different operator. So, see if there are any assignments for\n // the current operator\n let bAssignmentsForThisOperator = false;\n\n // Bail out if there isn't an assignmentsList\n if (!assignmentsList) {\n return bHasAssignments;\n }\n\n for (const assignment of assignmentsList) {\n if (assignment['assigneeInfo']['ID'] === thisOperator) {\n bAssignmentsForThisOperator = true;\n }\n }\n\n const bHasChildCaseAssignments = hasChildCaseAssignments();\n\n if (bAssignmentsForThisOperator || bHasChildCaseAssignments || isCaseWideLocalAction()) {\n bHasAssignments = true;\n }\n\n return bHasAssignments;\n }\n\n function getActiveViewLabel() {\n const ourPConn = getPConnect();\n\n let activeActionLabel = '';\n\n const { CASE_INFO: CASE_CONSTS } = pCoreConstants;\n\n const caseActions = ourPConn.getValue(CASE_CONSTS.CASE_INFO_ACTIONS);\n const activeActionID = ourPConn.getValue(CASE_CONSTS.ACTIVE_ACTION_ID);\n const activeAction = caseActions?.find(action => action.ID === activeActionID);\n if (activeAction) {\n activeActionLabel = activeAction.name;\n }\n return activeActionLabel;\n }\n\n // From SDK-WC updateSelf - so do this in useEffect that's run only when the props change...\n useEffect(() => {\n const localPConn = arNewChildren[0].getPConnect();\n\n setBuildName(getBuildName());\n\n // routingInfo was added as component prop in populateAdditionalProps\n // let routingInfo = this.getComponentProp(\"routingInfo\");\n\n let loadingInfo: any;\n try {\n loadingInfo = thePConn.getLoadingStatus();\n } catch (ex) {\n // eslint-disable-next-line no-console\n console.error(`${thePConn.getComponentName()}: loadingInfo catch block`);\n }\n\n // let configProps = this.thePConn.resolveConfigProps(this.thePConn.getConfigProps());\n\n if (!loadingInfo) {\n // turn off spinner\n // this.psService.sendMessage(false);\n }\n\n const caseViewMode = thePConn.getValue('context_data.caseViewMode');\n const { CASE_INFO: CASE_CONSTS } = pCoreConstants;\n if (caseViewMode && caseViewMode === 'review') {\n setTimeout(() => {\n // updated for 8.7 - 30-Mar-2022\n const todoAssignments = getToDoAssignments(thePConn);\n if (todoAssignments && todoAssignments.length > 0) {\n setCaseInfoID(thePConn.getValue(CASE_CONSTS.CASE_INFO_ID));\n setTodoDatasource({ source: todoAssignments });\n }\n setShowTodo(true);\n setShowTodoList(false);\n }, 100);\n\n // in React, when cancel is called, somehow the constructor for flowContainer is called which\n // does init/add of containers. This mimics that\n initContainer();\n } else if (caseViewMode && caseViewMode === 'perform') {\n // perform\n // debugger;\n setShowTodo(false);\n\n // this is different than Angular SDK, as we need to initContainer if root container reloaded\n if (window.sessionStorage.getItem('okToInitFlowContainer') === 'true') {\n initContainer();\n }\n }\n\n // if have caseMessage show message and end\n const theCaseMessages = thePConn.getValue('caseMessages');\n\n if (theCaseMessages || !hasAssignments()) {\n // Temp fix for 8.7 change: confirmationNote no longer coming through in caseMessages$.\n // So, if we get here and caseMessages$ is empty, use default value in DX API response\n setCaseMessages(\n theCaseMessages || 'Thank you! The next step in this case has been routed appropriately.'\n );\n setHasCaseMessages(true);\n setShowConfirm(true);\n\n // publish this \"assignmentFinished\" for mashup, need to get approved as a standard\n PCore.getPubSubUtils().publish('assignmentFinished');\n\n // debugger;\n setCheckSvg(Utils.getImageSrc('check', PCore.getAssetLoader().getStaticServerUrl()));\n } else {\n // debugger;\n setHasCaseMessages(false);\n setShowConfirm(false);\n }\n\n // this check in routingInfo, mimic React to check and get the internals of the\n // flowContainer and force updates to pConnect/redux\n if (routingInfo && loadingInfo !== undefined) {\n // debugging/investigation help\n // console.log(`${thePConn.getComponentName()}: >>routingInfo: ${JSON.stringify(routingInfo)}`);\n\n const currentOrder = routingInfo.accessedOrder;\n const currentItems = routingInfo.items;\n const type = routingInfo.type;\n if (currentOrder && currentItems) {\n // JA - making more similar to React version\n const key = currentOrder[currentOrder.length - 1];\n\n // save off itemKey to be used for finishAssignment, etc.\n // debugger;\n setItemKey(key);\n\n if (\n currentOrder.length > 0 &&\n currentItems[key] &&\n currentItems[key].view &&\n type === 'single' &&\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\n config['options'] = {\n context: currentItem.context,\n pageReference: context || localPConn.getPageReference(),\n hasForm: true,\n isFlowContainer: true,\n containerName: localPConn.getContainerName(),\n containerItemName: key,\n parentPageReference: localPConn.getPageReference()\n };\n\n const configObject = PCore.createPConnect(config);\n\n // Since we're setting an array, need to add in an appropriate key\n // to remove React warning.\n configObject['key'] = config['options'].parentPageReference;\n\n // keep track of these changes\n const theNewChildren: Array<Object> = [];\n theNewChildren.push(configObject);\n setArNewChildren(theNewChildren);\n\n // JEA - adapted from Constellation DX Components FlowContainer since we want to render children that are React components\n const root = createElement(createPConnectComponent(), configObject);\n setArNewChildrenAsReact([root]);\n\n const oWorkItem = configObject.getPConnect(); // was theNewChildren[0].getPConnect()\n const oWorkData = oWorkItem.getDataObject();\n\n // check if have oWorkData, there are times due to timing of state change, when this\n // may not be available\n if (oWorkData) {\n setContainerName(getActiveViewLabel() || oWorkData.caseInfo.assignments?.[0].name);\n }\n }\n }\n }\n }, [props]);\n\n const caseId = thePConn.getCaseSummary().content.pyID;\n const urgency = getPConnect().getCaseSummary().assignments\n ? getPConnect().getCaseSummary().assignments?.[0].urgency\n : '';\n const operatorInitials = Utils.getInitials(PCore.getEnvironmentInfo().getOperatorName());\n let instructionText = thePConn.getCaseSummary()?.assignments?.[0]?.instructions;\n if (instructionText === undefined) {\n instructionText = '';\n }\n\n const bShowBanner = showBanner(getPConnect);\n\n return (\n <div style={{ textAlign: 'left' }} id={buildName} className='psdk-flow-container-top'>\n {!bShowConfirm &&\n (!todo_showTodo ? (\n !displayOnlyFA ? (\n <Card className={classes.root}>\n <CardHeader\n title={<Typography variant='h6'>{containerName}</Typography>}\n subheader={`Task in ${caseId} \\u2022 Priority ${urgency}`}\n avatar={<Avatar className={classes.avatar}>{operatorInitials}</Avatar>}\n ></CardHeader>\n {instructionText !== '' ? (\n <Typography variant='caption'>{instructionText}</Typography>\n ) : null}\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n ) : (\n <Card className={classes.root}>\n <Typography variant='h6'>{containerName}</Typography>\n {instructionText !== '' ? (\n <Typography variant='caption'>{instructionText}</Typography>\n ) : null}\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n )\n ) : (\n <div>\n <ToDo\n getPConnect={getPConnect}\n caseInfoID={todo_caseInfoID}\n datasource={todo_datasource}\n showTodoList={todo_showTodoList}\n headerText={todo_headerText}\n type={TODO}\n context={todo_context}\n itemKey={itemKey}\n ></ToDo>\n </div>\n ))}\n {bHasCaseMessages && (\n <div className={classes.alert}>\n <Alert severity='success'>{caseMessages}</Alert>\n </div>\n )}\n {bShowConfirm && bShowBanner && <div>{arNewChildrenAsReact}</div>}\n </div>\n );\n}\n\nFlowContainer.defaultProps = {\n children: null,\n getPConnect: null,\n name: '',\n routingInfo: null,\n pageMessages: null\n};\n\nFlowContainer.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n children: PropTypes.node,\n getPConnect: PropTypes.func,\n // eslint-disable-next-line react/no-unused-prop-types\n name: PropTypes.string,\n routingInfo: PropTypes.objectOf(PropTypes.any),\n // eslint-disable-next-line react/no-unused-prop-types\n pageMessages: PropTypes.arrayOf(PropTypes.any)\n};\n"]}
|
package/package.json
CHANGED