@pega/dx-component-builder-sdk 23.1.15 → 24.1.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/README.md +3 -3
- package/package.json +1 -1
- package/src/cli.js +1 -1
- package/src/constants.js +4 -0
- package/src/tasks/build-all/helper.js +6 -0
- package/src/tasks/build-comp/helper.js +6 -0
- package/src/tasks/bundle/builderAngular/webpack.config.js +14 -1
- package/src/tasks/bundle/builderAssociated/webpack.config.js +13 -0
- package/src/tasks/bundle/builderReact/webpack.config.js +14 -1
- package/src/tasks/create/templates/Constellation/field/Boolean/index.tsx.mustache +3 -2
- package/src/tasks/create/templates/Constellation/field/Icon-Button-URL/PConnProps.d.ts.mustache +46 -0
- package/src/tasks/create/templates/Constellation/field/Icon-Button-URL/config.json.mustache +64 -0
- package/src/tasks/create/templates/Constellation/field/Icon-Button-URL/demo.stories.tsx.mustache +99 -0
- package/src/tasks/create/templates/Constellation/field/Icon-Button-URL/index.tsx.mustache +204 -0
- package/src/tasks/create/templates/Constellation/field/Icon-Button-URL/mock.ts.mustache +5 -0
- package/src/tasks/create/templates/Constellation/field/Icon-Button-URL/styles.ts.mustache +8 -0
- package/src/tasks/create/templates/Constellation/field/Picklist/index.tsx.mustache +0 -1
- package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/date.ts.mustache +15 -37
- package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/index.tsx.mustache +11 -0
- package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/utils.ts.mustache +3 -0
- package/src/tasks/create/templates/Constellation/field/Text/index.tsx.mustache +94 -4
- package/src/tasks/create/templates/Constellation/template/DETAILS/Avatar.tsx.mustache +78 -0
- package/src/tasks/create/templates/Constellation/template/DETAILS/DetailsRender.tsx.mustache +55 -0
- package/src/tasks/create/templates/Constellation/template/DETAILS/HighlightRender.tsx.mustache +49 -0
- package/src/tasks/create/templates/Constellation/template/DETAILS/Operator.tsx.mustache +218 -0
- package/src/tasks/create/templates/Constellation/template/DETAILS/demo.stories.tsx.mustache +77 -23
- package/src/tasks/create/templates/Constellation/template/DETAILS/index.tsx.mustache +51 -40
- package/src/tasks/create/templates/Constellation/template/DETAILS/mock.ts.mustache +78 -20
- package/src/tasks/create/templates/Constellation/template/DETAILS/styles.ts.mustache +16 -0
- package/src/tasks/create/templates/Constellation/template/DETAILS-region/Avatar.tsx.mustache +78 -0
- package/src/tasks/create/templates/Constellation/template/DETAILS-region/DetailsRender.tsx.mustache +55 -0
- package/src/tasks/create/templates/Constellation/template/DETAILS-region/HighlightRender.tsx.mustache +49 -0
- package/src/tasks/create/templates/Constellation/template/DETAILS-region/Operator.tsx.mustache +218 -0
- package/src/tasks/create/templates/Constellation/template/DETAILS-region/demo.stories.tsx.mustache +95 -26
- package/src/tasks/create/templates/Constellation/template/DETAILS-region/index.tsx.mustache +42 -39
- package/src/tasks/create/templates/Constellation/template/DETAILS-region/mock.ts.mustache +68 -10
- package/src/tasks/create/templates/Constellation/template/DETAILS-region/styles.ts.mustache +15 -0
- package/src/tasks/create/templates/Constellation/template/FORM/DetailsRender.tsx +59 -0
- package/src/tasks/create/templates/Constellation/template/FORM/demo.stories.tsx.mustache +73 -8
- package/src/tasks/create/templates/Constellation/template/FORM/index.tsx.mustache +33 -5
- package/src/tasks/create/templates/Constellation/template/FORM-region/DetailsRender.tsx +59 -0
- package/src/tasks/create/templates/Constellation/template/FORM-region/demo.stories.tsx.mustache +95 -15
- package/src/tasks/create/templates/Constellation/template/FORM-region/index.tsx.mustache +29 -7
- package/src/tasks/create/templates/Constellation/template/PAGE/GetNextWork.tsx.mustache +2 -1
- package/src/tasks/create/templates/Constellation/template/PAGE/localizations.json.mustache +4 -2
- package/src/tasks/create/templates/Constellation/widget/PAGE/demo.stories.tsx.mustache +87 -6
- package/src/tasks/create/templates/Constellation/widget/PAGE/index.tsx.mustache +67 -5
- package/src/tasks/create/templates/SDK-Angular/field/Boolean/boolean.component.html.mustache +19 -18
- package/src/tasks/create/templates/SDK-Angular/field/Boolean/boolean.component.ts.mustache +127 -44
- package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/config.json.mustache +64 -0
- package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/demo.stories.tsx.mustache +63 -0
- package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/icon-button-url.component.html.mustache +40 -0
- package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/icon-button-url.component.scss.mustache +24 -0
- package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/icon-button-url.component.spec.ts.mustache +26 -0
- package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/icon-button-url.component.ts.mustache +195 -0
- package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/mock.ts.mustache +37 -0
- package/src/tasks/create/templates/SDK-Angular/field/Text-URL/text-url.component.html.mustache +1 -0
- package/src/tasks/create/templates/SDK-Angular/field/Text-URL/text-url.component.ts.mustache +2 -0
- package/src/tasks/create/templates/SDK-Angular/field/TimeOfDay/time-of-day.component.html.mustache +1 -0
- package/src/tasks/create/templates/SDK-Angular/field/TimeOfDay/time-of-day.component.ts.mustache +2 -0
- package/src/tasks/create/templates/SDK-Angular/template/FORM-region/form.component.scss.mustache +1 -1
- package/src/tasks/create/templates/SDK-Angular/widget/CASE/case.component.ts.mustache +2 -2
- package/src/tasks/create/templates/SDK-Angular/widget/PAGE/demo.stories.tsx.mustache +22 -5
- package/src/tasks/create/templates/SDK-Angular/widget/PAGE/mock.ts.mustache +25 -0
- package/src/tasks/create/templates/SDK-Angular/widget/PAGE/page.component.html.mustache +11 -1
- package/src/tasks/create/templates/SDK-Angular/widget/PAGE/page.component.ts.mustache +93 -1
- package/src/tasks/create/templates/SDK-React/field/Boolean/demo.stories.tsx.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Boolean/mock.ts.mustache +8 -8
- package/src/tasks/create/templates/SDK-React/field/Date/index.tsx.mustache +2 -2
- package/src/tasks/create/templates/SDK-React/field/Date/mock.ts.mustache +7 -7
- package/src/tasks/create/templates/SDK-React/field/DateTime/demo.stories.tsx.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/DateTime/index.tsx.mustache +2 -3
- package/src/tasks/create/templates/SDK-React/field/DateTime/mock.ts.mustache +6 -6
- package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +51 -35
- package/src/tasks/create/templates/SDK-React/field/Decimal/mock.ts.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/config.json.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/demo.stories.tsx.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +47 -37
- package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/mock.ts.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/config.json.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +36 -21
- package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/mock.ts.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/config.json.mustache +64 -0
- package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/demo.stories.tsx.mustache +91 -0
- package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/index.tsx.mustache +160 -0
- package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/mock.ts.mustache +4 -0
- package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/styles.js.mustache +7 -0
- package/src/tasks/create/templates/SDK-React/field/Integer/config.json.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Integer/index.tsx.mustache +19 -20
- package/src/tasks/create/templates/SDK-React/field/Integer/mock.ts.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Picklist/index.tsx.mustache +26 -26
- package/src/tasks/create/templates/SDK-React/field/Picklist-RadioButtons/mock.ts.mustache +0 -1
- package/src/tasks/create/templates/SDK-React/field/Text/config.json.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Text/index.tsx.mustache +0 -1
- package/src/tasks/create/templates/SDK-React/field/Text/mock.ts.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Text-Email/config.json.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Text-Email/mock.ts.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Text-Input/config.json.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Text-Input/index.tsx.mustache +0 -1
- package/src/tasks/create/templates/SDK-React/field/Text-Input/mock.ts.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/index.tsx.mustache +1 -3
- package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/mock.ts.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/Text-Phone/index.tsx.mustache +17 -9
- package/src/tasks/create/templates/SDK-React/field/Text-URL/index.tsx.mustache +1 -2
- package/src/tasks/create/templates/SDK-React/field/Text-URL/mock.ts.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/field/TimeOfDay/demo.stories.tsx.mustache +4 -4
- package/src/tasks/create/templates/SDK-React/field/TimeOfDay/index.tsx.mustache +0 -2
- package/src/tasks/create/templates/SDK-React/field/TimeOfDay/mock.ts.mustache +6 -6
- package/src/tasks/create/templates/SDK-React/template/DETAILS/demo.stories.tsx.mustache +1 -7
- package/src/tasks/create/templates/SDK-React/template/DETAILS/index.tsx.mustache +4 -9
- package/src/tasks/create/templates/SDK-React/template/DETAILS/mock.ts.mustache +197 -164
- package/src/tasks/create/templates/SDK-React/template/DETAILS-region/demo.stories.tsx.mustache +1 -6
- package/src/tasks/create/templates/SDK-React/template/DETAILS-region/index.tsx.mustache +4 -9
- package/src/tasks/create/templates/SDK-React/template/DETAILS-region/mock.ts.mustache +207 -163
- package/src/tasks/create/templates/SDK-React/template/FORM/config.json.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/template/FORM/demo.stories.tsx.mustache +13 -1
- package/src/tasks/create/templates/SDK-React/template/FORM/index.tsx.mustache +14 -16
- package/src/tasks/create/templates/SDK-React/template/FORM/utils.ts.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/template/FORM-region/demo.stories.tsx.mustache +0 -2
- package/src/tasks/create/templates/SDK-React/template/FORM-region/mock.ts.mustache +121 -122
- package/src/tasks/create/templates/SDK-React/template/PAGE/OneColumn.tsx.mustache +12 -13
- package/src/tasks/create/templates/SDK-React/template/PAGE/demo.stories.tsx.mustache +1 -1
- package/src/tasks/create/templates/SDK-React/template/PAGE/index.tsx.mustache +3 -5
- package/src/tasks/create/templates/SDK-React/template/PAGE/mock.ts.mustache +8 -9
- package/src/tasks/create/templates/SDK-React/widget/CASE/config.json.mustache +2 -2
- package/src/tasks/create/templates/SDK-React/widget/CASE/demo.stories.tsx.mustache +19 -20
- package/src/tasks/create/templates/SDK-React/widget/CASE/index.tsx.mustache +3 -3
- package/src/tasks/create/templates/SDK-React/widget/PAGE/config.json.mustache +43 -43
- package/src/tasks/create/templates/SDK-React/widget/PAGE/demo.stories.tsx.mustache +45 -2
- package/src/tasks/create/templates/SDK-React/widget/PAGE/index.tsx.mustache +168 -3
- package/src/tasks/create/templates/SDK-React/widget/PAGE/mock.ts.mustache +26 -1
- package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/demo.stories.tsx.mustache +20 -21
- package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/index.tsx.mustache +0 -1
- package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/mock.ts.mustache +0 -1
- package/src/tasks/create-all/index.js +3 -0
- package/src/tasks/publish/helper.js +4 -0
- package/src/tasks/publish-all/helper.js +6 -2
- package/src/tasks/validator/index.js +7 -1
- package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/index.tsx +94 -4
- package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/config.json +1 -1
- package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/index.tsx +0 -1
- package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/mock.ts +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
- package/tests/assets/sdk-r/components/create/override-sdk/field/CancelAlert/CancelAlert.tsx +2 -0
- package/tests/assets/sdk-r/components/create/override-sdk/field/Currency/Currency.tsx +36 -26
- package/tests/assets/sdk-r/components/create/override-sdk/field/Decimal/Decimal.tsx +33 -19
- package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/Multiselect.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/field/Percentage/Percentage.tsx +33 -18
- package/tests/assets/sdk-r/components/create/override-sdk/field/Phone/Phone.tsx +16 -7
- package/tests/assets/sdk-r/components/create/override-sdk/field/ScalarList/ScalarList.tsx +2 -0
- package/tests/assets/sdk-r/components/create/override-sdk/field/UserReference/UserReference.tsx +11 -1
- package/tests/assets/sdk-r/components/create/override-sdk/infra/Assignment/Assignment.tsx +28 -1
- package/tests/assets/sdk-r/components/create/override-sdk/infra/DashboardFilter/DashboardFilter.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/infra/DeferLoad/DeferLoad.tsx +5 -1
- package/tests/assets/sdk-r/components/create/override-sdk/infra/MultiStep/MultiStep.tsx +3 -1
- package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.tsx +2 -2
- package/tests/assets/sdk-r/components/create/override-sdk/template/CaseView/CaseView.tsx +2 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/DataReference.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/utils/index.ts +2 -7
- package/tests/assets/sdk-r/components/create/override-sdk/template/Details/Details.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/DetailsThreeColumn/DetailsThreeColumn.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/DetailsTwoColumn/DetailsTwoColumn.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +2 -0
- package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/ListView.tsx +20 -31
- package/tests/assets/sdk-r/components/create/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/NarrowWideDetails/NarrowWideDetails.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/PromotedFilters/PromotedFilters.tsx +1 -0
- package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +4 -0
- package/tests/assets/sdk-r/components/create/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/WideNarrowDetails/WideNarrowDetails.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/Attachment.tsx +3 -2
- package/tests/assets/sdk-r/components/create/override-sdk/widget/FileUtility/FileUtility.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/widget/QuickCreate/QuickCreate.tsx +1 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/index.tsx +3 -2
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/PConnProps.d.ts +46 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +99 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/index.tsx +201 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/mock.ts +5 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/styles.ts +8 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/index.tsx +0 -1
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/date.ts +15 -37
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/index.tsx +11 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/utils.ts +3 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/index.tsx +94 -4
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/Avatar.tsx +78 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/DetailsRender.tsx +52 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/HighlightRender.tsx +46 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/Operator.tsx +215 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/demo.stories.tsx +77 -23
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/index.tsx +48 -37
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/mock.ts +78 -20
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/styles.ts +16 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/DetailsRender.tsx +59 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/demo.stories.tsx +73 -8
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/index.tsx +30 -5
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/GetNextWork.tsx +2 -1
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/localizations.json +4 -2
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/Avatar.tsx +78 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +52 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/HighlightRender.tsx +46 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/Operator.tsx +215 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +95 -26
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +39 -36
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/mock.ts +68 -10
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/styles.ts +15 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +59 -0
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +95 -15
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/index.tsx +23 -4
- package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/demo.stories.tsx +87 -6
- package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/index.tsx +67 -5
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/demo.stories.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/mock.ts +8 -8
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/config.json +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/demo.stories.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +44 -34
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/mock.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/index.tsx +2 -2
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/mock.ts +7 -7
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/demo.stories.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/index.tsx +2 -3
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/mock.ts +6 -6
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +48 -32
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/mock.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/config.json +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/mock.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/config.json +64 -0
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +91 -0
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/index.tsx +157 -0
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/mock.ts +4 -0
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/styles.js +7 -0
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/config.json +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/index.tsx +16 -17
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/mock.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/index.tsx +1 -3
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/mock.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/config.json +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +34 -19
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/mock.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/index.tsx +17 -9
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/index.tsx +23 -23
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyRadiobuttons/mock.ts +0 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/config.json +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/index.tsx +0 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/mock.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/config.json +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/index.tsx +0 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/mock.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +4 -4
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/index.tsx +0 -2
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/mock.ts +6 -6
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/index.tsx +1 -2
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/mock.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/demo.stories.tsx +1 -7
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/index.tsx +4 -9
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/mock.ts +197 -164
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/config.json +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/demo.stories.tsx +13 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/index.tsx +11 -13
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/utils.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/OneColumn.tsx +12 -13
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/demo.stories.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/index.tsx +3 -5
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/mock.ts +8 -9
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +1 -6
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +4 -9
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/mock.ts +207 -163
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +0 -2
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/mock.ts +121 -122
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/config.json +2 -2
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/demo.stories.tsx +19 -20
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/index.tsx +3 -3
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +20 -21
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +0 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/mock.ts +0 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/config.json +43 -43
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/demo.stories.tsx +45 -2
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/index.tsx +168 -3
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/mock.ts +26 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/CancelAlert/CancelAlert.tsx +2 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Currency/Currency.tsx +36 -26
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Decimal/Decimal.tsx +33 -19
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/Multiselect.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Percentage/Percentage.tsx +33 -18
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Phone/Phone.tsx +16 -7
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/ScalarList/ScalarList.tsx +2 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/UserReference/UserReference.tsx +11 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Assignment/Assignment.tsx +28 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/DashboardFilter/DashboardFilter.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/DeferLoad/DeferLoad.tsx +5 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/MultiStep/MultiStep.tsx +3 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.tsx +2 -2
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseView/CaseView.tsx +2 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/DataReference/DataReference.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/DefaultForm/utils/index.ts +2 -7
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/Details/Details.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/DetailsThreeColumn/DetailsThreeColumn.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/DetailsTwoColumn/DetailsTwoColumn.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +2 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/ListView.tsx +20 -31
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/NarrowWideDetails/NarrowWideDetails.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/PromotedFilters/PromotedFilters.tsx +1 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +4 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/WideNarrowDetails/WideNarrowDetails.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/Attachment.tsx +3 -2
- package/tests/assets/sdk-r/components/createAll/override-sdk/widget/FileUtility/FileUtility.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/widget/QuickCreate/QuickCreate.tsx +1 -0
|
@@ -1,7 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Card,
|
|
3
|
+
CardContent,
|
|
4
|
+
CardHeader,
|
|
5
|
+
Typography,
|
|
6
|
+
CardActions,
|
|
7
|
+
Button,
|
|
8
|
+
TableContainer,
|
|
9
|
+
Table,
|
|
10
|
+
TableBody,
|
|
11
|
+
TableHead,
|
|
12
|
+
withStyles,
|
|
13
|
+
createStyles,
|
|
14
|
+
Theme,
|
|
15
|
+
TableCell,
|
|
16
|
+
TableRow
|
|
17
|
+
} from '@material-ui/core';
|
|
2
18
|
import { makeStyles } from '@material-ui/core/styles';
|
|
3
19
|
import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
|
|
4
20
|
import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
|
|
21
|
+
import isDeepEqual from 'fast-deep-equal/react';
|
|
22
|
+
import { Utils } from '@pega/react-sdk-components/lib/components/helpers/utils';
|
|
23
|
+
import { useRef, useEffect, useState } from 'react';
|
|
5
24
|
|
|
6
25
|
interface {{COMPONENT_CLASS_NAME}}Props extends PConnProps {
|
|
7
26
|
// If any, enter additional props that only exist on this component
|
|
@@ -20,13 +39,29 @@ const useStyles = makeStyles(theme => ({
|
|
|
20
39
|
}
|
|
21
40
|
}));
|
|
22
41
|
|
|
23
|
-
|
|
42
|
+
const StyledTableCell = withStyles((theme: Theme) =>
|
|
43
|
+
createStyles({
|
|
44
|
+
head: {
|
|
45
|
+
borderWidth: '1px',
|
|
46
|
+
borderStyle: 'solid',
|
|
47
|
+
borderColor: 'silver',
|
|
48
|
+
backgroundColor: theme.palette.text.disabled,
|
|
49
|
+
color: theme.palette.getContrastText(theme.palette.text.disabled)
|
|
50
|
+
},
|
|
51
|
+
body: {
|
|
52
|
+
borderWidth: '1px',
|
|
53
|
+
borderStyle: 'solid',
|
|
54
|
+
borderColor: 'silver'
|
|
55
|
+
// fontSize: 14,
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
)(TableCell);
|
|
24
59
|
|
|
25
60
|
// Page Widget example is the "App Announcment"
|
|
26
61
|
|
|
27
62
|
// props passed in combination of props from property panel (config.json) and run time props from Constellation
|
|
28
63
|
export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}Props) {
|
|
29
|
-
const { header = '', description = '', datasource = [], whatsnewlink = '' } = props;
|
|
64
|
+
const { header = '', description = '', datasource = [], whatsnewlink = '', getPConnect } = props;
|
|
30
65
|
let details = [];
|
|
31
66
|
if (datasource && datasource.source) {
|
|
32
67
|
details = datasource.source.map(item => {
|
|
@@ -34,12 +69,136 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
|
|
|
34
69
|
});
|
|
35
70
|
}
|
|
36
71
|
|
|
72
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
73
|
+
const [waitingForData, setWaitingForData] = useState<boolean>(true);
|
|
74
|
+
const thePConn = getPConnect();
|
|
75
|
+
const caseID = thePConn.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef marked correctly
|
|
76
|
+
const dataViewName = 'D_pyWorkHistory';
|
|
77
|
+
const context = thePConn.getContextName();
|
|
78
|
+
|
|
79
|
+
const rowData: any = useRef([]);
|
|
80
|
+
|
|
37
81
|
const classes = useStyles();
|
|
38
82
|
|
|
83
|
+
const displayedColumns = [
|
|
84
|
+
{
|
|
85
|
+
label: thePConn.getLocalizedValue('Case type', '', ''),
|
|
86
|
+
type: 'TextInput',
|
|
87
|
+
fieldName: 'pxProcessName'
|
|
88
|
+
}, // 2nd and 3rd args empty string until typedef marked correctly
|
|
89
|
+
{
|
|
90
|
+
label: thePConn.getLocalizedValue('Key', '', ''),
|
|
91
|
+
type: 'TextInput',
|
|
92
|
+
fieldName: 'pxRefObjectInsName'
|
|
93
|
+
}, // 2nd and 3rd args empty string until typedef marked correctly
|
|
94
|
+
{
|
|
95
|
+
label: thePConn.getLocalizedValue('Status', '', ''),
|
|
96
|
+
type: 'TextInput',
|
|
97
|
+
fieldName: 'pyAssignmentStatus'
|
|
98
|
+
}, // 2nd and 3rd args empty string until typedef marked correctly
|
|
99
|
+
{
|
|
100
|
+
label: thePConn.getLocalizedValue('Stage', '', ''),
|
|
101
|
+
type: 'TextInput',
|
|
102
|
+
fieldName: 'pxTaskLabel'
|
|
103
|
+
} // 2nd and 3rd args empty string until typedef marked correctly
|
|
104
|
+
];
|
|
105
|
+
|
|
106
|
+
function computeRowData(rows: Object[]): void {
|
|
107
|
+
const theRowData: Object[] = [];
|
|
108
|
+
|
|
109
|
+
rows.forEach((row: any, rowIndex: number) => {
|
|
110
|
+
// Now, for each property in the index of row properties (displayedColumns), add an object
|
|
111
|
+
// to a new array of values
|
|
112
|
+
const rowDisplayValues: any = [];
|
|
113
|
+
|
|
114
|
+
displayedColumns.forEach((column: any, rowValIndex) => {
|
|
115
|
+
const theType = column.type;
|
|
116
|
+
const theFieldName = column.fieldName;
|
|
117
|
+
const theValue =
|
|
118
|
+
theType === 'Date' || theType === 'DateTime' ? Utils.generateDateTime(row[theFieldName], 'DateTime-Short') : row[theFieldName];
|
|
119
|
+
rowDisplayValues[rowValIndex] = theValue;
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
theRowData[rowIndex] = rowDisplayValues;
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
if (!isDeepEqual(theRowData, rowData.current)) {
|
|
126
|
+
// Only update rowData.current when it actually changes (to prevent infinite loop)
|
|
127
|
+
rowData.current = theRowData;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
39
131
|
const handleClick = () => {
|
|
40
132
|
window.open(whatsnewlink);
|
|
41
133
|
};
|
|
42
134
|
|
|
135
|
+
// Get the case history data when component mounted/initialized
|
|
136
|
+
useEffect(() => {
|
|
137
|
+
let bCallSetWaitingForData = true;
|
|
138
|
+
|
|
139
|
+
const worklistData = PCore.getDataApiUtils().getData(
|
|
140
|
+
dataViewName,
|
|
141
|
+
{ dataViewParameters: [{ CaseInstanceKey: caseID }] } as any,
|
|
142
|
+
context
|
|
143
|
+
) as Promise<any>;
|
|
144
|
+
|
|
145
|
+
worklistData.then((worklistJSON: any) => {
|
|
146
|
+
const tableDataResults = worklistJSON.data.data;
|
|
147
|
+
|
|
148
|
+
// compute the rowData using the tableDataResults
|
|
149
|
+
computeRowData(tableDataResults);
|
|
150
|
+
|
|
151
|
+
// At this point, if we have data ready to render and haven't been asked
|
|
152
|
+
// to NOT call setWaitingForData, we can stop progress indicator
|
|
153
|
+
if (bCallSetWaitingForData) {
|
|
154
|
+
setWaitingForData(false);
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
return () => {
|
|
159
|
+
// Inspired by https://juliangaramendy.dev/blog/use-promise-subscription
|
|
160
|
+
// The useEffect closure lets us have access to the bCallSetWaitingForData
|
|
161
|
+
// variable inside the useEffect and inside the "then" clause of the
|
|
162
|
+
// historyData promise
|
|
163
|
+
// So, if this cleanup code gets run before the promise .then is called,
|
|
164
|
+
// we can avoid calling the useState setter which would otherwise show a warning
|
|
165
|
+
bCallSetWaitingForData = false;
|
|
166
|
+
};
|
|
167
|
+
}, []);
|
|
168
|
+
|
|
169
|
+
function getTableHeader() {
|
|
170
|
+
const theRowKey = 'CaseHistory.TableHeader';
|
|
171
|
+
|
|
172
|
+
const theHeaderCells: any[] = displayedColumns.map((headerCol, index) => {
|
|
173
|
+
const theCellKey = `${theRowKey}.${index}`;
|
|
174
|
+
return <StyledTableCell key={theCellKey}>{headerCol.label}</StyledTableCell>;
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
return <TableRow key={theRowKey}>{theHeaderCells}</TableRow>;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function getTableData() {
|
|
181
|
+
const theDataRows: any[] = [];
|
|
182
|
+
|
|
183
|
+
// Note: using rowData.current since we're using useRef as a mutatable
|
|
184
|
+
// value that's only updated when it changes.
|
|
185
|
+
if (rowData.current.length > 0) {
|
|
186
|
+
rowData.current.forEach((dataRow: Object[], index) => {
|
|
187
|
+
// using dataRow[0]-dataRow[1] as the array key since it's a unique value
|
|
188
|
+
const theKey = `CaseHistory-${index}`;
|
|
189
|
+
theDataRows.push(
|
|
190
|
+
<TableRow key={theKey}>
|
|
191
|
+
<StyledTableCell>{dataRow[0] ? (dataRow[0] as any) : '---'}</StyledTableCell>
|
|
192
|
+
<StyledTableCell>{dataRow[1] ? (dataRow[1] as any) : '---'}</StyledTableCell>
|
|
193
|
+
<StyledTableCell>{dataRow[2] ? (dataRow[2] as any) : '---'}</StyledTableCell>
|
|
194
|
+
<StyledTableCell>{dataRow[3] ? (dataRow[3] as any) : '---'}</StyledTableCell>
|
|
195
|
+
</TableRow>
|
|
196
|
+
);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
return theDataRows;
|
|
200
|
+
}
|
|
201
|
+
|
|
43
202
|
return (
|
|
44
203
|
<Styled{{COMPONENT_CLASS_NAME}}Wrapper>
|
|
45
204
|
<Card title='AppAnnouncement' className={classes.root}>
|
|
@@ -63,6 +222,12 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
|
|
|
63
222
|
</Button>
|
|
64
223
|
</CardActions>
|
|
65
224
|
</Card>
|
|
225
|
+
<TableContainer>
|
|
226
|
+
<Table>
|
|
227
|
+
<TableHead>{getTableHeader()}</TableHead>
|
|
228
|
+
<TableBody>{getTableData()}</TableBody>
|
|
229
|
+
</Table>
|
|
230
|
+
</TableContainer>
|
|
66
231
|
</Styled{{COMPONENT_CLASS_NAME}}Wrapper>
|
|
67
232
|
);
|
|
68
233
|
}
|
|
@@ -20,4 +20,29 @@ export const configProps = {
|
|
|
20
20
|
],
|
|
21
21
|
fields: {}
|
|
22
22
|
}
|
|
23
|
-
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const worklistData = {
|
|
26
|
+
data: {
|
|
27
|
+
data: [
|
|
28
|
+
{
|
|
29
|
+
pxProcessName: 'Loan',
|
|
30
|
+
pxRefObjectInsName: ' A-8002',
|
|
31
|
+
pyAssignmentStatus: 'New',
|
|
32
|
+
pxTaskLabel: 'Details'
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
pxProcessName: 'Loan',
|
|
36
|
+
pxRefObjectInsName: ' A-7001',
|
|
37
|
+
pyAssignmentStatus: 'Open',
|
|
38
|
+
pxTaskLabel: 'Info'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
pxProcessName: 'Loan',
|
|
42
|
+
pxRefObjectInsName: ' A-9000',
|
|
43
|
+
pyAssignmentStatus: 'Open',
|
|
44
|
+
pxTaskLabel: 'Amount'
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
};
|
|
@@ -3,26 +3,6 @@ import type { Meta, StoryObj } from '@storybook/react';
|
|
|
3
3
|
import {{COMPONENT_CLASS_NAME}} from './index';
|
|
4
4
|
import { caseOpConfig, operatorDetails } from './mock';
|
|
5
5
|
|
|
6
|
-
window.PCore = {
|
|
7
|
-
...window.PCore,
|
|
8
|
-
getUserApi: (): any => {
|
|
9
|
-
return {
|
|
10
|
-
getOperatorDetails: () => {
|
|
11
|
-
return new Promise(resolve => {
|
|
12
|
-
resolve(operatorDetails);
|
|
13
|
-
});
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
},
|
|
17
|
-
getLocaleUtils: (): any => {
|
|
18
|
-
return {
|
|
19
|
-
getLocaleValue: val => {
|
|
20
|
-
return val;
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
6
|
const meta: Meta<typeof {{COMPONENT_CLASS_NAME}}> = {
|
|
27
7
|
title: '{{COMPONENT_CLASS_NAME}}',
|
|
28
8
|
component: {{COMPONENT_CLASS_NAME}},
|
|
@@ -33,7 +13,26 @@ export default meta;
|
|
|
33
13
|
type Story = StoryObj<typeof {{COMPONENT_CLASS_NAME}}>;
|
|
34
14
|
|
|
35
15
|
export const Base{{COMPONENT_CLASS_NAME}}: Story = args => {
|
|
36
|
-
|
|
16
|
+
window.PCore = {
|
|
17
|
+
...window.PCore,
|
|
18
|
+
getUserApi: (): any => {
|
|
19
|
+
return {
|
|
20
|
+
getOperatorDetails: () => {
|
|
21
|
+
return new Promise(resolve => {
|
|
22
|
+
resolve(operatorDetails);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
getLocaleUtils: (): any => {
|
|
28
|
+
return {
|
|
29
|
+
getLocaleValue: val => {
|
|
30
|
+
return val;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
37
36
|
const props = {
|
|
38
37
|
getPConnect: () => {
|
|
39
38
|
return {
|
|
@@ -10,7 +10,6 @@ import Utils from '@pega/react-sdk-components/lib/components/helpers/utils';
|
|
|
10
10
|
import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
|
|
11
11
|
import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
|
|
12
12
|
|
|
13
|
-
|
|
14
13
|
interface {{COMPONENT_CLASS_NAME}}Props extends PConnProps {
|
|
15
14
|
// If any, enter additional props that only exist on this component
|
|
16
15
|
label: string;
|
|
@@ -141,6 +141,7 @@ export const zipComponent = async (componentKey, category = CATEGORY_CUSTOM) =>
|
|
|
141
141
|
|
|
142
142
|
const configJson = `${srcDirectory}/config.json`;
|
|
143
143
|
const configExtJson = `${srcDirectory}/config-ext.json`;
|
|
144
|
+
const localizationJson = `${srcDirectory}/localizations.json`;
|
|
144
145
|
|
|
145
146
|
const zip = new AdmZip();
|
|
146
147
|
|
|
@@ -148,6 +149,9 @@ export const zipComponent = async (componentKey, category = CATEGORY_CUSTOM) =>
|
|
|
148
149
|
if (category === CATEGORY_CUSTOM || category == CATEGORY_CONSTELLATION) {
|
|
149
150
|
zip.addLocalFolder(srcDirectory, 'src/');
|
|
150
151
|
zip.addLocalFile(configJson);
|
|
152
|
+
if (fs.existsSync(localizationJson)) {
|
|
153
|
+
zip.addLocalFile(localizationJson);
|
|
154
|
+
}
|
|
151
155
|
}
|
|
152
156
|
else {
|
|
153
157
|
// check to see if have file
|
|
@@ -127,6 +127,7 @@ export const zipComponent = async (componentKey, category = CATEGORY_CUSTOM) =>
|
|
|
127
127
|
const buildDirectory = await path.join(path.resolve(), 'dist/components', componentKey);
|
|
128
128
|
const configJson = `${srcDirectory}/config.json`;
|
|
129
129
|
const configExtJson = `${srcDirectory}/config-ext.json`;
|
|
130
|
+
const localizationJson = `${srcDirectory}/localizations.json`;
|
|
130
131
|
|
|
131
132
|
const zip = new AdmZip();
|
|
132
133
|
|
|
@@ -134,6 +135,9 @@ export const zipComponent = async (componentKey, category = CATEGORY_CUSTOM) =>
|
|
|
134
135
|
if (category === CATEGORY_CUSTOM || category == CATEGORY_CONSTELLATION) {
|
|
135
136
|
zip.addLocalFolder(srcDirectory, 'src/');
|
|
136
137
|
zip.addLocalFile(configJson);
|
|
138
|
+
if (fs.existsSync(localizationJson)) {
|
|
139
|
+
zip.addLocalFile(localizationJson);
|
|
140
|
+
}
|
|
137
141
|
}
|
|
138
142
|
else {
|
|
139
143
|
// check to see if have file
|
|
@@ -151,7 +155,7 @@ export const zipComponent = async (componentKey, category = CATEGORY_CUSTOM) =>
|
|
|
151
155
|
let configContent = "{ }";
|
|
152
156
|
if (category === CATEGORY_CUSTOM || category === CATEGORY_CONSTELLATION) {
|
|
153
157
|
configContent = Buffer.from(fs.readFileSync(`${srcDirectory}/config.json`)).toString();
|
|
154
|
-
|
|
158
|
+
|
|
155
159
|
// cleanup will remove this directory
|
|
156
160
|
|
|
157
161
|
}
|
|
@@ -160,7 +164,7 @@ export const zipComponent = async (componentKey, category = CATEGORY_CUSTOM) =>
|
|
|
160
164
|
configContent = Buffer.from(fs.readFileSync(`${srcDirectory}/config-ext.json`)).toString();
|
|
161
165
|
|
|
162
166
|
// cleanup will remove this directory
|
|
163
|
-
|
|
167
|
+
|
|
164
168
|
}
|
|
165
169
|
else {
|
|
166
170
|
const tempConfig = { "componentKey" : ""};
|
|
@@ -365,7 +365,13 @@ export default async (option, category = CATEGORY_CUSTOM) => {
|
|
|
365
365
|
}
|
|
366
366
|
|
|
367
367
|
// const data = JSON.parse(fs.readFileSync(path.resolve(configFile), 'utf8'));
|
|
368
|
-
|
|
368
|
+
let data;
|
|
369
|
+
try {
|
|
370
|
+
data = JSON.parse(configData);
|
|
371
|
+
}
|
|
372
|
+
catch (er) {
|
|
373
|
+
throw new Error(`Invalid schema json in config.json: ${er}`);
|
|
374
|
+
}
|
|
369
375
|
|
|
370
376
|
// for now a special case for ScalarList & Group, those doesn't have a "subtype", so for now manualy
|
|
371
377
|
// add one in here, just to pass validation
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Input,
|
|
3
|
+
FieldValueList,
|
|
4
|
+
Text,
|
|
5
|
+
EmailDisplay,
|
|
6
|
+
PhoneDisplay,
|
|
7
|
+
URLDisplay,
|
|
8
|
+
withConfiguration
|
|
9
|
+
} from '@pega/cosmos-react-core';
|
|
2
10
|
|
|
3
11
|
import type { PConnFieldProps } from './PConnProps';
|
|
4
12
|
|
|
@@ -7,7 +15,9 @@ import StyledPegaDxilMyTestTextWrapper from './styles';
|
|
|
7
15
|
// interface for props
|
|
8
16
|
interface PegaDxilMyTestTextProps extends PConnFieldProps {
|
|
9
17
|
// If any, enter additional props that only exist on TextInput here
|
|
10
|
-
|
|
18
|
+
isTableFormatter?: boolean;
|
|
19
|
+
formatter: string;
|
|
20
|
+
variant?: any;
|
|
11
21
|
}
|
|
12
22
|
|
|
13
23
|
// interface for StateProps object
|
|
@@ -16,23 +26,103 @@ interface StateProps {
|
|
|
16
26
|
hasSuggestions: boolean;
|
|
17
27
|
}
|
|
18
28
|
|
|
19
|
-
|
|
29
|
+
export const formatExists = (formatterVal: string) => {
|
|
30
|
+
const formatterValues = [
|
|
31
|
+
'TextInput',
|
|
32
|
+
'WorkStatus',
|
|
33
|
+
'RichText',
|
|
34
|
+
'Email',
|
|
35
|
+
'Phone',
|
|
36
|
+
'URL',
|
|
37
|
+
'Operator'
|
|
38
|
+
];
|
|
39
|
+
let isformatter = false;
|
|
40
|
+
if (formatterValues.includes(formatterVal)) {
|
|
41
|
+
isformatter = true;
|
|
42
|
+
}
|
|
43
|
+
return isformatter;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export const textFormatter = (formatter: string, value: string) => {
|
|
47
|
+
let displayComponent: any = null;
|
|
48
|
+
switch (formatter) {
|
|
49
|
+
case 'TextInput': {
|
|
50
|
+
displayComponent = value;
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
case 'Email': {
|
|
54
|
+
displayComponent = <EmailDisplay value={value} displayText={value} variant='link' />;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
case 'Phone': {
|
|
58
|
+
displayComponent = <PhoneDisplay value={value} variant='link' />;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
case 'URL': {
|
|
62
|
+
displayComponent = (
|
|
63
|
+
<URLDisplay target='_blank' value={value} displayText={value} variant='link' />
|
|
64
|
+
);
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
// no default
|
|
68
|
+
}
|
|
69
|
+
return displayComponent;
|
|
70
|
+
};
|
|
20
71
|
|
|
21
72
|
// props passed in combination of props from property panel (config.json) and run time props from Constellation
|
|
22
73
|
// any default values in config.pros should be set in defaultProps at bottom of this file
|
|
23
74
|
function PegaDxilMyTestText(props: PegaDxilMyTestTextProps) {
|
|
24
|
-
const { getPConnect, value, placeholder, disabled = false, readOnly = false, required = false, label, hideLabel = false, testId } = props;
|
|
75
|
+
const { getPConnect, value, placeholder, disabled = false, displayMode, readOnly = false, required = false, label, hideLabel = false, testId, isTableFormatter = false, variant = 'inline' } = props;
|
|
25
76
|
|
|
26
77
|
const pConn = getPConnect();
|
|
27
78
|
const actions = pConn.getActionsApi();
|
|
28
79
|
const stateProps = pConn.getStateProps() as StateProps;
|
|
29
80
|
const propName: string = stateProps.value;
|
|
81
|
+
const { formatter } = props;
|
|
30
82
|
|
|
31
83
|
const handleOnChange = (event: any) => {
|
|
32
84
|
const { value: updatedValue } = event.target;
|
|
33
85
|
actions.updateFieldValue(propName, updatedValue);
|
|
34
86
|
};
|
|
35
87
|
|
|
88
|
+
if (displayMode === 'LABELS_LEFT' || displayMode === 'DISPLAY_ONLY') {
|
|
89
|
+
let displayComp = value || <span aria-hidden='true'>––</span>;
|
|
90
|
+
if (isTableFormatter && formatExists(formatter)) {
|
|
91
|
+
displayComp = textFormatter(formatter, value);
|
|
92
|
+
}
|
|
93
|
+
return displayMode === 'DISPLAY_ONLY' ? (
|
|
94
|
+
<StyledPegaDxilMyTestTextWrapper> {displayComp} </StyledPegaDxilMyTestTextWrapper>
|
|
95
|
+
) : (
|
|
96
|
+
<StyledPegaDxilMyTestTextWrapper>
|
|
97
|
+
<FieldValueList
|
|
98
|
+
variant={hideLabel ? 'stacked' : variant}
|
|
99
|
+
data-testid={testId}
|
|
100
|
+
fields={[{ id: '1', name: hideLabel ? '' : label, value: displayComp }]}
|
|
101
|
+
/>
|
|
102
|
+
</StyledPegaDxilMyTestTextWrapper>
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (displayMode === 'STACKED_LARGE_VAL') {
|
|
107
|
+
const isValDefined = typeof value !== 'undefined' && value !== '';
|
|
108
|
+
const val = isValDefined ? (
|
|
109
|
+
<Text variant='h1' as='span'>
|
|
110
|
+
{value}
|
|
111
|
+
</Text>
|
|
112
|
+
) : (
|
|
113
|
+
''
|
|
114
|
+
);
|
|
115
|
+
return (
|
|
116
|
+
<StyledPegaDxilMyTestTextWrapper>
|
|
117
|
+
<FieldValueList
|
|
118
|
+
variant='stacked'
|
|
119
|
+
data-testid={testId}
|
|
120
|
+
fields={[{ id: '2', name: hideLabel ? '' : label, value: val }]}
|
|
121
|
+
/>
|
|
122
|
+
</StyledPegaDxilMyTestTextWrapper>
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
36
126
|
return (
|
|
37
127
|
<StyledPegaDxilMyTestTextWrapper>
|
|
38
128
|
<Input
|
|
@@ -109,9 +109,9 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
|
|
|
109
109
|
label={field.config.label}
|
|
110
110
|
InputProps={{
|
|
111
111
|
readOnly: true,
|
|
112
|
-
disableUnderline: true,
|
|
113
112
|
inputProps: {
|
|
114
|
-
style: { cursor: 'pointer' }
|
|
113
|
+
style: { cursor: 'pointer' },
|
|
114
|
+
disableUnderline: true
|
|
115
115
|
}
|
|
116
116
|
}}
|
|
117
117
|
/>
|
|
@@ -21,6 +21,7 @@ export default function CancelAlert(props: CancelAlertProps) {
|
|
|
21
21
|
const actionsAPI = getPConnect().getActionsApi();
|
|
22
22
|
const containerManagerAPI = getPConnect().getContainerManager();
|
|
23
23
|
const isLocalAction = getPConnect().getValue(PCore.getConstants().CASE_INFO.IS_LOCAL_ACTION);
|
|
24
|
+
// @ts-ignore - Property 'options' is private and only accessible within class 'C11nEnv'.
|
|
24
25
|
const isBulkAction = getPConnect()?.options?.isBulkAction;
|
|
25
26
|
const localizedVal = PCore.getLocaleUtils().getLocaleValue;
|
|
26
27
|
const broadCastUtils: any = PCore.getCoexistenceManager().getBroadcastUtils();
|
|
@@ -83,6 +84,7 @@ export default function CancelAlert(props: CancelAlertProps) {
|
|
|
83
84
|
actionsAPI.cancelBulkAction(containerItemID);
|
|
84
85
|
} else {
|
|
85
86
|
dismiss(true);
|
|
87
|
+
// @ts-ignore - Argument of type '{ containerItemID: string; skipReleaseLockRequest: any; }' is not assignable to parameter of type 'ContainerInfo'.
|
|
86
88
|
containerManagerAPI.removeContainerItem({ containerItemID, skipReleaseLockRequest });
|
|
87
89
|
}
|
|
88
90
|
}
|