@pega/custom-dx-components 0.23.13 → 0.23.15
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/package.json +1 -1
- package/src/tasks/create/templates/Constellation/Field/Boolean/index.jsx.mustache +15 -3
- package/src/tasks/create/templates/Constellation/Field/Date/config.json.mustache +10 -1
- package/src/tasks/create/templates/Constellation/Field/Date/index.jsx.mustache +19 -3
- package/src/tasks/create/templates/Constellation/Field/DateTime/index.jsx.mustache +18 -3
- package/src/tasks/create/templates/Constellation/Field/Decimal/index.jsx.mustache +18 -3
- package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/index.jsx.mustache +18 -3
- package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/index.jsx.mustache +19 -3
- package/src/tasks/create/templates/Constellation/Field/Integer/index.jsx.mustache +20 -3
- package/src/tasks/create/templates/Constellation/Field/Picklist/index.jsx.mustache +25 -3
- package/src/tasks/create/templates/Constellation/Field/Text/index.jsx.mustache +4 -3
- package/src/tasks/create/templates/Constellation/Field/Text-Email/index.jsx.mustache +19 -3
- package/src/tasks/create/templates/Constellation/Field/Text-Input/index.jsx.mustache +15 -3
- package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/index.jsx.mustache +15 -3
- package/src/tasks/create/templates/Constellation/Field/Text-Phone/index.jsx.mustache +18 -3
- package/src/tasks/create/templates/Constellation/Field/Text-URL/index.jsx.mustache +18 -3
- package/src/tasks/create/templates/Constellation/Field/TimeofDay/index.jsx.mustache +20 -4
- package/src/tasks/init/index.js +5 -5
- package/src/tasks/init/template/jest.config.cjs +21 -0
- package/src/tasks/init/template/package.json.mustache +1 -1
- package/tests/assets/components/create/Pega_DXIL_MyTestText/index.jsx +5 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyBoolean/index.jsx +17 -5
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCurrency/index.jsx +19 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDate/config.json +10 -1
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDate/index.jsx +20 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDateTime/index.jsx +19 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDecimal/index.jsx +19 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyEmail/index.jsx +20 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyInteger/index.jsx +21 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyParagraph/index.jsx +16 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPercentage/index.jsx +20 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPhone/index.jsx +19 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPicklist/index.jsx +26 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyText/index.jsx +5 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/index.jsx +16 -4
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTimeOfDay/index.jsx +21 -5
- package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyURL/index.jsx +19 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyBoolean/index.jsx +17 -5
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyCurrency/index.jsx +19 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDate/config.json +10 -1
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDate/index.jsx +20 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDateTime/index.jsx +19 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDecimal/index.jsx +19 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyEmail/index.jsx +20 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyInteger/index.jsx +21 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyParagraph/index.jsx +16 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPercentage/index.jsx +20 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPhone/index.jsx +19 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPicklist/index.jsx +26 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyText/index.jsx +5 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/index.jsx +16 -4
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/index.jsx +21 -5
- package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyURL/index.jsx +19 -4
- package/tests/functional/localCreateBuildAllDeleteAll.test.js +2 -2
- package/tests/functional/localCreateBuildDelete.test.js +1 -1
- package/tests/functional/localCreatePublishAllDeleteAll.test.js +2 -2
- package/tests/functional/localCreatePublishDelete.test.js +2 -1
|
@@ -37,7 +37,9 @@ const PegaDxilMyInteger = props => {
|
|
|
37
37
|
negative,
|
|
38
38
|
notation,
|
|
39
39
|
isTableFormatter,
|
|
40
|
-
hasSuggestions
|
|
40
|
+
hasSuggestions,
|
|
41
|
+
fieldMetadata,
|
|
42
|
+
enableAdditionalInformation
|
|
41
43
|
} = props;
|
|
42
44
|
let { showGroupSeparators } = props;
|
|
43
45
|
let { currencyDisplay } = props;
|
|
@@ -46,6 +48,15 @@ const PegaDxilMyInteger = props => {
|
|
|
46
48
|
const propName = pConn.getStateProps().value;
|
|
47
49
|
const [integerValue, setIntegerValue] = useState(value?.toString());
|
|
48
50
|
const sliderDefaultValue = !defaultValue && defaultValue !== 0 ? max : defaultValue;
|
|
51
|
+
const fieldDescription = fieldMetadata?.description;
|
|
52
|
+
const additionalInfo =
|
|
53
|
+
enableAdditionalInformation && fieldDescription
|
|
54
|
+
? {
|
|
55
|
+
heading: label,
|
|
56
|
+
content: fieldDescription
|
|
57
|
+
}
|
|
58
|
+
: undefined;
|
|
59
|
+
|
|
49
60
|
const hasValueChange = useRef(false);
|
|
50
61
|
|
|
51
62
|
|
|
@@ -207,6 +218,7 @@ const PegaDxilMyInteger = props => {
|
|
|
207
218
|
label={label}
|
|
208
219
|
labelHidden={hideLabel}
|
|
209
220
|
info={validatemessage || helperText}
|
|
221
|
+
additionalInfo={additionalInfo}
|
|
210
222
|
value={!integerValue ? sliderDefaultValue : Number(integerValue)}
|
|
211
223
|
status={status}
|
|
212
224
|
placeholder={placeholder}
|
|
@@ -234,6 +246,7 @@ const PegaDxilMyInteger = props => {
|
|
|
234
246
|
label={label}
|
|
235
247
|
labelHidden={hideLabel}
|
|
236
248
|
info={validatemessage || helperText}
|
|
249
|
+
additionalInfo={additionalInfo}
|
|
237
250
|
value={integerValue}
|
|
238
251
|
status={status}
|
|
239
252
|
placeholder={displayAs === 'input' ? placeholder : ''}
|
|
@@ -272,7 +285,7 @@ PegaDxilMyInteger.defaultProps = {
|
|
|
272
285
|
disabled: false,
|
|
273
286
|
readOnly: false,
|
|
274
287
|
required: false,
|
|
275
|
-
testId:
|
|
288
|
+
testId: '',
|
|
276
289
|
showGroupSeparators: false,
|
|
277
290
|
displayMode: null,
|
|
278
291
|
displayAs: 'input',
|
|
@@ -292,7 +305,9 @@ PegaDxilMyInteger.defaultProps = {
|
|
|
292
305
|
currencyDisplay: 'symbol',
|
|
293
306
|
currencyDecimalPrecision: 'auto',
|
|
294
307
|
isTableFormatter: false,
|
|
295
|
-
hasSuggestions: false
|
|
308
|
+
hasSuggestions: false,
|
|
309
|
+
fieldMetadata: {},
|
|
310
|
+
enableAdditionalInformation: false
|
|
296
311
|
};
|
|
297
312
|
|
|
298
313
|
PegaDxilMyInteger.propTypes = {
|
|
@@ -327,7 +342,9 @@ PegaDxilMyInteger.propTypes = {
|
|
|
327
342
|
currencyDisplay: PropTypes.string,
|
|
328
343
|
currencyDecimalPrecision: PropTypes.string,
|
|
329
344
|
isTableFormatter: PropTypes.bool,
|
|
330
|
-
hasSuggestions: PropTypes.bool
|
|
345
|
+
hasSuggestions: PropTypes.bool,
|
|
346
|
+
fieldMetadata: PropTypes.objectOf(PropTypes.any),
|
|
347
|
+
enableAdditionalInformation: PropTypes.bool
|
|
331
348
|
};
|
|
332
349
|
|
|
333
350
|
export default PegaDxilMyInteger;
|
|
@@ -71,7 +71,8 @@ const PegaDxilMyParagraph = props => {
|
|
|
71
71
|
additionalProps,
|
|
72
72
|
variant,
|
|
73
73
|
isTableFormatter,
|
|
74
|
-
hasSuggestions
|
|
74
|
+
hasSuggestions,
|
|
75
|
+
enableAdditionalInformation
|
|
75
76
|
} = props;
|
|
76
77
|
const { formatter } = props;
|
|
77
78
|
const pConn = getPConnect();
|
|
@@ -79,6 +80,7 @@ const PegaDxilMyParagraph = props => {
|
|
|
79
80
|
const propName = pConn.getStateProps().value;
|
|
80
81
|
const maxLength = fieldMetadata?.maxLength;
|
|
81
82
|
const hasValueChange = useRef(false);
|
|
83
|
+
const fieldDescription = fieldMetadata?.description;
|
|
82
84
|
|
|
83
85
|
|
|
84
86
|
// BUG-547602: Temporary type coercion for 8.5 until DXAPIs are enhanced to pass original pxViewMetadata JSON, respecting boolean primitives
|
|
@@ -183,6 +185,14 @@ const PegaDxilMyParagraph = props => {
|
|
|
183
185
|
}
|
|
184
186
|
}}
|
|
185
187
|
onResolveSuggestion={onResolveSuggestionHandler}
|
|
188
|
+
{...(enableAdditionalInformation && fieldDescription
|
|
189
|
+
? {
|
|
190
|
+
additionalInfo: {
|
|
191
|
+
heading: label,
|
|
192
|
+
content: fieldDescription
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
: {})}
|
|
186
196
|
/>
|
|
187
197
|
</StyledPegaDxilMyParagraphWrapper>
|
|
188
198
|
);
|
|
@@ -197,14 +207,15 @@ PegaDxilMyParagraph.defaultProps = {
|
|
|
197
207
|
disabled: false,
|
|
198
208
|
readOnly: false,
|
|
199
209
|
required: false,
|
|
200
|
-
testId:
|
|
210
|
+
testId: '',
|
|
201
211
|
displayMode: null,
|
|
202
212
|
fieldMetadata: {},
|
|
203
213
|
additionalProps: {},
|
|
204
214
|
variant: 'inline',
|
|
205
215
|
formatter: '',
|
|
206
216
|
isTableFormatter: false,
|
|
207
|
-
hasSuggestions: false
|
|
217
|
+
hasSuggestions: false,
|
|
218
|
+
enableAdditionalInformation: false
|
|
208
219
|
};
|
|
209
220
|
|
|
210
221
|
PegaDxilMyParagraph.propTypes = {
|
|
@@ -225,7 +236,8 @@ PegaDxilMyParagraph.propTypes = {
|
|
|
225
236
|
variant: PropTypes.string,
|
|
226
237
|
formatter: PropTypes.string,
|
|
227
238
|
isTableFormatter: PropTypes.bool,
|
|
228
|
-
hasSuggestions: PropTypes.bool
|
|
239
|
+
hasSuggestions: PropTypes.bool,
|
|
240
|
+
enableAdditionalInformation: PropTypes.bool
|
|
229
241
|
};
|
|
230
242
|
|
|
231
243
|
export default PegaDxilMyParagraph;
|
|
@@ -35,13 +35,24 @@ const PegaDxilMyPercentage = props => {
|
|
|
35
35
|
variant,
|
|
36
36
|
formatter,
|
|
37
37
|
isTableFormatter,
|
|
38
|
-
hasSuggestions
|
|
38
|
+
hasSuggestions,
|
|
39
|
+
fieldMetadata,
|
|
40
|
+
enableAdditionalInformation
|
|
39
41
|
} = props;
|
|
40
42
|
let { showGroupSeparators } = props;
|
|
41
43
|
const pConn = getPConnect();
|
|
42
44
|
const actions = pConn.getActionsApi();
|
|
43
45
|
const propName = pConn.getStateProps().value;
|
|
44
46
|
const [percentageValue, setPercentageValue] = useState(value?.toString());
|
|
47
|
+
const fieldDescription = fieldMetadata?.description;
|
|
48
|
+
const additionalInfo =
|
|
49
|
+
enableAdditionalInformation && fieldDescription
|
|
50
|
+
? {
|
|
51
|
+
heading: label,
|
|
52
|
+
content: fieldDescription
|
|
53
|
+
}
|
|
54
|
+
: undefined;
|
|
55
|
+
|
|
45
56
|
const hasValueChange = useRef(false);
|
|
46
57
|
|
|
47
58
|
let { readOnly, required, disabled } = props;
|
|
@@ -192,6 +203,7 @@ const PegaDxilMyPercentage = props => {
|
|
|
192
203
|
label={label}
|
|
193
204
|
labelHidden={hideLabel}
|
|
194
205
|
info={validatemessage || helperText}
|
|
206
|
+
additionalInfo={additionalInfo}
|
|
195
207
|
value={percentageValue}
|
|
196
208
|
status={status}
|
|
197
209
|
placeholder={placeholder}
|
|
@@ -237,7 +249,7 @@ PegaDxilMyPercentage.defaultProps = {
|
|
|
237
249
|
disabled: false,
|
|
238
250
|
readOnly: false,
|
|
239
251
|
required: false,
|
|
240
|
-
testId:
|
|
252
|
+
testId: '',
|
|
241
253
|
decimalPrecision: '',
|
|
242
254
|
showGroupSeparators: false,
|
|
243
255
|
additionalProps: {},
|
|
@@ -246,7 +258,9 @@ PegaDxilMyPercentage.defaultProps = {
|
|
|
246
258
|
currencyISOCode: 'USD',
|
|
247
259
|
formatter: '',
|
|
248
260
|
isTableFormatter: false,
|
|
249
|
-
hasSuggestions: false
|
|
261
|
+
hasSuggestions: false,
|
|
262
|
+
fieldMetadata: {},
|
|
263
|
+
enableAdditionalInformation: false
|
|
250
264
|
};
|
|
251
265
|
|
|
252
266
|
PegaDxilMyPercentage.propTypes = {
|
|
@@ -269,7 +283,9 @@ PegaDxilMyPercentage.propTypes = {
|
|
|
269
283
|
formatter: PropTypes.string,
|
|
270
284
|
currencyISOCode: PropTypes.string,
|
|
271
285
|
isTableFormatter: PropTypes.bool,
|
|
272
|
-
hasSuggestions: PropTypes.bool
|
|
286
|
+
hasSuggestions: PropTypes.bool,
|
|
287
|
+
fieldMetadata: PropTypes.objectOf(PropTypes.any),
|
|
288
|
+
enableAdditionalInformation: PropTypes.bool
|
|
273
289
|
};
|
|
274
290
|
|
|
275
291
|
export default PegaDxilMyPercentage;
|
|
@@ -79,12 +79,15 @@ const PegaDxilMyPhone = props => {
|
|
|
79
79
|
additionalProps,
|
|
80
80
|
variant,
|
|
81
81
|
isTableFormatter,
|
|
82
|
-
hasSuggestions
|
|
82
|
+
hasSuggestions,
|
|
83
|
+
fieldMetadata,
|
|
84
|
+
enableAdditionalInformation
|
|
83
85
|
} = props;
|
|
84
86
|
const { formatter } = props;
|
|
85
87
|
const pConn = getPConnect();
|
|
86
88
|
const actions = pConn.getActionsApi();
|
|
87
89
|
const propName = pConn.getStateProps().value;
|
|
90
|
+
const fieldDescription = fieldMetadata?.description;
|
|
88
91
|
const hasValueChange = useRef(false);
|
|
89
92
|
|
|
90
93
|
let callingCodesList = [];
|
|
@@ -216,6 +219,14 @@ const PegaDxilMyPhone = props => {
|
|
|
216
219
|
}
|
|
217
220
|
}}
|
|
218
221
|
onResolveSuggestion={onResolveSuggestionHandler}
|
|
222
|
+
{...(enableAdditionalInformation && fieldDescription
|
|
223
|
+
? {
|
|
224
|
+
additionalInfo: {
|
|
225
|
+
heading: label,
|
|
226
|
+
content: fieldDescription
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
: {})}
|
|
219
230
|
/>
|
|
220
231
|
</StyledPegaDxilMyPhoneWrapper>
|
|
221
232
|
);
|
|
@@ -232,13 +243,15 @@ PegaDxilMyPhone.defaultProps = {
|
|
|
232
243
|
readOnly: false,
|
|
233
244
|
required: false,
|
|
234
245
|
showCountryCode: true,
|
|
235
|
-
testId:
|
|
246
|
+
testId: '',
|
|
236
247
|
displayMode: null,
|
|
237
248
|
additionalProps: {},
|
|
238
249
|
variant: 'inline',
|
|
239
250
|
formatter: '',
|
|
240
251
|
isTableFormatter: false,
|
|
241
|
-
hasSuggestions: false
|
|
252
|
+
hasSuggestions: false,
|
|
253
|
+
fieldMetadata: {},
|
|
254
|
+
enableAdditionalInformation: false
|
|
242
255
|
};
|
|
243
256
|
|
|
244
257
|
PegaDxilMyPhone.propTypes = {
|
|
@@ -260,7 +273,9 @@ PegaDxilMyPhone.propTypes = {
|
|
|
260
273
|
variant: PropTypes.string,
|
|
261
274
|
formatter: PropTypes.string,
|
|
262
275
|
isTableFormatter: PropTypes.bool,
|
|
263
|
-
hasSuggestions: PropTypes.bool
|
|
276
|
+
hasSuggestions: PropTypes.bool,
|
|
277
|
+
fieldMetadata: PropTypes.objectOf(PropTypes.any),
|
|
278
|
+
enableAdditionalInformation: PropTypes.bool
|
|
264
279
|
};
|
|
265
280
|
|
|
266
281
|
export default PegaDxilMyPhone;
|
|
@@ -96,7 +96,9 @@ const PegaDxilMyPicklist = props => {
|
|
|
96
96
|
variant,
|
|
97
97
|
fieldMetadata,
|
|
98
98
|
isTableFormatter,
|
|
99
|
-
hasSuggestions
|
|
99
|
+
hasSuggestions,
|
|
100
|
+
enableAdditionalInformation,
|
|
101
|
+
additionalInfo
|
|
100
102
|
} = props;
|
|
101
103
|
const { formatter } = props;
|
|
102
104
|
const pConnect = getPConnect();
|
|
@@ -105,6 +107,8 @@ const PegaDxilMyPicklist = props => {
|
|
|
105
107
|
const className = pConnect.getCaseInfo().getClassName();
|
|
106
108
|
const refName = propName?.slice(propName.lastIndexOf('.') + 1);
|
|
107
109
|
|
|
110
|
+
const fieldDescription = fieldMetadata?.description;
|
|
111
|
+
|
|
108
112
|
let { readOnly, required, disabled } = props;
|
|
109
113
|
[readOnly, required, disabled] = [readOnly, required, disabled].map(
|
|
110
114
|
(prop) => prop === true || (typeof prop === 'string' && prop === 'true')
|
|
@@ -262,6 +266,12 @@ const PegaDxilMyPicklist = props => {
|
|
|
262
266
|
suggestionsHandler(accepted, pConnect, setStatus);
|
|
263
267
|
};
|
|
264
268
|
|
|
269
|
+
// In case of User Reference additionalInfo prop is directly passed down
|
|
270
|
+
const additionalInfoProp = additionalInfo || {
|
|
271
|
+
heading: label,
|
|
272
|
+
content: fieldDescription
|
|
273
|
+
};
|
|
274
|
+
|
|
265
275
|
return (
|
|
266
276
|
<StyledPegaDxilMyPicklistWrapper>
|
|
267
277
|
<Select
|
|
@@ -290,6 +300,11 @@ const PegaDxilMyPicklist = props => {
|
|
|
290
300
|
pConnect.getValidationApi().validate(event.target.value);
|
|
291
301
|
}}
|
|
292
302
|
onResolveSuggestion={onResolveSuggestionHandler}
|
|
303
|
+
{...(additionalInfo || (enableAdditionalInformation && fieldDescription)
|
|
304
|
+
? {
|
|
305
|
+
additionalInfo: additionalInfoProp
|
|
306
|
+
}
|
|
307
|
+
: {})}
|
|
293
308
|
>
|
|
294
309
|
{items}
|
|
295
310
|
</Select>
|
|
@@ -305,7 +320,7 @@ PegaDxilMyPicklist.defaultProps = {
|
|
|
305
320
|
disabled: false,
|
|
306
321
|
readOnly: false,
|
|
307
322
|
required: false,
|
|
308
|
-
testId:
|
|
323
|
+
testId: '',
|
|
309
324
|
helperText: '',
|
|
310
325
|
datasource: [],
|
|
311
326
|
listType: '',
|
|
@@ -316,7 +331,9 @@ PegaDxilMyPicklist.defaultProps = {
|
|
|
316
331
|
variant: 'inline',
|
|
317
332
|
formatter: '',
|
|
318
333
|
isTableFormatter: false,
|
|
319
|
-
hasSuggestions: false
|
|
334
|
+
hasSuggestions: false,
|
|
335
|
+
enableAdditionalInformation: false,
|
|
336
|
+
additionalInfo: null
|
|
320
337
|
};
|
|
321
338
|
|
|
322
339
|
PegaDxilMyPicklist.propTypes = {
|
|
@@ -345,7 +362,12 @@ PegaDxilMyPicklist.propTypes = {
|
|
|
345
362
|
variant: PropTypes.string,
|
|
346
363
|
formatter: PropTypes.string,
|
|
347
364
|
isTableFormatter: PropTypes.bool,
|
|
348
|
-
hasSuggestions: PropTypes.bool
|
|
365
|
+
hasSuggestions: PropTypes.bool,
|
|
366
|
+
enableAdditionalInformation: PropTypes.bool,
|
|
367
|
+
additionalInfo: PropTypes.shape({
|
|
368
|
+
heading: PropTypes.string,
|
|
369
|
+
content: PropTypes.string
|
|
370
|
+
})
|
|
349
371
|
};
|
|
350
372
|
|
|
351
373
|
export default PegaDxilMyPicklist;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
|
-
import { Input
|
|
2
|
+
import { Input } from '@pega/cosmos-react-core';
|
|
3
3
|
|
|
4
4
|
import StyledPegaDxilMyTextWrapper from './styles';
|
|
5
5
|
|
|
@@ -9,7 +9,7 @@ import StyledPegaDxilMyTextWrapper from './styles';
|
|
|
9
9
|
// props passed in combination of props from property panel (config.json) and run time props from Constellation
|
|
10
10
|
// any default values in config.pros should be set in defaultProps at bottom of this file
|
|
11
11
|
const PegaDxilMyText = props => {
|
|
12
|
-
const { getPConnect, value, placeholder, disabled, readOnly, required, label, testId } = props;
|
|
12
|
+
const { getPConnect, value, placeholder, disabled, readOnly, required, label, hideLabel, testId } = props;
|
|
13
13
|
|
|
14
14
|
const pConn = getPConnect();
|
|
15
15
|
const actions = pConn.getActionsApi();
|
|
@@ -22,10 +22,11 @@ const PegaDxilMyText = props => {
|
|
|
22
22
|
|
|
23
23
|
return (
|
|
24
24
|
<StyledPegaDxilMyTextWrapper>
|
|
25
|
-
<Label>{label}</Label>
|
|
26
25
|
<Input
|
|
27
26
|
type='text'
|
|
28
27
|
value={value}
|
|
28
|
+
label={label}
|
|
29
|
+
labelHidden={hideLabel}
|
|
29
30
|
placeholder={placeholder}
|
|
30
31
|
disabled={disabled}
|
|
31
32
|
readOnly={readOnly}
|
|
@@ -43,7 +44,7 @@ PegaDxilMyText.defaultProps = {
|
|
|
43
44
|
disabled: false,
|
|
44
45
|
readOnly: false,
|
|
45
46
|
required: false,
|
|
46
|
-
testId:
|
|
47
|
+
testId: ''
|
|
47
48
|
};
|
|
48
49
|
|
|
49
50
|
PegaDxilMyText.propTypes = {
|
|
@@ -73,13 +73,15 @@ const PegaDxilMyTextInput = props => {
|
|
|
73
73
|
displayAsStatus,
|
|
74
74
|
variant,
|
|
75
75
|
hasSuggestions,
|
|
76
|
-
isTableFormatter
|
|
76
|
+
isTableFormatter,
|
|
77
|
+
enableAdditionalInformation
|
|
77
78
|
} = props;
|
|
78
79
|
const { formatter } = props;
|
|
79
80
|
const pConn = getPConnect();
|
|
80
81
|
const actions = pConn.getActionsApi();
|
|
81
82
|
const propName = pConn.getStateProps().value;
|
|
82
83
|
const maxLength = fieldMetadata?.maxLength;
|
|
84
|
+
const fieldDescription = fieldMetadata?.description;
|
|
83
85
|
const hasValueChange = useRef(false);
|
|
84
86
|
|
|
85
87
|
let { value, readOnly, required, disabled } = props;
|
|
@@ -189,6 +191,14 @@ const PegaDxilMyTextInput = props => {
|
|
|
189
191
|
}
|
|
190
192
|
}}
|
|
191
193
|
onResolveSuggestion={onResolveSuggestionHandler}
|
|
194
|
+
{...(enableAdditionalInformation && fieldDescription
|
|
195
|
+
? {
|
|
196
|
+
additionalInfo: {
|
|
197
|
+
heading: label,
|
|
198
|
+
content: fieldDescription
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
: {})}
|
|
192
202
|
/>
|
|
193
203
|
</StyledPegaDxilMyTextInputWrapper>
|
|
194
204
|
);
|
|
@@ -204,14 +214,15 @@ PegaDxilMyTextInput.defaultProps = {
|
|
|
204
214
|
disabled: false,
|
|
205
215
|
readOnly: false,
|
|
206
216
|
required: false,
|
|
207
|
-
testId:
|
|
217
|
+
testId: '',
|
|
208
218
|
fieldMetadata: {},
|
|
209
219
|
additionalProps: {},
|
|
210
220
|
displayMode: null,
|
|
211
221
|
variant: 'inline',
|
|
212
222
|
formatter: '',
|
|
213
223
|
isTableFormatter: false,
|
|
214
|
-
hasSuggestions: false
|
|
224
|
+
hasSuggestions: false,
|
|
225
|
+
enableAdditionalInformation: false
|
|
215
226
|
};
|
|
216
227
|
|
|
217
228
|
PegaDxilMyTextInput.propTypes = {
|
|
@@ -233,7 +244,8 @@ PegaDxilMyTextInput.propTypes = {
|
|
|
233
244
|
variant: PropTypes.string,
|
|
234
245
|
formatter: PropTypes.string,
|
|
235
246
|
isTableFormatter: PropTypes.bool,
|
|
236
|
-
hasSuggestions: PropTypes.bool
|
|
247
|
+
hasSuggestions: PropTypes.bool,
|
|
248
|
+
enableAdditionalInformation: PropTypes.bool
|
|
237
249
|
};
|
|
238
250
|
|
|
239
251
|
export default PegaDxilMyTextInput;
|
|
@@ -31,13 +31,15 @@ const PegaDxilMyTimeOfDay = props => {
|
|
|
31
31
|
additionalProps,
|
|
32
32
|
displayMode,
|
|
33
33
|
variant,
|
|
34
|
-
hasSuggestions
|
|
34
|
+
hasSuggestions,
|
|
35
|
+
fieldMetadata,
|
|
36
|
+
enableAdditionalInformation
|
|
35
37
|
} = props;
|
|
36
38
|
let { formatter } = props;
|
|
37
39
|
const pConn = getPConnect();
|
|
38
40
|
const actions = pConn.getActionsApi();
|
|
39
41
|
const propName = pConn.getStateProps().value;
|
|
40
|
-
|
|
42
|
+
const fieldDescription = fieldMetadata?.description;
|
|
41
43
|
|
|
42
44
|
// BUG-547602: Temporary type coercion for 8.5 until DXAPIs are enhanced to pass original pxViewMetadata JSON, respecting boolean primitives
|
|
43
45
|
let { readOnly, required, disabled } = props;
|
|
@@ -167,6 +169,14 @@ const PegaDxilMyTimeOfDay = props => {
|
|
|
167
169
|
onChange={handleChange}
|
|
168
170
|
onBlur={handleBlur}
|
|
169
171
|
onResolveSuggestion={onResolveSuggestionHandler}
|
|
172
|
+
{...(enableAdditionalInformation && fieldDescription
|
|
173
|
+
? {
|
|
174
|
+
additionalInfo: {
|
|
175
|
+
heading: label,
|
|
176
|
+
content: fieldDescription
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
: {})}
|
|
170
180
|
/>
|
|
171
181
|
</StyledPegaDxilMyTimeOfDayWrapper>
|
|
172
182
|
);
|
|
@@ -183,11 +193,14 @@ PegaDxilMyTimeOfDay.defaultProps = {
|
|
|
183
193
|
required: false,
|
|
184
194
|
pickerInterval: "30",
|
|
185
195
|
clockFormat: 0,
|
|
186
|
-
testId:
|
|
196
|
+
testId: '',
|
|
187
197
|
additionalProps: {},
|
|
188
198
|
displayMode: null,
|
|
189
199
|
variant: "inline",
|
|
190
|
-
formatter:"defaultTime"
|
|
200
|
+
formatter:"defaultTime",
|
|
201
|
+
hasSuggestions: false,
|
|
202
|
+
fieldMetadata: {},
|
|
203
|
+
enableAdditionalInformation: false
|
|
191
204
|
};
|
|
192
205
|
|
|
193
206
|
PegaDxilMyTimeOfDay.propTypes = {
|
|
@@ -207,7 +220,10 @@ PegaDxilMyTimeOfDay.propTypes = {
|
|
|
207
220
|
additionalProps: PropTypes.objectOf(PropTypes.any),
|
|
208
221
|
displayMode: PropTypes.string,
|
|
209
222
|
variant: PropTypes.string,
|
|
210
|
-
formatter : PropTypes.string
|
|
223
|
+
formatter : PropTypes.string,
|
|
224
|
+
hasSuggestions: PropTypes.bool,
|
|
225
|
+
fieldMetadata: PropTypes.objectOf(PropTypes.any),
|
|
226
|
+
enableAdditionalInformation: PropTypes.bool
|
|
211
227
|
};
|
|
212
228
|
|
|
213
229
|
export default PegaDxilMyTimeOfDay;
|
|
@@ -38,12 +38,15 @@ const PegaDxilMyUrl = props => {
|
|
|
38
38
|
propUrlLabel,
|
|
39
39
|
urlLabelSelection,
|
|
40
40
|
tableDisplayAs,
|
|
41
|
-
hasSuggestions
|
|
41
|
+
hasSuggestions,
|
|
42
|
+
fieldMetadata,
|
|
43
|
+
enableAdditionalInformation
|
|
42
44
|
} = props;
|
|
43
45
|
const { formatter } = props;
|
|
44
46
|
const pConn = getPConnect();
|
|
45
47
|
const actions = pConn.getActionsApi();
|
|
46
48
|
const propName = pConn.getStateProps().value;
|
|
49
|
+
const fieldDescription = fieldMetadata?.description;
|
|
47
50
|
const hasValueChange = useRef(false);
|
|
48
51
|
|
|
49
52
|
|
|
@@ -166,6 +169,14 @@ const PegaDxilMyUrl = props => {
|
|
|
166
169
|
}}
|
|
167
170
|
onFocus={actions.onFocus}
|
|
168
171
|
onResolveSuggestion={onResolveSuggestionHandler}
|
|
172
|
+
{...(enableAdditionalInformation && fieldDescription
|
|
173
|
+
? {
|
|
174
|
+
additionalInfo: {
|
|
175
|
+
heading: label,
|
|
176
|
+
content: fieldDescription
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
: {})}
|
|
169
180
|
/>
|
|
170
181
|
</StyledPegaDxilMyUrlWrapper>
|
|
171
182
|
);
|
|
@@ -180,7 +191,7 @@ PegaDxilMyUrl.defaultProps = {
|
|
|
180
191
|
disabled: false,
|
|
181
192
|
readOnly: false,
|
|
182
193
|
required: false,
|
|
183
|
-
testId:
|
|
194
|
+
testId: '',
|
|
184
195
|
displayMode: null,
|
|
185
196
|
additionalProps: {},
|
|
186
197
|
variant: 'inline',
|
|
@@ -196,7 +207,9 @@ PegaDxilMyUrl.defaultProps = {
|
|
|
196
207
|
propUrlLabel: '',
|
|
197
208
|
urlLabelSelection: 'constant',
|
|
198
209
|
tableDisplayAs: 'link',
|
|
199
|
-
hasSuggestions: false
|
|
210
|
+
hasSuggestions: false,
|
|
211
|
+
fieldMetadata: {},
|
|
212
|
+
enableAdditionalInformation: false
|
|
200
213
|
};
|
|
201
214
|
|
|
202
215
|
PegaDxilMyUrl.propTypes = {
|
|
@@ -226,7 +239,9 @@ PegaDxilMyUrl.propTypes = {
|
|
|
226
239
|
propUrlLabel: PropTypes.string,
|
|
227
240
|
urlLabelSelection: PropTypes.string,
|
|
228
241
|
tableDisplayAs: PropTypes.string,
|
|
229
|
-
hasSuggestions: PropTypes.bool
|
|
242
|
+
hasSuggestions: PropTypes.bool,
|
|
243
|
+
fieldMetadata: PropTypes.objectOf(PropTypes.any),
|
|
244
|
+
enableAdditionalInformation: PropTypes.bool
|
|
230
245
|
};
|
|
231
246
|
|
|
232
247
|
export default PegaDxilMyUrl;
|
|
@@ -29,12 +29,21 @@ const PegaDxilMyBoolean = props => {
|
|
|
29
29
|
displayMode,
|
|
30
30
|
variant,
|
|
31
31
|
trueLabel,
|
|
32
|
-
falseLabel
|
|
32
|
+
falseLabel,
|
|
33
|
+
fieldMetadata
|
|
33
34
|
} = props;
|
|
34
35
|
const pConn = getPConnect();
|
|
35
36
|
const actions = pConn.getActionsApi();
|
|
36
37
|
const propName = pConn.getStateProps().value;
|
|
37
38
|
|
|
39
|
+
const fieldAdditionalInfo = fieldMetadata?.additionalInformation;
|
|
40
|
+
const additionalInfo = fieldAdditionalInfo
|
|
41
|
+
? {
|
|
42
|
+
heading: caption,
|
|
43
|
+
content: fieldAdditionalInfo
|
|
44
|
+
}
|
|
45
|
+
: undefined;
|
|
46
|
+
|
|
38
47
|
let { readOnly, required, disabled } = props;
|
|
39
48
|
[readOnly, required, disabled] = [readOnly, required, disabled].map(
|
|
40
49
|
(prop) => prop === true || (typeof prop === 'string' && prop === 'true')
|
|
@@ -62,10 +71,11 @@ const PegaDxilMyBoolean = props => {
|
|
|
62
71
|
pConn.getValidationApi().validate(event.target.checked);
|
|
63
72
|
}}
|
|
64
73
|
data-testid={testId}
|
|
74
|
+
additionalInfo={additionalInfo}
|
|
65
75
|
/>
|
|
66
76
|
);
|
|
67
77
|
|
|
68
|
-
const parentTestId = testId ? `${testId}-parent` : testId;
|
|
78
|
+
const parentTestId = testId === '' ? `${testId}-parent` : testId;
|
|
69
79
|
|
|
70
80
|
let displayComponent;
|
|
71
81
|
if (displayMode) {
|
|
@@ -138,13 +148,14 @@ PegaDxilMyBoolean.defaultProps = {
|
|
|
138
148
|
disabled: false,
|
|
139
149
|
readOnly: false,
|
|
140
150
|
required: false,
|
|
141
|
-
testId:
|
|
151
|
+
testId: '',
|
|
142
152
|
additionalProps: {},
|
|
143
153
|
displayMode: null,
|
|
144
154
|
variant: 'inline',
|
|
145
155
|
displayValue: 'Yes/No',
|
|
146
156
|
trueLabel: '',
|
|
147
|
-
falseLabel: ''
|
|
157
|
+
falseLabel: '',
|
|
158
|
+
fieldMetadata: {}
|
|
148
159
|
};
|
|
149
160
|
|
|
150
161
|
PegaDxilMyBoolean.propTypes = {
|
|
@@ -164,7 +175,8 @@ PegaDxilMyBoolean.propTypes = {
|
|
|
164
175
|
variant: PropTypes.string,
|
|
165
176
|
displayValue: PropTypes.string,
|
|
166
177
|
trueLabel: PropTypes.string,
|
|
167
|
-
falseLabel: PropTypes.string
|
|
178
|
+
falseLabel: PropTypes.string,
|
|
179
|
+
fieldMetadata: PropTypes.objectOf(PropTypes.any)
|
|
168
180
|
};
|
|
169
181
|
|
|
170
182
|
export default PegaDxilMyBoolean;
|
|
@@ -46,13 +46,23 @@ const PegaDxilMyCurrency = props => {
|
|
|
46
46
|
negative,
|
|
47
47
|
notation,
|
|
48
48
|
isTableFormatter,
|
|
49
|
-
hasSuggestions
|
|
49
|
+
hasSuggestions,
|
|
50
|
+
fieldMetadata,
|
|
51
|
+
enableAdditionalInformation
|
|
50
52
|
} = props;
|
|
51
53
|
let { currencyDisplay } = props;
|
|
52
54
|
const pConn = getPConnect();
|
|
53
55
|
const actions = pConn.getActionsApi();
|
|
54
56
|
const propName = pConn.getStateProps().value;
|
|
55
57
|
const [currencyValue, setCurrencyValue] = useState(() => formatValue(value));
|
|
58
|
+
const fieldDescription = fieldMetadata?.description;
|
|
59
|
+
const additionalInfo =
|
|
60
|
+
enableAdditionalInformation && fieldDescription
|
|
61
|
+
? {
|
|
62
|
+
heading: label,
|
|
63
|
+
content: fieldDescription
|
|
64
|
+
}
|
|
65
|
+
: undefined;
|
|
56
66
|
|
|
57
67
|
let { readOnly, required, disabled } = props;
|
|
58
68
|
|
|
@@ -211,6 +221,7 @@ const PegaDxilMyCurrency = props => {
|
|
|
211
221
|
readOnly={readOnly}
|
|
212
222
|
required={required}
|
|
213
223
|
data-testid={testId}
|
|
224
|
+
additionalInfo={additionalInfo}
|
|
214
225
|
onChange={(enteredValue) => {
|
|
215
226
|
if (hasSuggestions) {
|
|
216
227
|
setStatus(undefined);
|
|
@@ -248,7 +259,7 @@ PegaDxilMyCurrency.defaultProps = {
|
|
|
248
259
|
allowDecimals: true,
|
|
249
260
|
currencyISOCode: 'USD',
|
|
250
261
|
isoCodeSelection: 'constant',
|
|
251
|
-
testId:
|
|
262
|
+
testId: '',
|
|
252
263
|
displayMode: null,
|
|
253
264
|
additionalProps: {},
|
|
254
265
|
variant: 'inline',
|
|
@@ -260,7 +271,9 @@ PegaDxilMyCurrency.defaultProps = {
|
|
|
260
271
|
currencyDecimalPrecision: 'auto',
|
|
261
272
|
isTableFormatter: false,
|
|
262
273
|
alwaysShowISOCode: false,
|
|
263
|
-
hasSuggestions: false
|
|
274
|
+
hasSuggestions: false,
|
|
275
|
+
fieldMetadata: {},
|
|
276
|
+
enableAdditionalInformation: false
|
|
264
277
|
};
|
|
265
278
|
|
|
266
279
|
PegaDxilMyCurrency.propTypes = {
|
|
@@ -290,7 +303,9 @@ PegaDxilMyCurrency.propTypes = {
|
|
|
290
303
|
currencyDecimalPrecision: PropTypes.string,
|
|
291
304
|
isTableFormatter: PropTypes.bool,
|
|
292
305
|
alwaysShowISOCode: PropTypes.bool,
|
|
293
|
-
hasSuggestions: PropTypes.bool
|
|
306
|
+
hasSuggestions: PropTypes.bool,
|
|
307
|
+
fieldMetadata: PropTypes.objectOf(PropTypes.any),
|
|
308
|
+
enableAdditionalInformation: PropTypes.bool
|
|
294
309
|
};
|
|
295
310
|
|
|
296
311
|
export default PegaDxilMyCurrency;
|