@pega/react-sdk-components 0.242.1 → 0.242.2

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.
@@ -13,6 +13,5 @@
13
13
 
14
14
  .psdk-case-summary-fields {
15
15
  padding: calc(2 * 0.5rem);
16
- display: grid;
17
16
  grid-row-gap: calc(2 * 0.5rem);
18
17
  }
@@ -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-2';
3
+ import MuiPhoneNumber from 'material-ui-phone-number';
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) {
@@ -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-2';\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 === 'LABELS_LEFT') {\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 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 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 === 'LABELS_LEFT') {\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 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 +1 @@
1
- {"version":3,"file":"LeftAlignVerticalTabs.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx"],"names":[],"mappings":"AAiBA,QAAA,MAAM,qBAAqB,EAAE,GAc3B,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"LeftAlignVerticalTabs.d.ts","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx"],"names":[],"mappings":"AAiBA,QAAA,MAAM,qBAAqB,EAAE,GAe3B,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
@@ -10,7 +10,8 @@ import { Tab, Divider } from '@mui/material';
10
10
  const LeftAlignVerticalTabs = withStyles(( /* theme */) => ({
11
11
  root: {
12
12
  width: '100%',
13
- maxWidth: '100%'
13
+ maxWidth: '100%',
14
+ alignItems: 'flex-start'
14
15
  },
15
16
  wrapper: {
16
17
  display: 'block',
@@ -1 +1 @@
1
- {"version":3,"file":"LeftAlignVerticalTabs.js","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQ7C,uEAAuE;AACvE,qDAAqD;AAErD,0EAA0E;AAC1E,gIAAgI;AAEhI,8EAA8E;AAC9E,iEAAiE;AACjE,MAAM,qBAAqB,GAAQ,UAAU,CAAC,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;KACjB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,MAAM;KAClB;CACF,CAAC,CAAC,CAAC,CAAC,KAAiC,EAAE,EAAE,CAAC,CACzC,0BACE,KAAC,GAAG,OAAK,KAAK,GAAI,EAClB,KAAC,OAAO,KAAG,IACP,CACP,CAAC,CAAC;AAEH,eAAe,qBAAqB,CAAC","sourcesContent":["import withStyles from '@mui/styles/withStyles';\nimport { Tab, Divider } from '@mui/material';\n\n// LeftAlignVerticalTabs does NOT have getPConnect. So, no need to extend from PConnProps\n\ninterface LeftAlignVerticalTabsProps {\n // If any, enter additional props that only exist on this component\n}\n\n// LeftAlignVerticalTab is a specialized Tab that has styles to make it\n// left aligned and full width of the container Tabs\n\n// Aligning the Tab labels left (with & .<class name> syntax) inspired by:\n// https://stackoverflow.com/questions/63307723/how-to-modify-the-wrapper-css-rule-of-a-tabs-component-to-make-the-text-aligned\n\n// In this styling, \"root\" is the top-level \"Tab\" object (which is the button)\n// and the button contains spans that will match on the '> span'\nconst LeftAlignVerticalTabs: any = withStyles((/* theme */) => ({\n root: {\n width: '100%',\n maxWidth: '100%'\n },\n wrapper: {\n display: 'block',\n textAlign: 'left'\n }\n}))((props: LeftAlignVerticalTabsProps) => (\n <div>\n <Tab {...props} />\n <Divider />\n </div>\n));\n\nexport default LeftAlignVerticalTabs;\n"]}
1
+ {"version":3,"file":"LeftAlignVerticalTabs.js","sourceRoot":"","sources":["../../../../../src/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQ7C,uEAAuE;AACvE,qDAAqD;AAErD,0EAA0E;AAC1E,gIAAgI;AAEhI,8EAA8E;AAC9E,iEAAiE;AACjE,MAAM,qBAAqB,GAAQ,UAAU,CAAC,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,YAAY;KACzB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,MAAM;KAClB;CACF,CAAC,CAAC,CAAC,CAAC,KAAiC,EAAE,EAAE,CAAC,CACzC,0BACE,KAAC,GAAG,OAAK,KAAK,GAAI,EAClB,KAAC,OAAO,KAAG,IACP,CACP,CAAC,CAAC;AAEH,eAAe,qBAAqB,CAAC","sourcesContent":["import withStyles from '@mui/styles/withStyles';\nimport { Tab, Divider } from '@mui/material';\n\n// LeftAlignVerticalTabs does NOT have getPConnect. So, no need to extend from PConnProps\n\ninterface LeftAlignVerticalTabsProps {\n // If any, enter additional props that only exist on this component\n}\n\n// LeftAlignVerticalTab is a specialized Tab that has styles to make it\n// left aligned and full width of the container Tabs\n\n// Aligning the Tab labels left (with & .<class name> syntax) inspired by:\n// https://stackoverflow.com/questions/63307723/how-to-modify-the-wrapper-css-rule-of-a-tabs-component-to-make-the-text-aligned\n\n// In this styling, \"root\" is the top-level \"Tab\" object (which is the button)\n// and the button contains spans that will match on the '> span'\nconst LeftAlignVerticalTabs: any = withStyles((/* theme */) => ({\n root: {\n width: '100%',\n maxWidth: '100%',\n alignItems: 'flex-start'\n },\n wrapper: {\n display: 'block',\n textAlign: 'left'\n }\n}))((props: LeftAlignVerticalTabsProps) => (\n <div>\n <Tab {...props} />\n <Divider />\n </div>\n));\n\nexport default LeftAlignVerticalTabs;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToDo.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/ToDo/ToDo.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,YAAY,CAAC;AAkCpB,UAAU,SAAU,SAAQ,UAAU;IAEpC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,UAAU,CAAC,EAAE,GAAG,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAwCD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,SAAS,2CA8Q5C"}
1
+ {"version":3,"file":"ToDo.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/ToDo/ToDo.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,YAAY,CAAC;AAmCpB,UAAU,SAAU,SAAQ,UAAU;IAEpC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,UAAU,CAAC,EAAE,GAAG,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAwCD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,SAAS,2CAmR5C"}
@@ -19,6 +19,7 @@ const fetchMyWorkList = (datapage, fields, numberOfRecords, includeTotalCount, c
19
19
  }, {
20
20
  select: Object.keys(fields).map(key => ({ field: PCore.getAnnotationUtils().getPropertyName(fields[key]) }))
21
21
  }, {
22
+ invalidateCache: true,
22
23
  additionalApiParams: {
23
24
  includeTotalCount
24
25
  }
@@ -88,7 +89,7 @@ export default function ToDo(props) {
88
89
  const showlessLocalizedValue = localizedVal('show_less', 'CosmosFields');
89
90
  const showMoreLocalizedValue = localizedVal('show_more', 'CosmosFields');
90
91
  const canPerform = assignments?.[0]?.canPerform === 'true' || assignments?.[0]?.canPerform === true;
91
- const [count, setCount] = useState(null);
92
+ const [count, setCount] = useState(0);
92
93
  const { WORK_BASKET: { MY_WORK_LIST } } = PCore.getConstants();
93
94
  function initAssignments() {
94
95
  if (assignmentsSource) {
@@ -102,9 +103,11 @@ export default function ToDo(props) {
102
103
  setAssignments(responseData.data);
103
104
  }, [MY_WORK_LIST]);
104
105
  useEffect(() => {
105
- fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, 3, true, context).then(responseData => {
106
- deferLoadWorklistItems(responseData);
107
- });
106
+ if (Object.keys(myWorkList).length && myWorkList.datapage) {
107
+ fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, 3, true, context).then(responseData => {
108
+ deferLoadWorklistItems(responseData);
109
+ });
110
+ }
108
111
  }, []);
109
112
  const getAssignmentId = assignment => {
110
113
  return type === CONSTS.TODO ? assignment.ID : assignment.id;
@@ -130,11 +133,14 @@ export default function ToDo(props) {
130
133
  }
131
134
  function _showMore() {
132
135
  setBShowMore(false);
133
- if (type === CONSTS.WORKLIST && count && count > assignments.length) {
136
+ if (type === CONSTS.WORKLIST && count && count > assignments.length && !assignmentsSource) {
134
137
  fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, count, false, context).then(response => {
135
138
  setAssignments(response.data);
136
139
  });
137
140
  }
141
+ else {
142
+ setAssignments(assignmentsSource);
143
+ }
138
144
  }
139
145
  function _showLess() {
140
146
  setBShowMore(true);
@@ -189,7 +195,8 @@ export default function ToDo(props) {
189
195
  }
190
196
  return (_jsxs(_Fragment, { children: [_jsx(Button, { size: 'small', color: 'primary', children: `${assignment.name} ${getID(assignment)}` }), ` \u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`] }));
191
197
  };
192
- const getCount = () => (type === CONSTS.WORKLIST ? (count ?? assignments.length) : assignments.length);
198
+ // eslint-disable-next-line no-nested-ternary
199
+ const getCount = () => (assignmentsSource ? assignmentsSource.length : type === CONSTS.WORKLIST ? count : 0);
193
200
  const toDoContent = (_jsxs(_Fragment, { children: [showTodoList && (_jsx(CardHeader, { title: _jsx(Badge, { badgeContent: getCount(), overlap: 'rectangular', color: 'primary', children: _jsxs(Typography, { variant: 'h6', children: [headerText, "\u00A0\u00A0\u00A0"] }) }) })), _jsx(List, { children: assignments.map(assignment => (_jsxs("div", { className: 'psdk-todo-avatar-header', children: [_jsx(Avatar, { className: classes.avatar, style: { marginRight: '16px' }, children: currentUserInitials }), _jsxs("div", { style: { display: 'block' }, children: [_jsx(Typography, { variant: 'h6', children: assignment?.name }), `${localizedVal('Task in', localeCategory)} ${renderTaskId(type, getPConnect, showTodoList, assignment)} \u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`] }), (!isConfirm || canPerform) && (_jsx("div", { style: { marginLeft: 'auto' }, children: _jsx(IconButton, { id: 'go-btn', onClick: () => clickGo(assignment), size: 'large', children: _jsx(ArrowForwardIosOutlinedIcon, {}) }) }))] }, getAssignmentId(assignment)))) })] }));
194
201
  return (_jsxs(_Fragment, { children: [type === CONSTS.WORKLIST && (_jsxs(Card, { className: classes.root, children: [showTodoList && (_jsx(CardHeader, { title: _jsx(Badge, { badgeContent: getCount(), overlap: 'rectangular', color: 'primary', children: _jsxs(Typography, { variant: 'h6', children: [headerText, "\u00A0\u00A0\u00A0"] }) }), avatar: _jsx(Avatar, { className: classes.avatar, children: currentUserInitials }) })), _jsx(CardContent, { children: _jsx(List, { children: assignments.map(assignment => (_jsxs(ListItem, { dense: true, divider: true, onClick: () => clickGo(assignment), children: [_jsx(ListItemText, { primary: getAssignmentName(assignment), secondary: getListItemComponent(assignment) }), _jsx(ListItemSecondaryAction, { children: _jsx(IconButton, { onClick: () => clickGo(assignment), size: 'large', children: _jsx(ArrowForwardIosOutlinedIcon, {}) }) })] }, getAssignmentId(assignment)))) }) })] })), type === CONSTS.TODO && !isConfirm && _jsx(Card, { className: classes.todoWrapper, children: toDoContent }), type === CONSTS.TODO && isConfirm && _jsx(_Fragment, { children: toDoContent }), getCount() > 3 && (_jsx(Box, { display: 'flex', justifyContent: 'center', children: bShowMore ? (_jsx(Button, { color: 'primary', onClick: _showMore, children: showMoreLocalizedValue === 'show_more' ? 'Show more' : showMoreLocalizedValue })) : (_jsx(Button, { onClick: _showLess, children: showlessLocalizedValue === 'show_less' ? 'Show less' : showlessLocalizedValue })) })), _jsx(Snackbar, { open: showSnackbar, autoHideDuration: 3000, onClose: handleSnackbarClose, message: snackbarMessage, action: _jsx(IconButton, { size: 'small', "aria-label": 'close', color: 'inherit', onClick: handleSnackbarClose, children: _jsx(CloseIcon, { fontSize: 'small' }) }) })] }));
195
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToDo.js","sourceRoot":"","sources":["../../../../src/components/widget/ToDo/ToDo.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-shadow */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport {\n Box,\n Button,\n Card,\n CardContent,\n CardHeader,\n Avatar,\n Typography,\n Badge,\n List,\n ListItem,\n ListItemText,\n ListItemSecondaryAction\n} from '@mui/material';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\nimport ArrowForwardIosOutlinedIcon from '@mui/icons-material/ArrowForwardIosOutlined';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport { Utils } from '../../helpers/utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\nimport './ToDo.css';\n\nconst fetchMyWorkList = (datapage, fields, numberOfRecords, includeTotalCount, context) => {\n return PCore.getDataPageUtils()\n .getDataAsync(\n datapage,\n context,\n {},\n {\n pageNumber: 1,\n pageSize: numberOfRecords\n },\n {\n select: Object.keys(fields).map(key => ({ field: PCore.getAnnotationUtils().getPropertyName(fields[key]) }))\n },\n {\n additionalApiParams: {\n includeTotalCount\n }\n }\n )\n .then(response => {\n return {\n ...response,\n data: (Array.isArray(response?.data) ? response.data : []).map(row =>\n Object.keys(fields).reduce((obj, key) => {\n obj[key] = row[PCore.getAnnotationUtils().getPropertyName(fields[key])];\n return obj;\n }, {})\n )\n };\n });\n};\n\ninterface ToDoProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n datasource?: any;\n myWorkList?: any;\n // eslint-disable-next-line react/no-unused-prop-types\n caseInfoID?: string;\n headerText?: string;\n // eslint-disable-next-line react/no-unused-prop-types\n itemKey?: string;\n showTodoList?: boolean;\n type?: string;\n\n context?: string;\n isConfirm?: boolean;\n}\n\nconst isChildCase = assignment => {\n return assignment.isChild;\n};\n\nfunction topThreeAssignments(assignmentsSource: any[]): any[] {\n return Array.isArray(assignmentsSource) ? assignmentsSource.slice(0, 3) : [];\n}\n\nfunction getID(assignment: any) {\n if (assignment.value) {\n const refKey = assignment.value;\n return refKey.substring(refKey.lastIndexOf(' ') + 1);\n }\n const refKey = assignment.ID;\n const arKeys = refKey.split('!')[0].split(' ');\n return arKeys[2];\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n borderLeft: '6px solid',\n borderLeftColor: theme.palette.primary.light\n },\n avatar: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n },\n todoWrapper: {\n borderLeft: '6px solid',\n borderLeftColor: theme.palette.primary.light,\n padding: theme.spacing(1),\n margin: theme.spacing(1)\n }\n}));\n\nexport default function ToDo(props: ToDoProps) {\n const {\n getPConnect,\n context,\n datasource = [],\n headerText = 'To do',\n showTodoList = true,\n myWorkList = {},\n type = 'worklist',\n isConfirm = false\n } = props;\n\n const CONSTS = PCore.getConstants();\n\n const bLogging = true;\n const currentUser = PCore.getEnvironmentInfo().getOperatorName();\n const currentUserInitials = Utils.getInitials(currentUser);\n const assignmentsSource = datasource?.source || myWorkList?.source;\n\n const [bShowMore, setBShowMore] = useState(true);\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage]: any = useState('');\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const [assignments, setAssignments] = useState<any[]>(initAssignments());\n\n const thePConn = getPConnect();\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Todo';\n const showlessLocalizedValue = localizedVal('show_less', 'CosmosFields');\n const showMoreLocalizedValue = localizedVal('show_more', 'CosmosFields');\n const canPerform = assignments?.[0]?.canPerform === 'true' || assignments?.[0]?.canPerform === true;\n const [count, setCount] = useState(null);\n\n const {\n WORK_BASKET: { MY_WORK_LIST }\n } = PCore.getConstants();\n\n function initAssignments(): any[] {\n if (assignmentsSource) {\n return topThreeAssignments(assignmentsSource);\n }\n // turn off todolist\n return [];\n }\n\n const deferLoadWorklistItems = useCallback(\n responseData => {\n setCount(responseData.totalCount);\n setAssignments(responseData.data);\n },\n [MY_WORK_LIST]\n );\n\n useEffect(() => {\n fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, 3, true, context).then(responseData => {\n deferLoadWorklistItems(responseData);\n });\n }, []);\n\n const getAssignmentId = assignment => {\n return type === CONSTS.TODO ? assignment.ID : assignment.id;\n };\n\n const getPriority = assignment => {\n return type === CONSTS.TODO ? assignment.urgency : assignment.priority;\n };\n\n const getAssignmentName = assignment => {\n return type === CONSTS.TODO ? assignment.name : assignment.stepName;\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 handleSnackbarClose(event: React.SyntheticEvent<any> | Event, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _showMore() {\n setBShowMore(false);\n if (type === CONSTS.WORKLIST && count && count > assignments.length) {\n fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, count, false, context).then(response => {\n setAssignments(response.data);\n });\n }\n }\n\n function _showLess() {\n setBShowMore(true);\n setAssignments(assignments => assignments.slice(0, 3));\n }\n\n function clickGo(assignment) {\n const id = getAssignmentId(assignment);\n let { classname = '' } = assignment;\n const sTarget = thePConn.getContainerName();\n const sTargetContainerName = sTarget;\n\n const options: any = {\n containerName: sTargetContainerName,\n channelName: ''\n };\n\n if (classname === null || classname === '') {\n classname = thePConn.getCaseInfo().getClassName();\n }\n\n if (sTarget === 'workarea') {\n options.isActionFromToDoList = true;\n options.target = '';\n options.context = null;\n options.isChild = isChildCase(assignment);\n } else {\n options.isActionFromToDoList = false;\n options.target = sTarget;\n }\n\n thePConn\n .getActionsApi()\n .openAssignment(id, classname, options)\n .then(() => {\n if (bLogging) {\n // eslint-disable-next-line no-console\n console.log(`openAssignment completed`);\n }\n })\n .catch(() => {\n showToast(`Submit failed!`);\n });\n }\n\n const renderTaskId = (type, getPConnect, showTodoList, assignment) => {\n const displayID = getID(assignment);\n\n if ((showTodoList && type !== CONSTS.TODO) || assignment.isChild === true) {\n /* Supress link for todo inside flow step */\n return <Button size='small' color='primary'>{`${assignment.name} ${getID(assignment)}`}</Button>;\n }\n return displayID;\n };\n\n const getListItemComponent = assignment => {\n if (isDesktop) {\n return (\n <>\n {localizedVal('Task in', localeCategory)}\n {renderTaskId(type, getPConnect, showTodoList, assignment)}\n {type === CONSTS.WORKLIST && assignment.status ? `\\u2022 ` : undefined}\n {type === CONSTS.WORKLIST && assignment.status ? <span className='psdk-todo-assignment-status'>{assignment.status}</span> : undefined}\n {` \\u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`}\n </>\n );\n }\n return (\n <>\n <Button size='small' color='primary'>{`${assignment.name} ${getID(assignment)}`}</Button>\n {` \\u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`}\n </>\n );\n };\n\n const getCount = () => (type === CONSTS.WORKLIST ? (count ?? assignments.length) : assignments.length);\n\n const toDoContent = (\n <>\n {showTodoList && (\n <CardHeader\n title={\n <Badge badgeContent={getCount()} overlap='rectangular' color='primary'>\n <Typography variant='h6'>{headerText}&nbsp;&nbsp;&nbsp;</Typography>\n </Badge>\n }\n />\n )}\n <List>\n {assignments.map(assignment => (\n <div className='psdk-todo-avatar-header' key={getAssignmentId(assignment)}>\n <Avatar className={classes.avatar} style={{ marginRight: '16px' }}>\n {currentUserInitials}\n </Avatar>\n <div style={{ display: 'block' }}>\n <Typography variant='h6'>{assignment?.name}</Typography>\n {`${localizedVal('Task in', localeCategory)} ${renderTaskId(type, getPConnect, showTodoList, assignment)} \\u2022 ${localizedVal(\n 'Urgency',\n localeCategory\n )} ${getPriority(assignment)}`}\n </div>\n {(!isConfirm || canPerform) && (\n <div style={{ marginLeft: 'auto' }}>\n <IconButton id='go-btn' onClick={() => clickGo(assignment)} size='large'>\n <ArrowForwardIosOutlinedIcon />\n </IconButton>\n </div>\n )}\n </div>\n ))}\n </List>\n </>\n );\n\n return (\n <>\n {type === CONSTS.WORKLIST && (\n <Card className={classes.root}>\n {showTodoList && (\n <CardHeader\n title={\n <Badge badgeContent={getCount()} overlap='rectangular' color='primary'>\n <Typography variant='h6'>{headerText}&nbsp;&nbsp;&nbsp;</Typography>\n </Badge>\n }\n avatar={<Avatar className={classes.avatar}>{currentUserInitials}</Avatar>}\n />\n )}\n <CardContent>\n <List>\n {assignments.map(assignment => (\n <ListItem key={getAssignmentId(assignment)} dense divider onClick={() => clickGo(assignment)}>\n <ListItemText primary={getAssignmentName(assignment)} secondary={getListItemComponent(assignment)} />\n <ListItemSecondaryAction>\n <IconButton onClick={() => clickGo(assignment)} size='large'>\n <ArrowForwardIosOutlinedIcon />\n </IconButton>\n </ListItemSecondaryAction>\n </ListItem>\n ))}\n </List>\n </CardContent>\n </Card>\n )}\n\n {type === CONSTS.TODO && !isConfirm && <Card className={classes.todoWrapper}>{toDoContent}</Card>}\n {type === CONSTS.TODO && isConfirm && <>{toDoContent}</>}\n\n {getCount() > 3 && (\n <Box display='flex' justifyContent='center'>\n {bShowMore ? (\n <Button color='primary' onClick={_showMore}>\n {showMoreLocalizedValue === 'show_more' ? 'Show more' : showMoreLocalizedValue}\n </Button>\n ) : (\n <Button onClick={_showLess}>{showlessLocalizedValue === 'show_less' ? 'Show less' : showlessLocalizedValue}</Button>\n )}\n </Box>\n )}\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":"ToDo.js","sourceRoot":"","sources":["../../../../src/components/widget/ToDo/ToDo.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-shadow */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport {\n Box,\n Button,\n Card,\n CardContent,\n CardHeader,\n Avatar,\n Typography,\n Badge,\n List,\n ListItem,\n ListItemText,\n ListItemSecondaryAction\n} from '@mui/material';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\nimport ArrowForwardIosOutlinedIcon from '@mui/icons-material/ArrowForwardIosOutlined';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport { Utils } from '../../helpers/utils';\nimport { PConnProps } from '../../../types/PConnProps';\n\nimport './ToDo.css';\n\nconst fetchMyWorkList = (datapage, fields, numberOfRecords, includeTotalCount, context) => {\n return PCore.getDataPageUtils()\n .getDataAsync(\n datapage,\n context,\n {},\n {\n pageNumber: 1,\n pageSize: numberOfRecords\n },\n {\n select: Object.keys(fields).map(key => ({ field: PCore.getAnnotationUtils().getPropertyName(fields[key]) }))\n },\n {\n invalidateCache: true,\n additionalApiParams: {\n includeTotalCount\n }\n }\n )\n .then(response => {\n return {\n ...response,\n data: (Array.isArray(response?.data) ? response.data : []).map(row =>\n Object.keys(fields).reduce((obj, key) => {\n obj[key] = row[PCore.getAnnotationUtils().getPropertyName(fields[key])];\n return obj;\n }, {})\n )\n };\n });\n};\n\ninterface ToDoProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n datasource?: any;\n myWorkList?: any;\n // eslint-disable-next-line react/no-unused-prop-types\n caseInfoID?: string;\n headerText?: string;\n // eslint-disable-next-line react/no-unused-prop-types\n itemKey?: string;\n showTodoList?: boolean;\n type?: string;\n\n context?: string;\n isConfirm?: boolean;\n}\n\nconst isChildCase = assignment => {\n return assignment.isChild;\n};\n\nfunction topThreeAssignments(assignmentsSource: any[]): any[] {\n return Array.isArray(assignmentsSource) ? assignmentsSource.slice(0, 3) : [];\n}\n\nfunction getID(assignment: any) {\n if (assignment.value) {\n const refKey = assignment.value;\n return refKey.substring(refKey.lastIndexOf(' ') + 1);\n }\n const refKey = assignment.ID;\n const arKeys = refKey.split('!')[0].split(' ');\n return arKeys[2];\n}\n\nconst useStyles = makeStyles(theme => ({\n root: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n borderLeft: '6px solid',\n borderLeftColor: theme.palette.primary.light\n },\n avatar: {\n backgroundColor: theme.palette.primary.light,\n color: theme.palette.getContrastText(theme.palette.primary.light)\n },\n todoWrapper: {\n borderLeft: '6px solid',\n borderLeftColor: theme.palette.primary.light,\n padding: theme.spacing(1),\n margin: theme.spacing(1)\n }\n}));\n\nexport default function ToDo(props: ToDoProps) {\n const {\n getPConnect,\n context,\n datasource = [],\n headerText = 'To do',\n showTodoList = true,\n myWorkList = {},\n type = 'worklist',\n isConfirm = false\n } = props;\n\n const CONSTS = PCore.getConstants();\n\n const bLogging = true;\n const currentUser = PCore.getEnvironmentInfo().getOperatorName();\n const currentUserInitials = Utils.getInitials(currentUser);\n const assignmentsSource = datasource?.source || myWorkList?.source;\n\n const [bShowMore, setBShowMore] = useState(true);\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage]: any = useState('');\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const [assignments, setAssignments] = useState<any[]>(initAssignments());\n\n const thePConn = getPConnect();\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery(theme.breakpoints.up('md'));\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Todo';\n const showlessLocalizedValue = localizedVal('show_less', 'CosmosFields');\n const showMoreLocalizedValue = localizedVal('show_more', 'CosmosFields');\n const canPerform = assignments?.[0]?.canPerform === 'true' || assignments?.[0]?.canPerform === true;\n const [count, setCount] = useState(0);\n\n const {\n WORK_BASKET: { MY_WORK_LIST }\n } = PCore.getConstants();\n\n function initAssignments(): any[] {\n if (assignmentsSource) {\n return topThreeAssignments(assignmentsSource);\n }\n // turn off todolist\n return [];\n }\n\n const deferLoadWorklistItems = useCallback(\n responseData => {\n setCount(responseData.totalCount);\n setAssignments(responseData.data);\n },\n [MY_WORK_LIST]\n );\n\n useEffect(() => {\n if (Object.keys(myWorkList).length && myWorkList.datapage) {\n fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, 3, true, context).then(responseData => {\n deferLoadWorklistItems(responseData);\n });\n }\n }, []);\n\n const getAssignmentId = assignment => {\n return type === CONSTS.TODO ? assignment.ID : assignment.id;\n };\n\n const getPriority = assignment => {\n return type === CONSTS.TODO ? assignment.urgency : assignment.priority;\n };\n\n const getAssignmentName = assignment => {\n return type === CONSTS.TODO ? assignment.name : assignment.stepName;\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 handleSnackbarClose(event: React.SyntheticEvent<any> | Event, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _showMore() {\n setBShowMore(false);\n if (type === CONSTS.WORKLIST && count && count > assignments.length && !assignmentsSource) {\n fetchMyWorkList(myWorkList.datapage, getPConnect().getComponentConfig()?.myWorkList.fields, count, false, context).then(response => {\n setAssignments(response.data);\n });\n } else {\n setAssignments(assignmentsSource);\n }\n }\n\n function _showLess() {\n setBShowMore(true);\n setAssignments(assignments => assignments.slice(0, 3));\n }\n\n function clickGo(assignment) {\n const id = getAssignmentId(assignment);\n let { classname = '' } = assignment;\n const sTarget = thePConn.getContainerName();\n const sTargetContainerName = sTarget;\n\n const options: any = {\n containerName: sTargetContainerName,\n channelName: ''\n };\n\n if (classname === null || classname === '') {\n classname = thePConn.getCaseInfo().getClassName();\n }\n\n if (sTarget === 'workarea') {\n options.isActionFromToDoList = true;\n options.target = '';\n options.context = null;\n options.isChild = isChildCase(assignment);\n } else {\n options.isActionFromToDoList = false;\n options.target = sTarget;\n }\n\n thePConn\n .getActionsApi()\n .openAssignment(id, classname, options)\n .then(() => {\n if (bLogging) {\n // eslint-disable-next-line no-console\n console.log(`openAssignment completed`);\n }\n })\n .catch(() => {\n showToast(`Submit failed!`);\n });\n }\n\n const renderTaskId = (type, getPConnect, showTodoList, assignment) => {\n const displayID = getID(assignment);\n\n if ((showTodoList && type !== CONSTS.TODO) || assignment.isChild === true) {\n /* Supress link for todo inside flow step */\n return <Button size='small' color='primary'>{`${assignment.name} ${getID(assignment)}`}</Button>;\n }\n return displayID;\n };\n\n const getListItemComponent = assignment => {\n if (isDesktop) {\n return (\n <>\n {localizedVal('Task in', localeCategory)}\n {renderTaskId(type, getPConnect, showTodoList, assignment)}\n {type === CONSTS.WORKLIST && assignment.status ? `\\u2022 ` : undefined}\n {type === CONSTS.WORKLIST && assignment.status ? <span className='psdk-todo-assignment-status'>{assignment.status}</span> : undefined}\n {` \\u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`}\n </>\n );\n }\n return (\n <>\n <Button size='small' color='primary'>{`${assignment.name} ${getID(assignment)}`}</Button>\n {` \\u2022 ${localizedVal('Urgency', localeCategory)} ${getPriority(assignment)}`}\n </>\n );\n };\n\n // eslint-disable-next-line no-nested-ternary\n const getCount = () => (assignmentsSource ? assignmentsSource.length : type === CONSTS.WORKLIST ? count : 0);\n\n const toDoContent = (\n <>\n {showTodoList && (\n <CardHeader\n title={\n <Badge badgeContent={getCount()} overlap='rectangular' color='primary'>\n <Typography variant='h6'>{headerText}&nbsp;&nbsp;&nbsp;</Typography>\n </Badge>\n }\n />\n )}\n <List>\n {assignments.map(assignment => (\n <div className='psdk-todo-avatar-header' key={getAssignmentId(assignment)}>\n <Avatar className={classes.avatar} style={{ marginRight: '16px' }}>\n {currentUserInitials}\n </Avatar>\n <div style={{ display: 'block' }}>\n <Typography variant='h6'>{assignment?.name}</Typography>\n {`${localizedVal('Task in', localeCategory)} ${renderTaskId(type, getPConnect, showTodoList, assignment)} \\u2022 ${localizedVal(\n 'Urgency',\n localeCategory\n )} ${getPriority(assignment)}`}\n </div>\n {(!isConfirm || canPerform) && (\n <div style={{ marginLeft: 'auto' }}>\n <IconButton id='go-btn' onClick={() => clickGo(assignment)} size='large'>\n <ArrowForwardIosOutlinedIcon />\n </IconButton>\n </div>\n )}\n </div>\n ))}\n </List>\n </>\n );\n\n return (\n <>\n {type === CONSTS.WORKLIST && (\n <Card className={classes.root}>\n {showTodoList && (\n <CardHeader\n title={\n <Badge badgeContent={getCount()} overlap='rectangular' color='primary'>\n <Typography variant='h6'>{headerText}&nbsp;&nbsp;&nbsp;</Typography>\n </Badge>\n }\n avatar={<Avatar className={classes.avatar}>{currentUserInitials}</Avatar>}\n />\n )}\n <CardContent>\n <List>\n {assignments.map(assignment => (\n <ListItem key={getAssignmentId(assignment)} dense divider onClick={() => clickGo(assignment)}>\n <ListItemText primary={getAssignmentName(assignment)} secondary={getListItemComponent(assignment)} />\n <ListItemSecondaryAction>\n <IconButton onClick={() => clickGo(assignment)} size='large'>\n <ArrowForwardIosOutlinedIcon />\n </IconButton>\n </ListItemSecondaryAction>\n </ListItem>\n ))}\n </List>\n </CardContent>\n </Card>\n )}\n\n {type === CONSTS.TODO && !isConfirm && <Card className={classes.todoWrapper}>{toDoContent}</Card>}\n {type === CONSTS.TODO && isConfirm && <>{toDoContent}</>}\n\n {getCount() > 3 && (\n <Box display='flex' justifyContent='center'>\n {bShowMore ? (\n <Button color='primary' onClick={_showMore}>\n {showMoreLocalizedValue === 'show_more' ? 'Show more' : showMoreLocalizedValue}\n </Button>\n ) : (\n <Button onClick={_showLess}>{showlessLocalizedValue === 'show_less' ? 'Show less' : showlessLocalizedValue}</Button>\n )}\n </Box>\n )}\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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/react-sdk-components",
3
- "version": "0.242.1",
3
+ "version": "0.242.2",
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": [