@pega/react-sdk-components 0.242.5 → 0.242.7

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.
@@ -35,11 +35,11 @@ export default function FieldValueList(props) {
35
35
  const { name, value, variant = 'inline', isHtml = false } = props;
36
36
  const classes = useStyles();
37
37
  function getGridItemLabel() {
38
- return (_jsx(Grid, { item: true, xs: variant === 'stacked' ? 12 : 6, className: variant === 'stacked' ? classes.noPaddingBottom : '', children: _jsx(Typography, { variant: 'body2', component: 'span', className: `${classes.fieldLabel}`, children: name }) }));
38
+ return (_jsx(Grid, { item: true, xs: variant === 'stacked' ? 12 : 4, className: variant === 'stacked' ? classes.noPaddingBottom : '', children: _jsx(Typography, { variant: 'body2', component: 'span', className: `${classes.fieldLabel}`, children: name }) }));
39
39
  }
40
40
  function getGridItemValue() {
41
41
  const formattedValue = formatItemValue(value);
42
- return (_jsx(Grid, { item: true, xs: variant === 'stacked' ? 12 : 6, className: variant === 'stacked' ? classes.noPaddingTop : '', children: isHtml ? (
42
+ return (_jsx(Grid, { item: true, xs: variant === 'stacked' ? 12 : 8, className: variant === 'stacked' ? classes.noPaddingTop : '', children: isHtml ? (
43
43
  // eslint-disable-next-line react/no-danger
44
44
  _jsx("div", { dangerouslySetInnerHTML: { __html: formattedValue } })) : (_jsx(Typography, { variant: variant === 'stacked' ? 'h6' : 'body2', component: 'span', className: classes.fieldValue, children: formattedValue })) }));
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FieldValueList.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtension/FieldValueList/FieldValueList.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAYhD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE;QACJ,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/B;IACD,UAAU,EAAE;QACV,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;KACpC;IACD,UAAU,EAAE;QACV,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;KAClC;IACD,YAAY,EAAE;QACZ,UAAU,EAAE,cAAc;KAC3B;IACD,eAAe,EAAE;QACf,aAAa,EAAE,cAAc;KAC9B;CACF,CAAC,CAAC,CAAC;AAEJ,SAAS,eAAe,CAAC,KAAK;IAC5B,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,+EAA+E;IAC/E,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,EAAE,EAAE;QACrD,YAAY,GAAG,KAAK,CAAC;KACtB;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAA0B;IAC/D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAClE,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,SAAS,gBAAgB;QACvB,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,YAC5G,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,YAC5E,IAAI,GACM,GACR,CACR,CAAC;IACJ,CAAC;IAED,SAAS,gBAAgB;QACvB,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAE9C,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YACxG,MAAM,CAAC,CAAC,CAAC;YACR,2CAA2C;YAC3C,cAAK,uBAAuB,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAI,CAC7D,CAAC,CAAC,CAAC,CACF,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAC,MAAM,EAAC,SAAS,EAAE,OAAO,CAAC,UAAU,YACxG,cAAc,GACJ,CACd,GACI,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe,aACvD,gBAAgB,EAAE,EAClB,gBAAgB,EAAE,IACd,CACR,CAAC;AACJ,CAAC","sourcesContent":["import Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\n\n// FieldValueList is one of the few components that does NOT have getPConnect.\n// So, no need to extend PConnProps\ninterface FieldValueListProps {\n // If any, enter additional props that only exist on this component\n name?: string;\n value: any;\n variant?: string;\n isHtml?: boolean;\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n fieldLabel: {\n fontWeight: 400,\n color: theme.palette.text.secondary\n },\n fieldValue: {\n color: theme.palette.text.primary\n },\n noPaddingTop: {\n paddingTop: '0 !important'\n },\n noPaddingBottom: {\n paddingBottom: '0 !important'\n }\n}));\n\nfunction formatItemValue(value) {\n let formattedVal = value;\n\n // if the value is undefined or an empty string, we want to display it as \"---\"\n if (formattedVal === undefined || formattedVal === '') {\n formattedVal = '---';\n }\n\n return formattedVal;\n}\n\nexport default function FieldValueList(props: FieldValueListProps) {\n const { name, value, variant = 'inline', isHtml = false } = props;\n const classes = useStyles();\n\n function getGridItemLabel() {\n return (\n <Grid item xs={variant === 'stacked' ? 12 : 6} className={variant === 'stacked' ? classes.noPaddingBottom : ''}>\n <Typography variant='body2' component='span' className={`${classes.fieldLabel}`}>\n {name}\n </Typography>\n </Grid>\n );\n }\n\n function getGridItemValue() {\n const formattedValue = formatItemValue(value);\n\n return (\n <Grid item xs={variant === 'stacked' ? 12 : 6} className={variant === 'stacked' ? classes.noPaddingTop : ''}>\n {isHtml ? (\n // eslint-disable-next-line react/no-danger\n <div dangerouslySetInnerHTML={{ __html: formattedValue }} />\n ) : (\n <Typography variant={variant === 'stacked' ? 'h6' : 'body2'} component='span' className={classes.fieldValue}>\n {formattedValue}\n </Typography>\n )}\n </Grid>\n );\n }\n\n return (\n <Grid container spacing={4} justifyContent='space-between'>\n {getGridItemLabel()}\n {getGridItemValue()}\n </Grid>\n );\n}\n"]}
1
+ {"version":3,"file":"FieldValueList.js","sourceRoot":"","sources":["../../../../src/components/designSystemExtension/FieldValueList/FieldValueList.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAYhD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE;QACJ,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/B;IACD,UAAU,EAAE;QACV,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;KACpC;IACD,UAAU,EAAE;QACV,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;KAClC;IACD,YAAY,EAAE;QACZ,UAAU,EAAE,cAAc;KAC3B;IACD,eAAe,EAAE;QACf,aAAa,EAAE,cAAc;KAC9B;CACF,CAAC,CAAC,CAAC;AAEJ,SAAS,eAAe,CAAC,KAAK;IAC5B,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,+EAA+E;IAC/E,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,EAAE,EAAE;QACrD,YAAY,GAAG,KAAK,CAAC;KACtB;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAA0B;IAC/D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAClE,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,SAAS,gBAAgB;QACvB,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,YAC5G,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,YAC5E,IAAI,GACM,GACR,CACR,CAAC;IACJ,CAAC;IAED,SAAS,gBAAgB;QACvB,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAE9C,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YACxG,MAAM,CAAC,CAAC,CAAC;YACR,2CAA2C;YAC3C,cAAK,uBAAuB,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAI,CAC7D,CAAC,CAAC,CAAC,CACF,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAC,MAAM,EAAC,SAAS,EAAE,OAAO,CAAC,UAAU,YACxG,cAAc,GACJ,CACd,GACI,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAC,eAAe,aACvD,gBAAgB,EAAE,EAClB,gBAAgB,EAAE,IACd,CACR,CAAC;AACJ,CAAC","sourcesContent":["import Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\n\n// FieldValueList is one of the few components that does NOT have getPConnect.\n// So, no need to extend PConnProps\ninterface FieldValueListProps {\n // If any, enter additional props that only exist on this component\n name?: string;\n value: any;\n variant?: string;\n isHtml?: boolean;\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1),\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n fieldLabel: {\n fontWeight: 400,\n color: theme.palette.text.secondary\n },\n fieldValue: {\n color: theme.palette.text.primary\n },\n noPaddingTop: {\n paddingTop: '0 !important'\n },\n noPaddingBottom: {\n paddingBottom: '0 !important'\n }\n}));\n\nfunction formatItemValue(value) {\n let formattedVal = value;\n\n // if the value is undefined or an empty string, we want to display it as \"---\"\n if (formattedVal === undefined || formattedVal === '') {\n formattedVal = '---';\n }\n\n return formattedVal;\n}\n\nexport default function FieldValueList(props: FieldValueListProps) {\n const { name, value, variant = 'inline', isHtml = false } = props;\n const classes = useStyles();\n\n function getGridItemLabel() {\n return (\n <Grid item xs={variant === 'stacked' ? 12 : 4} className={variant === 'stacked' ? classes.noPaddingBottom : ''}>\n <Typography variant='body2' component='span' className={`${classes.fieldLabel}`}>\n {name}\n </Typography>\n </Grid>\n );\n }\n\n function getGridItemValue() {\n const formattedValue = formatItemValue(value);\n\n return (\n <Grid item xs={variant === 'stacked' ? 12 : 8} className={variant === 'stacked' ? classes.noPaddingTop : ''}>\n {isHtml ? (\n // eslint-disable-next-line react/no-danger\n <div dangerouslySetInnerHTML={{ __html: formattedValue }} />\n ) : (\n <Typography variant={variant === 'stacked' ? 'h6' : 'body2'} component='span' className={classes.fieldValue}>\n {formattedValue}\n </Typography>\n )}\n </Grid>\n );\n }\n\n return (\n <Grid container spacing={4} justifyContent='space-between'>\n {getGridItemLabel()}\n {getGridItemValue()}\n </Grid>\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
- import MuiPhoneNumber from 'material-ui-phone-number';
3
+ import { MuiTelInput } from 'mui-tel-input';
4
4
  import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
5
5
  import handleEvent from '../../helpers/event-utils';
6
6
  export default function Phone(props) {
@@ -25,7 +25,7 @@ export default function Phone(props) {
25
25
  }
26
26
  if (readOnly) {
27
27
  const disableDropdown = true;
28
- return (_jsx("div", { children: _jsx(MuiPhoneNumber, { fullWidth: true, helperText: helperTextToDisplay, placeholder: placeholder ?? '', size: 'small', defaultCountry: 'us', required: required, disabled: disabled, onChange: onChange, error: status === 'error', label: label, value: value, InputProps: {
28
+ return (_jsx("div", { children: _jsx(MuiTelInput, { fullWidth: true, helperText: helperTextToDisplay, placeholder: placeholder ?? '', size: 'small', defaultCountry: 'US', required: required, disabled: disabled, onChange: onChange, error: status === 'error', label: label, value: value, InputProps: {
29
29
  readOnly: true,
30
30
  inputProps: { ...testProp }
31
31
  }, disableDropdown: disableDropdown }) }));
@@ -39,6 +39,6 @@ export default function Phone(props) {
39
39
  phoneNumber = phoneNumber ? `+${phoneValue && phoneValue.replace(/\D+/g, '')}` : '';
40
40
  handleEvent(actions, 'changeNblur', propName, phoneNumber);
41
41
  };
42
- return (_jsx(MuiPhoneNumber, { fullWidth: true, variant: 'outlined', helperText: helperTextToDisplay, placeholder: placeholder ?? '', size: 'small', defaultCountry: 'us', required: required, disabled: disabled, onChange: handleChange, onBlur: !readOnly ? handleBlur : undefined, error: status === 'error', label: label, value: inputValue, InputProps: { ...testProp } }));
42
+ return (_jsx(MuiTelInput, { fullWidth: true, variant: 'outlined', helperText: helperTextToDisplay, placeholder: placeholder ?? '', size: 'small', defaultCountry: 'US', required: required, disabled: disabled, onChange: handleChange, onBlur: !readOnly ? handleBlur : undefined, error: status === 'error', label: label, value: inputValue, InputProps: { ...testProp } }));
43
43
  }
44
44
  //# sourceMappingURL=Phone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Phone.js","sourceRoot":"","sources":["../../../../src/components/field/Phone/Phone.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport MuiPhoneNumber from 'material-ui-phone-number';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnFieldProps } from '../../../types/PConnProps';\nimport handleEvent from '../../helpers/event-utils';\n\ninterface PhoneProps extends PConnFieldProps {\n // If any, enter additional props that only exist on Phone here\n}\n\nexport default function Phone(props: PhoneProps) {\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 readOnly,\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\n const [inputValue, setInputValue] = useState(value);\n useEffect(() => setInputValue(value), [value]);\n\n const helperTextToDisplay = validatemessage || helperText;\n\n let testProp = {};\n\n testProp = {\n 'data-test-id': testId\n };\n\n if (displayMode === 'DISPLAY_ONLY') {\n return <FieldValueList name={hideLabel ? '' : label} value={value} />;\n }\n\n if (displayMode === 'STACKED_LARGE_VAL') {\n return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;\n }\n\n if (readOnly) {\n const disableDropdown = true;\n return (\n <div>\n <MuiPhoneNumber\n fullWidth\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n defaultCountry='us'\n required={required}\n disabled={disabled}\n onChange={onChange}\n error={status === 'error'}\n label={label}\n value={value}\n InputProps={{\n readOnly: true,\n inputProps: { ...testProp }\n }}\n disableDropdown={disableDropdown}\n />\n </div>\n );\n }\n\n const handleChange = inputVal => {\n setInputValue(inputVal);\n };\n\n const handleBlur = event => {\n const phoneValue = event?.target?.value;\n let phoneNumber = phoneValue.split(' ').slice(1).join();\n phoneNumber = phoneNumber ? `+${phoneValue && phoneValue.replace(/\\D+/g, '')}` : '';\n handleEvent(actions, 'changeNblur', propName, phoneNumber);\n };\n\n return (\n <MuiPhoneNumber\n fullWidth\n variant='outlined'\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n defaultCountry='us'\n required={required}\n disabled={disabled}\n onChange={handleChange}\n onBlur={!readOnly ? handleBlur : undefined}\n error={status === 'error'}\n label={label}\n value={inputValue}\n InputProps={{ ...testProp }}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"Phone.js","sourceRoot":"","sources":["../../../../src/components/field/Phone/Phone.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport { MuiTelInput } from 'mui-tel-input';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { PConnFieldProps } from '../../../types/PConnProps';\nimport handleEvent from '../../helpers/event-utils';\n\ninterface PhoneProps extends PConnFieldProps {\n // If any, enter additional props that only exist on Phone here\n}\n\nexport default function Phone(props: PhoneProps) {\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 readOnly,\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\n const [inputValue, setInputValue] = useState(value);\n useEffect(() => setInputValue(value), [value]);\n\n const helperTextToDisplay = validatemessage || helperText;\n\n let testProp = {};\n\n testProp = {\n 'data-test-id': testId\n };\n\n if (displayMode === 'DISPLAY_ONLY') {\n return <FieldValueList name={hideLabel ? '' : label} value={value} />;\n }\n\n if (displayMode === 'STACKED_LARGE_VAL') {\n return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;\n }\n\n if (readOnly) {\n const disableDropdown = true;\n return (\n <div>\n <MuiTelInput\n fullWidth\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n defaultCountry='US'\n required={required}\n disabled={disabled}\n onChange={onChange}\n error={status === 'error'}\n label={label}\n value={value}\n InputProps={{\n readOnly: true,\n inputProps: { ...testProp }\n }}\n disableDropdown={disableDropdown}\n />\n </div>\n );\n }\n\n const handleChange = inputVal => {\n setInputValue(inputVal);\n };\n\n const handleBlur = event => {\n const phoneValue = event?.target?.value;\n let phoneNumber = phoneValue.split(' ').slice(1).join();\n phoneNumber = phoneNumber ? `+${phoneValue && phoneValue.replace(/\\D+/g, '')}` : '';\n handleEvent(actions, 'changeNblur', propName, phoneNumber);\n };\n\n return (\n <MuiTelInput\n fullWidth\n variant='outlined'\n helperText={helperTextToDisplay}\n placeholder={placeholder ?? ''}\n size='small'\n defaultCountry='US'\n required={required}\n disabled={disabled}\n onChange={handleChange}\n onBlur={!readOnly ? handleBlur : undefined}\n error={status === 'error'}\n label={label}\n value={inputValue}\n InputProps={{ ...testProp }}\n />\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FlowContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI1D,UAAU,kBAAmB,SAAQ,UAAU;IAE7C,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,gCAAgC,EAAE,QAAQ,CAAC;IAC3C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AA6BD,eAAO,MAAM,aAAa,UAAW,kBAAkB,4CA8StD,CAAC;;AAEF,wBAA8D"}
1
+ {"version":3,"file":"FlowContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/Containers/FlowContainer/FlowContainer.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI1D,UAAU,kBAAmB,SAAQ,UAAU;IAE7C,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,gCAAgC,EAAE,QAAQ,CAAC;IAC3C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AA6BD,eAAO,MAAM,aAAa,UAAW,kBAAkB,4CAgTtD,CAAC;;AAEF,wBAA8D"}
@@ -209,7 +209,9 @@ export const FlowContainer = (props) => {
209
209
  }
210
210
  // if have caseMessage show message and end
211
211
  const theCaseMessages = localizedVal(thePConn.getValue('caseMessages', ''), localeCategory); // 2nd arg empty string until typedefs properly allow optional
212
- if (theCaseMessages || !hasAssignments()) {
212
+ // caseMessages's behavior has changed in 24.2, and hence it doesn't let Optional Action work.
213
+ // Changing the below condition for now. Was: (theCaseMessages || !hasAssignments())
214
+ if (!hasAssignments()) {
213
215
  // Temp fix for 8.7 change: confirmationNote no longer coming through in caseMessages$.
214
216
  // So, if we get here and caseMessages$ is empty, use default value in DX API response
215
217
  setCaseMessages(theCaseMessages || localizedVal('Thank you! The next step in this case has been routed appropriately.', localeCategory));
@@ -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 '@mui/styles/makeStyles';\nimport { Alert, Card, CardHeader, Avatar, Typography } from '@mui/material';\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';\nimport { LocalizationProvider } from '@mui/x-date-pickers';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\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 key = `${thePConn.getCaseInfo().getClassName()}!CASE!${thePConn.getCaseInfo().getName()}`.toUpperCase();\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 id='assignment-header'\n title={<Typography variant='h6'>{localizedVal(containerName, undefined, key)}</Typography>}\n subheader={`${localizedVal('Task in', 'Todo')} ${caseId} \\u2022 ${localizedVal('Priority', 'Todo')} ${urgency}`}\n avatar={<Avatar className={`${classes.avatar} psdk-avatar`}>{operatorInitials}</Avatar>}\n />\n {displayPageMessages()}\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </LocalizationProvider>\n </Card>\n ) : (\n <Card className={`${classes.root} psdk-root`}>\n <Typography variant='h6'>{localizedVal(containerName, undefined, key)}</Typography>\n {displayPageMessages()}\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </LocalizationProvider>\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"]}
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 '@mui/styles/makeStyles';\nimport { Alert, Card, CardHeader, Avatar, Typography } from '@mui/material';\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';\nimport { LocalizationProvider } from '@mui/x-date-pickers';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\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 key = `${thePConn.getCaseInfo().getClassName()}!CASE!${thePConn.getCaseInfo().getName()}`.toUpperCase();\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 // caseMessages's behavior has changed in 24.2, and hence it doesn't let Optional Action work.\n // Changing the below condition for now. Was: (theCaseMessages || !hasAssignments())\n if (!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 id='assignment-header'\n title={<Typography variant='h6'>{localizedVal(containerName, undefined, key)}</Typography>}\n subheader={`${localizedVal('Task in', 'Todo')} ${caseId} \\u2022 ${localizedVal('Priority', 'Todo')} ${urgency}`}\n avatar={<Avatar className={`${classes.avatar} psdk-avatar`}>{operatorInitials}</Avatar>}\n />\n {displayPageMessages()}\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </LocalizationProvider>\n </Card>\n ) : (\n <Card className={`${classes.root} psdk-root`}>\n <Typography variant='h6'>{localizedVal(containerName, undefined, key)}</Typography>\n {displayPageMessages()}\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <Assignment getPConnect={getPConnect} itemKey={itemKey}>\n {rootViewElement}\n </Assignment>\n </LocalizationProvider>\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"]}
@@ -165,4 +165,5 @@
165
165
 
166
166
  .scrollable {
167
167
  overflow-y: scroll !important;
168
+ min-height: 200px !important;
168
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"AA0CA,OAAO,gBAAgB,CAAC;AAMxB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,aAAc,SAAQ,UAAU;IAExC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ;AAcD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAopCpD"}
1
+ {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"AA0CA,OAAO,gBAAgB,CAAC;AAMxB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,aAAc,SAAQ,UAAU;IAExC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ;AAcD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAqpCpD"}
@@ -811,16 +811,17 @@ export default function ListView(props) {
811
811
  return (_jsxs(TableCell, { className: classes.cell, sortDirection: orderBy === column.id ? order : false, children: [_jsxs(TableSortLabel, { active: orderBy === column.id, direction: orderBy === column.id ? order : 'asc', onClick: createSortHandler(column.id), children: [column.label, _showFilteredIcon(column.id) && _jsx(FilterListIcon, { className: classes.filteredIcon }), orderBy === column.id ? (_jsx("span", { className: classes.visuallyHidden, children: order === 'desc' ? 'sorted descending' : 'sorted ascending' })) : null] }), _jsx(MoreIcon, { className: classes.moreIcon, onClick: event => {
812
812
  _menuClick(event, column.id, column.type, column.label);
813
813
  } })] }, column.id));
814
- }) }) }), _jsx(TableBody, { children: stableSort(arRows, getComparator(order, orderBy))
815
- .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
816
- .map(row => {
817
- return (_jsx(TableRow, { children: arColumns.map(column => {
818
- const value = row[column.id];
819
- return (_jsx(TableCell, { align: column.align, className: classes.cell, children: _showButton(column.id, row) || column.displayAsLink ? (_jsx(Link, { component: 'button', onClick: () => {
820
- _listViewClick(row, column);
821
- }, underline: 'hover', children: column.format && typeof value === 'number' ? column.format(value) : value })) : (_jsx(_Fragment, { children: column.format && typeof value === 'number' ? column.format(value) : value || '---' })) }, column.id));
822
- }) }, row.pxRefObjectInsName || row.pyID));
823
- }) })] }) })) : (_jsxs(TableContainer, { id: 'list-view', children: [_jsxs(Table, { children: [_jsx(TableHead, { children: _jsxs(TableRow, { children: [(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && _jsx(TableCell, {}), arColumns.map(column => {
814
+ }) }) }), _jsx(TableBody, { children: arRows &&
815
+ stableSort(arRows, getComparator(order, orderBy))
816
+ .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
817
+ .map(row => {
818
+ return (_jsx(TableRow, { children: arColumns.map(column => {
819
+ const value = row[column.id];
820
+ return (_jsx(TableCell, { align: column.align, className: classes.cell, children: _showButton(column.id, row) || column.displayAsLink ? (_jsx(Link, { component: 'button', onClick: () => {
821
+ _listViewClick(row, column);
822
+ }, underline: 'hover', children: column.format && typeof value === 'number' ? column.format(value) : value })) : (_jsx(_Fragment, { children: column.format && typeof value === 'number' ? column.format(value) : value || '---' })) }, column.id));
823
+ }) }, row.pxRefObjectInsName || row.pyID));
824
+ }) })] }) })) : (_jsxs(TableContainer, { id: 'list-view', children: [_jsxs(Table, { children: [_jsx(TableHead, { children: _jsxs(TableRow, { children: [(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && _jsx(TableCell, {}), arColumns.map(column => {
824
825
  return (_jsx(TableCell, { className: classes.cell, sortDirection: orderBy === column.id ? order : false, children: _jsxs(TableSortLabel, { active: orderBy === column.id, direction: orderBy === column.id ? order : 'asc', onClick: createSortHandler(column.id), children: [column.label, orderBy === column.id ? (_jsx("span", { className: classes.visuallyHidden, children: order === 'desc' ? 'sorted descending' : 'sorted ascending' })) : null] }) }, column.id));
825
826
  })] }) }), _jsx(TableBody, { children: arRows &&
826
827
  arRows.length > 0 &&
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-plusplus */\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable @typescript-eslint/no-shadow */\n\nimport React, { useState, useEffect, useRef } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport createStyles from '@mui/styles/createStyles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TablePagination from '@mui/material/TablePagination';\nimport TableRow from '@mui/material/TableRow';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport Paper from '@mui/material/Paper';\nimport MoreIcon from '@mui/icons-material/MoreVert';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport SubjectIcon from '@mui/icons-material/Subject';\nimport SearchIcon from '@mui/icons-material/Search';\nimport TextField from '@mui/material/TextField';\nimport Grid from '@mui/material/Grid';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Select from '@mui/material/Select';\nimport Button from '@mui/material/Button';\nimport Link from '@mui/material/Link';\nimport Typography from '@mui/material/Typography';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { Radio } from '@mui/material';\nimport Checkbox from '@mui/material/Checkbox';\n\nimport { filterData } from '../../helpers/simpleTableHelpers';\n\nimport './ListView.css';\nimport { getDateFormatInfo } from '../../helpers/date-format-utils';\nimport { getCurrencyOptions } from '../../field/Currency/currency-utils';\nimport { format } from '../../helpers/formatters';\n\nimport useInit from './hooks';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface ListViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n bInForm?: boolean;\n globalSearch?: boolean;\n referenceList?: any[];\n // rowClickAction?: any;\n selectionMode?: string;\n referenceType?: string;\n payload?: any;\n parameters?: any;\n compositeKeys?: any;\n showDynamicFields?: boolean;\n readonlyContextList?: any;\n value: any;\n}\n\nconst SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };\n\nlet myRows: any[];\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nlet sortColumnId: any;\n\nconst filterByColumns: any[] = [];\n\nexport default function ListView(props: ListViewProps) {\n const { getPConnect, bInForm = true } = props;\n const {\n globalSearch,\n referenceList,\n /* rowClickAction, */\n selectionMode,\n referenceType,\n payload,\n parameters,\n compositeKeys,\n showDynamicFields,\n readonlyContextList: selectedValues,\n value\n } = props;\n const ref = useRef({}).current;\n const cosmosTableRef = useRef();\n // List component context\n const [listContext, setListContext] = useState<any>({});\n const { meta } = listContext;\n const xRayApis = PCore.getDebugger().getXRayRuntime();\n const xRayUid = xRayApis.startXRay();\n\n useInit({\n ...props,\n setListContext,\n ref,\n showDynamicFields,\n xRayUid,\n cosmosTableRef\n });\n\n const thePConn = getPConnect();\n // @ts-ignore - Property 'getComponentConfig' is private and only accessible within class 'C11nEnv'.\n const componentConfig = thePConn.getComponentConfig();\n const resolvedConfigProps: any = thePConn.getConfigProps() as ListViewProps;\n\n /** By default, pyGUID is used for Data classes and pyID is for Work classes as row-id/key */\n const defRowID = referenceType === 'Case' ? 'pyID' : 'pyGUID';\n\n /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */\n const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;\n\n const [arRows, setRows] = useState<any[]>([]);\n const [rowsData, setRowsData] = useState<any[]>([]);\n const [arColumns, setColumns] = useState<any[]>([]);\n const [response, setResponse] = useState<any[]>([]);\n\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n const [selectedValue, setSelectedValue] = useState(value);\n\n // This basically will hold the list of all current filters\n const filters = useRef({});\n\n // Will contain the list of columns specific for an instance\n const columnList: any = useRef([]);\n const filterPayload: any = useRef();\n // Will be sent in the dashboardFilterPayload\n let selectParam: any[] = [];\n\n // dataview parameters coming from the ListPage\n // This constant will also be used for parameters coming from from other components/utility functions in future\n const dataViewParameters = parameters;\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%'\n },\n paper: {\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'grid'\n },\n search: {\n padding: '5px 5px'\n },\n table: {\n minWidth: 750\n },\n tableInForm: {\n minWidth: 750,\n maxHeight: 550,\n overflow: 'auto'\n },\n moreIcon: {\n verticalAlign: 'bottom'\n },\n filteredIcon: {\n verticalAlign: 'bottom'\n },\n cell: {\n whiteSpace: 'nowrap'\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 title: {\n marginTop: theme.spacing(1),\n marginLeft: theme.spacing(1)\n }\n })\n );\n\n const classes = useStyles();\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 sortColumnId = property;\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (!a[orderedBy] || 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 const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map(el => el[0]);\n }\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n function getHeaderCells(colFields, fields) {\n return colFields.map((field: any, index) => {\n let theField = field.config.value.substring(field.config.value.indexOf(' ') + 1);\n if (theField.indexOf('.') === 0) {\n theField = theField.substring(1);\n }\n const colIndex = fields.findIndex(ele => ele.name === theField);\n const displayAsLink = field.config.displayAsLink;\n const headerRow: any = {};\n headerRow.id = fields[index].id;\n headerRow.type = field.type;\n headerRow.displayAsLink = displayAsLink;\n headerRow.numeric = field.type === 'Decimal' || field.type === 'Integer' || field.type === 'Percentage' || field.type === 'Currency' || false;\n headerRow.disablePadding = false;\n headerRow.label = fields[index].label;\n if (colIndex > -1) {\n headerRow.classID = fields[colIndex].classID;\n }\n if (displayAsLink) {\n headerRow.isAssignmentLink = AssignDashObjects.includes(headerRow.classID);\n if (field.config.value?.startsWith('@CA')) {\n headerRow.isAssociation = true;\n }\n }\n return headerRow;\n });\n }\n\n function getUsingData(arTableData): any[] {\n if (selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) {\n const record = arTableData?.length > 0 ? arTableData[0] : '';\n if (typeof record === 'object' && !('pyGUID' in record) && !('pyID' in record)) {\n // eslint-disable-next-line no-console\n console.error('pyGUID or pyID values are mandatory to select the required row from the list');\n }\n }\n return arTableData?.map((data: any) => {\n return data;\n });\n }\n\n /** Will return field from a filter expression */\n function getFieldFromFilter(filter, dateRange = false) {\n let fieldValue;\n if (dateRange) {\n fieldValue = filter?.AND[0]?.condition.lhs.field;\n } else {\n fieldValue = filter?.condition.lhs.field;\n }\n return fieldValue;\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires\n function processFilterChange(data) {\n const { filterId, filterExpression } = data;\n let dashboardFilterPayload: any = {\n query: {\n filter: {},\n select: []\n }\n };\n\n filters.current[filterId] = filterExpression;\n let isDateRange = data.filterExpression?.AND;\n // Will be AND by default but making it dynamic in case we support dynamic relational ops in future\n const relationalOp = 'AND';\n\n let field = getFieldFromFilter(filterExpression, isDateRange);\n selectParam = [];\n // Constructing the select parameters list (will be sent in dashboardFilterPayload)\n columnList.current.forEach(col => {\n selectParam.push({\n field: col\n });\n });\n\n // Checking if the triggered filter is applicable for this list\n if (data.filterExpression !== null && !(columnList.current?.length && columnList.current?.includes(field))) {\n return;\n }\n // This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters\n let validFilter = false;\n\n let index = 1;\n // Iterating over the current filters list to create filter data which will be POSTed\n for (const filterExp of Object.keys(filters.current)) {\n const filter = filters.current[filterExp];\n // If the filter is null then we can skip this iteration\n if (filter === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n // Checking if the filter is of type- Date Range\n isDateRange = filter?.AND;\n field = getFieldFromFilter(filter, isDateRange);\n\n if (!(columnList.current.length && columnList.current.includes(field))) {\n // eslint-disable-next-line no-continue\n continue;\n }\n // If we reach here that implies we've at least one valid filter, hence setting the flag\n validFilter = true;\n /** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload\n * In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here\n */\n if (isDateRange) {\n const dateRelationalOp = filter?.AND ? 'AND' : 'OR';\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter[relationalOp][0].condition },\n [`T${index++}`]: { ...filter[relationalOp][1].condition }\n };\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} (T${\n index - 2\n } ${dateRelationalOp} T${index - 1})`;\n } else {\n dashboardFilterPayload.query.filter.logic = `(T${index - 2} ${relationalOp} T${index - 1})`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n } else {\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter.condition, ignoreCase: true }\n };\n\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} T${index - 1}`;\n } else {\n dashboardFilterPayload.query.filter.logic = `T${index - 1}`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n }\n }\n\n // Reset the dashboardFilterPayload if we end up with no valid filters for the list\n if (!validFilter) {\n dashboardFilterPayload = undefined;\n }\n filterPayload.current = dashboardFilterPayload;\n fetchDataFromServer();\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CLEAR_ALL fires\n function processFilterClear() {\n filterPayload.current = undefined;\n fetchDataFromServer();\n }\n\n function fetchAllData(fields): any {\n let query: any = null;\n if (payload) {\n query = payload.query;\n } else if (fields?.length && meta.isQueryable) {\n if (filterPayload.current) {\n query = {\n select: fields,\n filter: filterPayload.current?.query?.filter\n };\n } else {\n query = { select: fields };\n }\n } else if (filterPayload.current) {\n query = filterPayload.current?.query;\n }\n const context = getPConnect().getContextName();\n // getDataAsync isn't returning correct data for the Page(i.e. ListView within a page) case\n return !bInForm\n ? // @ts-ignore - 3rd parameter \"context\" should be optional in getData method\n PCore.getDataApiUtils().getData(referenceList, payload)\n : // @ts-ignore - Argument of type 'null' is not assignable to parameter of type 'object'\n PCore.getDataPageUtils().getDataAsync(referenceList, context, payload ? payload.dataViewParameters : dataViewParameters, null, query);\n }\n\n const buildSelect = (fieldDefs, colId, patchQueryFields = [], compositeKeys = []) => {\n const listFields: any = [];\n if (colId) {\n const field = getField(fieldDefs, colId);\n listFields.push({\n field: field.name\n });\n } else {\n // NOTE: If we ever decide to not set up all the `fieldDefs` on select, ensure that the fields\n // corresponding to `state.groups` are set up. Needed in Client-mode grouping/pagination.\n fieldDefs.forEach(field => {\n if (!listFields.find(f => f.field === field.name)) {\n listFields.push({\n field: field.name\n });\n }\n });\n patchQueryFields.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n }\n\n compositeKeys.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n return listFields;\n };\n\n const addItemKeyInSelect = (fieldDefs, itemKey, select, compositeKeys) => {\n const elementFound = getField(fieldDefs, itemKey);\n\n if (\n itemKey &&\n !elementFound &&\n Array.isArray(select) &&\n !(compositeKeys !== null && compositeKeys?.length) &&\n !select.find(sel => sel.field === itemKey)\n ) {\n return [\n ...select,\n {\n field: itemKey\n }\n ];\n }\n\n return select;\n };\n\n const getField = (fieldDefs, columnId) => {\n const fieldsMap = getFieldsMap(fieldDefs);\n return fieldsMap.get(columnId);\n };\n\n const getFieldsMap = fieldDefs => {\n const fieldsMap = new Map();\n fieldDefs.forEach(element => {\n fieldsMap.set(element.id, element);\n });\n return fieldsMap;\n };\n\n async function fetchDataFromServer() {\n let bCallSetRowsColumns = true;\n const { fieldDefs, itemKey, patchQueryFields } = meta;\n let listFields = fieldDefs ? buildSelect(fieldDefs, undefined, patchQueryFields, compositeKeys) : [];\n listFields = addItemKeyInSelect(fieldDefs, itemKey, listFields, compositeKeys);\n const workListJSON = await fetchAllData(listFields);\n\n // this is an unresovled version of this.fields$, need unresolved, so can get the property reference\n const columnFields = componentConfig.presets[0].children[0].children;\n\n const tableDataResults = !bInForm ? workListJSON.data.data : workListJSON.data;\n\n const myColumns = getHeaderCells(columnFields, fieldDefs);\n\n const selectParams: any = [];\n\n myColumns.forEach(column => {\n selectParams.push({\n field: column.id\n });\n });\n\n const colList: any = [];\n\n selectParams.forEach(col => {\n colList.push(col.field);\n });\n\n columnList.current = colList;\n\n setResponse(tableDataResults);\n\n const usingDataResults = getUsingData(tableDataResults);\n\n // store globally, so can be searched, filtered, etc.\n myRows = usingDataResults;\n\n setRowsData(myRows);\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setRows and setColumns, call them\n if (bCallSetRowsColumns) {\n setRows(myRows);\n setColumns(myColumns);\n }\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetRowsColumns\n // variable inside the useEffect and inside the \"then\" clause of the\n // workListData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setters which would otherwise show a warning\n bCallSetRowsColumns = false;\n };\n }\n\n useEffect(() => {\n if (listContext.meta) {\n fetchDataFromServer();\n setTimeout(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n data => {\n processFilterChange(data);\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n filters.current = {};\n processFilterClear();\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n }, 0);\n\n return function cleanupSubscriptions() {\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n };\n }\n }, [listContext]);\n\n function searchFilter(value: string, rows: any[]) {\n const cols = arColumns.map(ele => {\n return ele.id;\n });\n\n function filterArray(el: any): boolean {\n return Object.keys(el).some(key => {\n // only search columns that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)\n if (cols.includes(key)) {\n const myVal = el[key];\n if (myVal !== null && typeof myVal !== 'undefined') {\n const strVal = String(myVal); // Ensure myVal is a string\n return strVal.toLowerCase().includes(value.toLowerCase());\n }\n }\n return false;\n });\n }\n\n rows = rows.filter(filterArray);\n\n return rows;\n }\n\n function _onSearch(event: any) {\n const searchValue = event.target.value;\n const filteredRows = searchFilter(searchValue, rowsData?.slice());\n\n setRows(filteredRows);\n }\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function openAssignment(row) {\n const { pxRefObjectClass, pzInsKey } = row;\n const sTarget = thePConn.getContainerName();\n\n const options = { containerName: sTarget, channelName: '' };\n\n thePConn\n .getActionsApi()\n // @ts-ignore\n .openAssignment(pzInsKey, pxRefObjectClass, options)\n .then(() => {\n // console.log(\"openAssignment successful\");\n })\n .catch(() => {\n showToast(`openAssignment failed!`);\n });\n }\n\n // function _rowClick(row: any) {\n // // eslint-disable-next-line sonarjs/no-small-switch\n // switch (rowClickAction) {\n // case 'openAssignment':\n // openAssignment(row);\n // break;\n\n // default:\n // break;\n // }\n // }\n\n function openWork(row) {\n const { pxRefObjectKey } = row;\n const pxRefObjectClass = row.pxRefObjectClass || row.pxObjClass;\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n thePConn.getActionsApi().openWorkByHandle(pxRefObjectKey, pxRefObjectClass);\n }\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent<any> | Event, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _menuClick(event, columnId: string, columnType: string, label: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = label;\n\n setAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n }\n\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\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 setAnchorEl(null);\n }\n\n function _closeDialog() {\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 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 filterSortGroupBy() {\n // get original data set\n let theData = 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 setRows(theData);\n createSortHandler(sortColumnId);\n }\n\n function _dialogContainsFilter(event) {\n // dialogContainsFilter = event.target.value;\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n // dialogContainsValue = event.target.value;\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n // dialogDateFilter = event.target.value;\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showButton(name, row) {\n let bReturn = false;\n const { pxRefObjectClass, pzInsKey, pxRefObjectKey } = row;\n switch (name) {\n case 'pxTaskLabel':\n if (pxRefObjectClass !== '' && pzInsKey !== '') {\n bReturn = true;\n }\n break;\n\n case 'pxRefObjectInsName':\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n bReturn = true;\n }\n break;\n\n default:\n break;\n }\n\n return bReturn;\n }\n\n function _listViewClick(row, column) {\n const name = column.id;\n if (column.displayAsLink) {\n const { pxObjClass } = row;\n let { pzInsKey } = row;\n if (column.isAssociation) {\n const associationCategory = name.split(':')[0];\n pzInsKey = row[`${associationCategory}:pzInsKey`];\n }\n if (column.isAssignmentLink) {\n // @ts-ignore\n thePConn.getActionsApi().openAssignment(pzInsKey, pxObjClass, {\n containerName: 'primary',\n channelName: ''\n });\n } else {\n thePConn.getActionsApi().openWorkByHandle(pzInsKey, pxObjClass);\n }\n } else {\n switch (name) {\n case 'pxTaskLabel':\n openAssignment(row);\n break;\n\n case 'pxRefObjectInsName':\n openWork(row);\n break;\n\n default:\n break;\n }\n }\n }\n\n function _listTitle() {\n const defaultTitle = 'List';\n let title = resolvedConfigProps.title || resolvedConfigProps?.label || defaultTitle;\n const inheritedProps = resolvedConfigProps?.inheritedProps;\n\n // Let any title in resolvedConfigProps that isn't the default take precedence\n // but only look in inheritedProps if they exist\n if (title === defaultTitle && inheritedProps) {\n for (const inheritedProp of inheritedProps) {\n if (inheritedProp?.prop === 'label') {\n title = inheritedProp?.value;\n break;\n }\n }\n }\n\n return title;\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n } else {\n reqObj[rowID] = value;\n }\n getPConnect()?.getListActions?.()?.setSelectedRows([reqObj]);\n setSelectedValue(value);\n };\n\n const onCheckboxClick = event => {\n const value = event?.target?.value;\n const checked = event?.target?.checked;\n const reqObj: any = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n reqObj.$selected = checked;\n } else {\n reqObj[rowID] = value;\n reqObj.$selected = checked;\n }\n getPConnect()?.getListActions()?.setSelectedRows([reqObj]);\n };\n\n const processColumnValue = (column, value) => {\n let val;\n const type = column.type;\n let theDateFormatInfo;\n let theFormat;\n let theCurrencyOptions;\n switch (type) {\n case 'Date':\n case 'DateTime':\n theDateFormatInfo = getDateFormatInfo();\n theFormat = type === 'DateTime' ? `${theDateFormatInfo.dateFormatStringLong} hh:mm a` : theDateFormatInfo.dateFormatStringLong;\n val = format(value, column.type, { format: theFormat });\n break;\n\n case 'Currency':\n theCurrencyOptions = getCurrencyOptions(PCore?.getEnvironmentInfo()?.getLocale() as string);\n val = format(value, column.type, theCurrencyOptions);\n break;\n\n default:\n val = column.format && typeof value === 'number' ? column.format(value) : value || '---';\n }\n return val;\n };\n\n return (\n <>\n {arColumns && arColumns.length > 0 && (\n <Paper className={classes.paper}>\n <Typography className={classes.title} variant='h6' color='textPrimary' gutterBottom>\n {_listTitle()}\n </Typography>\n {globalSearch && (\n <Grid container spacing={1} alignItems='flex-end' className={classes.search}>\n <Grid item>\n <SearchIcon />\n </Grid>\n <Grid item>\n <TextField\n label={PCore.getLocaleUtils().getLocaleValue('Search', 'Search')}\n fullWidth\n variant='outlined'\n placeholder=''\n size='small'\n id='search'\n onChange={_onSearch}\n />\n </Grid>\n </Grid>\n )}\n <>\n {!bInForm ? (\n <TableContainer id='list-view' className={classes.tableInForm}>\n <Table stickyHeader aria-label='sticky table'>\n <TableHead>\n <TableRow>\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {_showFilteredIcon(column.id) && <FilterListIcon className={classes.filteredIcon} />}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, column.id, column.type, column.label);\n }}\n />\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row.pxRefObjectInsName || row.pyID}>\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell key={column.id} align={column.align} className={classes.cell}>\n {_showButton(column.id, row) || column.displayAsLink ? (\n <Link\n component='button'\n onClick={() => {\n _listViewClick(row, column);\n }}\n underline='hover'\n >\n {column.format && typeof value === 'number' ? column.format(value) : value}\n </Link>\n ) : (\n <>{column.format && typeof value === 'number' ? column.format(value) : value || '---'}</>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n <TableContainer id='list-view'>\n <Table>\n <TableHead>\n <TableRow>\n {(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && <TableCell />}\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n arRows.length > 0 &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row[rowID]}>\n {selectionMode === SELECTION_MODE.SINGLE && (\n <TableCell>\n <Radio\n onChange={handleChange}\n value={row[rowID]}\n name='radio-buttons'\n inputProps={{ 'aria-label': 'A' }}\n checked={selectedValue === row[rowID]}\n />\n </TableCell>\n )}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell>\n <Checkbox\n onChange={onCheckboxClick}\n checked={selectedValues.some(selectedValue => selectedValue[rowID] === row[rowID])}\n value={row[rowID]}\n />\n </TableCell>\n )}\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell className={classes.cell} key={column.id} align={column.align}>\n {processColumnValue(column, value)}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {arRows && arRows.length === 0 && <div className='no-records'>No records found.</div>}\n </TableContainer>\n )}\n </>\n {arRows && arRows.length > 0 && (\n <TablePagination\n id='pagination'\n rowsPerPageOptions={[10, 25, 100]}\n component='div'\n count={arRows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </Paper>\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 variant='standard' value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not 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 variant='standard'\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 variant='standard'\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 variant='standard'\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 variant='standard' 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 variant='standard'\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 <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-plusplus */\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable @typescript-eslint/no-shadow */\n\nimport React, { useState, useEffect, useRef } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport createStyles from '@mui/styles/createStyles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TablePagination from '@mui/material/TablePagination';\nimport TableRow from '@mui/material/TableRow';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport Paper from '@mui/material/Paper';\nimport MoreIcon from '@mui/icons-material/MoreVert';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport SubjectIcon from '@mui/icons-material/Subject';\nimport SearchIcon from '@mui/icons-material/Search';\nimport TextField from '@mui/material/TextField';\nimport Grid from '@mui/material/Grid';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Select from '@mui/material/Select';\nimport Button from '@mui/material/Button';\nimport Link from '@mui/material/Link';\nimport Typography from '@mui/material/Typography';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { Radio } from '@mui/material';\nimport Checkbox from '@mui/material/Checkbox';\n\nimport { filterData } from '../../helpers/simpleTableHelpers';\n\nimport './ListView.css';\nimport { getDateFormatInfo } from '../../helpers/date-format-utils';\nimport { getCurrencyOptions } from '../../field/Currency/currency-utils';\nimport { format } from '../../helpers/formatters';\n\nimport useInit from './hooks';\nimport { PConnProps } from '../../../types/PConnProps';\n\ninterface ListViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n bInForm?: boolean;\n globalSearch?: boolean;\n referenceList?: any[];\n // rowClickAction?: any;\n selectionMode?: string;\n referenceType?: string;\n payload?: any;\n parameters?: any;\n compositeKeys?: any;\n showDynamicFields?: boolean;\n readonlyContextList?: any;\n value: any;\n}\n\nconst SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };\n\nlet myRows: any[];\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nlet sortColumnId: any;\n\nconst filterByColumns: any[] = [];\n\nexport default function ListView(props: ListViewProps) {\n const { getPConnect, bInForm = true } = props;\n const {\n globalSearch,\n referenceList,\n /* rowClickAction, */\n selectionMode,\n referenceType,\n payload,\n parameters,\n compositeKeys,\n showDynamicFields,\n readonlyContextList: selectedValues,\n value\n } = props;\n const ref = useRef({}).current;\n const cosmosTableRef = useRef();\n // List component context\n const [listContext, setListContext] = useState<any>({});\n const { meta } = listContext;\n const xRayApis = PCore.getDebugger().getXRayRuntime();\n const xRayUid = xRayApis.startXRay();\n\n useInit({\n ...props,\n setListContext,\n ref,\n showDynamicFields,\n xRayUid,\n cosmosTableRef\n });\n\n const thePConn = getPConnect();\n // @ts-ignore - Property 'getComponentConfig' is private and only accessible within class 'C11nEnv'.\n const componentConfig = thePConn.getComponentConfig();\n const resolvedConfigProps: any = thePConn.getConfigProps() as ListViewProps;\n\n /** By default, pyGUID is used for Data classes and pyID is for Work classes as row-id/key */\n const defRowID = referenceType === 'Case' ? 'pyID' : 'pyGUID';\n\n /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */\n const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;\n\n const [arRows, setRows] = useState<any[]>([]);\n const [rowsData, setRowsData] = useState<any[]>([]);\n const [arColumns, setColumns] = useState<any[]>([]);\n const [response, setResponse] = useState<any[]>([]);\n\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n const [selectedValue, setSelectedValue] = useState(value);\n\n // This basically will hold the list of all current filters\n const filters = useRef({});\n\n // Will contain the list of columns specific for an instance\n const columnList: any = useRef([]);\n const filterPayload: any = useRef();\n // Will be sent in the dashboardFilterPayload\n let selectParam: any[] = [];\n\n // dataview parameters coming from the ListPage\n // This constant will also be used for parameters coming from from other components/utility functions in future\n const dataViewParameters = parameters;\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%'\n },\n paper: {\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n display: 'grid'\n },\n search: {\n padding: '5px 5px'\n },\n table: {\n minWidth: 750\n },\n tableInForm: {\n minWidth: 750,\n maxHeight: 550,\n overflow: 'auto'\n },\n moreIcon: {\n verticalAlign: 'bottom'\n },\n filteredIcon: {\n verticalAlign: 'bottom'\n },\n cell: {\n whiteSpace: 'nowrap'\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 title: {\n marginTop: theme.spacing(1),\n marginLeft: theme.spacing(1)\n }\n })\n );\n\n const classes = useStyles();\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 sortColumnId = property;\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (!a[orderedBy] || 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 const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map(el => el[0]);\n }\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n function getHeaderCells(colFields, fields) {\n return colFields.map((field: any, index) => {\n let theField = field.config.value.substring(field.config.value.indexOf(' ') + 1);\n if (theField.indexOf('.') === 0) {\n theField = theField.substring(1);\n }\n const colIndex = fields.findIndex(ele => ele.name === theField);\n const displayAsLink = field.config.displayAsLink;\n const headerRow: any = {};\n headerRow.id = fields[index].id;\n headerRow.type = field.type;\n headerRow.displayAsLink = displayAsLink;\n headerRow.numeric = field.type === 'Decimal' || field.type === 'Integer' || field.type === 'Percentage' || field.type === 'Currency' || false;\n headerRow.disablePadding = false;\n headerRow.label = fields[index].label;\n if (colIndex > -1) {\n headerRow.classID = fields[colIndex].classID;\n }\n if (displayAsLink) {\n headerRow.isAssignmentLink = AssignDashObjects.includes(headerRow.classID);\n if (field.config.value?.startsWith('@CA')) {\n headerRow.isAssociation = true;\n }\n }\n return headerRow;\n });\n }\n\n function getUsingData(arTableData): any[] {\n if (selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) {\n const record = arTableData?.length > 0 ? arTableData[0] : '';\n if (typeof record === 'object' && !('pyGUID' in record) && !('pyID' in record)) {\n // eslint-disable-next-line no-console\n console.error('pyGUID or pyID values are mandatory to select the required row from the list');\n }\n }\n return arTableData?.map((data: any) => {\n return data;\n });\n }\n\n /** Will return field from a filter expression */\n function getFieldFromFilter(filter, dateRange = false) {\n let fieldValue;\n if (dateRange) {\n fieldValue = filter?.AND[0]?.condition.lhs.field;\n } else {\n fieldValue = filter?.condition.lhs.field;\n }\n return fieldValue;\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires\n function processFilterChange(data) {\n const { filterId, filterExpression } = data;\n let dashboardFilterPayload: any = {\n query: {\n filter: {},\n select: []\n }\n };\n\n filters.current[filterId] = filterExpression;\n let isDateRange = data.filterExpression?.AND;\n // Will be AND by default but making it dynamic in case we support dynamic relational ops in future\n const relationalOp = 'AND';\n\n let field = getFieldFromFilter(filterExpression, isDateRange);\n selectParam = [];\n // Constructing the select parameters list (will be sent in dashboardFilterPayload)\n columnList.current.forEach(col => {\n selectParam.push({\n field: col\n });\n });\n\n // Checking if the triggered filter is applicable for this list\n if (data.filterExpression !== null && !(columnList.current?.length && columnList.current?.includes(field))) {\n return;\n }\n // This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters\n let validFilter = false;\n\n let index = 1;\n // Iterating over the current filters list to create filter data which will be POSTed\n for (const filterExp of Object.keys(filters.current)) {\n const filter = filters.current[filterExp];\n // If the filter is null then we can skip this iteration\n if (filter === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n // Checking if the filter is of type- Date Range\n isDateRange = filter?.AND;\n field = getFieldFromFilter(filter, isDateRange);\n\n if (!(columnList.current.length && columnList.current.includes(field))) {\n // eslint-disable-next-line no-continue\n continue;\n }\n // If we reach here that implies we've at least one valid filter, hence setting the flag\n validFilter = true;\n /** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload\n * In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here\n */\n if (isDateRange) {\n const dateRelationalOp = filter?.AND ? 'AND' : 'OR';\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter[relationalOp][0].condition },\n [`T${index++}`]: { ...filter[relationalOp][1].condition }\n };\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} (T${\n index - 2\n } ${dateRelationalOp} T${index - 1})`;\n } else {\n dashboardFilterPayload.query.filter.logic = `(T${index - 2} ${relationalOp} T${index - 1})`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n } else {\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter.condition, ignoreCase: true }\n };\n\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} T${index - 1}`;\n } else {\n dashboardFilterPayload.query.filter.logic = `T${index - 1}`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n }\n }\n\n // Reset the dashboardFilterPayload if we end up with no valid filters for the list\n if (!validFilter) {\n dashboardFilterPayload = undefined;\n }\n filterPayload.current = dashboardFilterPayload;\n fetchDataFromServer();\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CLEAR_ALL fires\n function processFilterClear() {\n filterPayload.current = undefined;\n fetchDataFromServer();\n }\n\n function fetchAllData(fields): any {\n let query: any = null;\n if (payload) {\n query = payload.query;\n } else if (fields?.length && meta.isQueryable) {\n if (filterPayload.current) {\n query = {\n select: fields,\n filter: filterPayload.current?.query?.filter\n };\n } else {\n query = { select: fields };\n }\n } else if (filterPayload.current) {\n query = filterPayload.current?.query;\n }\n const context = getPConnect().getContextName();\n // getDataAsync isn't returning correct data for the Page(i.e. ListView within a page) case\n return !bInForm\n ? // @ts-ignore - 3rd parameter \"context\" should be optional in getData method\n PCore.getDataApiUtils().getData(referenceList, payload)\n : // @ts-ignore - Argument of type 'null' is not assignable to parameter of type 'object'\n PCore.getDataPageUtils().getDataAsync(referenceList, context, payload ? payload.dataViewParameters : dataViewParameters, null, query);\n }\n\n const buildSelect = (fieldDefs, colId, patchQueryFields = [], compositeKeys = []) => {\n const listFields: any = [];\n if (colId) {\n const field = getField(fieldDefs, colId);\n listFields.push({\n field: field.name\n });\n } else {\n // NOTE: If we ever decide to not set up all the `fieldDefs` on select, ensure that the fields\n // corresponding to `state.groups` are set up. Needed in Client-mode grouping/pagination.\n fieldDefs.forEach(field => {\n if (!listFields.find(f => f.field === field.name)) {\n listFields.push({\n field: field.name\n });\n }\n });\n patchQueryFields.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n }\n\n compositeKeys.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n return listFields;\n };\n\n const addItemKeyInSelect = (fieldDefs, itemKey, select, compositeKeys) => {\n const elementFound = getField(fieldDefs, itemKey);\n\n if (\n itemKey &&\n !elementFound &&\n Array.isArray(select) &&\n !(compositeKeys !== null && compositeKeys?.length) &&\n !select.find(sel => sel.field === itemKey)\n ) {\n return [\n ...select,\n {\n field: itemKey\n }\n ];\n }\n\n return select;\n };\n\n const getField = (fieldDefs, columnId) => {\n const fieldsMap = getFieldsMap(fieldDefs);\n return fieldsMap.get(columnId);\n };\n\n const getFieldsMap = fieldDefs => {\n const fieldsMap = new Map();\n fieldDefs.forEach(element => {\n fieldsMap.set(element.id, element);\n });\n return fieldsMap;\n };\n\n async function fetchDataFromServer() {\n let bCallSetRowsColumns = true;\n const { fieldDefs, itemKey, patchQueryFields } = meta;\n let listFields = fieldDefs ? buildSelect(fieldDefs, undefined, patchQueryFields, compositeKeys) : [];\n listFields = addItemKeyInSelect(fieldDefs, itemKey, listFields, compositeKeys);\n const workListJSON = await fetchAllData(listFields);\n\n // this is an unresovled version of this.fields$, need unresolved, so can get the property reference\n const columnFields = componentConfig.presets[0].children[0].children;\n\n const tableDataResults = !bInForm ? workListJSON.data.data : workListJSON.data;\n\n const myColumns = getHeaderCells(columnFields, fieldDefs);\n\n const selectParams: any = [];\n\n myColumns.forEach(column => {\n selectParams.push({\n field: column.id\n });\n });\n\n const colList: any = [];\n\n selectParams.forEach(col => {\n colList.push(col.field);\n });\n\n columnList.current = colList;\n\n setResponse(tableDataResults);\n\n const usingDataResults = getUsingData(tableDataResults);\n\n // store globally, so can be searched, filtered, etc.\n myRows = usingDataResults;\n\n setRowsData(myRows);\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setRows and setColumns, call them\n if (bCallSetRowsColumns) {\n setRows(myRows);\n setColumns(myColumns);\n }\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetRowsColumns\n // variable inside the useEffect and inside the \"then\" clause of the\n // workListData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setters which would otherwise show a warning\n bCallSetRowsColumns = false;\n };\n }\n\n useEffect(() => {\n if (listContext.meta) {\n fetchDataFromServer();\n setTimeout(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n data => {\n processFilterChange(data);\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n filters.current = {};\n processFilterClear();\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n }, 0);\n\n return function cleanupSubscriptions() {\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n `dashboard-component-${'id'}`,\n getPConnect().getContextName()\n );\n };\n }\n }, [listContext]);\n\n function searchFilter(value: string, rows: any[]) {\n const cols = arColumns.map(ele => {\n return ele.id;\n });\n\n function filterArray(el: any): boolean {\n return Object.keys(el).some(key => {\n // only search columns that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)\n if (cols.includes(key)) {\n const myVal = el[key];\n if (myVal !== null && typeof myVal !== 'undefined') {\n const strVal = String(myVal); // Ensure myVal is a string\n return strVal.toLowerCase().includes(value.toLowerCase());\n }\n }\n return false;\n });\n }\n\n rows = rows.filter(filterArray);\n\n return rows;\n }\n\n function _onSearch(event: any) {\n const searchValue = event.target.value;\n const filteredRows = searchFilter(searchValue, rowsData?.slice());\n\n setRows(filteredRows);\n }\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function openAssignment(row) {\n const { pxRefObjectClass, pzInsKey } = row;\n const sTarget = thePConn.getContainerName();\n\n const options = { containerName: sTarget, channelName: '' };\n\n thePConn\n .getActionsApi()\n // @ts-ignore\n .openAssignment(pzInsKey, pxRefObjectClass, options)\n .then(() => {\n // console.log(\"openAssignment successful\");\n })\n .catch(() => {\n showToast(`openAssignment failed!`);\n });\n }\n\n // function _rowClick(row: any) {\n // // eslint-disable-next-line sonarjs/no-small-switch\n // switch (rowClickAction) {\n // case 'openAssignment':\n // openAssignment(row);\n // break;\n\n // default:\n // break;\n // }\n // }\n\n function openWork(row) {\n const { pxRefObjectKey } = row;\n const pxRefObjectClass = row.pxRefObjectClass || row.pxObjClass;\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n thePConn.getActionsApi().openWorkByHandle(pxRefObjectKey, pxRefObjectClass);\n }\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent<any> | Event, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _menuClick(event, columnId: string, columnType: string, label: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = label;\n\n setAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n }\n\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\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 setAnchorEl(null);\n }\n\n function _closeDialog() {\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 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 filterSortGroupBy() {\n // get original data set\n let theData = 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 setRows(theData);\n createSortHandler(sortColumnId);\n }\n\n function _dialogContainsFilter(event) {\n // dialogContainsFilter = event.target.value;\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n // dialogContainsValue = event.target.value;\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n // dialogDateFilter = event.target.value;\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showButton(name, row) {\n let bReturn = false;\n const { pxRefObjectClass, pzInsKey, pxRefObjectKey } = row;\n switch (name) {\n case 'pxTaskLabel':\n if (pxRefObjectClass !== '' && pzInsKey !== '') {\n bReturn = true;\n }\n break;\n\n case 'pxRefObjectInsName':\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n bReturn = true;\n }\n break;\n\n default:\n break;\n }\n\n return bReturn;\n }\n\n function _listViewClick(row, column) {\n const name = column.id;\n if (column.displayAsLink) {\n const { pxObjClass } = row;\n let { pzInsKey } = row;\n if (column.isAssociation) {\n const associationCategory = name.split(':')[0];\n pzInsKey = row[`${associationCategory}:pzInsKey`];\n }\n if (column.isAssignmentLink) {\n // @ts-ignore\n thePConn.getActionsApi().openAssignment(pzInsKey, pxObjClass, {\n containerName: 'primary',\n channelName: ''\n });\n } else {\n thePConn.getActionsApi().openWorkByHandle(pzInsKey, pxObjClass);\n }\n } else {\n switch (name) {\n case 'pxTaskLabel':\n openAssignment(row);\n break;\n\n case 'pxRefObjectInsName':\n openWork(row);\n break;\n\n default:\n break;\n }\n }\n }\n\n function _listTitle() {\n const defaultTitle = 'List';\n let title = resolvedConfigProps.title || resolvedConfigProps?.label || defaultTitle;\n const inheritedProps = resolvedConfigProps?.inheritedProps;\n\n // Let any title in resolvedConfigProps that isn't the default take precedence\n // but only look in inheritedProps if they exist\n if (title === defaultTitle && inheritedProps) {\n for (const inheritedProp of inheritedProps) {\n if (inheritedProp?.prop === 'label') {\n title = inheritedProp?.value;\n break;\n }\n }\n }\n\n return title;\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n } else {\n reqObj[rowID] = value;\n }\n getPConnect()?.getListActions?.()?.setSelectedRows([reqObj]);\n setSelectedValue(value);\n };\n\n const onCheckboxClick = event => {\n const value = event?.target?.value;\n const checked = event?.target?.checked;\n const reqObj: any = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element];\n });\n reqObj.$selected = checked;\n } else {\n reqObj[rowID] = value;\n reqObj.$selected = checked;\n }\n getPConnect()?.getListActions()?.setSelectedRows([reqObj]);\n };\n\n const processColumnValue = (column, value) => {\n let val;\n const type = column.type;\n let theDateFormatInfo;\n let theFormat;\n let theCurrencyOptions;\n switch (type) {\n case 'Date':\n case 'DateTime':\n theDateFormatInfo = getDateFormatInfo();\n theFormat = type === 'DateTime' ? `${theDateFormatInfo.dateFormatStringLong} hh:mm a` : theDateFormatInfo.dateFormatStringLong;\n val = format(value, column.type, { format: theFormat });\n break;\n\n case 'Currency':\n theCurrencyOptions = getCurrencyOptions(PCore?.getEnvironmentInfo()?.getLocale() as string);\n val = format(value, column.type, theCurrencyOptions);\n break;\n\n default:\n val = column.format && typeof value === 'number' ? column.format(value) : value || '---';\n }\n return val;\n };\n\n return (\n <>\n {arColumns && arColumns.length > 0 && (\n <Paper className={classes.paper}>\n <Typography className={classes.title} variant='h6' color='textPrimary' gutterBottom>\n {_listTitle()}\n </Typography>\n {globalSearch && (\n <Grid container spacing={1} alignItems='flex-end' className={classes.search}>\n <Grid item>\n <SearchIcon />\n </Grid>\n <Grid item>\n <TextField\n label={PCore.getLocaleUtils().getLocaleValue('Search', 'Search')}\n fullWidth\n variant='outlined'\n placeholder=''\n size='small'\n id='search'\n onChange={_onSearch}\n />\n </Grid>\n </Grid>\n )}\n <>\n {!bInForm ? (\n <TableContainer id='list-view' className={classes.tableInForm}>\n <Table stickyHeader aria-label='sticky table'>\n <TableHead>\n <TableRow>\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {_showFilteredIcon(column.id) && <FilterListIcon className={classes.filteredIcon} />}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, column.id, column.type, column.label);\n }}\n />\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row.pxRefObjectInsName || row.pyID}>\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell key={column.id} align={column.align} className={classes.cell}>\n {_showButton(column.id, row) || column.displayAsLink ? (\n <Link\n component='button'\n onClick={() => {\n _listViewClick(row, column);\n }}\n underline='hover'\n >\n {column.format && typeof value === 'number' ? column.format(value) : value}\n </Link>\n ) : (\n <>{column.format && typeof value === 'number' ? column.format(value) : value || '---'}</>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n <TableContainer id='list-view'>\n <Table>\n <TableHead>\n <TableRow>\n {(selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) && <TableCell />}\n {arColumns.map(column => {\n return (\n <TableCell className={classes.cell} key={column.id} sortDirection={orderBy === column.id ? order : false}>\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>{order === 'desc' ? 'sorted descending' : 'sorted ascending'}</span>\n ) : null}\n </TableSortLabel>\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n arRows.length > 0 &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow key={row[rowID]}>\n {selectionMode === SELECTION_MODE.SINGLE && (\n <TableCell>\n <Radio\n onChange={handleChange}\n value={row[rowID]}\n name='radio-buttons'\n inputProps={{ 'aria-label': 'A' }}\n checked={selectedValue === row[rowID]}\n />\n </TableCell>\n )}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell>\n <Checkbox\n onChange={onCheckboxClick}\n checked={selectedValues.some(selectedValue => selectedValue[rowID] === row[rowID])}\n value={row[rowID]}\n />\n </TableCell>\n )}\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell className={classes.cell} key={column.id} align={column.align}>\n {processColumnValue(column, value)}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {arRows && arRows.length === 0 && <div className='no-records'>No records found.</div>}\n </TableContainer>\n )}\n </>\n {arRows && arRows.length > 0 && (\n <TablePagination\n id='pagination'\n rowsPerPageOptions={[10, 25, 100]}\n component='div'\n count={arRows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </Paper>\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 variant='standard' value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not 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 variant='standard'\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 variant='standard'\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 variant='standard'\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 variant='standard' 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 variant='standard'\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 <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\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,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,2CAgsBzF"}
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,2CAqsBzF"}
@@ -193,10 +193,15 @@ export default function SimpleTableManual(props) {
193
193
  function generateRowsData() {
194
194
  // if referenceList is empty and dataPageName property value exists then make a datapage fetch call and get the list of data.
195
195
  if (!referenceList.length && dataPageName) {
196
- getDataPage(dataPageName, parameters, context).then(listData => {
196
+ getDataPage(dataPageName, parameters, context)
197
+ .then(listData => {
197
198
  const data = formatRowsData(listData);
198
199
  myRows = data;
199
200
  setRowData(data);
201
+ })
202
+ .catch(e => {
203
+ // eslint-disable-next-line no-console
204
+ console.log(e);
200
205
  });
201
206
  }
202
207
  else {
@@ -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, useLayoutEffect, useRef, useState } from 'react';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport Paper from '@mui/material/Paper';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Link from '@mui/material/Link';\nimport { createElement } from 'react';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport MoreIcon from '@mui/icons-material/MoreVert';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport SubjectIcon from '@mui/icons-material/Subject';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Select from '@mui/material/Select';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/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 // @ts-ignore - An argument for 'uniqueField' was not provided.\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 // @ts-ignore - An argument for 'pageRef' was not provided.\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 // @ts-ignore - An argument for 'pageRef' was not provided.\n pConn.getListActions().deleteEntry(selectedRowIndex.current);\n };\n\n const deleteRecordFromInlineEditable = (index: number) => {\n // @ts-ignore - An argument for 'pageRef' was not provided.\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] || b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (!a[orderedBy] || 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} underline='hover'>\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 variant='standard' 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 variant='standard'\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 variant='standard'\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 variant='standard'\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 variant='standard' 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 variant='standard'\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":";AAAA,sCAAsC;AACtC,OAAc,EAAqB,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC/F,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAEhD,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAElG,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAwBrD,MAAM,SAAS,GAAG,UAAU,CAAC,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7C,KAAK,EAAE;QACL,MAAM,EAAE,KAAK;KACd;IACD,MAAM,EAAE;QACN,UAAU,EAAE,SAAS;KACtB;IACD,SAAS,EAAE;QACT,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,KAAK;KACf;IACD,cAAc,EAAE;QACd,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC,CAAC;QACV,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,CAAC;KACT;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,QAAQ;KACxB;CACF,CAAC,CAAC,CAAC;AAEJ,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,IAAI,eAAe,GAAG,EAAE,CAAC;AAEzB,MAAM,eAAe,GAAU,EAAE,CAAC;AAClC,IAAI,MAAa,CAAC;AAElB,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAgD;IACxF,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,EACJ,WAAW,EACX,aAAa,GAAG,EAAE,EAAE,6DAA6D;IACjF,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,EAAE,SAAS,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EACjB,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,KAAK,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAC3E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAU,CAAC;IACnD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,QAAQ,CAAC,CAAC;IAC/D,6DAA6D;IAC7D,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACnF,MAAM,CAAC,2BAA2B,EAAE,8BAA8B,CAAC,GAAG,QAAQ,CAAS,UAAU,CAAC,CAAC;IACnG,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACzF,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAAS,UAAU,CAAC,CAAC;IAC3F,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACjF,MAAM,gBAAgB,GAAQ,MAAM,CAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC;IACzD,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,SAAS,IAAI,aAAa,CAAC;IACzC,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAC9E,IAAI,UAAU,CAAC,SAAS,KAAK,KAAK,EAAE;QAClC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;KACvB;IACD,0BAA0B;IAC1B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAEpF,MAAM,cAAc,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtF,wEAAwE;IACxE,+HAA+H;IAC/H,6GAA6G;IAC7G,kIAAkI;IAClI,MAAM,WAAW,GAAQ,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC;IAExD,uGAAuG;IACvG,0DAA0D;IAC1D,mFAAmF;IACnF,iDAAiD;IACjD,4DAA4D;IAC5D,iDAAiD;IAEjD,MAAM,SAAS,GAAG,WAAW,EAAE,MAAM,CAAC;IACtC,MAAM,SAAS,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IACxG,MAAM,oBAAoB,GAAG,WAAW,KAAK,cAAc,CAAC;IAC5D,MAAM,YAAY,GAAG,UAAU,KAAK,UAAU,CAAC;IAC/C,MAAM,YAAY,GAAG,UAAU,KAAK,UAAU,CAAC;IAC/C,MAAM,gBAAgB,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC;IACtD,MAAM,mBAAmB,GACvB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,IAAI,oBAAoB,CAAC,CAAC;IAC/H,MAAM,gBAAgB,GAAG,YAAY,IAAI,CAAC,aAAa,CAAC;IACxD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACzF,MAAM,uBAAuB,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAChH,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAE7E,MAAM,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzD,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,IAAI,CAAC,mBAAmB,EAAE;YACxC,mEAAmE;YACnE,qBAAqB,EAAE,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,IAAI,mBAAmB,EAAE;YACvC,mEAAmE;YACnE,gBAAgB,EAAE,CAAC;SACpB;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,mFAAmF;IACnF,kFAAkF;IAClF,kFAAkF;IAClF,qGAAqG;IACrG,8EAA8E;IAC9E,gCAAgC;IAChC,MAAM,SAAS,GAAG,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAEnF,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,mBAAmB,EAAE;YACvB,WAAW,EAAE;iBACV,cAAc,EAAE;gBACjB,+DAA+D;iBAC9D,2BAA2B,CAC1B,WAAW,EAAE,CAAC,gBAAgB,EAAE,EAChC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3D,CAAC;SACL;aAAM;YACL,yDAAyD;YACzD,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC9F;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC;QACzE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC/D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;YAClD,OAAO,GAAG;gBACR,SAAS;gBACT,UAAU;aACX,CAAC;SACH;QACD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9D,CAAC,CAAC;IAEF,gDAAgD;IAChD,iCAAiC;IAEjC,+EAA+E;IAC/E,0BAA0B;IAC1B,SAAS,WAAW,CAAC,SAAiB,EAAE,QAAgB;QACtD,4CAA4C;QAC5C,MAAM,OAAO,GAAa,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,UAAU,GAAG,SAAS,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACzB,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;SAC9B;QACD,OAAO,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE;QAC5B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAErB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE;gBACpD,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC/C,OAAO,UAAU,CAAC;YACpB,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,SAAS,gBAAgB;QACvB,6HAA6H;QAC7H,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,YAAY,EAAE;YACzC,WAAW,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC;iBAC3C,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACf,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,GAAG,IAAI,CAAC;gBACd,UAAU,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE;gBACT,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;SACN;aAAM;YACL,wEAAwE;YACxE,4EAA4E;YAC5E,yCAAyC;YACzC,MAAM,IAAI,GAAQ,EAAE,CAAC;YACrB,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;gBAC/B,MAAM,UAAU,GAAW,EAAE,CAAC;gBAC9B,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;oBAClC,MAAM,MAAM,GAAW,GAAG,CAAC;oBAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBACxC,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC;iBACnC;gBACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,MAAM,GAAG,IAAI,CAAC;aACf;YACD,UAAU,CAAC,IAAI,CAAC,CAAC;SAClB;IACH,CAAC;IAED,6DAA6D;IAC7D,8DAA8D;IAC9D,wDAAwD;IACxD,sEAAsE;IACtE,oEAAoE;IACpE,kEAAkE;IAClE,0EAA0E;IAC1E,sGAAsG;IACtG,0GAA0G;IAC1G,EAAE;IACF,gDAAgD;IAChD,iCAAiC;IACjC,kEAAkE;IAClE,wCAAwC;IAExC,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,mBAAmB,IAAI,WAAW,EAAE;YACtC,KAAK;iBACF,aAAa,EAAE;iBACf,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SACnI;aAAM;YACL,2DAA2D;YAC3D,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;SAChF;QAED,WAAW,EAAE,CAAC,kBAAkB,CAAC;YAC/B,QAAQ,EAAG,WAAW,EAAE,CAAC,aAAa,EAAU,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;SACvE,CAAC,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,OAAO,gBAAgB,CAAC,OAAO,KAAK,QAAQ,EAAE;YAChD,KAAK;iBACF,aAAa,EAAE;iBACf,qBAAqB,CACpB,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAChD,KAAK,EACL,gBAAgB,EAChB,gBAAgB,CAAC,OAAO,EACxB,KAAK,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,MAAM,CAC5C,CAAC;SACL;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,2DAA2D;QAC3D,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,8BAA8B,GAAG,CAAC,KAAa,EAAE,EAAE;QACvD,2DAA2D;QAC3D,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,SAAS,qBAAqB;QAC5B,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,IAAI,GAAQ,EAAE,CAAC;YACrB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvB,mEAAmE;gBACnE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC1D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,kBAAkB,GAAG,UAAU;oBACnC,CAAC,CAAC,GAAG,iBAAiB,IAAI,KAAK,GAAG;oBAClC,CAAC,CAAC,GAAG,KAAK,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;gBAC9G,MAAM,MAAM,GAAG;oBACb,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE;wBACP,OAAO;wBACP,aAAa,EAAE,kBAAkB;wBACjC,aAAa,EAAE,iBAAiB;wBAChC,OAAO,EAAE,IAAI;qBACd;iBACF,CAAC;gBACF,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,KAAgC,EAAE,QAAmB,EAAE,EAAE;QAClF,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC;QACtD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAAmB,EAAE,EAAE,CAAC,CAAC,KAAgC,EAAE,EAAE;QACtF,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,SAAS,oBAAoB,CAAI,CAAI,EAAE,CAAI,EAAE,SAAkB;QAC7D,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE;YAChD,OAAO,CAAC,CAAC,CAAC;SACX;QACD,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE;YAChD,OAAO,CAAC,CAAC;SACV;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAID,SAAS,aAAa,CACpB,QAAe,EACf,SAAc;QAEd,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAClI,CAAC;IAED,SAAS,UAAU,CAAI,KAAU,EAAE,UAAkC;QACnE,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAgB,CAAC,CAAC;QAC5E,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,wDAAwD;YACxD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9B,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,UAAU,CAAC,KAAK,EAAE,QAAgB,EAAE,UAAkB,EAAE,UAAkB;QACjF,YAAY,GAAG,QAAQ,CAAC;QACxB,cAAc,GAAG,UAAU,CAAC;QAC5B,eAAe,GAAG,UAAU,CAAC;QAE7B,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,aAAa,CAAC,KAAK,EAAE,KAAK;QACjC,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,SAAS,UAAU;QACjB,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,SAAS,WAAW;QAClB,WAAW,CAAC,IAAI,CAAC,CAAC;QAElB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE;YACvC,IAAI,SAAS,CAAC,GAAG,KAAK,YAAY,EAAE;gBAClC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAC7B,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC3F,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC5B,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC9B,0BAA0B,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBACrD,yBAAyB,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;iBAC1D;qBAAM;oBACL,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAC7B,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,8BAA8B,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBACzD,6BAA6B,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;iBAC9D;gBACD,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;aACP;SACF;QAED,IAAI,CAAC,MAAM,EAAE;YACX,WAAW,CAAC,eAAe,CAAC,CAAC;YAC7B,0BAA0B,CAAC,YAAY,CAAC,CAAC;YACzC,6BAA6B,CAAC,EAAE,CAAC,CAAC;YAElC,QAAQ,cAAc,EAAE;gBACtB,KAAK,MAAM,CAAC;gBACZ,KAAK,UAAU,CAAC;gBAChB,KAAK,MAAM;oBACT,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC5B,aAAa,CAAC,cAAc,CAAC,CAAC;oBAC9B,MAAM;gBACR;oBACE,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAC7B,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,MAAM;aACT;SACF;QAED,cAAc;QACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,SAAS,UAAU,KAAI,CAAC;IAExB,SAAS,YAAY;QACnB,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,SAAS,qBAAqB,CAAC,KAAK;QAClC,8BAA8B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,oBAAoB,CAAC,KAAK;QACjC,6BAA6B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAK;QAC9B,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,gBAAgB,CAAC,KAAK;QAC7B,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,iBAAiB;QACxB,wBAAwB;QACxB,IAAI,OAAO,GAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;QAElC,oCAAoC;QACpC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAEtD,mCAAmC;QACnC,UAAU,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,SAAS,oBAAoB;QAC3B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE;YACvC,IAAI,SAAS,CAAC,GAAG,KAAK,YAAY,EAAE;gBAClC,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC5B,IAAI,kBAAkB,EAAE;oBACtB,SAAS,CAAC,cAAc,GAAG,uBAAuB,CAAC;oBACnD,SAAS,CAAC,mBAAmB,GAAG,sBAAsB,CAAC;iBACxD;qBAAM;oBACL,SAAS,CAAC,cAAc,GAAG,2BAA2B,CAAC;oBACvD,SAAS,CAAC,mBAAmB,GAAG,0BAA0B,CAAC;iBAC5D;gBACD,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;aACP;SACF;QAED,IAAI,CAAC,MAAM,EAAE;YACX,SAAS;YACT,MAAM,SAAS,GAAQ,EAAE,CAAC;YAC1B,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC;YAC7B,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;YAC5B,IAAI,kBAAkB,EAAE;gBACtB,SAAS,CAAC,cAAc,GAAG,uBAAuB,CAAC;gBACnD,SAAS,CAAC,mBAAmB,GAAG,sBAAsB,CAAC;aACxD;iBAAM;gBACL,SAAS,CAAC,cAAc,GAAG,2BAA2B,CAAC;gBACvD,SAAS,CAAC,mBAAmB,GAAG,0BAA0B,CAAC;aAC5D;YAED,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjC;IACH,CAAC;IAED,SAAS,aAAa;QACpB,oBAAoB,EAAE,CAAC;QACvB,iBAAiB,EAAE,CAAC;QAEpB,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,SAAS,iBAAiB,CAAC,QAAQ;QACjC,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE;YACvC,IAAI,SAAS,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC9B,gEAAgE;gBAChE,IAAI,SAAS,CAAC,mBAAmB,KAAK,EAAE,EAAE;oBACxC,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,OAAO;QACd,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAE5D,OAAO,GAAG,CAAC,CAAC,CAAC,CACX,gBAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAC/C,GAAG,aAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAC1B,CACR,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,OAAO,CACL,8BACE,MAAC,cAAc,IAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,EAAC,qBAAqB,aACrF,UAAU,CAAC,KAAK,IAAI,CACnB,cAAI,SAAS,EAAE,OAAO,CAAC,KAAK,aACzB,UAAU,CAAC,KAAK,OAAG,OAAO,EAAE,IAC1B,CACN,EACD,MAAC,KAAK,eACJ,KAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM,YAClC,KAAC,QAAQ,cACN,SAAS,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,KAAK,EAAE,EAAE;wCACnC,OAAO,CACL,KAAC,SAAS,IAAyC,SAAS,EAAE,OAAO,CAAC,SAAS,YAC5E,YAAY,CAAC,CAAC,CAAC,CACd,0BACE,MAAC,cAAc,IACb,MAAM,EAAE,OAAO,KAAK,gBAAgB,CAAC,KAAK,CAAC,EAC3C,SAAS,EAAE,OAAO,KAAK,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAC9D,OAAO,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,aAElD,KAAK,CAAC,KAAK,IAAI,KAAK,EACpB,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAC,cAAc,IAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,GAAI,EAChF,OAAO,KAAK,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACrC,eAAM,SAAS,EAAE,OAAO,CAAC,cAAc,YAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,GAAQ,CAC9G,CAAC,CAAC,CAAC,IAAI,IACO,EACjB,KAAC,QAAQ,IACP,EAAE,EAAC,WAAW,EACd,SAAS,EAAE,OAAO,CAAC,QAAQ,EAC3B,OAAO,EAAE,KAAK,CAAC,EAAE;4DACf,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wDAC9D,CAAC,GACD,IACE,CACP,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,KAAK,CACZ,IAxBa,QAAQ,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAyBrC,CACb,CAAC;oCACJ,CAAC,CAAC,GACO,GACD,EACZ,MAAC,SAAS,eACP,YAAY;wCACX,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,KAAK,EAAE,EAAE;4CAC/B,MAAM,MAAM,GAAG,OAAO,KAAK,EAAE,CAAC;4CAC9B,OAAO,CACL,MAAC,QAAQ,eACN,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;wDAC5B,MAAM,SAAS,GAAG,QAAQ,KAAK,IAAI,UAAU,EAAE,CAAC;wDAChD,OAAO,CACL,KAAC,SAAS,IAAiB,SAAS,EAAE,OAAO,CAAC,SAAS,YACpD,IAAI,IADS,SAAS,CAEb,CACb,CAAC;oDACJ,CAAC,CAAC,EACD,gBAAgB,IAAI,CACnB,KAAC,SAAS,cACR,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,qBAAqB,EAC/B,EAAE,EAAC,eAAe,gBACP,aAAa,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAAC,YAEpD,cAAK,SAAS,EAAC,mCAAmC,EAAC,GAAG,EAAE,iBAAiB,GAAI,GACtE,GACC,CACb,KArBY,MAAM,CAsBV,CACZ,CAAC;wCACJ,CAAC,CAAC,EACH,CAAC,YAAY,IAAI,mBAAmB,CAAC;wCACpC,OAAO;wCACP,OAAO,CAAC,MAAM,GAAG,CAAC;wCAClB,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;6CAC/C,KAAK,CAAC,CAAC,CAAC;6CACR,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;4CAClB,OAAO;4CACL,oDAAoD;4CACpD,KAAC,QAAQ,cACN,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;oDAC7B,OAAO,CACL,KAAC,SAAS,IAAc,SAAS,EAAE,OAAO,CAAC,SAAS,YACjD,gBAAgB,IAAI,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAC7C,0BACE,KAAC,QAAQ,IACP,EAAE,EAAC,sBAAsB,EACzB,SAAS,EAAE,OAAO,CAAC,QAAQ,EAC3B,OAAO,EAAE,KAAK,CAAC,EAAE;wEACf,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oEAC9B,CAAC,GACD,EACF,MAAC,IAAI,IAAC,EAAE,EAAC,iBAAiB,EAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,QAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,UAAU,aAC7G,KAAC,QAAQ,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,qBAAiB,EACtD,KAAC,QAAQ,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,uBAAmB,IACrD,IACH,CACP,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACrD,OAAO,CACR,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACpD,MAAM,CACP,CAAC,CAAC,CAAC,CACF,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CACrB,IArBa,MAAM,CAsBV,CACb,CAAC;gDACJ,CAAC,CAAC,IA3BW,KAAK,CA4BT,CACZ,CAAC;wCACJ,CAAC,CAAC,IACI,IACN,EACP,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAClD,cAAK,SAAS,EAAC,YAAY,EAAC,EAAE,EAAC,YAAY,kCAErC,CACP,EACA,YAAY,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,CAC9D,cAAK,SAAS,EAAC,YAAY,EAAC,EAAE,EAAC,YAAY,kCAErC,CACP,IACc,EAChB,gBAAgB,IAAI,CACnB,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAC9B,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAC,OAAO,sBAElE,GACH,CACP,EACD,MAAC,IAAI,IAAC,EAAE,EAAC,aAAa,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,QAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,aACjG,MAAC,QAAQ,IAAC,OAAO,EAAE,WAAW,aAC5B,KAAC,cAAc,KAAG,eACT,EACX,MAAC,QAAQ,IAAC,OAAO,EAAE,UAAU,aAC3B,KAAC,WAAW,KAAG,cACN,IACN,EACP,MAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,qBAAkB,mBAAmB,aAC5E,MAAC,WAAW,IAAC,EAAE,EAAC,mBAAmB,yBAAU,QAAQ,IAAe,EACpE,KAAC,aAAa,cACX,kBAAkB,CAAC,CAAC,CAAC,CACpB,8BACE,MAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,mBAC/F,KAAC,QAAQ,IAAC,KAAK,EAAC,UAAU,gCAA2B,EACrD,KAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,4BAAuB,EAC9C,KAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,sBAAiB,EACxC,KAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,uBAAkB,EAC1C,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,wBAAmB,EACzC,KAAC,QAAQ,IAAC,KAAK,EAAC,SAAS,4BAAuB,IACzC,EACR,UAAU,KAAK,MAAM,IAAI,CACxB,KAAC,SAAS,IACR,OAAO,EAAC,UAAU,EAClB,SAAS,QACT,MAAM,EAAC,OAAO,EACd,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,QACT,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,gBAAgB,GAC1B,CACH,EACA,UAAU,KAAK,UAAU,IAAI,CAC5B,KAAC,SAAS,IACR,OAAO,EAAC,UAAU,EAClB,SAAS,QACT,MAAM,EAAC,OAAO,EACd,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,gBAAgB,EACrB,SAAS,QACT,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,gBAAgB,GAC1B,CACH,EACA,UAAU,KAAK,MAAM,IAAI,CACxB,KAAC,SAAS,IACR,OAAO,EAAC,UAAU,EAClB,SAAS,QACT,MAAM,EAAC,OAAO,EACd,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,QACT,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,gBAAgB,GAC1B,CACH,IACA,CACJ,CAAC,CAAC,CAAC,CACF,8BACE,MAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,EAAE,EAAC,QAAQ,EAAC,SAAS,QAAC,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,2BAA2B,aAClH,KAAC,QAAQ,IAAC,KAAK,EAAC,UAAU,yBAAoB,EAC9C,KAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,uBAAkB,EAC1C,KAAC,QAAQ,IAAC,KAAK,EAAC,YAAY,4BAAuB,IAC5C,EACT,KAAC,SAAS,IACR,OAAO,EAAC,UAAU,EAClB,SAAS,QACT,MAAM,EAAC,OAAO,EACd,EAAE,EAAC,gBAAgB,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,QACT,KAAK,EAAE,0BAA0B,EACjC,QAAQ,EAAE,oBAAoB,GAC9B,IACD,CACJ,GACa,EAChB,MAAC,aAAa,eACZ,KAAC,MAAM,IAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAC,WAAW,uBAEvC,EACT,KAAC,MAAM,IAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAC,SAAS,uBAEtC,IACK,IACT,IACR,CACJ,CAAC;AACJ,CAAC","sourcesContent":["/* eslint-disable no-nested-ternary */\nimport React, { PropsWithChildren, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport Paper from '@mui/material/Paper';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Link from '@mui/material/Link';\nimport { createElement } from 'react';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport MoreIcon from '@mui/icons-material/MoreVert';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport SubjectIcon from '@mui/icons-material/Subject';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Select from '@mui/material/Select';\nimport Button from '@mui/material/Button';\nimport TextField from '@mui/material/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 // @ts-ignore - An argument for 'uniqueField' was not provided.\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)\n .then(listData => {\n const data = formatRowsData(listData);\n myRows = data;\n setRowData(data);\n })\n .catch(e => {\n // eslint-disable-next-line no-console\n console.log(e);\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 // @ts-ignore - An argument for 'pageRef' was not provided.\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 // @ts-ignore - An argument for 'pageRef' was not provided.\n pConn.getListActions().deleteEntry(selectedRowIndex.current);\n };\n\n const deleteRecordFromInlineEditable = (index: number) => {\n // @ts-ignore - An argument for 'pageRef' was not provided.\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] || b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (!a[orderedBy] || 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} underline='hover'>\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 variant='standard' 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 variant='standard'\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 variant='standard'\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 variant='standard'\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 variant='standard' 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 variant='standard'\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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/react-sdk-components",
3
- "version": "0.242.5",
3
+ "version": "0.242.7",
4
4
  "description": "React SDK Infrastructure: bridge and components",
5
5
  "_filesComment": "During packing, npm ignores everything NOT in the files list",
6
6
  "files": [