@pega/react-sdk-components 0.23.32 → 0.23.34
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/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.js +3 -3
- package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
- package/lib/components/field/Currency/Currency.d.ts.map +1 -1
- package/lib/components/field/Currency/Currency.js +6 -12
- package/lib/components/field/Currency/Currency.js.map +1 -1
- package/lib/components/field/Decimal/Decimal.d.ts.map +1 -1
- package/lib/components/field/Decimal/Decimal.js +3 -8
- package/lib/components/field/Decimal/Decimal.js.map +1 -1
- package/lib/components/field/Group/Group.d.ts +1 -1
- package/lib/components/field/Group/Group.d.ts.map +1 -1
- package/lib/components/field/Group/Group.js +2 -0
- package/lib/components/field/Group/Group.js.map +1 -1
- package/lib/components/field/Percentage/Percentage.d.ts +1 -0
- package/lib/components/field/Percentage/Percentage.d.ts.map +1 -1
- package/lib/components/field/Percentage/Percentage.js +24 -27
- package/lib/components/field/Percentage/Percentage.js.map +1 -1
- package/lib/components/helpers/formatters/index.d.ts.map +1 -1
- package/lib/components/helpers/formatters/index.js +6 -0
- package/lib/components/helpers/formatters/index.js.map +1 -1
- package/lib/components/helpers/simpleTableHelpers.js +1 -1
- package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +15 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,aAAc,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;IAE5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,aAAc,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;IAE5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,aAAa,eA2E7D"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect } from 'react';
|
|
3
|
-
import { Checkbox, FormControl, FormControlLabel, FormGroup, FormHelperText } from '@material-ui/core';
|
|
3
|
+
import { Checkbox, FormControl, FormControlLabel, FormGroup, FormHelperText, FormLabel } from '@material-ui/core';
|
|
4
4
|
import handleEvent from '../../helpers/event-utils';
|
|
5
5
|
import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
|
|
6
6
|
export default function CheckboxComponent(props) {
|
|
7
7
|
// Get emitted components from map (so we can get any override that may exist)
|
|
8
8
|
const FieldValueList = getComponentFromMap('FieldValueList');
|
|
9
|
-
const { getPConnect, value = false, readOnly, testId, required, disabled, status, helperText, validatemessage, displayMode, hideLabel, trueLabel, falseLabel } = props;
|
|
9
|
+
const { getPConnect, label, value = false, readOnly, testId, required, disabled, status, helperText, validatemessage, displayMode, hideLabel, trueLabel, falseLabel } = props;
|
|
10
10
|
const helperTextToDisplay = validatemessage || helperText;
|
|
11
11
|
const thePConn = getPConnect();
|
|
12
12
|
const theConfigProps = thePConn.getConfigProps();
|
|
@@ -36,6 +36,6 @@ export default function CheckboxComponent(props) {
|
|
|
36
36
|
// Also note that we need to turn off the onChange call in the FormControlLabel wrapper, too. See below!
|
|
37
37
|
theCheckbox = _jsx(Checkbox, { value: value || false, readOnly: readOnly });
|
|
38
38
|
}
|
|
39
|
-
return (_jsxs(FormControl, { required: required, error: status === 'error', children: [_jsx(FormGroup, { children: _jsx(FormControlLabel, { control: theCheckbox, checked: checked, onChange: !readOnly ? handleChange : undefined, onBlur: !readOnly ? handleBlur : undefined, label: caption, labelPlacement: 'end', "data-test-id": testId }) }), _jsx(FormHelperText, { children: helperTextToDisplay })] }));
|
|
39
|
+
return (_jsxs(FormControl, { required: required, error: status === 'error', children: [!hideLabel && _jsx(FormLabel, { component: 'legend', children: label }), _jsx(FormGroup, { children: _jsx(FormControlLabel, { control: theCheckbox, checked: checked, onChange: !readOnly ? handleChange : undefined, onBlur: !readOnly ? handleBlur : undefined, label: caption, labelPlacement: 'end', "data-test-id": testId }) }), _jsx(FormHelperText, { children: helperTextToDisplay })] }));
|
|
40
40
|
}
|
|
41
41
|
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/components/field/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/components/field/Checkbox/Checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect } from 'react';\nimport { Checkbox, FormControl, FormControlLabel, FormGroup, FormHelperText, FormLabel } from '@material-ui/core';\n\nimport handleEvent from '../../helpers/event-utils';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnFieldProps } from '../../../types/PConnProps';\n\ninterface CheckboxProps extends Omit<PConnFieldProps, 'value'> {\n // If any, enter additional props that only exist on Checkbox here\n value?: boolean;\n // eslint-disable-next-line react/no-unused-prop-types\n caption?: string;\n trueLabel?: string;\n falseLabel?: string;\n}\n\nexport default function CheckboxComponent(props: CheckboxProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldValueList = getComponentFromMap('FieldValueList');\n\n const {\n getPConnect,\n label,\n value = false,\n readOnly,\n testId,\n required,\n disabled,\n status,\n helperText,\n validatemessage,\n displayMode,\n hideLabel,\n trueLabel,\n falseLabel\n } = props;\n const helperTextToDisplay = validatemessage || helperText;\n\n const thePConn = getPConnect();\n const theConfigProps = thePConn.getConfigProps() as CheckboxProps;\n const caption = theConfigProps.caption;\n const actionsApi = thePConn.getActionsApi();\n const propName = (thePConn.getStateProps() as any).value;\n\n const [checked, setChecked] = useState(false);\n useEffect(() => {\n // This update theSelectedButton which will update the UI to show the selected button correctly\n setChecked(value);\n }, [value]);\n\n if (displayMode === 'LABELS_LEFT') {\n return <FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} />;\n }\n\n if (displayMode === 'STACKED_LARGE_VAL') {\n return <FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} variant='stacked' />;\n }\n\n const handleChange = event => {\n handleEvent(actionsApi, 'changeNblur', propName, event.target.checked);\n };\n\n const handleBlur = event => {\n thePConn.getValidationApi().validate(event.target.checked);\n };\n\n let theCheckbox = <Checkbox color='primary' disabled={disabled} />;\n\n if (readOnly) {\n // Workaround for lack of InputProps readOnly from https://github.com/mui-org/material-ui/issues/17043\n // Also note that we need to turn off the onChange call in the FormControlLabel wrapper, too. See below!\n theCheckbox = <Checkbox value={value || false} readOnly={readOnly} />;\n }\n\n return (\n <FormControl required={required} error={status === 'error'}>\n {!hideLabel && <FormLabel component='legend'>{label}</FormLabel>}\n <FormGroup>\n <FormControlLabel\n control={theCheckbox}\n checked={checked}\n onChange={!readOnly ? handleChange : undefined}\n onBlur={!readOnly ? handleBlur : undefined}\n label={caption}\n labelPlacement='end'\n data-test-id={testId}\n />\n </FormGroup>\n <FormHelperText>{helperTextToDisplay}</FormHelperText>\n </FormControl>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Currency.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Currency/Currency.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Currency.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Currency/Currency.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAO5D,UAAU,cAAe,SAAQ,eAAe;IAE9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,cAAc,eAgFrD"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
2
|
import CurrencyTextField from '@unicef/material-ui-currency-textfield';
|
|
3
|
+
import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
|
|
4
4
|
import handleEvent from '../../helpers/event-utils';
|
|
5
5
|
import { format } from '../../helpers/formatters';
|
|
6
|
-
import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
|
|
7
6
|
import { getCurrencyCharacters, getCurrencyOptions } from './currency-utils';
|
|
8
7
|
export default function Currency(props) {
|
|
9
8
|
// Get emitted components from map (so we can get any override that may exist)
|
|
@@ -19,16 +18,11 @@ export default function Currency(props) {
|
|
|
19
18
|
const testProp = {
|
|
20
19
|
'data-test-id': testId
|
|
21
20
|
};
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const theSymbols = getCurrencyCharacters(currencyISOCode);
|
|
28
|
-
setCurrSym(theSymbols.theCurrencySymbol);
|
|
29
|
-
setCurrDec(theSymbols.theDecimalIndicator);
|
|
30
|
-
setCurrSep(theSymbols.theDigitGroupSeparator);
|
|
31
|
-
}, [currencyISOCode]);
|
|
21
|
+
// currencySymbols looks like this: { theCurrencySymbol: '$', theDecimalIndicator: '.', theSeparator: ',' }
|
|
22
|
+
const theSymbols = getCurrencyCharacters(currencyISOCode);
|
|
23
|
+
const theCurrSym = theSymbols.theCurrencySymbol;
|
|
24
|
+
const theCurrDec = theSymbols.theDecimalIndicator;
|
|
25
|
+
const theCurrSep = theSymbols.theDigitGroupSeparator;
|
|
32
26
|
const theCurrencyOptions = getCurrencyOptions(currencyISOCode);
|
|
33
27
|
const formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);
|
|
34
28
|
if (displayMode === 'LABELS_LEFT') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Currency.js","sourceRoot":"","sources":["../../../../src/components/field/Currency/Currency.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Currency.js","sourceRoot":"","sources":["../../../../src/components/field/Currency/Currency.tsx"],"names":[],"mappings":"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","sourcesContent":["import CurrencyTextField from '@unicef/material-ui-currency-textfield';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnFieldProps } from '../../../types/PConnProps';\nimport handleEvent from '../../helpers/event-utils';\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\ninterface CurrrencyProps extends PConnFieldProps {\n // If any, enter additional props that only exist on Currency here\n currencyISOCode?: string;\n}\n\nexport default function Currency(props: CurrrencyProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldValueList = getComponentFromMap('FieldValueList');\n\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 placeholder\n } = props;\n\n const pConn = getPConnect();\n const actions = pConn.getActionsApi();\n const propName = (pConn.getStateProps() as any).value;\n const helperTextToDisplay = validatemessage || helperText;\n\n // console.log(`Currency: label: ${label} value: ${value}`);\n\n const testProp = {\n 'data-test-id': testId\n };\n\n // currencySymbols looks like this: { theCurrencySymbol: '$', theDecimalIndicator: '.', theSeparator: ',' }\n const theSymbols = getCurrencyCharacters(currencyISOCode);\n const theCurrSym = theSymbols.theCurrencySymbol;\n const theCurrDec = theSymbols.theDecimalIndicator;\n const theCurrSep = theSymbols.theDigitGroupSeparator;\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 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={placeholder ?? ''}\n size='small'\n required={required}\n disabled={disabled}\n readOnly={!!readOnly}\n error={status === 'error'}\n label={label}\n value={value}\n type='text'\n outputFormat='number'\n textAlign='left'\n InputProps={{ inputProps: { ...testProp } }}\n currencySymbol={theCurrSym}\n decimalCharacter={theCurrDec}\n digitGroupSeparator={theCurrSep}\n onBlur={!readOnly ? currOnBlur : undefined}\n />\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decimal.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Decimal/Decimal.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Decimal.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Decimal/Decimal.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAI5D,UAAU,YAAa,SAAQ,eAAe;IAE5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAK,EAAE,YAAY,eA4ElD"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
2
|
import CurrencyTextField from '@unicef/material-ui-currency-textfield';
|
|
4
3
|
import { getCurrencyCharacters, getCurrencyOptions } from '../Currency/currency-utils';
|
|
5
4
|
import handleEvent from '../../helpers/event-utils';
|
|
@@ -15,13 +14,9 @@ export default function Decimal(props) {
|
|
|
15
14
|
const actions = pConn.getActionsApi();
|
|
16
15
|
const propName = pConn.getStateProps().value;
|
|
17
16
|
const helperTextToDisplay = validatemessage || helperText;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
const theSymbols = getCurrencyCharacters(currencyISOCode);
|
|
22
|
-
setCurrDec(theSymbols.theDecimalIndicator);
|
|
23
|
-
setCurrSep(theSymbols.theDigitGroupSeparator);
|
|
24
|
-
}, [currencyISOCode]);
|
|
17
|
+
const theSymbols = getCurrencyCharacters(currencyISOCode);
|
|
18
|
+
const theCurrDec = theSymbols.theDecimalIndicator;
|
|
19
|
+
const theCurrSep = theSymbols.theDigitGroupSeparator;
|
|
25
20
|
const theCurrencyOptions = getCurrencyOptions(currencyISOCode);
|
|
26
21
|
const formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);
|
|
27
22
|
if (displayMode === 'LABELS_LEFT') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decimal.js","sourceRoot":"","sources":["../../../../src/components/field/Decimal/Decimal.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Decimal.js","sourceRoot":"","sources":["../../../../src/components/field/Decimal/Decimal.tsx"],"names":[],"mappings":"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","sourcesContent":["import CurrencyTextField from '@unicef/material-ui-currency-textfield';\n\nimport { getCurrencyCharacters, getCurrencyOptions } from '../Currency/currency-utils';\nimport handleEvent from '../../helpers/event-utils';\nimport { format } from '../../helpers/formatters';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnFieldProps } from '../../../types/PConnProps';\n\n// Using control from: https://github.com/unicef/material-ui-currency-textfield\n\ninterface DecimalProps extends PConnFieldProps {\n // If any, enter additional props that only exist on Decimal here\n currencyISOCode?: string;\n decimalPrecision?: number;\n showGroupSeparators?: string;\n}\n\nexport default function Decimal(props: DecimalProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldValueList = getComponentFromMap('FieldValueList');\n\n const {\n getPConnect,\n label,\n required,\n disabled,\n value = '',\n validatemessage,\n status,\n /* onChange, onBlur, */\n readOnly,\n helperText,\n displayMode,\n hideLabel,\n currencyISOCode = 'USD',\n decimalPrecision = 2,\n showGroupSeparators = true,\n testId,\n placeholder\n } = props;\n\n const pConn = getPConnect();\n const actions = pConn.getActionsApi();\n const propName = (pConn.getStateProps() as any).value;\n const helperTextToDisplay = validatemessage || helperText;\n\n const theSymbols = getCurrencyCharacters(currencyISOCode);\n const theCurrDec = theSymbols.theDecimalIndicator;\n const theCurrSep = theSymbols.theDigitGroupSeparator;\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 const testProp = {\n 'data-test-id': testId\n };\n\n function decimalOnBlur(event, inValue) {\n handleEvent(actions, 'changeNblur', propName, inValue !== '' ? Number(inValue) : inValue);\n }\n\n return (\n <CurrencyTextField\n fullWidth\n variant={readOnly ? 'standard' : 'outlined'}\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n required={required}\n disabled={disabled}\n error={status === 'error'}\n label={label}\n value={value}\n readOnly={!!readOnly}\n type='text'\n outputFormat='number'\n textAlign='left'\n InputProps={{ inputProps: { ...testProp } }}\n currencySymbol=''\n decimalCharacter={theCurrDec}\n digitGroupSeparator={showGroupSeparators ? theCurrSep : ''}\n decimalPlaces={decimalPrecision}\n onBlur={!readOnly ? decimalOnBlur : undefined}\n />\n );\n}\n"]}
|
|
@@ -8,6 +8,6 @@ interface GroupProps extends PConnFieldProps {
|
|
|
8
8
|
collapsible: boolean;
|
|
9
9
|
type: string;
|
|
10
10
|
}
|
|
11
|
-
export default function Group(props: GroupProps): JSX.Element;
|
|
11
|
+
export default function Group(props: GroupProps): JSX.Element | null;
|
|
12
12
|
export {};
|
|
13
13
|
//# sourceMappingURL=Group.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Group/Group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,OAAO,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,UAAW,SAAQ,eAAe;IAC1C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Group/Group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAW,MAAM,OAAO,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,UAAW,SAAQ,eAAe;IAC1C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,KAAK,EAAE,UAAU,sBAwB9C"}
|
|
@@ -8,6 +8,8 @@ export default function Group(props) {
|
|
|
8
8
|
const content = useMemo(() => {
|
|
9
9
|
return (_jsx(Grid, { container: true, spacing: 2, children: children?.map(child => (_jsx(Grid, { item: true, xs: 12, children: child }, child.key))) }));
|
|
10
10
|
}, [children, type, isReadOnly]);
|
|
11
|
+
if (!children)
|
|
12
|
+
return null;
|
|
11
13
|
return (_jsx(FieldGroup, { name: showHeading ? heading : undefined, collapsible: collapsible, instructions: instructions, children: content }));
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=Group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../src/components/field/Group/Group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAgB,OAAO,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,UAAU,MAAM,wCAAwC,CAAC;AAYhE,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,KAAiB;IAC7C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAE/F,MAAM,UAAU,GAAG,WAAW,KAAK,aAAa,CAAC;IAEjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,YACvB,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACtB,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,EAAE,YACd,KAAK,IADgB,KAAK,CAAC,GAAG,CAE1B,CACR,CAAC,GACG,CACR,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjC,OAAO,CACL,KAAC,UAAU,IAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,YACtG,OAAO,GACG,CACd,CAAC;AACJ,CAAC","sourcesContent":["import { ReactElement, useMemo } from 'react';\nimport { Grid } from '@material-ui/core';\nimport FieldGroup from '../../designSystemExtension/FieldGroup';\nimport { PConnFieldProps } from '../../../types/PConnProps';\n\ninterface GroupProps extends PConnFieldProps {\n children: ReactElement[];\n heading: string;\n showHeading: boolean;\n instructions?: string;\n collapsible: boolean;\n type: string;\n}\n\nexport default function Group(props: GroupProps) {\n const { children, heading, showHeading, instructions, collapsible, displayMode, type } = props;\n\n const isReadOnly = displayMode === 'LABELS_LEFT';\n\n const content = useMemo(() => {\n return (\n <Grid container spacing={2}>\n {children?.map(child => (\n <Grid item xs={12} key={child.key}>\n {child}\n </Grid>\n ))}\n </Grid>\n );\n }, [children, type, isReadOnly]);\n\n return (\n <FieldGroup name={showHeading ? heading : undefined} collapsible={collapsible} instructions={instructions}>\n {content}\n </FieldGroup>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../src/components/field/Group/Group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAgB,OAAO,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,UAAU,MAAM,wCAAwC,CAAC;AAYhE,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,KAAiB;IAC7C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAE/F,MAAM,UAAU,GAAG,WAAW,KAAK,aAAa,CAAC;IAEjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,YACvB,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACtB,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,EAAE,YACd,KAAK,IADgB,KAAK,CAAC,GAAG,CAE1B,CACR,CAAC,GACG,CACR,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO,CACL,KAAC,UAAU,IAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,YACtG,OAAO,GACG,CACd,CAAC;AACJ,CAAC","sourcesContent":["import { ReactElement, useMemo } from 'react';\nimport { Grid } from '@material-ui/core';\nimport FieldGroup from '../../designSystemExtension/FieldGroup';\nimport { PConnFieldProps } from '../../../types/PConnProps';\n\ninterface GroupProps extends PConnFieldProps {\n children: ReactElement[];\n heading: string;\n showHeading: boolean;\n instructions?: string;\n collapsible: boolean;\n type: string;\n}\n\nexport default function Group(props: GroupProps) {\n const { children, heading, showHeading, instructions, collapsible, displayMode, type } = props;\n\n const isReadOnly = displayMode === 'LABELS_LEFT';\n\n const content = useMemo(() => {\n return (\n <Grid container spacing={2}>\n {children?.map(child => (\n <Grid item xs={12} key={child.key}>\n {child}\n </Grid>\n ))}\n </Grid>\n );\n }, [children, type, isReadOnly]);\n\n if (!children) return null;\n\n return (\n <FieldGroup name={showHeading ? heading : undefined} collapsible={collapsible} instructions={instructions}>\n {content}\n </FieldGroup>\n );\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { PConnFieldProps } from '../../../types/PConnProps';
|
|
3
3
|
interface PercentageProps extends PConnFieldProps {
|
|
4
|
+
currencyISOCode?: string;
|
|
4
5
|
}
|
|
5
6
|
export default function Percentage(props: PercentageProps): JSX.Element;
|
|
6
7
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Percentage.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Percentage/Percentage.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Percentage.d.ts","sourceRoot":"","sources":["../../../../src/components/field/Percentage/Percentage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAK5D,UAAU,eAAgB,SAAQ,eAAe;IAE/C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,eAAe,eAgFxD"}
|
|
@@ -1,44 +1,41 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
2
|
+
import CurrencyTextField from '@unicef/material-ui-currency-textfield';
|
|
4
3
|
import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
'& input[type=number]': {
|
|
9
|
-
'-moz-appearance': 'textfield'
|
|
10
|
-
},
|
|
11
|
-
'& input[type=number]::-webkit-outer-spin-button': {
|
|
12
|
-
'-webkit-appearance': 'none',
|
|
13
|
-
margin: 0
|
|
14
|
-
},
|
|
15
|
-
'& input[type=number]::-webkit-inner-spin-button': {
|
|
16
|
-
'-webkit-appearance': 'none',
|
|
17
|
-
margin: 0
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}));
|
|
4
|
+
import { getCurrencyCharacters, getCurrencyOptions } from '../Currency/currency-utils';
|
|
5
|
+
import handleEvent from '../../helpers/event-utils';
|
|
6
|
+
import { format } from '../../helpers/formatters';
|
|
21
7
|
export default function Percentage(props) {
|
|
22
8
|
// Get emitted components from map (so we can get any override that may exist)
|
|
23
|
-
const TextInput = getComponentFromMap('TextInput');
|
|
24
9
|
const FieldValueList = getComponentFromMap('FieldValueList');
|
|
25
|
-
const
|
|
26
|
-
|
|
10
|
+
const { getPConnect, label, required, disabled, value = '', validatemessage, status,
|
|
11
|
+
// onChange,
|
|
12
|
+
// onBlur,
|
|
13
|
+
readOnly, currencyISOCode = 'USD', testId, helperText, displayMode, hideLabel, placeholder } = props;
|
|
14
|
+
const pConn = getPConnect();
|
|
15
|
+
const actions = pConn.getActionsApi();
|
|
16
|
+
const propName = pConn.getStateProps().value;
|
|
27
17
|
const helperTextToDisplay = validatemessage || helperText;
|
|
18
|
+
const theCurrencyOptions = getCurrencyOptions(currencyISOCode);
|
|
19
|
+
const formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);
|
|
28
20
|
// console.log(`Percentage: label: ${label} value: ${value}`);
|
|
29
21
|
if (displayMode === 'LABELS_LEFT') {
|
|
30
|
-
return _jsx(FieldValueList, { name: hideLabel ? '' : label, value:
|
|
22
|
+
return _jsx(FieldValueList, { name: hideLabel ? '' : label, value: formattedValue });
|
|
31
23
|
}
|
|
32
24
|
if (displayMode === 'STACKED_LARGE_VAL') {
|
|
33
|
-
return _jsx(FieldValueList, { name: hideLabel ? '' : label, value:
|
|
34
|
-
}
|
|
35
|
-
if (readOnly) {
|
|
36
|
-
return _jsx(TextInput, { ...props });
|
|
25
|
+
return _jsx(FieldValueList, { name: hideLabel ? '' : label, value: formattedValue, variant: 'stacked' });
|
|
37
26
|
}
|
|
38
27
|
let testProp = {};
|
|
39
28
|
testProp = {
|
|
40
29
|
'data-test-id': testId
|
|
41
30
|
};
|
|
42
|
-
|
|
31
|
+
const theSymbols = getCurrencyCharacters(currencyISOCode);
|
|
32
|
+
const theCurrDec = theSymbols.theDecimalIndicator;
|
|
33
|
+
const theCurrSep = theSymbols.theDigitGroupSeparator;
|
|
34
|
+
function PercentageOnBlur(event, inValue) {
|
|
35
|
+
handleEvent(actions, 'changeNblur', propName, inValue !== '' ? Number(inValue) : inValue);
|
|
36
|
+
}
|
|
37
|
+
return (_jsx(CurrencyTextField, { fullWidth: true, variant: readOnly ? 'standard' : 'outlined', helperText: helperTextToDisplay, placeholder: placeholder ?? '', size: 'small', required: required, disabled: disabled, readOnly: !!readOnly, error: status === 'error', label: label, value: value, type: 'text', outputFormat: 'number', textAlign: 'left', InputProps: {
|
|
38
|
+
inputProps: { ...testProp }
|
|
39
|
+
}, currencySymbol: '', decimalCharacter: theCurrDec, digitGroupSeparator: theCurrSep, onBlur: !readOnly ? PercentageOnBlur : undefined }));
|
|
43
40
|
}
|
|
44
41
|
//# sourceMappingURL=Percentage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Percentage.js","sourceRoot":"","sources":["../../../../src/components/field/Percentage/Percentage.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Percentage.js","sourceRoot":"","sources":["../../../../src/components/field/Percentage/Percentage.tsx"],"names":[],"mappings":"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","sourcesContent":["import CurrencyTextField from '@unicef/material-ui-currency-textfield';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnFieldProps } from '../../../types/PConnProps';\nimport { getCurrencyCharacters, getCurrencyOptions } from '../Currency/currency-utils';\nimport handleEvent from '../../helpers/event-utils';\nimport { format } from '../../helpers/formatters';\n\ninterface PercentageProps extends PConnFieldProps {\n // If any, enter additional props that only exist on Percentage here\n currencyISOCode?: string;\n}\n\nexport default function Percentage(props: PercentageProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldValueList = getComponentFromMap('FieldValueList');\n\n const {\n getPConnect,\n label,\n required,\n disabled,\n value = '',\n validatemessage,\n status,\n // onChange,\n // onBlur,\n readOnly,\n currencyISOCode = 'USD',\n testId,\n helperText,\n displayMode,\n hideLabel,\n placeholder\n } = props;\n\n const pConn = getPConnect();\n const actions = pConn.getActionsApi();\n const propName = (pConn.getStateProps() as any).value;\n const helperTextToDisplay = validatemessage || helperText;\n\n const theCurrencyOptions = getCurrencyOptions(currencyISOCode);\n const formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);\n\n // console.log(`Percentage: label: ${label} value: ${value}`);\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 let testProp = {};\n\n testProp = {\n 'data-test-id': testId\n };\n\n const theSymbols = getCurrencyCharacters(currencyISOCode);\n const theCurrDec = theSymbols.theDecimalIndicator;\n const theCurrSep = theSymbols.theDigitGroupSeparator;\n\n function PercentageOnBlur(event, inValue) {\n handleEvent(actions, 'changeNblur', propName, inValue !== '' ? Number(inValue) : inValue);\n }\n\n return (\n <CurrencyTextField\n fullWidth\n variant={readOnly ? 'standard' : 'outlined'}\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n required={required}\n disabled={disabled}\n readOnly={!!readOnly}\n error={status === 'error'}\n label={label}\n value={value}\n type='text'\n outputFormat='number'\n textAlign='left'\n InputProps={{\n inputProps: { ...testProp }\n }}\n currencySymbol=''\n decimalCharacter={theCurrDec}\n digitGroupSeparator={theCurrSep}\n onBlur={!readOnly ? PercentageOnBlur : undefined}\n />\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/helpers/formatters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,wBAIE;AAmDF,wBAAgB,MAAM,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA,EAAE,OAAO,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/helpers/formatters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,wBAIE;AAmDF,wBAAgB,MAAM,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA,EAAE,OAAO,KAAK,GAAG,MAAM,CAuExD"}
|
|
@@ -67,6 +67,12 @@ export function format(value, type, options = {}) {
|
|
|
67
67
|
formattedValue = Currency.Decimal(value, params);
|
|
68
68
|
break;
|
|
69
69
|
}
|
|
70
|
+
case 'percentage': {
|
|
71
|
+
const defaultOptions = { locale: getLocale(), decPlaces: 2 };
|
|
72
|
+
const params = { ...defaultOptions, ...options };
|
|
73
|
+
formattedValue = Currency.Percentage(value, params);
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
70
76
|
case 'integer': {
|
|
71
77
|
const defaultOptions = { locale: getLocale() };
|
|
72
78
|
const params = { ...defaultOptions, ...options };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/helpers/formatters/index.ts"],"names":[],"mappings":"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","sourcesContent":["import Boolean from './Boolean';\nimport Currency from './Currency';\nimport DateFormatter from './Date';\nimport { getCurrentTimezone, getLocale } from './common';\n\nexport default {\n ...Boolean,\n ...Currency,\n ...DateFormatter\n};\n\nfunction getDateObject(text): Date {\n // TODO - cleanup formatters util functions as DX APIs are returning values per ISO std now.\n const timeStamp = text.replace(/-/g, '');\n const isDateTime = timeStamp.indexOf('GMT') !== -1;\n const year = parseInt(timeStamp.substr(0, 4), 10);\n const month = parseInt(timeStamp.substr(4, 2), 10) - 1;\n const day = parseInt(timeStamp.substr(6, 2), 10);\n\n const date = new Date();\n\n date.setDate(day);\n date.setMonth(month);\n date.setFullYear(year);\n\n if (isDateTime) {\n const hours = parseInt(timeStamp.substr(9, 2), 10);\n const minutes = parseInt(timeStamp.substr(11, 2), 10);\n const seconds = parseInt(timeStamp.substr(13, 2), 10);\n const ms = parseInt(timeStamp.substr(16, 3), 10);\n date.setHours(hours);\n date.setMinutes(minutes);\n date.setSeconds(seconds);\n date.setMilliseconds(ms);\n }\n\n return date;\n}\n\nfunction isIsoDate(str) {\n if (!/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/.test(str)) return false;\n const d = new Date(str);\n return d.toISOString() === str;\n}\n\nfunction parseDateInISO(value) {\n const isMilliSeconds = /^[0-9]+$/.exec(value);\n if (isMilliSeconds) {\n const date = new Date(parseInt(value, 10));\n return date.toISOString();\n }\n\n if (isIsoDate(value)) {\n const date = new Date(value);\n return date.toISOString();\n }\n\n return value ? getDateObject(value).toISOString() : value;\n}\n\nexport function format(value, type, options = {}): string {\n let formattedValue: string;\n\n switch (type?.toLowerCase()) {\n case 'currency': {\n const defaultOptions = {\n locale: getLocale(),\n position: 'before',\n decPlaces: 2\n };\n const params = { ...defaultOptions, ...options };\n formattedValue = Currency.Currency(value, params);\n break;\n }\n\n case 'decimal': {\n const defaultOptions = { locale: getLocale(), decPlaces: 2 };\n const params = { ...defaultOptions, ...options };\n formattedValue = Currency.Decimal(value, params);\n break;\n }\n\n case 'integer': {\n const defaultOptions = { locale: getLocale() };\n const params = { ...defaultOptions, ...options };\n formattedValue = Currency.Integer(value, params);\n break;\n }\n\n case 'date': {\n const defaultOptions = {\n format: 'MMM DD, YYYY',\n timezone: getCurrentTimezone()\n };\n const params = { ...defaultOptions, ...options };\n formattedValue = DateFormatter.Date(parseDateInISO(value), params);\n break;\n }\n\n case 'datetime': {\n const defaultOptions = {\n format: 'MMM DD, YYYY h:mm A',\n timezone: getCurrentTimezone()\n };\n const params = { ...defaultOptions, ...options };\n formattedValue = DateFormatter.Date(parseDateInISO(value), params);\n break;\n }\n\n case 'boolean':\n case 'checkbox': {\n formattedValue = Boolean.TrueFalse(value, { allowEmpty: false, ...options });\n break;\n }\n\n case 'userreference': {\n formattedValue = value.userName;\n break;\n }\n\n default:\n formattedValue = value;\n }\n return formattedValue;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/helpers/formatters/index.ts"],"names":[],"mappings":"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","sourcesContent":["import Boolean from './Boolean';\nimport Currency from './Currency';\nimport DateFormatter from './Date';\nimport { getCurrentTimezone, getLocale } from './common';\n\nexport default {\n ...Boolean,\n ...Currency,\n ...DateFormatter\n};\n\nfunction getDateObject(text): Date {\n // TODO - cleanup formatters util functions as DX APIs are returning values per ISO std now.\n const timeStamp = text.replace(/-/g, '');\n const isDateTime = timeStamp.indexOf('GMT') !== -1;\n const year = parseInt(timeStamp.substr(0, 4), 10);\n const month = parseInt(timeStamp.substr(4, 2), 10) - 1;\n const day = parseInt(timeStamp.substr(6, 2), 10);\n\n const date = new Date();\n\n date.setDate(day);\n date.setMonth(month);\n date.setFullYear(year);\n\n if (isDateTime) {\n const hours = parseInt(timeStamp.substr(9, 2), 10);\n const minutes = parseInt(timeStamp.substr(11, 2), 10);\n const seconds = parseInt(timeStamp.substr(13, 2), 10);\n const ms = parseInt(timeStamp.substr(16, 3), 10);\n date.setHours(hours);\n date.setMinutes(minutes);\n date.setSeconds(seconds);\n date.setMilliseconds(ms);\n }\n\n return date;\n}\n\nfunction isIsoDate(str) {\n if (!/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/.test(str)) return false;\n const d = new Date(str);\n return d.toISOString() === str;\n}\n\nfunction parseDateInISO(value) {\n const isMilliSeconds = /^[0-9]+$/.exec(value);\n if (isMilliSeconds) {\n const date = new Date(parseInt(value, 10));\n return date.toISOString();\n }\n\n if (isIsoDate(value)) {\n const date = new Date(value);\n return date.toISOString();\n }\n\n return value ? getDateObject(value).toISOString() : value;\n}\n\nexport function format(value, type, options = {}): string {\n let formattedValue: string;\n\n switch (type?.toLowerCase()) {\n case 'currency': {\n const defaultOptions = {\n locale: getLocale(),\n position: 'before',\n decPlaces: 2\n };\n const params = { ...defaultOptions, ...options };\n formattedValue = Currency.Currency(value, params);\n break;\n }\n\n case 'decimal': {\n const defaultOptions = { locale: getLocale(), decPlaces: 2 };\n const params = { ...defaultOptions, ...options };\n formattedValue = Currency.Decimal(value, params);\n break;\n }\n\n case 'percentage': {\n const defaultOptions = { locale: getLocale(), decPlaces: 2 };\n const params = { ...defaultOptions, ...options };\n formattedValue = Currency.Percentage(value, params);\n break;\n }\n\n case 'integer': {\n const defaultOptions = { locale: getLocale() };\n const params = { ...defaultOptions, ...options };\n formattedValue = Currency.Integer(value, params);\n break;\n }\n\n case 'date': {\n const defaultOptions = {\n format: 'MMM DD, YYYY',\n timezone: getCurrentTimezone()\n };\n const params = { ...defaultOptions, ...options };\n formattedValue = DateFormatter.Date(parseDateInISO(value), params);\n break;\n }\n\n case 'datetime': {\n const defaultOptions = {\n format: 'MMM DD, YYYY h:mm A',\n timezone: getCurrentTimezone()\n };\n const params = { ...defaultOptions, ...options };\n formattedValue = DateFormatter.Date(parseDateInISO(value), params);\n break;\n }\n\n case 'boolean':\n case 'checkbox': {\n formattedValue = Boolean.TrueFalse(value, { allowEmpty: false, ...options });\n break;\n }\n\n case 'userreference': {\n formattedValue = value.userName;\n break;\n }\n\n default:\n formattedValue = value;\n }\n return formattedValue;\n}\n"]}
|
|
@@ -123,7 +123,7 @@ export const buildFieldsForTable = (configFields, fields, showDeleteButton) => {
|
|
|
123
123
|
type: 'text',
|
|
124
124
|
label: fields[index].config.label || fields[index].config.caption,
|
|
125
125
|
fillAvailableSpace: !!field.config.fillAvailableSpace,
|
|
126
|
-
id: index
|
|
126
|
+
id: `${index}`,
|
|
127
127
|
name: field.config.value.substr(4),
|
|
128
128
|
cellRenderer: TABLE_CELL,
|
|
129
129
|
sort: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleTableHelpers.js","sourceRoot":"","sources":["../../../src/components/helpers/simpleTableHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { Utils } from './utils';\n\nexport const TABLE_CELL = 'SdkRenderer';\nexport const DELETE_ICON = 'DeleteIcon';\n\n// BUG-615253: Workaround for autosize in table with lazy loading components\n/* istanbul ignore next */\nfunction getFieldWidth(field, label) {\n let width: number;\n switch (field.type) {\n case 'Time':\n width = 150;\n break;\n case 'Date':\n width = 160;\n break;\n case 'DateTime':\n width = 205;\n break;\n case 'AutoComplete':\n case 'TextArea':\n width = 190;\n break;\n case 'Currency':\n case 'TextInput':\n width = 182;\n break;\n case 'Checkbox':\n // eslint-disable-next-line no-case-declarations\n const text = document.createElement('span');\n document.body.appendChild(text);\n text.style.fontSize = '13px';\n text.style.position = 'absolute';\n text.innerHTML = label;\n width = Math.ceil(text.clientWidth) + 30;\n document.body.removeChild(text);\n break;\n default:\n width = 180;\n }\n return width;\n}\n\nexport const getContext = thePConn => {\n const contextName = thePConn.getContextName();\n const pageReference = thePConn.getPageReference();\n const { referenceList } = thePConn.getStateProps()?.config || thePConn.getStateProps();\n const pageReferenceForRows = referenceList.startsWith('.') ? `${pageReference}.${referenceList.substring(1)}` : referenceList;\n\n // removing \"caseInfo.content\" prefix to avoid setting it as a target while preparing pageInstructions\n // skipping the removal as StateMachine itself is removing this case info prefix while preparing pageInstructions\n // referenceList = pageReferenceForRows.replace(\n // PCore.getConstants().CASE_INFO.CASE_INFO_CONTENT,\n // \"\"\n // );\n\n return {\n contextName,\n referenceListStr: referenceList,\n pageReferenceForRows\n };\n};\n\nexport const populateRowKey = rawData => {\n return rawData.map((row: any, index: number) => {\n return { ...row, index };\n });\n};\n\nexport const getApiContext = (processedData, pConnect, reorderCB) => {\n return {\n fetchData: () => {\n return new Promise(resolve => {\n resolve({\n data: processedData,\n filteredRecordCount: processedData.length,\n totalRecordCount: processedData.length\n });\n });\n },\n fetchPersonalizations: () => {\n return Promise.resolve({});\n },\n applyRowReorder: (sourceKey, destinationKey) => {\n // indexes are keys for simple table so, it should work.\n reorderCB();\n return Promise.resolve(pConnect.getListActions().reorder(parseInt(sourceKey, 10), parseInt(destinationKey, 10)));\n }\n };\n};\n\nexport const buildMetaForListView = (fieldMetadata, fields, type, ruleClass, name, propertyLabel, isDataObject, parameters) => {\n return {\n name,\n config: {\n type,\n referenceList: fieldMetadata.datasource.name,\n parameters: parameters ?? fieldMetadata.datasource.parameters,\n personalization: false,\n isDataObject,\n grouping: true,\n globalSearch: true,\n reorderFields: true,\n toggleFieldVisibility: true,\n title: propertyLabel,\n personalizationId: '' /* TODO */,\n template: 'ListView',\n presets: [\n {\n name: 'presets',\n template: 'Table',\n config: {},\n children: [\n {\n name: 'Columns',\n type: 'Region',\n children: fields\n }\n ],\n label: propertyLabel,\n id: 'P_' /* TODO */\n }\n ],\n ruleClass\n }\n };\n};\n\nexport const buildFieldsForTable = (configFields, fields, showDeleteButton) => {\n const fieldDefs = configFields.map((field, index) => {\n return {\n type: 'text',\n label: fields[index].config.label || fields[index].config.caption,\n fillAvailableSpace: !!field.config.fillAvailableSpace,\n id: index,\n name: field.config.value.substr(4),\n cellRenderer: TABLE_CELL,\n sort: false,\n noContextMenu: true,\n showMenu: false,\n meta: {\n ...field\n },\n // BUG-615253: Workaround for autosize in table with lazy loading components\n width: getFieldWidth(field, fields[index].config.label)\n };\n });\n\n // ONLY add DELETE_ICON to fields when the table is requested as EDITABLE\n if (showDeleteButton) {\n fieldDefs.push({\n type: 'text',\n id: fieldDefs.length,\n cellRenderer: DELETE_ICON,\n sort: false,\n noContextMenu: true,\n showMenu: false,\n // BUG-615253: Workaround for autosize in table with lazy loading components\n width: 46\n });\n }\n\n return fieldDefs;\n};\n\nexport const createMetaForTable = (fields, renderMode) => {\n return {\n height: {\n minHeight: 'auto',\n fitHeightToElement: 'fitHeightToElement',\n deltaAdjustment: 'deltaAdjustment',\n autoSize: true\n },\n fieldDefs: fields,\n itemKey: 'index',\n grouping: false,\n reorderFields: false,\n reorderItems: renderMode === 'Editable',\n dragHandle: renderMode === 'Editable',\n globalSearch: false,\n personalization: false,\n toggleFieldVisibility: false,\n toolbar: false,\n footer: false,\n filterExpression: null,\n editing: false,\n timezone: PCore.getEnvironmentInfo().getTimeZone()\n };\n};\n\n/**\n * This method returns a callBack function for Add action.\n * @param {object} pConnect - PConnect object\n * @param {number} index - index of the page list to add\n */\nexport const getAddRowCallback = (pConnect, index) => {\n return () => pConnect.getListActions().insert({}, index, ''); // 3rd arg null until typedef marked correctly as optional\n};\n\n/**\n * This method creates a PConnect object with proper options for Add and Delete actions\n * @param {string} contextName - contextName\n * @param {string} referenceList - referenceList\n * @param {string} pageReference - pageReference\n */\n// NOTE: use of type \"any\" is required since TypeScript doesn't allow private/protected properties\n// to be exported from a class (TS4094 error)\nexport function createPConnect(contextName, referenceList, pageReference): any {\n const options = {\n context: contextName,\n pageReference,\n referenceList\n };\n\n // create PConnect object\n const config = { meta: {}, options };\n const { getPConnect } = PCore.createPConnect(config);\n\n return getPConnect();\n}\n\nexport const filterData = filterByColumns => {\n return function filteringData(item) {\n let bKeep = true;\n for (const filterObj of filterByColumns) {\n if (filterObj.containsFilterValue !== '' || filterObj.containsFilter === 'null' || filterObj.containsFilter === 'notnull') {\n let value: any;\n let filterValue: any;\n\n switch (filterObj.type) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n value = item[filterObj.ref] !== null ?? item[filterObj.ref] !== '' ? Utils.getSeconds(item[filterObj.ref]) : null;\n filterValue =\n filterObj.containsFilterValue !== null && filterObj.containsFilterValue !== '' ? Utils.getSeconds(filterObj.containsFilterValue) : null;\n\n // eslint-disable-next-line sonarjs/no-nested-switch\n switch (filterObj.containsFilter) {\n case 'notequal':\n // becasue filterValue is in minutes, need to have a range of less than 60 secons\n\n if (value !== null && filterValue !== null) {\n // get rid of milliseconds\n value /= 1000;\n filterValue /= 1000;\n\n const diff = value - filterValue;\n if (diff >= 0 && diff < 60) {\n bKeep = false;\n }\n }\n\n break;\n\n case 'equal':\n // becasue filterValue is in minutes, need to have a range of less than 60 secons\n\n if (value !== null && filterValue !== null) {\n // get rid of milliseconds\n value /= 1000;\n filterValue /= 1000;\n\n const diff = value - filterValue;\n if (diff !== 0) {\n bKeep = false;\n }\n }\n\n break;\n\n case 'after':\n if (value < filterValue) {\n bKeep = false;\n }\n break;\n\n case 'before':\n if (value > filterValue) {\n bKeep = false;\n }\n break;\n\n case 'null':\n if (value !== null) {\n bKeep = false;\n }\n break;\n\n case 'notnull':\n if (value === null) {\n bKeep = false;\n }\n break;\n\n default:\n break;\n }\n break;\n\n default:\n value = item[filterObj.ref].toLowerCase();\n filterValue = filterObj.containsFilterValue.toLowerCase();\n\n // eslint-disable-next-line sonarjs/no-nested-switch\n switch (filterObj.containsFilter) {\n case 'contains':\n if (value.indexOf(filterValue) < 0) {\n bKeep = false;\n }\n break;\n\n case 'equals':\n if (value !== filterValue) {\n bKeep = false;\n }\n break;\n\n case 'startswith':\n if (value.indexOf(filterValue) !== 0) {\n bKeep = false;\n }\n break;\n\n default:\n break;\n }\n\n break;\n }\n }\n\n // if don't keep stop filtering\n if (!bKeep) {\n break;\n }\n }\n return bKeep;\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"simpleTableHelpers.js","sourceRoot":"","sources":["../../../src/components/helpers/simpleTableHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { Utils } from './utils';\n\nexport const TABLE_CELL = 'SdkRenderer';\nexport const DELETE_ICON = 'DeleteIcon';\n\n// BUG-615253: Workaround for autosize in table with lazy loading components\n/* istanbul ignore next */\nfunction getFieldWidth(field, label) {\n let width: number;\n switch (field.type) {\n case 'Time':\n width = 150;\n break;\n case 'Date':\n width = 160;\n break;\n case 'DateTime':\n width = 205;\n break;\n case 'AutoComplete':\n case 'TextArea':\n width = 190;\n break;\n case 'Currency':\n case 'TextInput':\n width = 182;\n break;\n case 'Checkbox':\n // eslint-disable-next-line no-case-declarations\n const text = document.createElement('span');\n document.body.appendChild(text);\n text.style.fontSize = '13px';\n text.style.position = 'absolute';\n text.innerHTML = label;\n width = Math.ceil(text.clientWidth) + 30;\n document.body.removeChild(text);\n break;\n default:\n width = 180;\n }\n return width;\n}\n\nexport const getContext = thePConn => {\n const contextName = thePConn.getContextName();\n const pageReference = thePConn.getPageReference();\n const { referenceList } = thePConn.getStateProps()?.config || thePConn.getStateProps();\n const pageReferenceForRows = referenceList.startsWith('.') ? `${pageReference}.${referenceList.substring(1)}` : referenceList;\n\n // removing \"caseInfo.content\" prefix to avoid setting it as a target while preparing pageInstructions\n // skipping the removal as StateMachine itself is removing this case info prefix while preparing pageInstructions\n // referenceList = pageReferenceForRows.replace(\n // PCore.getConstants().CASE_INFO.CASE_INFO_CONTENT,\n // \"\"\n // );\n\n return {\n contextName,\n referenceListStr: referenceList,\n pageReferenceForRows\n };\n};\n\nexport const populateRowKey = rawData => {\n return rawData.map((row: any, index: number) => {\n return { ...row, index };\n });\n};\n\nexport const getApiContext = (processedData, pConnect, reorderCB) => {\n return {\n fetchData: () => {\n return new Promise(resolve => {\n resolve({\n data: processedData,\n filteredRecordCount: processedData.length,\n totalRecordCount: processedData.length\n });\n });\n },\n fetchPersonalizations: () => {\n return Promise.resolve({});\n },\n applyRowReorder: (sourceKey, destinationKey) => {\n // indexes are keys for simple table so, it should work.\n reorderCB();\n return Promise.resolve(pConnect.getListActions().reorder(parseInt(sourceKey, 10), parseInt(destinationKey, 10)));\n }\n };\n};\n\nexport const buildMetaForListView = (fieldMetadata, fields, type, ruleClass, name, propertyLabel, isDataObject, parameters) => {\n return {\n name,\n config: {\n type,\n referenceList: fieldMetadata.datasource.name,\n parameters: parameters ?? fieldMetadata.datasource.parameters,\n personalization: false,\n isDataObject,\n grouping: true,\n globalSearch: true,\n reorderFields: true,\n toggleFieldVisibility: true,\n title: propertyLabel,\n personalizationId: '' /* TODO */,\n template: 'ListView',\n presets: [\n {\n name: 'presets',\n template: 'Table',\n config: {},\n children: [\n {\n name: 'Columns',\n type: 'Region',\n children: fields\n }\n ],\n label: propertyLabel,\n id: 'P_' /* TODO */\n }\n ],\n ruleClass\n }\n };\n};\n\nexport const buildFieldsForTable = (configFields, fields, showDeleteButton) => {\n const fieldDefs = configFields.map((field, index) => {\n return {\n type: 'text',\n label: fields[index].config.label || fields[index].config.caption,\n fillAvailableSpace: !!field.config.fillAvailableSpace,\n id: `${index}`,\n name: field.config.value.substr(4),\n cellRenderer: TABLE_CELL,\n sort: false,\n noContextMenu: true,\n showMenu: false,\n meta: {\n ...field\n },\n // BUG-615253: Workaround for autosize in table with lazy loading components\n width: getFieldWidth(field, fields[index].config.label)\n };\n });\n\n // ONLY add DELETE_ICON to fields when the table is requested as EDITABLE\n if (showDeleteButton) {\n fieldDefs.push({\n type: 'text',\n id: fieldDefs.length,\n cellRenderer: DELETE_ICON,\n sort: false,\n noContextMenu: true,\n showMenu: false,\n // BUG-615253: Workaround for autosize in table with lazy loading components\n width: 46\n });\n }\n\n return fieldDefs;\n};\n\nexport const createMetaForTable = (fields, renderMode) => {\n return {\n height: {\n minHeight: 'auto',\n fitHeightToElement: 'fitHeightToElement',\n deltaAdjustment: 'deltaAdjustment',\n autoSize: true\n },\n fieldDefs: fields,\n itemKey: 'index',\n grouping: false,\n reorderFields: false,\n reorderItems: renderMode === 'Editable',\n dragHandle: renderMode === 'Editable',\n globalSearch: false,\n personalization: false,\n toggleFieldVisibility: false,\n toolbar: false,\n footer: false,\n filterExpression: null,\n editing: false,\n timezone: PCore.getEnvironmentInfo().getTimeZone()\n };\n};\n\n/**\n * This method returns a callBack function for Add action.\n * @param {object} pConnect - PConnect object\n * @param {number} index - index of the page list to add\n */\nexport const getAddRowCallback = (pConnect, index) => {\n return () => pConnect.getListActions().insert({}, index, ''); // 3rd arg null until typedef marked correctly as optional\n};\n\n/**\n * This method creates a PConnect object with proper options for Add and Delete actions\n * @param {string} contextName - contextName\n * @param {string} referenceList - referenceList\n * @param {string} pageReference - pageReference\n */\n// NOTE: use of type \"any\" is required since TypeScript doesn't allow private/protected properties\n// to be exported from a class (TS4094 error)\nexport function createPConnect(contextName, referenceList, pageReference): any {\n const options = {\n context: contextName,\n pageReference,\n referenceList\n };\n\n // create PConnect object\n const config = { meta: {}, options };\n const { getPConnect } = PCore.createPConnect(config);\n\n return getPConnect();\n}\n\nexport const filterData = filterByColumns => {\n return function filteringData(item) {\n let bKeep = true;\n for (const filterObj of filterByColumns) {\n if (filterObj.containsFilterValue !== '' || filterObj.containsFilter === 'null' || filterObj.containsFilter === 'notnull') {\n let value: any;\n let filterValue: any;\n\n switch (filterObj.type) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n value = item[filterObj.ref] !== null ?? item[filterObj.ref] !== '' ? Utils.getSeconds(item[filterObj.ref]) : null;\n filterValue =\n filterObj.containsFilterValue !== null && filterObj.containsFilterValue !== '' ? Utils.getSeconds(filterObj.containsFilterValue) : null;\n\n // eslint-disable-next-line sonarjs/no-nested-switch\n switch (filterObj.containsFilter) {\n case 'notequal':\n // becasue filterValue is in minutes, need to have a range of less than 60 secons\n\n if (value !== null && filterValue !== null) {\n // get rid of milliseconds\n value /= 1000;\n filterValue /= 1000;\n\n const diff = value - filterValue;\n if (diff >= 0 && diff < 60) {\n bKeep = false;\n }\n }\n\n break;\n\n case 'equal':\n // becasue filterValue is in minutes, need to have a range of less than 60 secons\n\n if (value !== null && filterValue !== null) {\n // get rid of milliseconds\n value /= 1000;\n filterValue /= 1000;\n\n const diff = value - filterValue;\n if (diff !== 0) {\n bKeep = false;\n }\n }\n\n break;\n\n case 'after':\n if (value < filterValue) {\n bKeep = false;\n }\n break;\n\n case 'before':\n if (value > filterValue) {\n bKeep = false;\n }\n break;\n\n case 'null':\n if (value !== null) {\n bKeep = false;\n }\n break;\n\n case 'notnull':\n if (value === null) {\n bKeep = false;\n }\n break;\n\n default:\n break;\n }\n break;\n\n default:\n value = item[filterObj.ref].toLowerCase();\n filterValue = filterObj.containsFilterValue.toLowerCase();\n\n // eslint-disable-next-line sonarjs/no-nested-switch\n switch (filterObj.containsFilter) {\n case 'contains':\n if (value.indexOf(filterValue) < 0) {\n bKeep = false;\n }\n break;\n\n case 'equals':\n if (value !== filterValue) {\n bKeep = false;\n }\n break;\n\n case 'startswith':\n if (value.indexOf(filterValue) !== 0) {\n bKeep = false;\n }\n break;\n\n default:\n break;\n }\n\n break;\n }\n }\n\n // if don't keep stop filtering\n if (!bKeep) {\n break;\n }\n }\n return bKeep;\n };\n};\n"]}
|
|
@@ -238,7 +238,7 @@ export const FlowContainer = (props) => {
|
|
|
238
238
|
return hasBanner && _jsx(AlertBanner, { id: 'flowContainerBanner', variant: 'urgent', messages: messages });
|
|
239
239
|
};
|
|
240
240
|
return (_jsxs("div", { style: { textAlign: 'left' }, id: buildName, className: 'psdk-flow-container-top', children: [!bShowConfirm &&
|
|
241
|
-
(!todo_showTodo ? (!displayOnlyFA ? (_jsxs(Card, { className: classes.root
|
|
241
|
+
(!todo_showTodo ? (!displayOnlyFA ? (_jsxs(Card, { className: `${classes.root} psdk-root`, children: [_jsx(CardHeader, { title: _jsx(Typography, { variant: 'h6', children: containerName }), subheader: `Task in ${caseId} \u2022 Priority ${urgency}`, avatar: _jsx(Avatar, { className: `${classes.avatar} psdk-avatar`, children: operatorInitials }) }), displayPageMessages(), _jsx(MuiPickersUtilsProvider, { utils: DayjsUtils, children: _jsx(Assignment, { getPConnect: getPConnect, itemKey: itemKey, children: rootViewElement }) })] })) : (_jsxs(Card, { className: `${classes.root} psdk-root`, children: [_jsx(Typography, { variant: 'h6', children: containerName }), displayPageMessages(), _jsx(MuiPickersUtilsProvider, { utils: DayjsUtils, children: _jsx(Assignment, { getPConnect: getPConnect, itemKey: itemKey, children: rootViewElement }) })] }))) : (_jsx("div", { children: _jsx(ToDo, { getPConnect: getPConnect, caseInfoID: todo_caseInfoID, datasource: todo_datasource, showTodoList: todo_showTodoList, headerText: todo_headerText, type: TODO, context: todo_context, itemKey: itemKey, isConfirm: true }, Math.random()) }))), bHasCaseMessages && (_jsx("div", { className: `${classes.alert} psdk-alert`, children: _jsx(Alert, { severity: 'success', children: caseMessages }) })), bShowConfirm && bShowBanner && _jsx("div", { children: rootViewElement })] }));
|
|
242
242
|
};
|
|
243
243
|
export default withSimpleViewContainerRenderer(FlowContainer);
|
|
244
244
|
//# sourceMappingURL=FlowContainer.js.map
|
|
@@ -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\nimport { useState, useEffect, useContext } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Card, CardHeader, Avatar, Typography } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport DayjsUtils from '@date-io/dayjs';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\n\nimport StoreContext from '../../../../bridge/Context/StoreContext';\nimport { Utils } from '../../../helpers/utils';\nimport { isContainerInitialized } from '../helpers';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { withSimpleViewContainerRenderer } from '../SimpleView/SimpleView';\n\nimport { addContainerItem, getToDoAssignments, showBanner, hasContainerItems } from './helpers';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface FlowContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n pageMessages: any[];\n rootViewElement: React.ReactNode;\n getPConnectOfActiveContainerItem: Function;\n assignmentNames: string[];\n activeContainerItemID: 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(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 const FlowContainer = (props: FlowContainerProps) => {\n // Get the proper implementation (local or Pega-provided) for these components that are emitted below\n const Assignment = getComponentFromMap('Assignment');\n const ToDo = getComponentFromMap('Todo'); // NOTE: ConstellationJS Engine uses \"Todo\" and not \"ToDo\"!!!\n const AlertBanner = getComponentFromMap('AlertBanner');\n\n const pCoreConstants = PCore.getConstants();\n const PCoreVersion = PCore.getPCoreVersion();\n const { TODO } = pCoreConstants;\n const todo_headerText = 'To do';\n\n const {\n getPConnect: getPConnectOfFlowContainer,\n pageMessages,\n rootViewElement,\n getPConnectOfActiveContainerItem,\n assignmentNames,\n activeContainerItemID: itemKey\n } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n const pConnectOfFlowContainer = getPConnectOfFlowContainer();\n const isInitialized = isContainerInitialized(pConnectOfFlowContainer);\n const hasItems = isInitialized && hasContainerItems(pConnectOfFlowContainer);\n const getPConnect = getPConnectOfActiveContainerItem || getPConnectOfFlowContainer;\n const thePConn = getPConnect();\n const containerName = assignmentNames && assignmentNames.length > 0 ? assignmentNames[0] : '';\n // const [init, setInit] = useState(true);\n // const [fcState, setFCState] = useState({ hasError: false });\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\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\n const [checkSvg, setCheckSvg] = useState('');\n\n const [buildName, setBuildName] = useState('');\n const [bShowConfirm, setShowConfirm] = useState(false);\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Messages';\n\n const classes = useStyles();\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', ''); // 2nd arg empty string until typedefs properly allow optional\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() {\n const ourPConn = getPConnect();\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 ourPConn.isBoundToState();\n\n // debugger;\n setBuildName(getBuildName());\n }\n\n useEffect(() => {\n // from WC SDK connectedCallback (mount)\n initComponent();\n }, []);\n\n useEffect(() => {\n // @ts-ignore - Property 'getMetadata' is private and only accessible within class 'C11nEnv'\n if (isInitialized && pConnectOfFlowContainer.getMetadata().children && !hasItems) {\n // ensuring not to add container items, if container already has items\n // because during multi doc mode, we will have container items already in store\n addContainerItem(pConnectOfFlowContainer);\n }\n }, [isInitialized, hasItems]);\n\n function isCaseWideLocalAction() {\n const ourPConn = getPConnect();\n\n const actionID = ourPConn.getValue(pCoreConstants.CASE_INFO.ACTIVE_ACTION_ID, ''); // 2nd arg empty string until typedefs properly allow optional\n const caseActions = ourPConn.getValue(pCoreConstants.CASE_INFO.AVAILABLEACTIONS, ''); // 2nd arg empty string until typedefs properly allow optional\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, ''); // 2nd arg empty string until typedefs properly allow optional\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: any[] = ourPConn.getValue(pCoreConstants.CASE_INFO.D_CASE_ASSIGNMENTS_RESULTS, ''); // 2nd arg empty string until typedefs properly allow optional\n const isEmbedded = window.location.href.includes('embedded');\n let bAssignmentsForThisOperator = false;\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 if (PCoreVersion?.includes('8.7') || isEmbedded) {\n const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();\n for (const assignment of assignmentsList) {\n if (assignment.assigneeInfo.ID === thisOperator) {\n bAssignmentsForThisOperator = true;\n }\n }\n } else {\n bAssignmentsForThisOperator = true;\n }\n // Bail out if there isn't an assignmentsList\n if (!assignmentsList) {\n return bHasAssignments;\n }\n\n const bHasChildCaseAssignments = hasChildCaseAssignments();\n\n if (bAssignmentsForThisOperator || bHasChildCaseAssignments || isCaseWideLocalAction()) {\n bHasAssignments = true;\n }\n\n return bHasAssignments;\n }\n\n // From SDK-WC updateSelf - so do this in useEffect that's run only when the props change...\n useEffect(() => {\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(''); // 1st arg empty string until typedefs properly allow optional\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', ''); // 2nd arg empty string until typedefs properly allow optional\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, '')); // 2nd arg empty string until typedefs properly allow optional\n setTodoDatasource({ source: todoAssignments });\n }\n setShowTodo(true);\n setShowTodoList(false);\n }, 100);\n } else if (caseViewMode && caseViewMode === 'perform') {\n // perform\n // debugger;\n setShowTodo(false);\n }\n\n // if have caseMessage show message and end\n const theCaseMessages = localizedVal(thePConn.getValue('caseMessages', ''), localeCategory); // 2nd arg empty string until typedefs properly allow optional\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(theCaseMessages || localizedVal('Thank you! The next step in this case has been routed appropriately.', localeCategory));\n setHasCaseMessages(true);\n setShowConfirm(true);\n\n // publish this \"assignmentFinished\" for mashup, need to get approved as a standard\n // @ts-ignore - second parameter “payload” for publish method should be optional\n PCore.getPubSubUtils().publish('assignmentFinished');\n\n // debugger;\n setCheckSvg(Utils.getImageSrc('check', Utils.getSDKStaticConentUrl()));\n } else {\n // debugger;\n setHasCaseMessages(false);\n setShowConfirm(false);\n }\n }, [props]);\n\n const caseId = thePConn.getCaseSummary().content.pyID;\n const urgency = getPConnect().getCaseSummary().assignments ? getPConnect().getCaseSummary().assignments?.[0].urgency : '';\n const operatorInitials = Utils.getInitials(PCore.getEnvironmentInfo().getOperatorName());\n\n const bShowBanner = showBanner(getPConnect);\n\n const displayPageMessages = () => {\n let hasBanner = false;\n const messages = pageMessages ? pageMessages.map(msg => localizedVal(msg.message, 'Messages')) : pageMessages;\n hasBanner = messages && messages.length > 0;\n return hasBanner && <AlertBanner id='flowContainerBanner' variant='urgent' messages={messages} />;\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 />\n {displayPageMessages()}\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n ) : (\n <Card className={classes.root}>\n <Typography variant='h6'>{containerName}</Typography>\n {displayPageMessages()}\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n )\n ) : (\n <div>\n <ToDo\n key={Math.random()}\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 isConfirm\n />\n </div>\n ))}\n {bHasCaseMessages && (\n <div className={classes.alert}>\n <Alert severity='success'>{caseMessages}</Alert>\n </div>\n )}\n {bShowConfirm && bShowBanner && <div>{rootViewElement}</div>}\n </div>\n );\n};\n\nexport default withSimpleViewContainerRenderer(FlowContainer);\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\nimport { useState, useEffect, useContext } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Card, CardHeader, Avatar, Typography } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport DayjsUtils from '@date-io/dayjs';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\n\nimport StoreContext from '../../../../bridge/Context/StoreContext';\nimport { Utils } from '../../../helpers/utils';\nimport { isContainerInitialized } from '../helpers';\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { withSimpleViewContainerRenderer } from '../SimpleView/SimpleView';\n\nimport { addContainerItem, getToDoAssignments, showBanner, hasContainerItems } from './helpers';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface FlowContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n pageMessages: any[];\n rootViewElement: React.ReactNode;\n getPConnectOfActiveContainerItem: Function;\n assignmentNames: string[];\n activeContainerItemID: 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(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 const FlowContainer = (props: FlowContainerProps) => {\n // Get the proper implementation (local or Pega-provided) for these components that are emitted below\n const Assignment = getComponentFromMap('Assignment');\n const ToDo = getComponentFromMap('Todo'); // NOTE: ConstellationJS Engine uses \"Todo\" and not \"ToDo\"!!!\n const AlertBanner = getComponentFromMap('AlertBanner');\n\n const pCoreConstants = PCore.getConstants();\n const PCoreVersion = PCore.getPCoreVersion();\n const { TODO } = pCoreConstants;\n const todo_headerText = 'To do';\n\n const {\n getPConnect: getPConnectOfFlowContainer,\n pageMessages,\n rootViewElement,\n getPConnectOfActiveContainerItem,\n assignmentNames,\n activeContainerItemID: itemKey\n } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n const pConnectOfFlowContainer = getPConnectOfFlowContainer();\n const isInitialized = isContainerInitialized(pConnectOfFlowContainer);\n const hasItems = isInitialized && hasContainerItems(pConnectOfFlowContainer);\n const getPConnect = getPConnectOfActiveContainerItem || getPConnectOfFlowContainer;\n const thePConn = getPConnect();\n const containerName = assignmentNames && assignmentNames.length > 0 ? assignmentNames[0] : '';\n // const [init, setInit] = useState(true);\n // const [fcState, setFCState] = useState({ hasError: false });\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\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\n const [checkSvg, setCheckSvg] = useState('');\n\n const [buildName, setBuildName] = useState('');\n const [bShowConfirm, setShowConfirm] = useState(false);\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Messages';\n\n const classes = useStyles();\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', ''); // 2nd arg empty string until typedefs properly allow optional\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() {\n const ourPConn = getPConnect();\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 ourPConn.isBoundToState();\n\n // debugger;\n setBuildName(getBuildName());\n }\n\n useEffect(() => {\n // from WC SDK connectedCallback (mount)\n initComponent();\n }, []);\n\n useEffect(() => {\n // @ts-ignore - Property 'getMetadata' is private and only accessible within class 'C11nEnv'\n if (isInitialized && pConnectOfFlowContainer.getMetadata().children && !hasItems) {\n // ensuring not to add container items, if container already has items\n // because during multi doc mode, we will have container items already in store\n addContainerItem(pConnectOfFlowContainer);\n }\n }, [isInitialized, hasItems]);\n\n function isCaseWideLocalAction() {\n const ourPConn = getPConnect();\n\n const actionID = ourPConn.getValue(pCoreConstants.CASE_INFO.ACTIVE_ACTION_ID, ''); // 2nd arg empty string until typedefs properly allow optional\n const caseActions = ourPConn.getValue(pCoreConstants.CASE_INFO.AVAILABLEACTIONS, ''); // 2nd arg empty string until typedefs properly allow optional\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, ''); // 2nd arg empty string until typedefs properly allow optional\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: any[] = ourPConn.getValue(pCoreConstants.CASE_INFO.D_CASE_ASSIGNMENTS_RESULTS, ''); // 2nd arg empty string until typedefs properly allow optional\n const isEmbedded = window.location.href.includes('embedded');\n let bAssignmentsForThisOperator = false;\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 if (PCoreVersion?.includes('8.7') || isEmbedded) {\n const thisOperator = PCore.getEnvironmentInfo().getOperatorIdentifier();\n for (const assignment of assignmentsList) {\n if (assignment.assigneeInfo.ID === thisOperator) {\n bAssignmentsForThisOperator = true;\n }\n }\n } else {\n bAssignmentsForThisOperator = true;\n }\n // Bail out if there isn't an assignmentsList\n if (!assignmentsList) {\n return bHasAssignments;\n }\n\n const bHasChildCaseAssignments = hasChildCaseAssignments();\n\n if (bAssignmentsForThisOperator || bHasChildCaseAssignments || isCaseWideLocalAction()) {\n bHasAssignments = true;\n }\n\n return bHasAssignments;\n }\n\n // From SDK-WC updateSelf - so do this in useEffect that's run only when the props change...\n useEffect(() => {\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(''); // 1st arg empty string until typedefs properly allow optional\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', ''); // 2nd arg empty string until typedefs properly allow optional\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, '')); // 2nd arg empty string until typedefs properly allow optional\n setTodoDatasource({ source: todoAssignments });\n }\n setShowTodo(true);\n setShowTodoList(false);\n }, 100);\n } else if (caseViewMode && caseViewMode === 'perform') {\n // perform\n // debugger;\n setShowTodo(false);\n }\n\n // if have caseMessage show message and end\n const theCaseMessages = localizedVal(thePConn.getValue('caseMessages', ''), localeCategory); // 2nd arg empty string until typedefs properly allow optional\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(theCaseMessages || localizedVal('Thank you! The next step in this case has been routed appropriately.', localeCategory));\n setHasCaseMessages(true);\n setShowConfirm(true);\n\n // publish this \"assignmentFinished\" for mashup, need to get approved as a standard\n // @ts-ignore - second parameter “payload” for publish method should be optional\n PCore.getPubSubUtils().publish('assignmentFinished');\n\n // debugger;\n setCheckSvg(Utils.getImageSrc('check', Utils.getSDKStaticConentUrl()));\n } else {\n // debugger;\n setHasCaseMessages(false);\n setShowConfirm(false);\n }\n }, [props]);\n\n const caseId = thePConn.getCaseSummary().content.pyID;\n const urgency = getPConnect().getCaseSummary().assignments ? getPConnect().getCaseSummary().assignments?.[0].urgency : '';\n const operatorInitials = Utils.getInitials(PCore.getEnvironmentInfo().getOperatorName());\n\n const bShowBanner = showBanner(getPConnect);\n\n const displayPageMessages = () => {\n let hasBanner = false;\n const messages = pageMessages ? pageMessages.map(msg => localizedVal(msg.message, 'Messages')) : pageMessages;\n hasBanner = messages && messages.length > 0;\n return hasBanner && <AlertBanner id='flowContainerBanner' variant='urgent' messages={messages} />;\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} psdk-root`}>\n <CardHeader\n title={<Typography variant='h6'>{containerName}</Typography>}\n subheader={`Task in ${caseId} \\u2022 Priority ${urgency}`}\n avatar={<Avatar className={`${classes.avatar} psdk-avatar`}>{operatorInitials}</Avatar>}\n />\n {displayPageMessages()}\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n ) : (\n <Card className={`${classes.root} psdk-root`}>\n <Typography variant='h6'>{containerName}</Typography>\n {displayPageMessages()}\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </MuiPickersUtilsProvider>\n </Card>\n )\n ) : (\n <div>\n <ToDo\n key={Math.random()}\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 isConfirm\n />\n </div>\n ))}\n {bHasCaseMessages && (\n <div className={`${classes.alert} psdk-alert`}>\n <Alert severity='success'>{caseMessages}</Alert>\n </div>\n )}\n {bShowConfirm && bShowBanner && <div>{rootViewElement}</div>}\n </div>\n );\n};\n\nexport default withSimpleViewContainerRenderer(FlowContainer);\n"]}
|
|
@@ -256,7 +256,7 @@ export default function ModalViewContainer(props) {
|
|
|
256
256
|
// actionsDialog.current = true;
|
|
257
257
|
setShowModal(false);
|
|
258
258
|
}
|
|
259
|
-
return (_jsxs(_Fragment, { children: [_jsxs(Dialog, { open: bShowModal, "aria-labelledby": 'form-dialog-title', children: [_jsx(DialogTitle, { id: 'form-dialog-title', className: classes.dlgTitle
|
|
259
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Dialog, { open: bShowModal, "aria-labelledby": 'form-dialog-title', children: [_jsx(DialogTitle, { id: 'form-dialog-title', className: `${classes.dlgTitle} psdk-dialog-title`, children: title }), _jsx(DialogContent, { className: `${classes.dlgContent} psdk-dialog-content`, children: bShowModal ? (_jsx(MuiPickersUtilsProvider, { utils: DayjsUtils, children: _jsx(Assignment, { getPConnect: createdView.configObject.getPConnect, itemKey: itemKey, isInModal: true, banners: getBanners({
|
|
260
260
|
target: itemKey,
|
|
261
261
|
pageMessages
|
|
262
262
|
}), children: arNewChildrenAsReact }) })) : null }), isMultiRecordData && (_jsx(ListViewActionButtons, { getPConnect: createdView.configObject.getPConnect, context: createdView.latestItem.context, closeActionsDialog: closeActionsDialog }))] }), bShowCancelAlert && _jsx(CancelAlert, { ...cancelAlertProps, dismiss: dismissCancelAlert })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalViewContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ModalViewContainer/ModalViewContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { createElement, useEffect, useRef, useState } from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport DayjsUtils from '@date-io/dayjs';\nimport difference from 'lodash.difference';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\n// Need to get correct implementation from component map for Assignment and CancelAlert\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { getBanners } from '../../../helpers/case-utils';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface ModalViewContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n loadingInfo?: string;\n routingInfo?: any;\n pageMessages?: string[];\n}\n\nfunction isOpenModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length < currentModalList.length : false;\n}\n\nfunction isUpdateModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length === currentModalList.length : false;\n}\n\nfunction isCloseModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length > currentModalList.length : false;\n}\n\nfunction buildName(pConnect, name = '') {\n const context = pConnect.getContextName();\n return `${context}/${name}`;\n}\n\nfunction getKeyAndLatestItem(routinginfo, pConn, options) {\n const containerName = pConn.getContainerName();\n const { acTertiary = false } = options || {};\n if (PCore.getContainerUtils().hasContainerItems(buildName(pConn, containerName))) {\n const { accessedOrder, items } = routinginfo;\n let key;\n // eslint-disable-next-line no-plusplus\n for (let i = accessedOrder.length - 1; i >= 0; i--) {\n const tempkey = accessedOrder[i];\n if ((acTertiary && items[tempkey].acTertiary) || (!acTertiary && !items[tempkey].acTertiary)) {\n key = tempkey;\n break;\n }\n }\n const latestItem = items[key];\n return { key, latestItem };\n }\n return {};\n}\n\nfunction getConfigObject(item, pConnect, isReverseCoexistence = false) {\n let config;\n if (isReverseCoexistence) {\n config = {\n options: {\n pageReference: pConnect?.getPageReference(),\n hasForm: true,\n containerName: pConnect?.getContainerName() || PCore.getConstants().MODAL\n }\n };\n return PCore.createPConnect(config);\n }\n if (item) {\n const { context, view, isBulkAction } = item;\n const target = PCore.getContainerUtils().getTargetFromContainerItemID(context);\n config = {\n meta: view,\n options: {\n context,\n pageReference: view.config.context || pConnect.getPageReference(),\n hasForm: true,\n ...(isBulkAction && { isBulkAction }),\n containerName: pConnect?.getContainerName() || PCore.getConstants().MODAL,\n target\n }\n };\n return PCore.createPConnect(config);\n }\n return null;\n}\n\nconst useStyles = makeStyles(theme => ({\n dlgTitle: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(0)\n },\n dlgContent: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(0),\n marginBottom: theme.spacing(2)\n }\n}));\n\nexport default function ModalViewContainer(props: ModalViewContainerProps) {\n // Get the proper implementation (local or Pega-provided) for these components that are emitted below\n const Assignment = getComponentFromMap('Assignment');\n const CancelAlert = getComponentFromMap('CancelAlert');\n const ListViewActionButtons = getComponentFromMap('ListViewActionButtons');\n\n const classes = useStyles();\n\n const modalCollection = useRef({});\n const routingInfoRef = useRef({});\n const { getPConnect, routingInfo = null, pageMessages = [] } = props;\n const pConn = getPConnect();\n const { acTertiary } = pConn.getConfigProps() as any;\n const {\n CONTAINER_TYPE: { MULTIPLE },\n PUB_SUB_EVENTS: { EVENT_SHOW_CANCEL_ALERT }\n } = PCore.getConstants();\n const { subscribe, unsubscribe } = PCore.getPubSubUtils();\n const [bShowModal, setShowModal] = useState(false);\n const [bShowCancelAlert, setShowCancelAlert] = useState(false);\n const [createdView, setCreatedView] = useState<any>(null);\n const [title, setTitle] = useState('');\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<any[]>([]);\n const [itemKey, setItemKey] = useState('');\n const [cancelAlertProps, setCancelAlertProps] = useState({});\n const [isMultiRecordData, setMultiRecordData] = useState(false);\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Data Object';\n\n const ERROR_WHILE_RENDERING = 'ERROR_WHILE_RENDERING';\n\n function showAlert(payload) {\n const { latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn, { acTertiary });\n const isReverseCoexistence = (PCore.getCoexistenceManager().getBroadcastUtils() as any).isReverseCoexistenceCaseLoaded();\n const { isModalAction, hideDelete, isDataObject, skipReleaseLockRequest } = payload;\n\n /*\n If we are in create stage full page mode, created a new case and trying to click on cancel button\n it will show two alert dialogs which is not expected. Hence isModalAction flag to avoid that.\n */\n if (latestItem && isModalAction) {\n const configObject = getConfigObject(latestItem, pConn, isReverseCoexistence);\n const contextName = configObject?.getPConnect().getContextName();\n setCancelAlertProps({\n heading: 'Discard unsaved changes?',\n content: 'You have unsaved changes. You can discard them or go back to keep working.',\n getPConnect: configObject?.getPConnect,\n itemKey: contextName,\n hideDelete,\n isDataObject,\n skipReleaseLockRequest\n });\n setShowCancelAlert(true);\n }\n }\n\n function handleModalOpen(key) {\n modalCollection.current = {\n ...modalCollection.current,\n [key]: {}\n };\n }\n\n function handleModalClose(accessedOrder) {\n const tempModalCollection = modalCollection.current;\n const [closedModalKey] = difference(Object.keys(tempModalCollection), accessedOrder);\n\n if (closedModalKey && tempModalCollection[closedModalKey]) {\n const modifiedModalCollection = { ...tempModalCollection };\n delete modifiedModalCollection[closedModalKey];\n modalCollection.current = modifiedModalCollection;\n setShowModal(false);\n }\n }\n\n const dismissCancelAlert = dismissAllModals => {\n setShowCancelAlert(false);\n\n if (dismissAllModals) {\n setShowModal(false);\n }\n };\n\n function getModalHeading(dataObjectAction) {\n return dataObjectAction === PCore.getConstants().RESOURCE_STATUS.CREATE\n ? localizedVal('Add Record', localeCategory)\n : localizedVal('Edit Record', localeCategory);\n }\n\n function determineModalHeaderByAction(actionName, caseTypeName, ID, caseLocaleRef) {\n if (actionName) {\n return localizedVal(actionName, localeCategory);\n }\n return `${localizedVal('Create', localeCategory)} ${localizedVal(caseTypeName, undefined, caseLocaleRef)} (${ID})`;\n }\n\n useEffect(() => {\n // Establish the necessary containers\n const containerMgr = pConn.getContainerManager();\n containerMgr.initializeContainers({ type: MULTIPLE });\n }, [MULTIPLE, pConn]);\n\n useEffect(() => {\n // Persisting routing information between the renders in showAlert\n routingInfoRef.current = routingInfo;\n });\n\n useEffect(() => {\n subscribe(EVENT_SHOW_CANCEL_ALERT, showAlert, EVENT_SHOW_CANCEL_ALERT /* Unique string for subscription */);\n subscribe(\n ERROR_WHILE_RENDERING,\n error => {\n // setError(true);\n // eslint-disable-next-line no-console\n console.error(error);\n },\n `${ERROR_WHILE_RENDERING}-mc-${getPConnect().getContextName()}`,\n false,\n getPConnect().getContextName()\n );\n\n // Unsubscribe on component unmount\n return () => {\n unsubscribe(EVENT_SHOW_CANCEL_ALERT, EVENT_SHOW_CANCEL_ALERT /* Should be same unique string passed during subscription */);\n };\n });\n\n useEffect(() => {\n if (routingInfo) {\n const { accessedOrder, type } = routingInfo;\n const { key, latestItem } = getKeyAndLatestItem(routingInfo, pConn, { acTertiary });\n\n if (\n latestItem &&\n type === MULTIPLE &&\n (isOpenModalAction(modalCollection.current, accessedOrder) || isUpdateModalAction(modalCollection.current, accessedOrder))\n ) {\n const { actionName } = latestItem;\n // const { isDockable = false } = latestItem?.modalOptions || {};\n const configObject: any = getConfigObject(latestItem, null, false);\n const pConnect = configObject.getPConnect();\n const caseInfo: any = pConnect.getCaseInfo();\n const caseName = caseInfo.getName();\n const caseTypeName = caseInfo.getCaseTypeName();\n const ID = caseInfo.getBusinessID() || caseInfo.getID();\n const isDataObject = routingInfo.items[latestItem.context].resourceType === PCore.getConstants().RESOURCE_TYPES.DATA;\n const dataObjectAction = routingInfo.items[latestItem.context].resourceStatus;\n const isMultiRecord = routingInfo.items[latestItem.context].isMultiRecordData;\n const headingValue =\n isDataObject || isMultiRecord\n ? getModalHeading(dataObjectAction)\n : determineModalHeaderByAction(actionName, caseTypeName, ID, `${caseInfo?.getClassName()}!CASE!${caseInfo.getName()}`.toUpperCase());\n\n let arChildrenAsReact: any[] = [];\n\n if (pConnect.getComponentName() === 'reference') {\n // Reference component doesn't have children. It can build the View we want.\n // The Reference component getPConnect is in configObject\n\n arChildrenAsReact.push(\n createElement(createPConnectComponent(), {\n ...configObject,\n key: `${caseName}-${ID}`\n })\n );\n } else {\n // This is the 8.6 implementation. Leaving it in for reference for now.\n // And create a similar array of the children as React components\n // passed to Assignment component when rendered\n arChildrenAsReact = (pConnect.getChildren() as []).map((child: any) => {\n // Use Case Summary ID as the React element's key\n const caseSummaryID = child.getPConnect().getCaseSummary().ID;\n return createElement(createPConnectComponent(), {\n ...child,\n key: caseSummaryID\n });\n });\n }\n\n if (arChildrenAsReact.length > 0) setArNewChildrenAsReact(arChildrenAsReact);\n setMultiRecordData(isMultiRecord);\n setTitle(headingValue);\n setCreatedView({ configObject, latestItem });\n setItemKey(key);\n setShowModal(true);\n\n // Update modal use case which happens when assignment in submitted in modal.\n if (isUpdateModalAction(modalCollection.current, accessedOrder)) {\n // handleModalUpdate(key);\n } else if (isOpenModalAction(modalCollection.current, accessedOrder)) {\n // New modal open scenario\n handleModalOpen(key);\n }\n } else if (isCloseModalAction(modalCollection.current, accessedOrder)) {\n handleModalClose(accessedOrder);\n }\n }\n }, [routingInfo]);\n\n function closeActionsDialog() {\n // actionsDialog.current = true;\n setShowModal(false);\n }\n\n return (\n <>\n <Dialog open={bShowModal} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title' className={classes.dlgTitle}>\n {title}\n </DialogTitle>\n <DialogContent className={classes.dlgContent}>\n {bShowModal ? (\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment\n getPConnect={createdView.configObject.getPConnect}\n itemKey={itemKey}\n isInModal\n banners={getBanners({\n target: itemKey,\n pageMessages\n })}\n >\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n ) : null}\n </DialogContent>\n\n {isMultiRecordData && (\n <ListViewActionButtons\n getPConnect={createdView.configObject.getPConnect}\n context={createdView.latestItem.context}\n closeActionsDialog={closeActionsDialog}\n />\n )}\n </Dialog>\n {bShowCancelAlert && <CancelAlert {...cancelAlertProps} dismiss={dismissCancelAlert} />}\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ModalViewContainer.js","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/ModalViewContainer/ModalViewContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { createElement, useEffect, useRef, useState } from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport DayjsUtils from '@date-io/dayjs';\nimport difference from 'lodash.difference';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\n// Need to get correct implementation from component map for Assignment and CancelAlert\nimport { getComponentFromMap } from '../../../../bridge/helpers/sdk_component_map';\nimport { getBanners } from '../../../helpers/case-utils';\nimport { PConnProps } from '../../../../types/PConnProps';\n\ninterface ModalViewContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n loadingInfo?: string;\n routingInfo?: any;\n pageMessages?: string[];\n}\n\nfunction isOpenModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length < currentModalList.length : false;\n}\n\nfunction isUpdateModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length === currentModalList.length : false;\n}\n\nfunction isCloseModalAction(prevModalCollection, currentModalList) {\n return prevModalCollection && currentModalList ? Object.keys(prevModalCollection).length > currentModalList.length : false;\n}\n\nfunction buildName(pConnect, name = '') {\n const context = pConnect.getContextName();\n return `${context}/${name}`;\n}\n\nfunction getKeyAndLatestItem(routinginfo, pConn, options) {\n const containerName = pConn.getContainerName();\n const { acTertiary = false } = options || {};\n if (PCore.getContainerUtils().hasContainerItems(buildName(pConn, containerName))) {\n const { accessedOrder, items } = routinginfo;\n let key;\n // eslint-disable-next-line no-plusplus\n for (let i = accessedOrder.length - 1; i >= 0; i--) {\n const tempkey = accessedOrder[i];\n if ((acTertiary && items[tempkey].acTertiary) || (!acTertiary && !items[tempkey].acTertiary)) {\n key = tempkey;\n break;\n }\n }\n const latestItem = items[key];\n return { key, latestItem };\n }\n return {};\n}\n\nfunction getConfigObject(item, pConnect, isReverseCoexistence = false) {\n let config;\n if (isReverseCoexistence) {\n config = {\n options: {\n pageReference: pConnect?.getPageReference(),\n hasForm: true,\n containerName: pConnect?.getContainerName() || PCore.getConstants().MODAL\n }\n };\n return PCore.createPConnect(config);\n }\n if (item) {\n const { context, view, isBulkAction } = item;\n const target = PCore.getContainerUtils().getTargetFromContainerItemID(context);\n config = {\n meta: view,\n options: {\n context,\n pageReference: view.config.context || pConnect.getPageReference(),\n hasForm: true,\n ...(isBulkAction && { isBulkAction }),\n containerName: pConnect?.getContainerName() || PCore.getConstants().MODAL,\n target\n }\n };\n return PCore.createPConnect(config);\n }\n return null;\n}\n\nconst useStyles = makeStyles(theme => ({\n dlgTitle: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(0)\n },\n dlgContent: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n marginTop: theme.spacing(0),\n marginBottom: theme.spacing(2)\n }\n}));\n\nexport default function ModalViewContainer(props: ModalViewContainerProps) {\n // Get the proper implementation (local or Pega-provided) for these components that are emitted below\n const Assignment = getComponentFromMap('Assignment');\n const CancelAlert = getComponentFromMap('CancelAlert');\n const ListViewActionButtons = getComponentFromMap('ListViewActionButtons');\n\n const classes = useStyles();\n\n const modalCollection = useRef({});\n const routingInfoRef = useRef({});\n const { getPConnect, routingInfo = null, pageMessages = [] } = props;\n const pConn = getPConnect();\n const { acTertiary } = pConn.getConfigProps() as any;\n const {\n CONTAINER_TYPE: { MULTIPLE },\n PUB_SUB_EVENTS: { EVENT_SHOW_CANCEL_ALERT }\n } = PCore.getConstants();\n const { subscribe, unsubscribe } = PCore.getPubSubUtils();\n const [bShowModal, setShowModal] = useState(false);\n const [bShowCancelAlert, setShowCancelAlert] = useState(false);\n const [createdView, setCreatedView] = useState<any>(null);\n const [title, setTitle] = useState('');\n const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<any[]>([]);\n const [itemKey, setItemKey] = useState('');\n const [cancelAlertProps, setCancelAlertProps] = useState({});\n const [isMultiRecordData, setMultiRecordData] = useState(false);\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Data Object';\n\n const ERROR_WHILE_RENDERING = 'ERROR_WHILE_RENDERING';\n\n function showAlert(payload) {\n const { latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn, { acTertiary });\n const isReverseCoexistence = (PCore.getCoexistenceManager().getBroadcastUtils() as any).isReverseCoexistenceCaseLoaded();\n const { isModalAction, hideDelete, isDataObject, skipReleaseLockRequest } = payload;\n\n /*\n If we are in create stage full page mode, created a new case and trying to click on cancel button\n it will show two alert dialogs which is not expected. Hence isModalAction flag to avoid that.\n */\n if (latestItem && isModalAction) {\n const configObject = getConfigObject(latestItem, pConn, isReverseCoexistence);\n const contextName = configObject?.getPConnect().getContextName();\n setCancelAlertProps({\n heading: 'Discard unsaved changes?',\n content: 'You have unsaved changes. You can discard them or go back to keep working.',\n getPConnect: configObject?.getPConnect,\n itemKey: contextName,\n hideDelete,\n isDataObject,\n skipReleaseLockRequest\n });\n setShowCancelAlert(true);\n }\n }\n\n function handleModalOpen(key) {\n modalCollection.current = {\n ...modalCollection.current,\n [key]: {}\n };\n }\n\n function handleModalClose(accessedOrder) {\n const tempModalCollection = modalCollection.current;\n const [closedModalKey] = difference(Object.keys(tempModalCollection), accessedOrder);\n\n if (closedModalKey && tempModalCollection[closedModalKey]) {\n const modifiedModalCollection = { ...tempModalCollection };\n delete modifiedModalCollection[closedModalKey];\n modalCollection.current = modifiedModalCollection;\n setShowModal(false);\n }\n }\n\n const dismissCancelAlert = dismissAllModals => {\n setShowCancelAlert(false);\n\n if (dismissAllModals) {\n setShowModal(false);\n }\n };\n\n function getModalHeading(dataObjectAction) {\n return dataObjectAction === PCore.getConstants().RESOURCE_STATUS.CREATE\n ? localizedVal('Add Record', localeCategory)\n : localizedVal('Edit Record', localeCategory);\n }\n\n function determineModalHeaderByAction(actionName, caseTypeName, ID, caseLocaleRef) {\n if (actionName) {\n return localizedVal(actionName, localeCategory);\n }\n return `${localizedVal('Create', localeCategory)} ${localizedVal(caseTypeName, undefined, caseLocaleRef)} (${ID})`;\n }\n\n useEffect(() => {\n // Establish the necessary containers\n const containerMgr = pConn.getContainerManager();\n containerMgr.initializeContainers({ type: MULTIPLE });\n }, [MULTIPLE, pConn]);\n\n useEffect(() => {\n // Persisting routing information between the renders in showAlert\n routingInfoRef.current = routingInfo;\n });\n\n useEffect(() => {\n subscribe(EVENT_SHOW_CANCEL_ALERT, showAlert, EVENT_SHOW_CANCEL_ALERT /* Unique string for subscription */);\n subscribe(\n ERROR_WHILE_RENDERING,\n error => {\n // setError(true);\n // eslint-disable-next-line no-console\n console.error(error);\n },\n `${ERROR_WHILE_RENDERING}-mc-${getPConnect().getContextName()}`,\n false,\n getPConnect().getContextName()\n );\n\n // Unsubscribe on component unmount\n return () => {\n unsubscribe(EVENT_SHOW_CANCEL_ALERT, EVENT_SHOW_CANCEL_ALERT /* Should be same unique string passed during subscription */);\n };\n });\n\n useEffect(() => {\n if (routingInfo) {\n const { accessedOrder, type } = routingInfo;\n const { key, latestItem } = getKeyAndLatestItem(routingInfo, pConn, { acTertiary });\n\n if (\n latestItem &&\n type === MULTIPLE &&\n (isOpenModalAction(modalCollection.current, accessedOrder) || isUpdateModalAction(modalCollection.current, accessedOrder))\n ) {\n const { actionName } = latestItem;\n // const { isDockable = false } = latestItem?.modalOptions || {};\n const configObject: any = getConfigObject(latestItem, null, false);\n const pConnect = configObject.getPConnect();\n const caseInfo: any = pConnect.getCaseInfo();\n const caseName = caseInfo.getName();\n const caseTypeName = caseInfo.getCaseTypeName();\n const ID = caseInfo.getBusinessID() || caseInfo.getID();\n const isDataObject = routingInfo.items[latestItem.context].resourceType === PCore.getConstants().RESOURCE_TYPES.DATA;\n const dataObjectAction = routingInfo.items[latestItem.context].resourceStatus;\n const isMultiRecord = routingInfo.items[latestItem.context].isMultiRecordData;\n const headingValue =\n isDataObject || isMultiRecord\n ? getModalHeading(dataObjectAction)\n : determineModalHeaderByAction(actionName, caseTypeName, ID, `${caseInfo?.getClassName()}!CASE!${caseInfo.getName()}`.toUpperCase());\n\n let arChildrenAsReact: any[] = [];\n\n if (pConnect.getComponentName() === 'reference') {\n // Reference component doesn't have children. It can build the View we want.\n // The Reference component getPConnect is in configObject\n\n arChildrenAsReact.push(\n createElement(createPConnectComponent(), {\n ...configObject,\n key: `${caseName}-${ID}`\n })\n );\n } else {\n // This is the 8.6 implementation. Leaving it in for reference for now.\n // And create a similar array of the children as React components\n // passed to Assignment component when rendered\n arChildrenAsReact = (pConnect.getChildren() as []).map((child: any) => {\n // Use Case Summary ID as the React element's key\n const caseSummaryID = child.getPConnect().getCaseSummary().ID;\n return createElement(createPConnectComponent(), {\n ...child,\n key: caseSummaryID\n });\n });\n }\n\n if (arChildrenAsReact.length > 0) setArNewChildrenAsReact(arChildrenAsReact);\n setMultiRecordData(isMultiRecord);\n setTitle(headingValue);\n setCreatedView({ configObject, latestItem });\n setItemKey(key);\n setShowModal(true);\n\n // Update modal use case which happens when assignment in submitted in modal.\n if (isUpdateModalAction(modalCollection.current, accessedOrder)) {\n // handleModalUpdate(key);\n } else if (isOpenModalAction(modalCollection.current, accessedOrder)) {\n // New modal open scenario\n handleModalOpen(key);\n }\n } else if (isCloseModalAction(modalCollection.current, accessedOrder)) {\n handleModalClose(accessedOrder);\n }\n }\n }, [routingInfo]);\n\n function closeActionsDialog() {\n // actionsDialog.current = true;\n setShowModal(false);\n }\n\n return (\n <>\n <Dialog open={bShowModal} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title' className={`${classes.dlgTitle} psdk-dialog-title`}>\n {title}\n </DialogTitle>\n <DialogContent className={`${classes.dlgContent} psdk-dialog-content`}>\n {bShowModal ? (\n <MuiPickersUtilsProvider utils={DayjsUtils}>\n <Assignment\n getPConnect={createdView.configObject.getPConnect}\n itemKey={itemKey}\n isInModal\n banners={getBanners({\n target: itemKey,\n pageMessages\n })}\n >\n {arNewChildrenAsReact}\n </Assignment>\n </MuiPickersUtilsProvider>\n ) : null}\n </DialogContent>\n\n {isMultiRecordData && (\n <ListViewActionButtons\n getPConnect={createdView.configObject.getPConnect}\n context={createdView.latestItem.context}\n closeActionsDialog={closeActionsDialog}\n />\n )}\n </Dialog>\n {bShowCancelAlert && <CancelAlert {...cancelAlertProps} dismiss={dismissCancelAlert} />}\n </>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTableManual.d.ts","sourceRoot":"","sources":["../../../../../src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,iBAAiB,
|
|
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;CACvB;AAoCD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,eAwrBzF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable no-nested-ternary */
|
|
3
|
-
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
4
4
|
import Table from '@material-ui/core/Table';
|
|
5
5
|
import TableBody from '@material-ui/core/TableBody';
|
|
6
6
|
import TableCell from '@material-ui/core/TableCell';
|
|
@@ -140,6 +140,17 @@ export default function SimpleTableManual(props) {
|
|
|
140
140
|
// unchanged config info. For now, much of the info here is carried over from
|
|
141
141
|
// Constellation DX Components.
|
|
142
142
|
const fieldDefs = buildFieldsForTable(rawFields, resolvedFields, showDeleteButton);
|
|
143
|
+
useLayoutEffect(() => {
|
|
144
|
+
if (allowEditingInModal) {
|
|
145
|
+
getPConnect()
|
|
146
|
+
.getListActions()
|
|
147
|
+
.initDefaultPageInstructions(getPConnect().getReferenceList(), fieldDefs.filter(item => item.name).map(item => item.name));
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
// @ts-ignore - An argument for 'fields' was not provided
|
|
151
|
+
getPConnect().getListActions().initDefaultPageInstructions(getPConnect().getReferenceList());
|
|
152
|
+
}
|
|
153
|
+
}, []);
|
|
143
154
|
const displayedColumns = fieldDefs.map(field => {
|
|
144
155
|
return field.name ? field.name : field.cellRenderer;
|
|
145
156
|
});
|
|
@@ -228,6 +239,9 @@ export default function SimpleTableManual(props) {
|
|
|
228
239
|
else {
|
|
229
240
|
pConn.getListActions().insert({ classID: contextClass }, referenceList.length);
|
|
230
241
|
}
|
|
242
|
+
getPConnect().clearErrorMessages({
|
|
243
|
+
property: getPConnect().getStateProps()?.referenceList?.substring(1)
|
|
244
|
+
});
|
|
231
245
|
};
|
|
232
246
|
const editRecord = () => {
|
|
233
247
|
setEditAnchorEl(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTableManual.js","sourceRoot":"","sources":["../../../../../src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-nested-ternary */\nimport React, { PropsWithChildren, useEffect, useRef, useState } from 'react';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport Paper from '@material-ui/core/Paper';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Link from '@material-ui/core/Link';\nimport { createElement } from 'react';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport MoreIcon from '@material-ui/icons/MoreVert';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport SubjectIcon from '@material-ui/icons/Subject';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Select from '@material-ui/core/Select';\nimport Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport { Utils } from '../../../helpers/utils';\nimport { getReferenceList } from '../../../helpers/field-group-utils';\nimport { getDataPage } from '../../../helpers/data_page';\nimport { buildFieldsForTable, filterData, getContext } from '../../../helpers/simpleTableHelpers';\nimport { PConnProps } from '../../../../types/PConnProps';\nimport { format } from '../../../helpers/formatters';\n\ninterface SimpleTableManualProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n hideAddRow?: boolean;\n hideDeleteRow?: boolean;\n referenceList?: any[];\n renderMode?: string;\n presets?: any[];\n label?: string;\n showLabel?: boolean;\n dataPageName?: string;\n contextClass?: string;\n propertyLabel?: string;\n fieldMetadata?: any;\n editMode?: string;\n addAndEditRowsWithin?: any;\n viewForAddAndEditModal?: any;\n editModeConfig?: any;\n displayMode?: string;\n useSeparateViewForEdit: any;\n viewForEditModal: any;\n}\n\nconst useStyles = makeStyles((/* theme */) => ({\n label: {\n margin: '8px'\n },\n header: {\n background: '#f5f5f5'\n },\n tableCell: {\n borderRight: '1px solid lightgray',\n padding: '8px'\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n moreIcon: {\n verticalAlign: 'bottom'\n }\n}));\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nconst filterByColumns: any[] = [];\nlet myRows: any[];\n\nexport default function SimpleTableManual(props: PropsWithChildren<SimpleTableManualProps>) {\n const classes = useStyles();\n const {\n getPConnect,\n referenceList = [], // if referenceList not in configProps$, default to empy list\n children,\n renderMode,\n presets,\n label: labelProp,\n showLabel,\n dataPageName,\n contextClass,\n hideAddRow,\n hideDeleteRow,\n propertyLabel,\n fieldMetadata,\n editMode,\n addAndEditRowsWithin,\n viewForAddAndEditModal,\n editModeConfig,\n displayMode,\n useSeparateViewForEdit,\n viewForEditModal\n } = props;\n const pConn = getPConnect();\n const [rowData, setRowData] = useState([]);\n const [elements, setElementsData] = useState([]);\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [editAnchorEl, setEditAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n const [filterBy, setFilterBy] = useState<string>();\n const [containsDateOrTime, setContainsDateOrTime] = useState<boolean>(false);\n const [filterType, setFilterType] = useState<string>('string');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [displayDialogFilterName, setDisplayDialogFilterName] = useState<string>('');\n const [displayDialogContainsFilter, setDisplayDialogContainsFilter] = useState<string>('contains');\n const [displayDialogContainsValue, setDisplayDialogContainsValue] = useState<string>('');\n const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');\n const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');\n const selectedRowIndex: any = useRef(null);\n\n const parameters = fieldMetadata?.datasource?.parameters;\n const { referenceListStr } = getContext(getPConnect());\n const label = labelProp || propertyLabel;\n const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };\n if (propsToUse.showLabel === false) {\n propsToUse.label = '';\n }\n // Getting current context\n const context = getPConnect().getContextName();\n const resolvedList = getReferenceList(pConn);\n pConn.setReferenceList(resolvedList);\n const menuIconOverride$ = Utils.getImageSrc('trash', Utils.getSDKStaticConentUrl());\n\n const resolvedFields = children?.[0]?.children || presets?.[0].children?.[0].children;\n // NOTE: props has each child.config with datasource and value undefined\n // but getRawMetadata() has each child.config with datasource and value showing their unresolved values (ex: \"@P thePropName\")\n // We need to use the prop name as the \"glue\" to tie the table dataSource, displayColumns and data together.\n // So, in the code below, we'll use the unresolved config.value (but replacing the space with an underscore to keep things happy)\n const rawMetadata: any = getPConnect().getRawMetadata();\n\n // get raw config since @P and other annotations are processed and don't appear in the resolved config.\n // Destructure \"raw\" children into array var: \"rawFields\"\n // NOTE: when config.listType == \"associated\", the property can be found in either\n // config.value (ex: \"@P .DeclarantChoice\") or\n // config.datasource (ex: \"@ASSOCIATED .DeclarantChoice\")\n // Neither of these appear in the resolved props\n\n const rawConfig = rawMetadata?.config;\n const rawFields = rawConfig?.children?.[0]?.children || rawConfig?.presets?.[0].children?.[0]?.children;\n const isDisplayModeEnabled = displayMode === 'DISPLAY_ONLY';\n const readOnlyMode = renderMode === 'ReadOnly';\n const editableMode = renderMode === 'Editable';\n const showAddRowButton = !readOnlyMode && !hideAddRow;\n const allowEditingInModal =\n (editMode ? editMode === 'modal' : addAndEditRowsWithin === 'modal') && !(renderMode === 'ReadOnly' || isDisplayModeEnabled);\n const showDeleteButton = editableMode && !hideDeleteRow;\n const defaultView = editModeConfig ? editModeConfig.defaultView : viewForAddAndEditModal;\n const bUseSeparateViewForEdit = editModeConfig ? editModeConfig.useSeparateViewForEdit : useSeparateViewForEdit;\n const editView = editModeConfig ? editModeConfig.editView : viewForEditModal;\n\n const fieldsWithPropNames = rawFields.map((field, index) => {\n return { ...resolvedFields[index], propName: field.config.value.replace('@P .', '') };\n });\n\n useEffect(() => {\n if (editableMode && !allowEditingInModal) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n buildElementsForTable();\n }\n }, [referenceList.length]);\n\n useEffect(() => {\n if (readOnlyMode || allowEditingInModal) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n generateRowsData();\n }\n }, [referenceList]);\n\n // fieldDefs will be an array where each entry will have a \"name\" which will be the\n // \"resolved\" property name (that we can use as the colId) though it's not really\n // resolved. The buildFieldsForTable helper just removes the \"@P \" (which is what\n // Constellation DX Components do). It will also have the \"label\", and \"meta\" contains the original,\n // unchanged config info. For now, much of the info here is carried over from\n // Constellation DX Components.\n const fieldDefs = buildFieldsForTable(rawFields, resolvedFields, showDeleteButton);\n\n const displayedColumns = fieldDefs.map(field => {\n return field.name ? field.name : field.cellRenderer;\n });\n\n const getFormattedValue = (val, key) => {\n const rawField = fieldsWithPropNames.find(item => item.propName === key);\n let options = {};\n if (rawField && ['Boolean', 'Checkbox'].includes(rawField.type)) {\n const { trueLabel, falseLabel } = rawField.config;\n options = {\n trueLabel,\n falseLabel\n };\n }\n return rawField ? format(val, rawField.type, options) : val;\n };\n\n // console.log(`SimpleTable displayedColumns:`);\n // console.log(displayedColumns);\n\n // return the value that should be shown as the contents for the given row data\n // of the given row field\n function getRowValue(inRowData: Object, inColKey: string): any {\n // See what data (if any) we have to display\n const refKeys: string[] = inColKey?.split('.');\n let valBuilder = inRowData;\n for (const key of refKeys) {\n valBuilder = valBuilder[key];\n }\n return getFormattedValue(valBuilder, inColKey);\n }\n\n const formatRowsData = data => {\n if (!data) return {};\n\n return data.map(item => {\n return displayedColumns.reduce((dataForRow, colKey) => {\n dataForRow[colKey] = getRowValue(item, colKey);\n return dataForRow;\n }, {});\n });\n };\n\n function generateRowsData() {\n // if referenceList is empty and dataPageName property value exists then make a datapage fetch call and get the list of data.\n if (!referenceList.length && dataPageName) {\n getDataPage(dataPageName, parameters, context).then(listData => {\n const data = formatRowsData(listData);\n myRows = data;\n setRowData(data);\n });\n } else {\n // The referenceList prop has the JSON data for each row to be displayed\n // in the table. So, iterate over referenceList to create the dataRows that\n // we're using as the table's dataSource\n const data: any = [];\n for (const row of referenceList) {\n const dataForRow: Object = {};\n for (const col of displayedColumns) {\n const colKey: string = col;\n const theVal = getRowValue(row, colKey);\n dataForRow[colKey] = theVal || '';\n }\n data.push(dataForRow);\n myRows = data;\n }\n setRowData(data);\n }\n }\n\n // May be useful for debugging or understanding how it works.\n // These are the data structures referred to in the html file.\n // These are the relationships that make the table work\n // displayedColumns: key/value pairs where key is order of column and\n // value is the property shown in that column. Ex: 1: \"FirstName\"\n // rowData: array of each row's key/value pairs. Inside each row,\n // each key is an entry in displayedColumns: ex: \"FirstName\": \"Charles\"\n // Ex: { 1: {config: {label: \"First Name\", readOnly: true: name: \"FirstName\"}}, type: \"TextInput\" }\n // The \"type\" indicates the type of component that should be used for editing (when editing is enabled)\n //\n // console.log(\"SimpleTable displayedColumns:\");\n // console.log(displayedColumns);\n // console.log(`SimpleTable rowData (${rowData.length} row(s)):`);\n // console.log(JSON.stringify(rowData));\n\n const addRecord = () => {\n if (allowEditingInModal && defaultView) {\n pConn\n .getActionsApi()\n .openEmbeddedDataModal(defaultView, pConn, referenceListStr, referenceList.length, PCore.getConstants().RESOURCE_STATUS.CREATE);\n } else {\n pConn.getListActions().insert({ classID: contextClass }, referenceList.length);\n }\n };\n\n const editRecord = () => {\n setEditAnchorEl(null);\n if (typeof selectedRowIndex.current === 'number') {\n pConn\n .getActionsApi()\n .openEmbeddedDataModal(\n bUseSeparateViewForEdit ? editView : defaultView,\n pConn,\n referenceListStr,\n selectedRowIndex.current,\n PCore.getConstants().RESOURCE_STATUS.UPDATE\n );\n }\n };\n\n const deleteRecord = () => {\n setEditAnchorEl(null);\n pConn.getListActions().deleteEntry(selectedRowIndex.current);\n };\n\n const deleteRecordFromInlineEditable = (index: number) => {\n pConn.getListActions().deleteEntry(index);\n };\n\n function buildElementsForTable() {\n const eleData: any = [];\n referenceList.forEach((element, index) => {\n const data: any = [];\n rawFields.forEach(item => {\n // removing label field from config to hide title in the table cell\n item = { ...item, config: { ...item.config, label: '' } };\n const referenceListData = getReferenceList(pConn);\n const isDatapage = referenceListData.startsWith('D_');\n const pageReferenceValue = isDatapage\n ? `${referenceListData}[${index}]`\n : `${pConn.getPageReference()}${referenceListData.substring(referenceListData.lastIndexOf('.'))}[${index}]`;\n const config = {\n meta: item,\n options: {\n context,\n pageReference: pageReferenceValue,\n referenceList: referenceListData,\n hasForm: true\n }\n };\n const view = PCore.createPConnect(config);\n data.push(createElement(createPConnectComponent(), view));\n });\n eleData.push(data);\n });\n setElementsData(eleData);\n }\n\n const handleRequestSort = (event: React.MouseEvent<unknown>, property: keyof any) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const createSortHandler = (property: keyof any) => (event: React.MouseEvent<unknown>) => {\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (b[orderedBy] > a[orderedBy]) {\n return 1;\n }\n return 0;\n }\n\n type Order = 'asc' | 'desc';\n\n function getComparator<Key extends keyof any>(\n theOrder: Order,\n orderedBy: Key\n ): (a: { [key in Key]: number | string }, b: { [key in Key]: number | string }) => number {\n return theOrder === 'desc' ? (a, b) => descendingComparator(a, b, orderedBy) : (a, b) => -descendingComparator(a, b, orderedBy);\n }\n\n function stableSort<T>(array: T[], comparator: (a: T, b: T) => number) {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n\n return stabilizedThis.map(el => el[0]);\n }\n\n function _menuClick(event, columnId: string, columnType: string, labelValue: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = labelValue;\n\n setAnchorEl(event.currentTarget);\n }\n\n function editMenuClick(event, index) {\n selectedRowIndex.current = index;\n setEditAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n setEditAnchorEl(null);\n }\n\n function _filterMenu() {\n setAnchorEl(null);\n\n let bFound = false;\n\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n setFilterBy(menuColumnLabel);\n if (filterObj.type === 'Date' || filterObj.type === 'DateTime' || filterObj.type === 'Time') {\n setContainsDateOrTime(true);\n setFilterType(filterObj.type);\n setDisplayDialogDateFilter(filterObj.containsFilter);\n setDisplayDialogDateValue(filterObj.containsFilterValue);\n } else {\n setContainsDateOrTime(false);\n setFilterType('string');\n setDisplayDialogContainsFilter(filterObj.containsFilter);\n setDisplayDialogContainsValue(filterObj.containsFilterValue);\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n setFilterBy(menuColumnLabel);\n setDisplayDialogFilterName(menuColumnId);\n setDisplayDialogContainsValue('');\n\n switch (menuColumnType) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n setContainsDateOrTime(true);\n setFilterType(menuColumnType);\n break;\n default:\n setContainsDateOrTime(false);\n setFilterType('string');\n break;\n }\n }\n\n // open dialog\n setOpen(true);\n }\n\n function _groupMenu() {}\n\n function _closeDialog() {\n setOpen(false);\n }\n\n function _dialogContainsFilter(event) {\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function filterSortGroupBy() {\n // get original data set\n let theData: any = myRows.slice();\n\n // last filter config data is global\n theData = theData.filter(filterData(filterByColumns));\n\n // move data to array and then sort\n setRowData(theData);\n }\n\n function updateFilterWithInfo() {\n let bFound = false;\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n // add in\n const filterObj: any = {};\n filterObj.ref = menuColumnId;\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n\n filterByColumns.push(filterObj);\n }\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showFilteredIcon(columnId) {\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === columnId) {\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (filterObj.containsFilterValue !== '') {\n return true;\n }\n return false;\n }\n }\n\n return false;\n }\n\n function results() {\n const len = editableMode ? elements.length : rowData.length;\n\n return len ? (\n <span style={{ fontSize: '0.9em', opacity: '0.7' }}>\n {len} result{len > 1 ? 's' : ''}\n </span>\n ) : null;\n }\n\n return (\n <>\n <TableContainer component={Paper} style={{ margin: '4px 0px' }} id='simple-table-manual'>\n {propsToUse.label && (\n <h3 className={classes.label}>\n {propsToUse.label} {results()}\n </h3>\n )}\n <Table>\n <TableHead className={classes.header}>\n <TableRow>\n {fieldDefs.map((field: any, index) => {\n return (\n <TableCell key={`head-${displayedColumns[index]}`} className={classes.tableCell}>\n {readOnlyMode ? (\n <div>\n <TableSortLabel\n active={orderBy === displayedColumns[index]}\n direction={orderBy === displayedColumns[index] ? order : 'asc'}\n onClick={createSortHandler(displayedColumns[index])}\n >\n {field.label}\n {_showFilteredIcon(field.name) && <FilterListIcon className={classes.moreIcon} />}\n {orderBy === displayedColumns[index] ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n id='menu-icon'\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, field.name, field.meta.type, field.label);\n }}\n />\n </div>\n ) : (\n field.label\n )}\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {editableMode &&\n elements.map((row: any, index) => {\n const theKey = `row-${index}`;\n return (\n <TableRow key={theKey}>\n {row.map((item, childIndex) => {\n const theColKey = `data-${index}-${childIndex}`;\n return (\n <TableCell key={theColKey} className={classes.tableCell}>\n {item}\n </TableCell>\n );\n })}\n {showDeleteButton && (\n <TableCell>\n <button\n type='button'\n className='psdk-utility-button'\n id='delete-button'\n aria-label='Delete Cell'\n onClick={() => deleteRecordFromInlineEditable(index)}\n >\n <img className='psdk-utility-card-action-svg-icon' src={menuIconOverride$} />\n </button>\n </TableCell>\n )}\n </TableRow>\n );\n })}\n {(readOnlyMode || allowEditingInModal) &&\n rowData &&\n rowData.length > 0 &&\n stableSort(rowData, getComparator(order, orderBy))\n .slice(0)\n .map((row, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n <TableRow key={index}>\n {displayedColumns.map(colKey => {\n return (\n <TableCell key={colKey} className={classes.tableCell}>\n {showDeleteButton && colKey === 'DeleteIcon' ? (\n <div>\n <MoreIcon\n id='table-edit-menu-icon'\n className={classes.moreIcon}\n onClick={event => {\n editMenuClick(event, index);\n }}\n />\n <Menu id='table-edit-menu' anchorEl={editAnchorEl} keepMounted open={Boolean(editAnchorEl)} onClose={_menuClose}>\n <MenuItem onClick={() => editRecord()}>Edit</MenuItem>\n <MenuItem onClick={() => deleteRecord()}>Delete</MenuItem>\n </Menu>\n </div>\n ) : typeof row[colKey] === 'boolean' && !row[colKey] ? (\n 'False'\n ) : typeof row[colKey] === 'boolean' && row[colKey] ? (\n 'True'\n ) : (\n row[colKey]\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {readOnlyMode && rowData && rowData.length === 0 && (\n <div className='no-records' id='no-records'>\n No records found.\n </div>\n )}\n {editableMode && referenceList && referenceList.length === 0 && (\n <div className='no-records' id='no-records'>\n No records found.\n </div>\n )}\n </TableContainer>\n {showAddRowButton && (\n <div style={{ fontSize: '1rem' }}>\n <Link style={{ cursor: 'pointer' }} onClick={addRecord}>\n + Add\n </Link>\n </div>\n )}\n <Menu id='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={_menuClose}>\n <MenuItem onClick={_filterMenu}>\n <FilterListIcon /> Filter\n </MenuItem>\n <MenuItem onClick={_groupMenu}>\n <SubjectIcon /> Group\n </MenuItem>\n </Menu>\n <Dialog open={open} onClose={_closeDialog} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title'>Filter: {filterBy}</DialogTitle>\n <DialogContent>\n {containsDateOrTime ? (\n <>\n <Select value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not equal to</MenuItem>\n <MenuItem value='equal'>is equal to</MenuItem>\n <MenuItem value='after'>after</MenuItem>\n <MenuItem value='before'>before</MenuItem>\n <MenuItem value='null'>is null</MenuItem>\n <MenuItem value='notnull'>is not null</MenuItem>\n </Select>\n {filterType === 'Date' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='date'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'DateTime' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='datetime-local'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'Time' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='time'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n </>\n ) : (\n <>\n <Select id='filter' fullWidth onChange={_dialogContainsFilter} value={displayDialogContainsFilter}>\n <MenuItem value='contains'>Contains</MenuItem>\n <MenuItem value='equals'>Equals</MenuItem>\n <MenuItem value='startswith'>Starts with</MenuItem>\n </Select>\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='text'\n fullWidth\n value={displayDialogContainsValue}\n onChange={_dialogContainsValue}\n />\n </>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={_closeDialog} color='secondary'>\n Cancel\n </Button>\n <Button onClick={_submitFilter} color='primary'>\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SimpleTableManual.js","sourceRoot":"","sources":["../../../../../src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-nested-ternary */\nimport React, { PropsWithChildren, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport Paper from '@material-ui/core/Paper';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Link from '@material-ui/core/Link';\nimport { createElement } from 'react';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport MoreIcon from '@material-ui/icons/MoreVert';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport SubjectIcon from '@material-ui/icons/Subject';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Select from '@material-ui/core/Select';\nimport Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\n\nimport createPConnectComponent from '../../../../bridge/react_pconnect';\nimport { Utils } from '../../../helpers/utils';\nimport { getReferenceList } from '../../../helpers/field-group-utils';\nimport { getDataPage } from '../../../helpers/data_page';\nimport { buildFieldsForTable, filterData, getContext } from '../../../helpers/simpleTableHelpers';\nimport { PConnProps } from '../../../../types/PConnProps';\nimport { format } from '../../../helpers/formatters';\n\ninterface SimpleTableManualProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n hideAddRow?: boolean;\n hideDeleteRow?: boolean;\n referenceList?: any[];\n renderMode?: string;\n presets?: any[];\n label?: string;\n showLabel?: boolean;\n dataPageName?: string;\n contextClass?: string;\n propertyLabel?: string;\n fieldMetadata?: any;\n editMode?: string;\n addAndEditRowsWithin?: any;\n viewForAddAndEditModal?: any;\n editModeConfig?: any;\n displayMode?: string;\n useSeparateViewForEdit: any;\n viewForEditModal: any;\n}\n\nconst useStyles = makeStyles((/* theme */) => ({\n label: {\n margin: '8px'\n },\n header: {\n background: '#f5f5f5'\n },\n tableCell: {\n borderRight: '1px solid lightgray',\n padding: '8px'\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n moreIcon: {\n verticalAlign: 'bottom'\n }\n}));\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nconst filterByColumns: any[] = [];\nlet myRows: any[];\n\nexport default function SimpleTableManual(props: PropsWithChildren<SimpleTableManualProps>) {\n const classes = useStyles();\n const {\n getPConnect,\n referenceList = [], // if referenceList not in configProps$, default to empy list\n children,\n renderMode,\n presets,\n label: labelProp,\n showLabel,\n dataPageName,\n contextClass,\n hideAddRow,\n hideDeleteRow,\n propertyLabel,\n fieldMetadata,\n editMode,\n addAndEditRowsWithin,\n viewForAddAndEditModal,\n editModeConfig,\n displayMode,\n useSeparateViewForEdit,\n viewForEditModal\n } = props;\n const pConn = getPConnect();\n const [rowData, setRowData] = useState([]);\n const [elements, setElementsData] = useState([]);\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [editAnchorEl, setEditAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n const [filterBy, setFilterBy] = useState<string>();\n const [containsDateOrTime, setContainsDateOrTime] = useState<boolean>(false);\n const [filterType, setFilterType] = useState<string>('string');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [displayDialogFilterName, setDisplayDialogFilterName] = useState<string>('');\n const [displayDialogContainsFilter, setDisplayDialogContainsFilter] = useState<string>('contains');\n const [displayDialogContainsValue, setDisplayDialogContainsValue] = useState<string>('');\n const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');\n const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');\n const selectedRowIndex: any = useRef(null);\n\n const parameters = fieldMetadata?.datasource?.parameters;\n const { referenceListStr } = getContext(getPConnect());\n const label = labelProp || propertyLabel;\n const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };\n if (propsToUse.showLabel === false) {\n propsToUse.label = '';\n }\n // Getting current context\n const context = getPConnect().getContextName();\n const resolvedList = getReferenceList(pConn);\n pConn.setReferenceList(resolvedList);\n const menuIconOverride$ = Utils.getImageSrc('trash', Utils.getSDKStaticConentUrl());\n\n const resolvedFields = children?.[0]?.children || presets?.[0].children?.[0].children;\n // NOTE: props has each child.config with datasource and value undefined\n // but getRawMetadata() has each child.config with datasource and value showing their unresolved values (ex: \"@P thePropName\")\n // We need to use the prop name as the \"glue\" to tie the table dataSource, displayColumns and data together.\n // So, in the code below, we'll use the unresolved config.value (but replacing the space with an underscore to keep things happy)\n const rawMetadata: any = getPConnect().getRawMetadata();\n\n // get raw config since @P and other annotations are processed and don't appear in the resolved config.\n // Destructure \"raw\" children into array var: \"rawFields\"\n // NOTE: when config.listType == \"associated\", the property can be found in either\n // config.value (ex: \"@P .DeclarantChoice\") or\n // config.datasource (ex: \"@ASSOCIATED .DeclarantChoice\")\n // Neither of these appear in the resolved props\n\n const rawConfig = rawMetadata?.config;\n const rawFields = rawConfig?.children?.[0]?.children || rawConfig?.presets?.[0].children?.[0]?.children;\n const isDisplayModeEnabled = displayMode === 'DISPLAY_ONLY';\n const readOnlyMode = renderMode === 'ReadOnly';\n const editableMode = renderMode === 'Editable';\n const showAddRowButton = !readOnlyMode && !hideAddRow;\n const allowEditingInModal =\n (editMode ? editMode === 'modal' : addAndEditRowsWithin === 'modal') && !(renderMode === 'ReadOnly' || isDisplayModeEnabled);\n const showDeleteButton = editableMode && !hideDeleteRow;\n const defaultView = editModeConfig ? editModeConfig.defaultView : viewForAddAndEditModal;\n const bUseSeparateViewForEdit = editModeConfig ? editModeConfig.useSeparateViewForEdit : useSeparateViewForEdit;\n const editView = editModeConfig ? editModeConfig.editView : viewForEditModal;\n\n const fieldsWithPropNames = rawFields.map((field, index) => {\n return { ...resolvedFields[index], propName: field.config.value.replace('@P .', '') };\n });\n\n useEffect(() => {\n if (editableMode && !allowEditingInModal) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n buildElementsForTable();\n }\n }, [referenceList.length]);\n\n useEffect(() => {\n if (readOnlyMode || allowEditingInModal) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n generateRowsData();\n }\n }, [referenceList]);\n\n // fieldDefs will be an array where each entry will have a \"name\" which will be the\n // \"resolved\" property name (that we can use as the colId) though it's not really\n // resolved. The buildFieldsForTable helper just removes the \"@P \" (which is what\n // Constellation DX Components do). It will also have the \"label\", and \"meta\" contains the original,\n // unchanged config info. For now, much of the info here is carried over from\n // Constellation DX Components.\n const fieldDefs = buildFieldsForTable(rawFields, resolvedFields, showDeleteButton);\n\n useLayoutEffect(() => {\n if (allowEditingInModal) {\n getPConnect()\n .getListActions()\n .initDefaultPageInstructions(\n getPConnect().getReferenceList(),\n fieldDefs.filter(item => item.name).map(item => item.name)\n );\n } else {\n // @ts-ignore - An argument for 'fields' was not provided\n getPConnect().getListActions().initDefaultPageInstructions(getPConnect().getReferenceList());\n }\n }, []);\n\n const displayedColumns = fieldDefs.map(field => {\n return field.name ? field.name : field.cellRenderer;\n });\n\n const getFormattedValue = (val, key) => {\n const rawField = fieldsWithPropNames.find(item => item.propName === key);\n let options = {};\n if (rawField && ['Boolean', 'Checkbox'].includes(rawField.type)) {\n const { trueLabel, falseLabel } = rawField.config;\n options = {\n trueLabel,\n falseLabel\n };\n }\n return rawField ? format(val, rawField.type, options) : val;\n };\n\n // console.log(`SimpleTable displayedColumns:`);\n // console.log(displayedColumns);\n\n // return the value that should be shown as the contents for the given row data\n // of the given row field\n function getRowValue(inRowData: Object, inColKey: string): any {\n // See what data (if any) we have to display\n const refKeys: string[] = inColKey?.split('.');\n let valBuilder = inRowData;\n for (const key of refKeys) {\n valBuilder = valBuilder[key];\n }\n return getFormattedValue(valBuilder, inColKey);\n }\n\n const formatRowsData = data => {\n if (!data) return {};\n\n return data.map(item => {\n return displayedColumns.reduce((dataForRow, colKey) => {\n dataForRow[colKey] = getRowValue(item, colKey);\n return dataForRow;\n }, {});\n });\n };\n\n function generateRowsData() {\n // if referenceList is empty and dataPageName property value exists then make a datapage fetch call and get the list of data.\n if (!referenceList.length && dataPageName) {\n getDataPage(dataPageName, parameters, context).then(listData => {\n const data = formatRowsData(listData);\n myRows = data;\n setRowData(data);\n });\n } else {\n // The referenceList prop has the JSON data for each row to be displayed\n // in the table. So, iterate over referenceList to create the dataRows that\n // we're using as the table's dataSource\n const data: any = [];\n for (const row of referenceList) {\n const dataForRow: Object = {};\n for (const col of displayedColumns) {\n const colKey: string = col;\n const theVal = getRowValue(row, colKey);\n dataForRow[colKey] = theVal || '';\n }\n data.push(dataForRow);\n myRows = data;\n }\n setRowData(data);\n }\n }\n\n // May be useful for debugging or understanding how it works.\n // These are the data structures referred to in the html file.\n // These are the relationships that make the table work\n // displayedColumns: key/value pairs where key is order of column and\n // value is the property shown in that column. Ex: 1: \"FirstName\"\n // rowData: array of each row's key/value pairs. Inside each row,\n // each key is an entry in displayedColumns: ex: \"FirstName\": \"Charles\"\n // Ex: { 1: {config: {label: \"First Name\", readOnly: true: name: \"FirstName\"}}, type: \"TextInput\" }\n // The \"type\" indicates the type of component that should be used for editing (when editing is enabled)\n //\n // console.log(\"SimpleTable displayedColumns:\");\n // console.log(displayedColumns);\n // console.log(`SimpleTable rowData (${rowData.length} row(s)):`);\n // console.log(JSON.stringify(rowData));\n\n const addRecord = () => {\n if (allowEditingInModal && defaultView) {\n pConn\n .getActionsApi()\n .openEmbeddedDataModal(defaultView, pConn, referenceListStr, referenceList.length, PCore.getConstants().RESOURCE_STATUS.CREATE);\n } else {\n pConn.getListActions().insert({ classID: contextClass }, referenceList.length);\n }\n\n getPConnect().clearErrorMessages({\n property: (getPConnect().getStateProps() as any)?.referenceList?.substring(1)\n } as any);\n };\n\n const editRecord = () => {\n setEditAnchorEl(null);\n if (typeof selectedRowIndex.current === 'number') {\n pConn\n .getActionsApi()\n .openEmbeddedDataModal(\n bUseSeparateViewForEdit ? editView : defaultView,\n pConn,\n referenceListStr,\n selectedRowIndex.current,\n PCore.getConstants().RESOURCE_STATUS.UPDATE\n );\n }\n };\n\n const deleteRecord = () => {\n setEditAnchorEl(null);\n pConn.getListActions().deleteEntry(selectedRowIndex.current);\n };\n\n const deleteRecordFromInlineEditable = (index: number) => {\n pConn.getListActions().deleteEntry(index);\n };\n\n function buildElementsForTable() {\n const eleData: any = [];\n referenceList.forEach((element, index) => {\n const data: any = [];\n rawFields.forEach(item => {\n // removing label field from config to hide title in the table cell\n item = { ...item, config: { ...item.config, label: '' } };\n const referenceListData = getReferenceList(pConn);\n const isDatapage = referenceListData.startsWith('D_');\n const pageReferenceValue = isDatapage\n ? `${referenceListData}[${index}]`\n : `${pConn.getPageReference()}${referenceListData.substring(referenceListData.lastIndexOf('.'))}[${index}]`;\n const config = {\n meta: item,\n options: {\n context,\n pageReference: pageReferenceValue,\n referenceList: referenceListData,\n hasForm: true\n }\n };\n const view = PCore.createPConnect(config);\n data.push(createElement(createPConnectComponent(), view));\n });\n eleData.push(data);\n });\n setElementsData(eleData);\n }\n\n const handleRequestSort = (event: React.MouseEvent<unknown>, property: keyof any) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const createSortHandler = (property: keyof any) => (event: React.MouseEvent<unknown>) => {\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (b[orderedBy] > a[orderedBy]) {\n return 1;\n }\n return 0;\n }\n\n type Order = 'asc' | 'desc';\n\n function getComparator<Key extends keyof any>(\n theOrder: Order,\n orderedBy: Key\n ): (a: { [key in Key]: number | string }, b: { [key in Key]: number | string }) => number {\n return theOrder === 'desc' ? (a, b) => descendingComparator(a, b, orderedBy) : (a, b) => -descendingComparator(a, b, orderedBy);\n }\n\n function stableSort<T>(array: T[], comparator: (a: T, b: T) => number) {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n\n return stabilizedThis.map(el => el[0]);\n }\n\n function _menuClick(event, columnId: string, columnType: string, labelValue: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = labelValue;\n\n setAnchorEl(event.currentTarget);\n }\n\n function editMenuClick(event, index) {\n selectedRowIndex.current = index;\n setEditAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n setEditAnchorEl(null);\n }\n\n function _filterMenu() {\n setAnchorEl(null);\n\n let bFound = false;\n\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n setFilterBy(menuColumnLabel);\n if (filterObj.type === 'Date' || filterObj.type === 'DateTime' || filterObj.type === 'Time') {\n setContainsDateOrTime(true);\n setFilterType(filterObj.type);\n setDisplayDialogDateFilter(filterObj.containsFilter);\n setDisplayDialogDateValue(filterObj.containsFilterValue);\n } else {\n setContainsDateOrTime(false);\n setFilterType('string');\n setDisplayDialogContainsFilter(filterObj.containsFilter);\n setDisplayDialogContainsValue(filterObj.containsFilterValue);\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n setFilterBy(menuColumnLabel);\n setDisplayDialogFilterName(menuColumnId);\n setDisplayDialogContainsValue('');\n\n switch (menuColumnType) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n setContainsDateOrTime(true);\n setFilterType(menuColumnType);\n break;\n default:\n setContainsDateOrTime(false);\n setFilterType('string');\n break;\n }\n }\n\n // open dialog\n setOpen(true);\n }\n\n function _groupMenu() {}\n\n function _closeDialog() {\n setOpen(false);\n }\n\n function _dialogContainsFilter(event) {\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function filterSortGroupBy() {\n // get original data set\n let theData: any = myRows.slice();\n\n // last filter config data is global\n theData = theData.filter(filterData(filterByColumns));\n\n // move data to array and then sort\n setRowData(theData);\n }\n\n function updateFilterWithInfo() {\n let bFound = false;\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n // add in\n const filterObj: any = {};\n filterObj.ref = menuColumnId;\n filterObj.type = filterType;\n if (containsDateOrTime) {\n filterObj.containsFilter = displayDialogDateFilter;\n filterObj.containsFilterValue = displayDialogDateValue;\n } else {\n filterObj.containsFilter = displayDialogContainsFilter;\n filterObj.containsFilterValue = displayDialogContainsValue;\n }\n\n filterByColumns.push(filterObj);\n }\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showFilteredIcon(columnId) {\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === columnId) {\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (filterObj.containsFilterValue !== '') {\n return true;\n }\n return false;\n }\n }\n\n return false;\n }\n\n function results() {\n const len = editableMode ? elements.length : rowData.length;\n\n return len ? (\n <span style={{ fontSize: '0.9em', opacity: '0.7' }}>\n {len} result{len > 1 ? 's' : ''}\n </span>\n ) : null;\n }\n\n return (\n <>\n <TableContainer component={Paper} style={{ margin: '4px 0px' }} id='simple-table-manual'>\n {propsToUse.label && (\n <h3 className={classes.label}>\n {propsToUse.label} {results()}\n </h3>\n )}\n <Table>\n <TableHead className={classes.header}>\n <TableRow>\n {fieldDefs.map((field: any, index) => {\n return (\n <TableCell key={`head-${displayedColumns[index]}`} className={classes.tableCell}>\n {readOnlyMode ? (\n <div>\n <TableSortLabel\n active={orderBy === displayedColumns[index]}\n direction={orderBy === displayedColumns[index] ? order : 'asc'}\n onClick={createSortHandler(displayedColumns[index])}\n >\n {field.label}\n {_showFilteredIcon(field.name) && <FilterListIcon className={classes.moreIcon} />}\n {orderBy === displayedColumns[index] ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n id='menu-icon'\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, field.name, field.meta.type, field.label);\n }}\n />\n </div>\n ) : (\n field.label\n )}\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {editableMode &&\n elements.map((row: any, index) => {\n const theKey = `row-${index}`;\n return (\n <TableRow key={theKey}>\n {row.map((item, childIndex) => {\n const theColKey = `data-${index}-${childIndex}`;\n return (\n <TableCell key={theColKey} className={classes.tableCell}>\n {item}\n </TableCell>\n );\n })}\n {showDeleteButton && (\n <TableCell>\n <button\n type='button'\n className='psdk-utility-button'\n id='delete-button'\n aria-label='Delete Cell'\n onClick={() => deleteRecordFromInlineEditable(index)}\n >\n <img className='psdk-utility-card-action-svg-icon' src={menuIconOverride$} />\n </button>\n </TableCell>\n )}\n </TableRow>\n );\n })}\n {(readOnlyMode || allowEditingInModal) &&\n rowData &&\n rowData.length > 0 &&\n stableSort(rowData, getComparator(order, orderBy))\n .slice(0)\n .map((row, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n <TableRow key={index}>\n {displayedColumns.map(colKey => {\n return (\n <TableCell key={colKey} className={classes.tableCell}>\n {showDeleteButton && colKey === 'DeleteIcon' ? (\n <div>\n <MoreIcon\n id='table-edit-menu-icon'\n className={classes.moreIcon}\n onClick={event => {\n editMenuClick(event, index);\n }}\n />\n <Menu id='table-edit-menu' anchorEl={editAnchorEl} keepMounted open={Boolean(editAnchorEl)} onClose={_menuClose}>\n <MenuItem onClick={() => editRecord()}>Edit</MenuItem>\n <MenuItem onClick={() => deleteRecord()}>Delete</MenuItem>\n </Menu>\n </div>\n ) : typeof row[colKey] === 'boolean' && !row[colKey] ? (\n 'False'\n ) : typeof row[colKey] === 'boolean' && row[colKey] ? (\n 'True'\n ) : (\n row[colKey]\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {readOnlyMode && rowData && rowData.length === 0 && (\n <div className='no-records' id='no-records'>\n No records found.\n </div>\n )}\n {editableMode && referenceList && referenceList.length === 0 && (\n <div className='no-records' id='no-records'>\n No records found.\n </div>\n )}\n </TableContainer>\n {showAddRowButton && (\n <div style={{ fontSize: '1rem' }}>\n <Link style={{ cursor: 'pointer' }} onClick={addRecord}>\n + Add\n </Link>\n </div>\n )}\n <Menu id='simple-menu' anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={_menuClose}>\n <MenuItem onClick={_filterMenu}>\n <FilterListIcon /> Filter\n </MenuItem>\n <MenuItem onClick={_groupMenu}>\n <SubjectIcon /> Group\n </MenuItem>\n </Menu>\n <Dialog open={open} onClose={_closeDialog} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title'>Filter: {filterBy}</DialogTitle>\n <DialogContent>\n {containsDateOrTime ? (\n <>\n <Select value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not equal to</MenuItem>\n <MenuItem value='equal'>is equal to</MenuItem>\n <MenuItem value='after'>after</MenuItem>\n <MenuItem value='before'>before</MenuItem>\n <MenuItem value='null'>is null</MenuItem>\n <MenuItem value='notnull'>is not null</MenuItem>\n </Select>\n {filterType === 'Date' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='date'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'DateTime' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='datetime-local'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'Time' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='time'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n </>\n ) : (\n <>\n <Select id='filter' fullWidth onChange={_dialogContainsFilter} value={displayDialogContainsFilter}>\n <MenuItem value='contains'>Contains</MenuItem>\n <MenuItem value='equals'>Equals</MenuItem>\n <MenuItem value='startswith'>Starts with</MenuItem>\n </Select>\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='text'\n fullWidth\n value={displayDialogContainsValue}\n onChange={_dialogContainsValue}\n />\n </>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={_closeDialog} color='secondary'>\n Cancel\n </Button>\n <Button onClick={_submitFilter} color='primary'>\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n"]}
|
package/package.json
CHANGED