@pega/react-sdk-overrides 24.1.10 → 24.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/designSystemExtension/AlertBanner/AlertBanner.tsx +1 -1
- package/lib/designSystemExtension/Banner/Banner.tsx +1 -1
- package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +0 -1
- package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +11 -2
- package/lib/designSystemExtension/DetailsFields/DetailsFields.tsx +4 -4
- package/lib/designSystemExtension/FieldGroup/FieldGroup.tsx +4 -4
- package/lib/designSystemExtension/FieldGroupList/FieldGroupList.tsx +4 -4
- package/lib/designSystemExtension/FieldValueList/FieldValueList.tsx +5 -5
- package/lib/designSystemExtension/Operator/Operator.tsx +6 -5
- package/lib/designSystemExtension/Pulse/Pulse.tsx +2 -2
- package/lib/designSystemExtension/RichTextEditor/RichTextEditor.tsx +3 -2
- package/lib/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +1 -1
- package/lib/field/AutoComplete/AutoComplete.tsx +4 -4
- package/lib/field/CancelAlert/CancelAlert.tsx +3 -3
- package/lib/field/Checkbox/Checkbox.tsx +4 -4
- package/lib/field/Currency/Currency.tsx +2 -2
- package/lib/field/Date/Date.tsx +23 -42
- package/lib/field/DateTime/DateTime.tsx +29 -34
- package/lib/field/Decimal/Decimal.tsx +2 -2
- package/lib/field/Dropdown/Dropdown.tsx +3 -3
- package/lib/field/Email/Email.tsx +29 -8
- package/lib/field/Group/Group.tsx +2 -2
- package/lib/field/Integer/Integer.tsx +22 -8
- package/lib/field/Multiselect/Multiselect.tsx +8 -14
- package/lib/field/Percentage/Percentage.tsx +3 -3
- package/lib/field/Phone/Phone.tsx +6 -5
- package/lib/field/Phone/config-ext.json +8 -0
- package/lib/field/RadioButtons/RadioButtons.tsx +3 -3
- package/lib/field/RichText/RichText.tsx +1 -1
- package/lib/field/RichText/config-ext.json +10 -0
- package/lib/field/ScalarList/ScalarList.tsx +2 -2
- package/lib/field/SemanticLink/SemanticLink.tsx +4 -4
- package/lib/field/TextArea/TextArea.tsx +26 -8
- package/lib/field/TextContent/TextContent.tsx +1 -1
- package/lib/field/TextInput/TextInput.tsx +2 -2
- package/lib/field/Time/Time.tsx +27 -20
- package/lib/field/URL/URL.tsx +26 -7
- package/lib/field/UserReference/UserReference.tsx +2 -2
- package/lib/helpers/field-group-utils.ts +2 -2
- package/lib/helpers/simpleTableHelpers.ts +1 -1
- package/lib/infra/ActionButtons/ActionButtons.tsx +3 -3
- package/lib/infra/Assignment/Assignment.tsx +10 -6
- package/lib/infra/Containers/FlowContainer/FlowContainer.tsx +11 -10
- package/lib/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.tsx +7 -4
- package/lib/infra/Containers/ModalViewContainer/ModalViewContainer.tsx +8 -8
- package/lib/infra/Containers/ViewContainer/ViewContainer.tsx +1 -1
- package/lib/infra/DashboardFilter/DashboardFilter.tsx +1 -1
- package/lib/infra/DashboardFilter/filterUtils.tsx +2 -1
- package/lib/infra/DeferLoad/DeferLoad.tsx +3 -3
- package/lib/infra/MultiStep/MultiStep.tsx +14 -8
- package/lib/infra/NavBar/NavBar.css +1 -0
- package/lib/infra/NavBar/NavBar.tsx +25 -17
- package/lib/infra/RootContainer/RootContainer.tsx +5 -6
- package/lib/infra/Stages/Stages.tsx +4 -4
- package/lib/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx +4 -3
- package/lib/infra/VerticalTabs/VerticalTabs/VerticalTabs.tsx +2 -2
- package/lib/infra/View/View.tsx +37 -3
- package/lib/template/AppShell/AppShell.tsx +55 -5
- package/lib/template/BannerPage/config-ext.json +9 -0
- package/lib/template/CaseView/CaseView.tsx +5 -5
- package/lib/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +7 -7
- package/lib/template/Confirmation/Confirmation.tsx +2 -1
- package/lib/template/DataReference/DataReference.tsx +2 -2
- package/lib/template/Details/Details/Details.tsx +2 -2
- package/lib/template/Details/DetailsSubTabs/DetailsSubTabs.tsx +3 -3
- package/lib/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +2 -2
- package/lib/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +2 -2
- package/lib/template/Details/DynamicTabs/DynamicTabs.tsx +4 -3
- package/lib/template/FieldGroupTemplate/FieldGroupTemplate.tsx +10 -3
- package/lib/template/InlineDashboard/InlineDashboard.tsx +2 -2
- package/lib/template/InlineDashboardPage/config-ext.json +9 -0
- package/lib/template/ListView/ListView.tsx +69 -61
- package/lib/template/ListView/utils.ts +1 -1
- package/lib/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +2 -2
- package/lib/template/OneColumn/OneColumn/OneColumn.tsx +2 -2
- package/lib/template/PromotedFilters/PromotedFilters.tsx +1 -1
- package/lib/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +42 -30
- package/lib/template/SubTabs/SubTabs.tsx +2 -2
- package/lib/template/TwoColumn/TwoColumn/TwoColumn.tsx +2 -2
- package/lib/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +2 -2
- package/lib/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +2 -2
- package/lib/template/WssNavBar/WssNavBar.tsx +9 -9
- package/lib/widget/AppAnnouncement/AppAnnouncement.tsx +2 -2
- package/lib/widget/Attachment/Attachment.tsx +5 -2
- package/lib/widget/CaseHistory/CaseHistory.tsx +12 -10
- package/lib/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +1 -1
- package/lib/widget/FileUtility/FileUtility/FileUtility.tsx +4 -3
- package/lib/widget/Followers/Followers.tsx +2 -2
- package/lib/widget/QuickCreate/config-ext.json +9 -0
- package/lib/widget/SummaryItem/SummaryItem.tsx +3 -2
- package/lib/widget/ToDo/ToDo.tsx +91 -21
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react';
|
|
2
2
|
import isDeepEqual from 'fast-deep-equal/react';
|
|
3
|
-
import Grid from '@material
|
|
4
|
-
import TextField from '@material
|
|
3
|
+
import Grid from '@mui/material/Grid';
|
|
4
|
+
import TextField from '@mui/material/TextField';
|
|
5
5
|
|
|
6
6
|
import { getDateFormatInfo } from '@pega/react-sdk-components/lib/components/helpers/date-format-utils';
|
|
7
7
|
import { getCurrencyOptions } from '@pega/react-sdk-components/lib/components/field/Currency/currency-utils';
|
|
@@ -43,6 +43,7 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
|
|
|
43
43
|
default:
|
|
44
44
|
return (
|
|
45
45
|
<TextField
|
|
46
|
+
variant='standard'
|
|
46
47
|
value='---'
|
|
47
48
|
label={field.config.label}
|
|
48
49
|
InputProps={{
|
|
@@ -61,6 +62,7 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
|
|
|
61
62
|
case 'dropdown':
|
|
62
63
|
return (
|
|
63
64
|
<TextField
|
|
65
|
+
variant='standard'
|
|
64
66
|
value={field.config.value}
|
|
65
67
|
label={field.config.label}
|
|
66
68
|
InputProps={{
|
|
@@ -77,6 +79,7 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
|
|
|
77
79
|
|
|
78
80
|
return (
|
|
79
81
|
<TextField
|
|
82
|
+
variant='standard'
|
|
80
83
|
value={fieldValue}
|
|
81
84
|
label={fieldLabel}
|
|
82
85
|
InputProps={{
|
|
@@ -90,6 +93,7 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
|
|
|
90
93
|
case 'status':
|
|
91
94
|
return (
|
|
92
95
|
<TextField
|
|
96
|
+
variant='standard'
|
|
93
97
|
className='psdk-csf-status-style'
|
|
94
98
|
value={field.config.value}
|
|
95
99
|
label={field.config.label}
|
|
@@ -105,6 +109,7 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
|
|
|
105
109
|
return (
|
|
106
110
|
<a href={`tel:${displayPhone}`}>
|
|
107
111
|
<TextField
|
|
112
|
+
variant='standard'
|
|
108
113
|
value={field.config.value}
|
|
109
114
|
label={field.config.label}
|
|
110
115
|
InputProps={{
|
|
@@ -124,6 +129,7 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
|
|
|
124
129
|
return (
|
|
125
130
|
<a href={`mailto:${displayEmail}`}>
|
|
126
131
|
<TextField
|
|
132
|
+
variant='standard'
|
|
127
133
|
value={field.config.value}
|
|
128
134
|
label={field.config.label}
|
|
129
135
|
InputProps={{
|
|
@@ -145,6 +151,7 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
|
|
|
145
151
|
|
|
146
152
|
return (
|
|
147
153
|
<TextField
|
|
154
|
+
variant='standard'
|
|
148
155
|
value={format(field.config.value, field.type, {
|
|
149
156
|
format: theFormat
|
|
150
157
|
})}
|
|
@@ -161,6 +168,7 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
|
|
|
161
168
|
const theCurrencyOptions = getCurrencyOptions(field.config?.currencyISOCode);
|
|
162
169
|
return (
|
|
163
170
|
<TextField
|
|
171
|
+
variant='standard'
|
|
164
172
|
value={format(field.config.value, field.type, theCurrencyOptions)}
|
|
165
173
|
label={field.config.label}
|
|
166
174
|
InputProps={{
|
|
@@ -175,6 +183,7 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
|
|
|
175
183
|
case 'userreference':
|
|
176
184
|
return (
|
|
177
185
|
<TextField
|
|
186
|
+
variant='standard'
|
|
178
187
|
value={format(field.config.value, field.type)}
|
|
179
188
|
label={field.config.label}
|
|
180
189
|
InputProps={{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* eslint-disable react/no-array-index-key */
|
|
2
2
|
import React, { createElement, isValidElement } from 'react';
|
|
3
|
-
import Grid from '@material
|
|
4
|
-
import Typography from '@material
|
|
5
|
-
import
|
|
3
|
+
import Grid from '@mui/material/Grid';
|
|
4
|
+
import Typography from '@mui/material/Typography';
|
|
5
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
6
6
|
|
|
7
7
|
import createPConnectComponent from '@pega/react-sdk-components/lib/bridge/react_pconnect';
|
|
8
8
|
import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
|
|
@@ -48,7 +48,7 @@ export default function DetailsFields(props: DetailsFieldsProps) {
|
|
|
48
48
|
const { label } = thePConn.getConfigProps();
|
|
49
49
|
const configObj = thePConn?.getReferencedView();
|
|
50
50
|
configObj.config.readOnly = true;
|
|
51
|
-
configObj.config.displayMode = '
|
|
51
|
+
configObj.config.displayMode = 'DISPLAY_ONLY';
|
|
52
52
|
const propToUse = { ...thePConn.getInheritedProps() };
|
|
53
53
|
configObj.config.label = theCompType === 'reference' ? propToUse?.label : label;
|
|
54
54
|
fieldComponents.push({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { PropsWithChildren, useState } from 'react';
|
|
2
|
-
import Grid from '@material
|
|
3
|
-
import
|
|
4
|
-
import KeyboardArrowRightIcon from '@
|
|
5
|
-
import KeyboardArrowDownIcon from '@
|
|
2
|
+
import Grid from '@mui/material/Grid';
|
|
3
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
4
|
+
import KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';
|
|
5
|
+
import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
|
|
6
6
|
|
|
7
7
|
// FieldGroupProps is one of the few components that does NOT have getPConnect.
|
|
8
8
|
// So, no need to extend PConnProps
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import Grid from '@material
|
|
2
|
-
import Divider from '@material
|
|
3
|
-
import Link from '@material
|
|
1
|
+
import Grid from '@mui/material/Grid';
|
|
2
|
+
import Divider from '@mui/material/Divider';
|
|
3
|
+
import Link from '@mui/material/Link';
|
|
4
4
|
|
|
5
5
|
import { Utils } from '@pega/react-sdk-components/lib/components/helpers/utils';
|
|
6
6
|
|
|
@@ -47,7 +47,7 @@ export default function FieldGroupList(props: FieldGroupListProps) {
|
|
|
47
47
|
</Grid>
|
|
48
48
|
))}
|
|
49
49
|
{props.onAdd && (
|
|
50
|
-
<Link onClick={props.onAdd} style={{ cursor: 'pointer' }}>
|
|
50
|
+
<Link onClick={props.onAdd} style={{ cursor: 'pointer' }} underline='hover'>
|
|
51
51
|
+Add
|
|
52
52
|
</Link>
|
|
53
53
|
)}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import Grid from '@material
|
|
2
|
-
import Typography from '@material
|
|
3
|
-
import
|
|
1
|
+
import Grid from '@mui/material/Grid';
|
|
2
|
+
import Typography from '@mui/material/Typography';
|
|
3
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
4
4
|
|
|
5
5
|
// FieldValueList is one of the few components that does NOT have getPConnect.
|
|
6
6
|
// So, no need to extend PConnProps
|
|
@@ -51,7 +51,7 @@ export default function FieldValueList(props: FieldValueListProps) {
|
|
|
51
51
|
|
|
52
52
|
function getGridItemLabel() {
|
|
53
53
|
return (
|
|
54
|
-
<Grid item xs={variant === 'stacked' ? 12 :
|
|
54
|
+
<Grid item xs={variant === 'stacked' ? 12 : 4} className={variant === 'stacked' ? classes.noPaddingBottom : ''}>
|
|
55
55
|
<Typography variant='body2' component='span' className={`${classes.fieldLabel}`}>
|
|
56
56
|
{name}
|
|
57
57
|
</Typography>
|
|
@@ -63,7 +63,7 @@ export default function FieldValueList(props: FieldValueListProps) {
|
|
|
63
63
|
const formattedValue = formatItemValue(value);
|
|
64
64
|
|
|
65
65
|
return (
|
|
66
|
-
<Grid item xs={variant === 'stacked' ? 12 :
|
|
66
|
+
<Grid item xs={variant === 'stacked' ? 12 : 8} className={variant === 'stacked' ? classes.noPaddingTop : ''}>
|
|
67
67
|
{isHtml ? (
|
|
68
68
|
// eslint-disable-next-line react/no-danger
|
|
69
69
|
<div dangerouslySetInnerHTML={{ __html: formattedValue }} />
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
-
import TextField from '@material
|
|
3
|
-
import Popover from '@material
|
|
4
|
-
import Grid from '@material
|
|
5
|
-
import Typography from '@material
|
|
6
|
-
import
|
|
2
|
+
import TextField from '@mui/material/TextField';
|
|
3
|
+
import Popover from '@mui/material/Popover';
|
|
4
|
+
import Grid from '@mui/material/Grid';
|
|
5
|
+
import Typography from '@mui/material/Typography';
|
|
6
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
7
7
|
|
|
8
8
|
import Utils from '@pega/react-sdk-components/lib/components/helpers/utils';
|
|
9
9
|
import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
|
|
@@ -189,6 +189,7 @@ export default function Operator(props: OperatorProps) {
|
|
|
189
189
|
return (
|
|
190
190
|
<>
|
|
191
191
|
<TextField
|
|
192
|
+
variant='standard'
|
|
192
193
|
defaultValue={caseOpName}
|
|
193
194
|
label={caseOpLabel}
|
|
194
195
|
onClick={showOperatorDetails}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
import { Card, CardContent, CardHeader, Typography } from '@material
|
|
3
|
-
import
|
|
2
|
+
import { Card, CardContent, CardHeader, Typography } from '@mui/material';
|
|
3
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
4
4
|
|
|
5
5
|
// Pulse is one of the few components that does NOT have getPConnect.
|
|
6
6
|
// So, no need to extend PConnProps
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
2
|
import { Editor } from '@tinymce/tinymce-react';
|
|
3
|
-
import { FormControl, FormHelperText, InputLabel
|
|
3
|
+
import { FormControl, FormHelperText, InputLabel } from '@mui/material';
|
|
4
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
4
5
|
|
|
5
6
|
import { useAfterInitialEffect, useConsolidatedRef, useUID } from '@pega/react-sdk-components/lib/hooks';
|
|
6
7
|
|
|
@@ -107,7 +108,7 @@ const RichTextEditor = forwardRef(function RichTextEditor(props: RichTextEditorP
|
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
return (
|
|
110
|
-
<FormControl data-test-id={testId} error={error} required={required}>
|
|
111
|
+
<FormControl variant='standard' data-test-id={testId} error={error} required={required}>
|
|
111
112
|
{!labelHidden && (
|
|
112
113
|
<InputLabel id='demo-simple-select-error-label' className={classes.fieldLabel}>
|
|
113
114
|
{label}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useState } from 'react';
|
|
2
|
-
import { TextField } from '@material
|
|
3
|
-
import Autocomplete from '@material
|
|
2
|
+
import { TextField } from '@mui/material';
|
|
3
|
+
import Autocomplete from '@mui/material/Autocomplete';
|
|
4
4
|
import isDeepEqual from 'fast-deep-equal/react';
|
|
5
5
|
|
|
6
6
|
import Utils from '@pega/react-sdk-components/lib/components/helpers/utils';
|
|
@@ -150,7 +150,7 @@ export default function AutoComplete(props: AutoCompleteProps) {
|
|
|
150
150
|
}
|
|
151
151
|
}, []);
|
|
152
152
|
|
|
153
|
-
if (displayMode === '
|
|
153
|
+
if (displayMode === 'DISPLAY_ONLY') {
|
|
154
154
|
return <FieldValueList name={hideLabel ? '' : label} value={value} />;
|
|
155
155
|
}
|
|
156
156
|
|
|
@@ -191,7 +191,7 @@ export default function AutoComplete(props: AutoCompleteProps) {
|
|
|
191
191
|
getOptionLabel={(option: IOption) => {
|
|
192
192
|
return option.value ? option.value : '';
|
|
193
193
|
}}
|
|
194
|
-
|
|
194
|
+
isOptionEqualToValue={(option: any) => {
|
|
195
195
|
return option.value ? option.value : '';
|
|
196
196
|
}}
|
|
197
197
|
fullWidth
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
-
import { Button, Grid, IconButton, Snackbar } from '@material
|
|
3
|
-
import CloseIcon from '@
|
|
2
|
+
import { Button, Grid, IconButton, Snackbar } from '@mui/material';
|
|
3
|
+
import CloseIcon from '@mui/icons-material/Close';
|
|
4
4
|
|
|
5
5
|
import { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
|
|
6
6
|
import './CancelAlert.css';
|
|
@@ -89,7 +89,7 @@ export default function CancelAlert(props: CancelAlertProps) {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
function handleSnackbarClose(event: React.SyntheticEvent |
|
|
92
|
+
function handleSnackbarClose(event: React.SyntheticEvent<any> | Event, reason?: string) {
|
|
93
93
|
if (reason === 'clickaway') {
|
|
94
94
|
return;
|
|
95
95
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/* eslint-disable react/no-array-index-key */
|
|
2
2
|
import { useState, useEffect } from 'react';
|
|
3
|
-
import { Checkbox, FormControl, FormControlLabel, FormGroup, FormHelperText, FormLabel } from '@material
|
|
3
|
+
import { Checkbox, FormControl, FormControlLabel, FormGroup, FormHelperText, FormLabel } from '@mui/material';
|
|
4
|
+
import makeStyles from '@mui/styles/makeStyles';
|
|
4
5
|
|
|
5
6
|
import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
|
|
6
7
|
import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
|
|
7
8
|
import { insertInstruction, deleteInstruction, updateNewInstuctions } from '@pega/react-sdk-components/lib/components/helpers/instructions-utils';
|
|
8
9
|
import { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
|
|
9
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
10
10
|
|
|
11
11
|
interface CheckboxProps extends Omit<PConnFieldProps, 'value'> {
|
|
12
12
|
// If any, enter additional props that only exist on Checkbox here
|
|
@@ -77,7 +77,7 @@ export default function CheckboxComponent(props: CheckboxProps) {
|
|
|
77
77
|
}
|
|
78
78
|
}, [thePConn]);
|
|
79
79
|
|
|
80
|
-
if (displayMode === '
|
|
80
|
+
if (displayMode === 'DISPLAY_ONLY') {
|
|
81
81
|
return <FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} />;
|
|
82
82
|
}
|
|
83
83
|
|
|
@@ -161,7 +161,7 @@ export default function CheckboxComponent(props: CheckboxProps) {
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
return (
|
|
164
|
-
<FormControl required={required} error={status === 'error'}>
|
|
164
|
+
<FormControl variant='standard' required={required} error={status === 'error'}>
|
|
165
165
|
{!hideLabel && <FormLabel component='legend'>{label}</FormLabel>}
|
|
166
166
|
<FormGroup>{theCheckbox}</FormGroup>
|
|
167
167
|
<FormHelperText>{helperTextToDisplay}</FormHelperText>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TextField } from '@material-ui/core';
|
|
2
1
|
import { useState } from 'react';
|
|
3
2
|
import { NumericFormat } from 'react-number-format';
|
|
3
|
+
import { TextField } from '@mui/material';
|
|
4
4
|
import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
|
|
5
5
|
import { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
|
|
6
6
|
import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
|
|
@@ -67,7 +67,7 @@ export default function Currency(props: CurrrencyProps) {
|
|
|
67
67
|
let currencyProp = {};
|
|
68
68
|
currencyProp = { prefix: theCurrSym, decimalSeparator: theCurrDec, thousandSeparator: theCurrSep };
|
|
69
69
|
|
|
70
|
-
if (displayMode === '
|
|
70
|
+
if (displayMode === 'DISPLAY_ONLY') {
|
|
71
71
|
return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} />;
|
|
72
72
|
}
|
|
73
73
|
|
package/lib/field/Date/Date.tsx
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
|
|
3
|
+
import dayjs, { Dayjs } from 'dayjs';
|
|
2
4
|
|
|
3
5
|
import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
|
|
4
6
|
import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
|
|
@@ -20,22 +22,9 @@ export default function Date(props: DateProps) {
|
|
|
20
22
|
const TextInput = getComponentFromMap('TextInput');
|
|
21
23
|
const FieldValueList = getComponentFromMap('FieldValueList');
|
|
22
24
|
|
|
23
|
-
const {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
required,
|
|
27
|
-
disabled,
|
|
28
|
-
value = '',
|
|
29
|
-
validatemessage,
|
|
30
|
-
status,
|
|
31
|
-
onChange,
|
|
32
|
-
onBlur,
|
|
33
|
-
readOnly,
|
|
34
|
-
testId,
|
|
35
|
-
helperText,
|
|
36
|
-
displayMode,
|
|
37
|
-
hideLabel
|
|
38
|
-
} = props;
|
|
25
|
+
const { getPConnect, label, required, disabled, value, validatemessage, status, readOnly, testId, helperText, displayMode, hideLabel } = props;
|
|
26
|
+
|
|
27
|
+
const [dateValue, setDateValue] = useState<Dayjs | null>(value ? dayjs(value) : null);
|
|
39
28
|
|
|
40
29
|
const pConn = getPConnect();
|
|
41
30
|
const actions = pConn.getActionsApi();
|
|
@@ -50,7 +39,7 @@ export default function Date(props: DateProps) {
|
|
|
50
39
|
dateFormatInfo.dateFormatStringLC = theDateFormat.dateFormatStringLC;
|
|
51
40
|
dateFormatInfo.dateFormatMask = theDateFormat.dateFormatMask;
|
|
52
41
|
|
|
53
|
-
if (displayMode === '
|
|
42
|
+
if (displayMode === 'DISPLAY_ONLY') {
|
|
54
43
|
const formattedDate = format(props.value, 'date', {
|
|
55
44
|
format: dateFormatInfo.dateFormatString
|
|
56
45
|
});
|
|
@@ -77,37 +66,29 @@ export default function Date(props: DateProps) {
|
|
|
77
66
|
|
|
78
67
|
const handleChange = date => {
|
|
79
68
|
if (date && date.isValid()) {
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
const handleAccept = date => {
|
|
85
|
-
if (date && date.isValid()) {
|
|
69
|
+
setDateValue(date);
|
|
86
70
|
handleEvent(actions, 'changeNblur', propName, getFormattedDate(date));
|
|
87
71
|
}
|
|
88
72
|
};
|
|
89
73
|
|
|
90
74
|
return (
|
|
91
|
-
<
|
|
92
|
-
disableToolbar
|
|
93
|
-
variant='inline'
|
|
94
|
-
inputVariant='outlined'
|
|
95
|
-
placeholder={dateFormatInfo.dateFormatStringLC}
|
|
96
|
-
format={dateFormatInfo.dateFormatString}
|
|
97
|
-
mask={dateFormatInfo.dateFormatMask}
|
|
98
|
-
fullWidth
|
|
99
|
-
autoOk
|
|
100
|
-
required={required}
|
|
101
|
-
disabled={disabled}
|
|
102
|
-
error={status === 'error'}
|
|
103
|
-
helperText={helperTextToDisplay}
|
|
104
|
-
size='small'
|
|
75
|
+
<DatePicker
|
|
105
76
|
label={label}
|
|
106
|
-
|
|
77
|
+
disabled={disabled}
|
|
78
|
+
format={dateFormatInfo.dateFormatString}
|
|
79
|
+
value={dateValue}
|
|
80
|
+
slotProps={{
|
|
81
|
+
textField: {
|
|
82
|
+
required,
|
|
83
|
+
variant: 'outlined',
|
|
84
|
+
placeholder: dateFormatInfo.dateFormatStringLC,
|
|
85
|
+
error: status === 'error',
|
|
86
|
+
helperText: helperTextToDisplay,
|
|
87
|
+
size: 'small',
|
|
88
|
+
InputProps: { ...testProp }
|
|
89
|
+
}
|
|
90
|
+
}}
|
|
107
91
|
onChange={handleChange}
|
|
108
|
-
onBlur={!readOnly ? onBlur : undefined}
|
|
109
|
-
onAccept={handleAccept}
|
|
110
|
-
InputProps={{ ...testProp }}
|
|
111
92
|
/>
|
|
112
93
|
);
|
|
113
94
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
|
|
3
|
+
import dayjs, { Dayjs } from 'dayjs';
|
|
2
4
|
|
|
3
5
|
import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
|
|
4
6
|
import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
|
|
@@ -15,21 +17,9 @@ export default function DateTime(props: DateTimeProps) {
|
|
|
15
17
|
const TextInput = getComponentFromMap('TextInput');
|
|
16
18
|
const FieldValueList = getComponentFromMap('FieldValueList');
|
|
17
19
|
|
|
18
|
-
const {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
required,
|
|
22
|
-
disabled,
|
|
23
|
-
value = '',
|
|
24
|
-
validatemessage,
|
|
25
|
-
status,
|
|
26
|
-
onChange,
|
|
27
|
-
readOnly,
|
|
28
|
-
testId,
|
|
29
|
-
helperText,
|
|
30
|
-
displayMode,
|
|
31
|
-
hideLabel
|
|
32
|
-
} = props;
|
|
20
|
+
const { getPConnect, label, required, disabled, value = '', validatemessage, status, readOnly, testId, helperText, displayMode, hideLabel } = props;
|
|
21
|
+
|
|
22
|
+
const [dateValue, setDateValue] = useState<Dayjs | null>(value ? dayjs(value) : null);
|
|
33
23
|
|
|
34
24
|
const pConn = getPConnect();
|
|
35
25
|
const actions = pConn.getActionsApi();
|
|
@@ -44,7 +34,7 @@ export default function DateTime(props: DateTimeProps) {
|
|
|
44
34
|
dateFormatInfo.dateFormatStringLC = theDateFormat.dateFormatStringLC;
|
|
45
35
|
dateFormatInfo.dateFormatMask = theDateFormat.dateFormatMask;
|
|
46
36
|
|
|
47
|
-
if (displayMode === '
|
|
37
|
+
if (displayMode === 'DISPLAY_ONLY') {
|
|
48
38
|
const formattedDateTime = format(props.value, 'datetime', {
|
|
49
39
|
format: `${dateFormatInfo.dateFormatString} hh:mm a`
|
|
50
40
|
});
|
|
@@ -63,12 +53,14 @@ export default function DateTime(props: DateTimeProps) {
|
|
|
63
53
|
return <TextInput {...props} value={formattedDateTime} />;
|
|
64
54
|
}
|
|
65
55
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
56
|
+
let testProp = {};
|
|
57
|
+
|
|
58
|
+
testProp = {
|
|
59
|
+
'data-test-id': testId
|
|
69
60
|
};
|
|
70
61
|
|
|
71
|
-
const
|
|
62
|
+
const handleChange = date => {
|
|
63
|
+
setDateValue(date);
|
|
72
64
|
const changeValue = date && date.isValid() ? date.toISOString() : null;
|
|
73
65
|
handleEvent(actions, 'changeNblur', propName, changeValue);
|
|
74
66
|
};
|
|
@@ -79,25 +71,28 @@ export default function DateTime(props: DateTimeProps) {
|
|
|
79
71
|
//
|
|
80
72
|
|
|
81
73
|
return (
|
|
82
|
-
<
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
fullWidth
|
|
86
|
-
autoOk
|
|
87
|
-
required={required}
|
|
74
|
+
<DateTimePicker
|
|
75
|
+
// fullWidth
|
|
76
|
+
// autoOk
|
|
88
77
|
disabled={disabled}
|
|
89
|
-
placeholder={`${dateFormatInfo.dateFormatStringLC} hh:mm a`}
|
|
90
78
|
format={`${dateFormatInfo.dateFormatString} hh:mm a`}
|
|
91
|
-
mask={`${dateFormatInfo.dateFormatMask} __:__ _m`}
|
|
79
|
+
// mask={`${dateFormatInfo.dateFormatMask} __:__ _m`}
|
|
92
80
|
minutesStep={5}
|
|
93
|
-
error={status === 'error'}
|
|
94
|
-
helperText={helperTextToDisplay}
|
|
95
|
-
size='small'
|
|
96
81
|
label={label}
|
|
97
|
-
value={
|
|
82
|
+
value={dateValue}
|
|
98
83
|
onChange={handleChange}
|
|
99
|
-
onAccept={handleAccept}
|
|
100
84
|
data-test-id={testId}
|
|
85
|
+
slotProps={{
|
|
86
|
+
textField: {
|
|
87
|
+
variant: 'outlined',
|
|
88
|
+
required,
|
|
89
|
+
placeholder: `${dateFormatInfo.dateFormatStringLC} hh:mm a`,
|
|
90
|
+
error: status === 'error',
|
|
91
|
+
helperText: helperTextToDisplay,
|
|
92
|
+
size: 'small',
|
|
93
|
+
InputProps: { ...testProp }
|
|
94
|
+
}
|
|
95
|
+
}}
|
|
101
96
|
/>
|
|
102
97
|
);
|
|
103
98
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TextField } from '@material-ui/core';
|
|
2
1
|
import { NumericFormat } from 'react-number-format';
|
|
2
|
+
import { TextField } from '@mui/material';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { getCurrencyCharacters, getCurrencyOptions } from '@pega/react-sdk-components/lib/components/field/Currency/currency-utils';
|
|
5
5
|
import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
|
|
@@ -71,7 +71,7 @@ export default function Decimal(props: DecimalProps) {
|
|
|
71
71
|
formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
if (displayMode === '
|
|
74
|
+
if (displayMode === 'DISPLAY_ONLY') {
|
|
75
75
|
return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} />;
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useState } from 'react';
|
|
2
|
-
import { TextField } from '@material
|
|
3
|
-
import MenuItem from '@material
|
|
2
|
+
import { TextField } from '@mui/material';
|
|
3
|
+
import MenuItem from '@mui/material/MenuItem';
|
|
4
4
|
import isDeepEqual from 'fast-deep-equal/react';
|
|
5
5
|
import Utils from '@pega/react-sdk-components/lib/components/helpers/utils';
|
|
6
6
|
import { getDataPage } from '@pega/react-sdk-components/lib/components/helpers/data_page';
|
|
@@ -165,7 +165,7 @@ export default function Dropdown(props: DropdownProps) {
|
|
|
165
165
|
|
|
166
166
|
let readOnlyProp = {};
|
|
167
167
|
|
|
168
|
-
if (displayMode === '
|
|
168
|
+
if (displayMode === 'DISPLAY_ONLY') {
|
|
169
169
|
return (
|
|
170
170
|
<FieldValueList
|
|
171
171
|
name={hideLabel ? '' : label}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { InputAdornment, TextField } from '@mui/material';
|
|
3
|
+
import MailOutlineIcon from '@mui/icons-material/MailOutline';
|
|
3
4
|
|
|
4
5
|
import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
|
|
5
6
|
import { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
|
|
7
|
+
import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
|
|
6
8
|
|
|
7
9
|
interface EmailProps extends PConnFieldProps {
|
|
8
10
|
// If any, enter additional props that only exist on Date here
|
|
@@ -14,14 +16,13 @@ export default function Email(props: EmailProps) {
|
|
|
14
16
|
const FieldValueList = getComponentFromMap('FieldValueList');
|
|
15
17
|
|
|
16
18
|
const {
|
|
19
|
+
getPConnect,
|
|
17
20
|
label,
|
|
18
21
|
required,
|
|
19
22
|
disabled,
|
|
20
23
|
value = '',
|
|
21
24
|
validatemessage,
|
|
22
25
|
status,
|
|
23
|
-
onChange,
|
|
24
|
-
onBlur,
|
|
25
26
|
readOnly,
|
|
26
27
|
testId,
|
|
27
28
|
helperText,
|
|
@@ -29,9 +30,20 @@ export default function Email(props: EmailProps) {
|
|
|
29
30
|
hideLabel,
|
|
30
31
|
placeholder
|
|
31
32
|
} = props;
|
|
33
|
+
|
|
34
|
+
const pConn = getPConnect();
|
|
35
|
+
const actions = pConn.getActionsApi();
|
|
36
|
+
const propName = (pConn.getStateProps() as any).value;
|
|
37
|
+
|
|
32
38
|
const helperTextToDisplay = validatemessage || helperText;
|
|
33
39
|
|
|
34
|
-
|
|
40
|
+
const [inputValue, setInputValue] = useState('');
|
|
41
|
+
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
setInputValue(value);
|
|
44
|
+
}, [value]);
|
|
45
|
+
|
|
46
|
+
if (displayMode === 'DISPLAY_ONLY') {
|
|
35
47
|
return <FieldValueList name={hideLabel ? '' : label} value={value} />;
|
|
36
48
|
}
|
|
37
49
|
|
|
@@ -49,6 +61,15 @@ export default function Email(props: EmailProps) {
|
|
|
49
61
|
'data-test-id': testId
|
|
50
62
|
};
|
|
51
63
|
|
|
64
|
+
function handleChange(event) {
|
|
65
|
+
// update internal value
|
|
66
|
+
setInputValue(event?.target?.value);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function handleBlur() {
|
|
70
|
+
handleEvent(actions, 'changeNblur', propName, inputValue);
|
|
71
|
+
}
|
|
72
|
+
|
|
52
73
|
return (
|
|
53
74
|
<TextField
|
|
54
75
|
fullWidth
|
|
@@ -58,11 +79,11 @@ export default function Email(props: EmailProps) {
|
|
|
58
79
|
size='small'
|
|
59
80
|
required={required}
|
|
60
81
|
disabled={disabled}
|
|
61
|
-
onChange={
|
|
62
|
-
onBlur={!readOnly ?
|
|
82
|
+
onChange={handleChange}
|
|
83
|
+
onBlur={!readOnly ? handleBlur : undefined}
|
|
63
84
|
error={status === 'error'}
|
|
64
85
|
label={label}
|
|
65
|
-
value={
|
|
86
|
+
value={inputValue}
|
|
66
87
|
type='email'
|
|
67
88
|
InputProps={{
|
|
68
89
|
startAdornment: (
|