@pega/dx-component-builder-sdk 25.1.16 → 26.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/package.json +1 -1
- package/pega-dx-component-builder-sdk-26.1.10.tgz +0 -0
- package/src/constants.js +4 -0
- package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/utils.ts.mustache +1 -1
- package/src/tasks/create/templates/Constellation/template/DETAILS/DetailsRender.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/template/DETAILS-region/DetailsRender.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/template/FORM/DetailsRender.tsx +1 -1
- package/src/tasks/create/templates/Constellation/template/FORM-region/DetailsRender.tsx +1 -1
- package/src/tasks/create/templates/SDK-React/field/Boolean/index.tsx.mustache +22 -6
- package/src/tasks/create/templates/SDK-React/field/Date/demo.stories.tsx.mustache +8 -1
- package/src/tasks/create/templates/SDK-React/field/Date/index.tsx.mustache +22 -13
- package/src/tasks/create/templates/SDK-React/field/DateTime/demo.stories.tsx.mustache +9 -1
- package/src/tasks/create/templates/SDK-React/field/DateTime/index.tsx.mustache +23 -14
- package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +24 -8
- package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +24 -8
- package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +24 -10
- package/src/tasks/create/templates/SDK-React/field/Integer/index.tsx.mustache +26 -14
- package/src/tasks/create/templates/SDK-React/field/Picklist/index.tsx.mustache +34 -8
- package/src/tasks/create/templates/SDK-React/field/Picklist-Autocomplete/index.tsx.mustache +25 -9
- package/src/tasks/create/templates/SDK-React/field/Picklist-RadioButtons/index.tsx.mustache +21 -5
- package/src/tasks/create/templates/SDK-React/field/Text/index.tsx.mustache +25 -14
- package/src/tasks/create/templates/SDK-React/field/Text-Email/index.tsx.mustache +32 -21
- package/src/tasks/create/templates/SDK-React/field/Text-Input/index.tsx.mustache +25 -10
- package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/index.tsx.mustache +26 -14
- package/src/tasks/create/templates/SDK-React/field/Text-Phone/index.tsx.mustache +28 -10
- package/src/tasks/create/templates/SDK-React/field/Text-URL/index.tsx.mustache +26 -14
- package/src/tasks/create/templates/SDK-React/field/TimeOfDay/demo.stories.tsx.mustache +9 -1
- package/src/tasks/create/templates/SDK-React/field/TimeOfDay/index.tsx.mustache +22 -17
- package/src/tasks/create/templates/SDK-React/template/FORM/DefaultForm.css +82 -2
- package/src/tasks/create/templates/SDK-React/template/FORM/index.tsx.mustache +51 -11
- package/src/tasks/create/templates/SDK-React/widget/CASE/index.tsx.mustache +19 -15
- package/src/tasks/create/templates/SDK-React/widget/PAGE/index.tsx.mustache +2 -167
- package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/index.tsx.mustache +72 -15
- package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/index.tsx +25 -14
- package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/AlertBanner/AlertBanner.css +46 -0
- package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/AlertBanner/AlertBanner.tsx +37 -20
- package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +14 -0
- package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +57 -5
- package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldGroup/FieldGroup.tsx +18 -11
- package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldGroupList/FieldGroupList.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +19 -4
- package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/Operator/Operator.tsx +125 -74
- package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/RichTextEditor/RichTextEditor.tsx +184 -90
- package/tests/assets/sdk-r/components/create/override-sdk/field/AutoComplete/AutoComplete.tsx +372 -26
- package/tests/assets/sdk-r/components/create/override-sdk/field/Checkbox/Checkbox.tsx +22 -6
- package/tests/assets/sdk-r/components/create/override-sdk/field/Currency/Currency.tsx +22 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/Date/Date.tsx +35 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/DateTime/DateTime.tsx +35 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/Decimal/Decimal.tsx +22 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/Dropdown/Dropdown.tsx +48 -16
- package/tests/assets/sdk-r/components/create/override-sdk/field/Email/Email.tsx +21 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/Group/Group.tsx +28 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/Integer/Integer.tsx +21 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/Multiselect.tsx +42 -20
- package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/utils.ts +5 -3
- package/tests/assets/sdk-r/components/create/override-sdk/field/ObjectReference/ObjectReference.tsx +554 -66
- package/tests/assets/sdk-r/components/create/override-sdk/field/ObjectReference/utils.ts +108 -20
- package/tests/assets/sdk-r/components/create/override-sdk/field/Percentage/Percentage.tsx +22 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/Phone/Phone.tsx +23 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/RadioButtons/RadioButtons.tsx +20 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/RichText/RichText.css +0 -79
- package/tests/assets/sdk-r/components/create/override-sdk/field/RichText/RichText.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/field/SelectableCard/SelectableCard.tsx +25 -10
- package/tests/assets/sdk-r/components/create/override-sdk/field/TextArea/TextArea.tsx +22 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/TextInput/TextInput.tsx +21 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/Time/Time.tsx +35 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/URL/URL.tsx +22 -4
- package/tests/assets/sdk-r/components/create/override-sdk/field/UserReference/UserReference.tsx +10 -6
- package/tests/assets/sdk-r/components/create/override-sdk/infra/Assignment/Assignment.tsx +36 -14
- package/tests/assets/sdk-r/components/create/override-sdk/infra/Assignment/useValidationBanner.ts +29 -0
- package/tests/assets/sdk-r/components/create/override-sdk/infra/DeferLoad/DeferLoad.tsx +31 -10
- package/tests/assets/sdk-r/components/create/override-sdk/infra/FlowContainer/FlowContainer.tsx +5 -6
- package/tests/assets/sdk-r/components/create/override-sdk/infra/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/infra/ModalViewContainer/DataViewActionButtons/DataViewActionButtons.tsx +138 -0
- package/tests/assets/sdk-r/components/create/override-sdk/infra/ModalViewContainer/ModalViewContainer.tsx +110 -64
- package/tests/assets/sdk-r/components/create/override-sdk/infra/MultiStep/MultiStep.css +63 -0
- package/tests/assets/sdk-r/components/create/override-sdk/infra/MultiStep/MultiStep.tsx +23 -52
- package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.tsx +8 -3
- package/tests/assets/sdk-r/components/create/override-sdk/infra/Reference/Reference.tsx +5 -0
- package/tests/assets/sdk-r/components/create/override-sdk/infra/RootContainer/RootContainer.tsx +4 -5
- package/tests/assets/sdk-r/components/create/override-sdk/infra/View/View.css +1 -0
- package/tests/assets/sdk-r/components/create/override-sdk/infra/View/View.tsx +10 -17
- package/tests/assets/sdk-r/components/create/override-sdk/infra/ViewContainer/ViewContainer.tsx +8 -10
- package/tests/assets/sdk-r/components/create/override-sdk/template/AppShell/AppShell.css +0 -4
- package/tests/assets/sdk-r/components/create/override-sdk/template/AppShell/AppShell.tsx +7 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/CaseSummary/CaseSummary.tsx +9 -42
- package/tests/assets/sdk-r/components/create/override-sdk/template/CaseView/CaseView.tsx +8 -2
- package/tests/assets/sdk-r/components/create/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +58 -3
- package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/DataReference.tsx +56 -33
- package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/SearchForm.tsx +3 -4
- package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/DefaultForm.css +71 -0
- package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/DefaultForm.tsx +45 -9
- package/tests/assets/sdk-r/components/create/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +10 -3
- package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/ListView.tsx +139 -59
- package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/hooks.ts +80 -13
- package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/utils.ts +13 -3
- package/tests/assets/sdk-r/components/create/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +16 -1
- package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +167 -93
- package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableSelect/SimpleTableSelect.tsx +71 -56
- package/tests/assets/sdk-r/components/create/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +12 -7
- package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/Attachment.tsx +119 -26
- package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/AttachmentUtils.ts +1 -1
- package/tests/assets/sdk-r/components/create/override-sdk/widget/CaseHistory/CaseHistory.tsx +16 -12
- package/tests/assets/sdk-r/components/create/override-sdk/widget/FileUtility/FileUtility.tsx +40 -28
- package/tests/assets/sdk-r/components/create/override-sdk/widget/ToDo/ToDo.tsx +14 -6
- package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/utils.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/DetailsRender.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/DetailsRender.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/index.tsx +22 -6
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +24 -8
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/demo.stories.tsx +8 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/index.tsx +22 -13
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/demo.stories.tsx +9 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/index.tsx +23 -14
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +24 -8
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/index.tsx +32 -21
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/index.tsx +2 -2
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/index.tsx +26 -14
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/index.tsx +26 -14
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +24 -10
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/index.tsx +25 -10
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/index.tsx +34 -8
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyRadiobuttons/index.tsx +21 -5
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MySearchbox/index.tsx +22 -9
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/index.tsx +25 -14
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/index.tsx +25 -10
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +9 -1
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/index.tsx +22 -17
- package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/index.tsx +26 -14
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/DefaultForm.css +82 -2
- package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/index.tsx +45 -8
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/index.tsx +19 -15
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +66 -15
- package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/index.tsx +2 -167
- package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/AlertBanner/AlertBanner.css +46 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/AlertBanner/AlertBanner.tsx +37 -20
- package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +14 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +57 -5
- package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldGroup/FieldGroup.tsx +18 -11
- package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldGroupList/FieldGroupList.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +19 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/Operator/Operator.tsx +125 -74
- package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/RichTextEditor/RichTextEditor.tsx +184 -90
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/AutoComplete/AutoComplete.tsx +372 -26
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Checkbox/Checkbox.tsx +22 -6
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Currency/Currency.tsx +22 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Date/Date.tsx +35 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/DateTime/DateTime.tsx +35 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Decimal/Decimal.tsx +22 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Dropdown/Dropdown.tsx +48 -16
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Email/Email.tsx +21 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Group/Group.tsx +28 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Integer/Integer.tsx +21 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/Multiselect.tsx +42 -20
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/utils.ts +5 -3
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/ObjectReference/ObjectReference.tsx +554 -66
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/ObjectReference/utils.ts +108 -20
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Percentage/Percentage.tsx +22 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Phone/Phone.tsx +23 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/RadioButtons/RadioButtons.tsx +20 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/RichText/RichText.css +0 -79
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/RichText/RichText.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/SelectableCard/SelectableCard.tsx +25 -10
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/TextArea/TextArea.tsx +22 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/TextInput/TextInput.tsx +21 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/Time/Time.tsx +35 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/URL/URL.tsx +22 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/field/UserReference/UserReference.tsx +10 -6
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Assignment/Assignment.tsx +36 -14
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Assignment/useValidationBanner.ts +29 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/DeferLoad/DeferLoad.tsx +31 -10
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/FlowContainer/FlowContainer.tsx +5 -6
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ModalViewContainer/DataViewActionButtons/DataViewActionButtons.tsx +138 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ModalViewContainer/ModalViewContainer.tsx +110 -64
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/MultiStep/MultiStep.css +63 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/MultiStep/MultiStep.tsx +23 -52
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.tsx +8 -3
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Reference/Reference.tsx +5 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/RootContainer/RootContainer.tsx +4 -5
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/View/View.css +1 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/View/View.tsx +10 -17
- package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ViewContainer/ViewContainer.tsx +8 -10
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/AppShell/AppShell.css +0 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/AppShell/AppShell.tsx +7 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseSummary/CaseSummary.tsx +9 -42
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseView/CaseView.tsx +8 -2
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +58 -3
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/DataReference/DataReference.tsx +56 -33
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/DataReference/SearchForm.tsx +3 -4
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/DefaultForm/DefaultForm.css +71 -0
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/DefaultForm/DefaultForm.tsx +45 -9
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +10 -3
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/ListView.tsx +139 -59
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/hooks.ts +80 -13
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/utils.ts +13 -3
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +16 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +167 -93
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableSelect/SimpleTableSelect.tsx +71 -56
- package/tests/assets/sdk-r/components/createAll/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +12 -7
- package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/Attachment.tsx +119 -26
- package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/AttachmentUtils.ts +1 -1
- package/tests/assets/sdk-r/components/createAll/override-sdk/widget/CaseHistory/CaseHistory.tsx +16 -12
- package/tests/assets/sdk-r/components/createAll/override-sdk/widget/FileUtility/FileUtility.tsx +40 -28
- package/tests/assets/sdk-r/components/createAll/override-sdk/widget/ToDo/ToDo.tsx +14 -6
- package/SECURITY.md +0 -10
package/tests/assets/sdk-r/components/create/override-sdk/template/CaseSummary/CaseSummary.tsx
CHANGED
|
@@ -12,51 +12,15 @@ export default function CaseSummary(props: PropsWithChildren<CaseSummaryProps>)
|
|
|
12
12
|
// Get emitted components from map (so we can get any override that may exist)
|
|
13
13
|
const CaseSummaryFields = getComponentFromMap('CaseSummaryFields');
|
|
14
14
|
|
|
15
|
-
const {
|
|
15
|
+
const { children } = props;
|
|
16
16
|
let { arPrimaryFields = [], arSecondaryFields = [] } = props;
|
|
17
17
|
|
|
18
|
-
const thePConn = getPConnect && getPConnect();
|
|
19
|
-
const theConfigProps: any = thePConn?.getConfigProps();
|
|
20
|
-
|
|
21
|
-
const status = theConfigProps?.status;
|
|
22
|
-
const showStatus = theConfigProps?.showStatus;
|
|
23
18
|
const localizedVal = PCore.getLocaleUtils().getLocaleValue;
|
|
24
19
|
const localeCategory = 'ModalContainer';
|
|
25
20
|
|
|
26
|
-
function prepareComponentInCaseSummary(pConnectMeta, getPConnect) {
|
|
27
|
-
const { config, children } = pConnectMeta;
|
|
28
|
-
const pConnect = getPConnect();
|
|
29
|
-
|
|
30
|
-
const caseSummaryComponentObject: any = {};
|
|
31
|
-
|
|
32
|
-
const { type } = pConnectMeta;
|
|
33
|
-
const createdComponent = pConnect.createComponent({
|
|
34
|
-
type,
|
|
35
|
-
children: children ? [...children] : [],
|
|
36
|
-
config: {
|
|
37
|
-
...config
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
caseSummaryComponentObject.value = createdComponent;
|
|
42
|
-
return caseSummaryComponentObject;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function prepareCaseSummaryData(summaryFieldChildren) {
|
|
46
|
-
const convertChildrenToSummaryData = kid => {
|
|
47
|
-
return kid?.map((childItem, index) => {
|
|
48
|
-
const childMeta = childItem.getPConnect().meta;
|
|
49
|
-
const caseSummaryComponentObject = prepareComponentInCaseSummary(childMeta, childItem.getPConnect);
|
|
50
|
-
caseSummaryComponentObject.id = index + 1;
|
|
51
|
-
return caseSummaryComponentObject;
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
return summaryFieldChildren ? convertChildrenToSummaryData(summaryFieldChildren?.getChildren()) : undefined;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
21
|
if (arPrimaryFields.length === 0 && arSecondaryFields.length === 0) {
|
|
58
22
|
for (const child of children as ReactElement[]) {
|
|
59
|
-
const childPConn = (child as ReactElement).props.getPConnect();
|
|
23
|
+
const childPConn = (child as ReactElement<any>).props.getPConnect();
|
|
60
24
|
const childPConnData = childPConn.resolveConfigProps(childPConn.getRawMetadata());
|
|
61
25
|
if (childPConnData.name.toLowerCase() === 'primary fields') {
|
|
62
26
|
arPrimaryFields = childPConnData.children;
|
|
@@ -66,10 +30,13 @@ export default function CaseSummary(props: PropsWithChildren<CaseSummaryProps>)
|
|
|
66
30
|
}
|
|
67
31
|
});
|
|
68
32
|
} else if (childPConnData.name.toLowerCase() === 'secondary fields') {
|
|
69
|
-
const
|
|
33
|
+
const secondaryChildren = childPConn.getChildren();
|
|
70
34
|
arSecondaryFields = childPConnData.children;
|
|
71
35
|
arSecondaryFields.forEach((field, index) => {
|
|
72
|
-
|
|
36
|
+
const childItemPConnect = secondaryChildren[index]?.getPConnect();
|
|
37
|
+
const resolvedProps = childItemPConnect?.resolveConfigProps(childItemPConnect.getRawMetadata()?.config);
|
|
38
|
+
field.config.displayLabel = resolvedProps?.label || field.config.label;
|
|
39
|
+
field.getPConnect = secondaryChildren[index]?.getPConnect;
|
|
73
40
|
});
|
|
74
41
|
}
|
|
75
42
|
}
|
|
@@ -77,8 +44,8 @@ export default function CaseSummary(props: PropsWithChildren<CaseSummaryProps>)
|
|
|
77
44
|
|
|
78
45
|
return (
|
|
79
46
|
<div id='CaseSummary'>
|
|
80
|
-
<CaseSummaryFields
|
|
81
|
-
<CaseSummaryFields theFields={arSecondaryFields} />
|
|
47
|
+
<CaseSummaryFields theFields={arPrimaryFields} variant='primary' />
|
|
48
|
+
<CaseSummaryFields theFields={arSecondaryFields} variant='secondary' />
|
|
82
49
|
</div>
|
|
83
50
|
);
|
|
84
51
|
}
|
|
@@ -67,6 +67,10 @@ export default function CaseView(props: PropsWithChildren<CaseViewProps>) {
|
|
|
67
67
|
|
|
68
68
|
const classes = useStyles();
|
|
69
69
|
|
|
70
|
+
const dataObjectActions: any = thePConn.getValue('.actions', 'dataInfo') || {};
|
|
71
|
+
const dataObjectAvailableActions: any[] = dataObjectActions.availableActions || [];
|
|
72
|
+
const dataObjectCreateCaseActions: any[] = dataObjectActions.availableCreateCaseActions || [];
|
|
73
|
+
|
|
70
74
|
const editAction = availableActions.find(action => action.ID === 'pyUpdateCaseDetails');
|
|
71
75
|
|
|
72
76
|
const localizedVal = PCore.getLocaleUtils().getLocaleValue;
|
|
@@ -79,8 +83,8 @@ export default function CaseView(props: PropsWithChildren<CaseViewProps>) {
|
|
|
79
83
|
*/
|
|
80
84
|
function getChildRegionByName(inName: string): any {
|
|
81
85
|
for (const child of children as ReactElement[]) {
|
|
82
|
-
const theMetadataType: string = (child as ReactElement).props.getPConnect().getRawMetadata().type?.toLowerCase();
|
|
83
|
-
const theMetadataName: string = (child as ReactElement).props.getPConnect().getRawMetadata().name?.toLowerCase();
|
|
86
|
+
const theMetadataType: string = (child as ReactElement<any>).props.getPConnect().getRawMetadata().type?.toLowerCase();
|
|
87
|
+
const theMetadataName: string = (child as ReactElement<any>).props.getPConnect().getRawMetadata().name?.toLowerCase();
|
|
84
88
|
if (theMetadataType === 'region' && theMetadataName === inName) {
|
|
85
89
|
return child;
|
|
86
90
|
}
|
|
@@ -194,6 +198,8 @@ export default function CaseView(props: PropsWithChildren<CaseViewProps>) {
|
|
|
194
198
|
getPConnect={getPConnect}
|
|
195
199
|
availableActions={availableActions}
|
|
196
200
|
availableProcesses={availableProcesses}
|
|
201
|
+
dataObjectAvailableActions={dataObjectAvailableActions}
|
|
202
|
+
dataObjectCreateCaseActions={dataObjectCreateCaseActions}
|
|
197
203
|
caseTypeName={caseTypeName}
|
|
198
204
|
caseTypeID={caseTypeID}
|
|
199
205
|
/>
|
|
@@ -12,12 +12,23 @@ interface CaseViewActionsMenuProps extends PConnProps {
|
|
|
12
12
|
// If any, enter additional props that only exist on this component
|
|
13
13
|
availableActions: any[];
|
|
14
14
|
availableProcesses: any[];
|
|
15
|
+
// Data object review actions (sourced from dataInfo.actions by the parent CaseView)
|
|
16
|
+
dataObjectAvailableActions?: any[];
|
|
17
|
+
dataObjectCreateCaseActions?: any[];
|
|
15
18
|
caseTypeID: string;
|
|
16
19
|
caseTypeName: string;
|
|
17
20
|
}
|
|
18
21
|
|
|
19
22
|
export default function CaseViewActionsMenu(props: CaseViewActionsMenuProps) {
|
|
20
|
-
const {
|
|
23
|
+
const {
|
|
24
|
+
getPConnect,
|
|
25
|
+
availableActions,
|
|
26
|
+
availableProcesses,
|
|
27
|
+
dataObjectAvailableActions = [],
|
|
28
|
+
dataObjectCreateCaseActions = [],
|
|
29
|
+
caseTypeID,
|
|
30
|
+
caseTypeName
|
|
31
|
+
} = props;
|
|
21
32
|
const thePConn = getPConnect();
|
|
22
33
|
|
|
23
34
|
const localizedVal = PCore.getLocaleUtils().getLocaleValue;
|
|
@@ -77,6 +88,31 @@ export default function CaseViewActionsMenu(props: CaseViewActionsMenuProps) {
|
|
|
77
88
|
handleClose();
|
|
78
89
|
}
|
|
79
90
|
|
|
91
|
+
function _dataObjectActionClick(action) {
|
|
92
|
+
const actionsAPI = thePConn.getActionsApi();
|
|
93
|
+
const openDataObjectAction = actionsAPI.openDataObjectAction.bind(actionsAPI);
|
|
94
|
+
const className = thePConn.getValue('.classID', 'dataInfo.content');
|
|
95
|
+
const dataRecord = thePConn.getValue('.content', 'dataInfo');
|
|
96
|
+
openDataObjectAction(className, dataRecord, action.ID, localizedVal(action.name, '', localeKey));
|
|
97
|
+
handleClose();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function _dataObjectCreateCaseClick(action) {
|
|
101
|
+
const actionsAPI = thePConn.getActionsApi();
|
|
102
|
+
const createWork = actionsAPI.createWork.bind(actionsAPI);
|
|
103
|
+
const targetDataReferenceField = action.targetDataReferenceField;
|
|
104
|
+
const field = targetDataReferenceField?.field;
|
|
105
|
+
const startingFields: any = {};
|
|
106
|
+
(targetDataReferenceField?.inputs || []).forEach(input => {
|
|
107
|
+
if (!startingFields[field]) {
|
|
108
|
+
startingFields[field] = {};
|
|
109
|
+
}
|
|
110
|
+
startingFields[field][input.linkedField] = thePConn.getValue(`.${input.linkedField}`, '');
|
|
111
|
+
});
|
|
112
|
+
createWork(action.ID, { startingFields });
|
|
113
|
+
handleClose();
|
|
114
|
+
}
|
|
115
|
+
|
|
80
116
|
availableActions.forEach(action => {
|
|
81
117
|
arMenuItems.push(
|
|
82
118
|
<MenuItem key={action.ID} onClick={() => _actionMenuActionsClick(action)}>
|
|
@@ -93,12 +129,31 @@ export default function CaseViewActionsMenu(props: CaseViewActionsMenuProps) {
|
|
|
93
129
|
);
|
|
94
130
|
});
|
|
95
131
|
|
|
132
|
+
dataObjectAvailableActions.forEach(action => {
|
|
133
|
+
arMenuItems.push(
|
|
134
|
+
<MenuItem key={action.ID} onClick={() => _dataObjectActionClick(action)}>
|
|
135
|
+
{localizedVal(action.name, '', localeKey)}
|
|
136
|
+
</MenuItem>
|
|
137
|
+
);
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
dataObjectCreateCaseActions.forEach(action => {
|
|
141
|
+
arMenuItems.push(
|
|
142
|
+
<MenuItem key={action.ID} onClick={() => _dataObjectCreateCaseClick(action)}>
|
|
143
|
+
{localizedVal(action.name, '', localeKey)}
|
|
144
|
+
</MenuItem>
|
|
145
|
+
);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
// Guard against opening an empty menu
|
|
149
|
+
const isMenuOpen = Boolean(anchorEl) && arMenuItems.length > 0;
|
|
150
|
+
|
|
96
151
|
return (
|
|
97
152
|
<>
|
|
98
|
-
<Button id='actions-menu' aria-controls='simple-menu' aria-haspopup='true' onClick={handleClick}>
|
|
153
|
+
<Button id='actions-menu' aria-controls='simple-menu' aria-haspopup='true' disabled={arMenuItems.length === 0} onClick={handleClick}>
|
|
99
154
|
{localizedVal('Actions...', localeCategory)}
|
|
100
155
|
</Button>
|
|
101
|
-
<Menu id='simple-menu' anchorEl={anchorEl} keepMounted open={
|
|
156
|
+
<Menu id='simple-menu' anchorEl={anchorEl} keepMounted open={isMenuOpen} onClose={handleClose}>
|
|
102
157
|
{arMenuItems}
|
|
103
158
|
</Menu>
|
|
104
159
|
<Snackbar
|
package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/DataReference.tsx
CHANGED
|
@@ -206,42 +206,65 @@ export default function DataReference(props: PropsWithChildren<DataReferenceProp
|
|
|
206
206
|
.refreshCaseView(caseKey, viewName, pgRef, refreshOptions)
|
|
207
207
|
.catch(() => {});
|
|
208
208
|
}
|
|
209
|
-
} else if (
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
209
|
+
} else if (hasAssociatedViewConfigured || allowImplicitRefresh) {
|
|
210
|
+
const pageReference = pConn.getPageReference();
|
|
211
|
+
let pgRef: any = null;
|
|
212
|
+
if (pageReference.startsWith('objectInfo')) {
|
|
213
|
+
pgRef = pageReference.replace('objectInfo.content', '');
|
|
214
|
+
} else {
|
|
215
|
+
pgRef = pageReference.replace('caseInfo.content', '');
|
|
216
|
+
}
|
|
217
|
+
const viewName = rawViewMetadata.name;
|
|
218
|
+
getPConnect()
|
|
219
|
+
.getActionsApi()
|
|
220
|
+
.refreshCaseView(caseKey, viewName, pgRef, refreshOptions)
|
|
221
|
+
.catch(() => {});
|
|
222
|
+
}
|
|
221
223
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
224
|
+
if (propValue && canBeChangedInReviewMode && isDisplayModeEnabled) {
|
|
225
|
+
(PCore.getDataApiUtils().getCaseEditLock(caseKey, '') as Promise<any>)
|
|
226
|
+
.then(caseResponse => {
|
|
227
|
+
const pageTokens = pConn.getPageReference().replace('caseInfo.content', '').split('.');
|
|
228
|
+
let curr = {};
|
|
229
|
+
const commitData = curr;
|
|
230
|
+
|
|
231
|
+
pageTokens.forEach(el => {
|
|
232
|
+
if (el !== '') {
|
|
233
|
+
curr[el] = {};
|
|
234
|
+
curr = curr[el];
|
|
235
|
+
}
|
|
236
|
+
});
|
|
232
237
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
238
|
+
// expecting format like {Customer: {pyID:"C-100"}}
|
|
239
|
+
const propArr = propName.split('.');
|
|
240
|
+
propArr.forEach((element, idx) => {
|
|
241
|
+
if (idx + 1 === propArr.length) {
|
|
242
|
+
curr[element] = propValue;
|
|
243
|
+
} else {
|
|
244
|
+
curr[element] = {};
|
|
245
|
+
curr = curr[element];
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
(
|
|
250
|
+
PCore.getDataApiUtils().updateCaseEditFieldsData(
|
|
251
|
+
caseKey,
|
|
252
|
+
{ [caseKey]: commitData },
|
|
253
|
+
caseResponse.headers.etag,
|
|
254
|
+
pConn.getContextName()
|
|
255
|
+
) as Promise<any>
|
|
256
|
+
)
|
|
257
|
+
.then(response => {
|
|
258
|
+
PCore.getContainerUtils().updateParentLastUpdateTime(pConn.getContextName(), response.data.data.caseInfo.lastUpdateTime);
|
|
259
|
+
PCore.getContainerUtils().updateRelatedContextEtag(pConn.getContextName(), response.headers.etag);
|
|
260
|
+
})
|
|
261
|
+
.catch(e => {
|
|
262
|
+
console.error(e);
|
|
263
|
+
});
|
|
264
|
+
})
|
|
265
|
+
.catch(e => {
|
|
266
|
+
console.error(e);
|
|
243
267
|
});
|
|
244
|
-
});
|
|
245
268
|
}
|
|
246
269
|
};
|
|
247
270
|
|
package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/SearchForm.tsx
CHANGED
|
@@ -41,9 +41,8 @@ const checkIfSelectionsExist = getPConnect => {
|
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
const SearchForm = props => {
|
|
44
|
-
const { children, getPConnect, searchSelectCacheKey } = props;
|
|
45
|
-
|
|
46
|
-
const deferLoadedTabs = children[2];
|
|
44
|
+
const { children, getPConnect, searchSelectCacheKey, type, label } = props;
|
|
45
|
+
const deferLoadedTabs = type === 'ObjectReference' ? { props: { getPConnect } } : children[2];
|
|
47
46
|
const cache: any = PCore.getNavigationUtils().getComponentCache(searchSelectCacheKey) ?? {};
|
|
48
47
|
const { selectedCategory } = cache;
|
|
49
48
|
const firstTabId = getFirstVisibleTabId(deferLoadedTabs, selectedCategory);
|
|
@@ -114,7 +113,7 @@ const SearchForm = props => {
|
|
|
114
113
|
|
|
115
114
|
return (
|
|
116
115
|
<Box display='flex' flexDirection='column' gap={2}>
|
|
117
|
-
<Typography variant='h5'>{propsToUse.label}</Typography>
|
|
116
|
+
<Typography variant='h5'>{label ?? propsToUse.label}</Typography>
|
|
118
117
|
{searchCategoriesComp}
|
|
119
118
|
<TabContext value={currentTabId}>
|
|
120
119
|
<Tabs style={{ display: 'none' }} value={currentTabId} onChange={(e, newValue) => setCurrentTabId(newValue)}>
|
package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/DefaultForm.css
CHANGED
|
@@ -32,3 +32,74 @@
|
|
|
32
32
|
padding-top: 0.625rem;
|
|
33
33
|
padding-bottom: 0.625rem;
|
|
34
34
|
}
|
|
35
|
+
|
|
36
|
+
.psdk-default-form-instruction-text ul {
|
|
37
|
+
padding-left: 30px;
|
|
38
|
+
list-style-type: disc;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.psdk-default-form-instruction-text ol {
|
|
42
|
+
padding-left: 30px;
|
|
43
|
+
list-style-type: decimal;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* Banner styles */
|
|
47
|
+
.psdk-banner {
|
|
48
|
+
display: flex;
|
|
49
|
+
align-items: flex-start;
|
|
50
|
+
padding: 0.75rem 1rem;
|
|
51
|
+
border-radius: 0.25rem;
|
|
52
|
+
margin-bottom: 1rem;
|
|
53
|
+
border: 1px solid;
|
|
54
|
+
gap: 0.75rem;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.psdk-banner-info {
|
|
58
|
+
background-color: color-mix(in srgb, var(--app-neutral-color) 12%, var(--app-form-bg-color));
|
|
59
|
+
border-color: var(--app-neutral-color);
|
|
60
|
+
color: var(--banner-text-color);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.psdk-banner-warning {
|
|
64
|
+
background-color: color-mix(in srgb, var(--app-warning-color-dark) 12%, var(--app-form-bg-color));
|
|
65
|
+
border-color: var(--app-warning-color-dark);
|
|
66
|
+
color: var(--app-warning-color-dark);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.psdk-banner-success {
|
|
70
|
+
background-color: color-mix(in srgb, var(--stepper-completed-bg-color) 12%, var(--app-form-bg-color));
|
|
71
|
+
border-color: var(--stepper-completed-bg-color);
|
|
72
|
+
color: var(--stepper-completed-bg-color);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.psdk-banner-icon {
|
|
76
|
+
flex-shrink: 0;
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
padding-top: 0.125rem;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.psdk-banner-content {
|
|
83
|
+
flex: 1;
|
|
84
|
+
line-height: 1.5;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.psdk-banner-content p {
|
|
88
|
+
margin: 0;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.psdk-banner-dismiss {
|
|
92
|
+
flex-shrink: 0;
|
|
93
|
+
background: none;
|
|
94
|
+
border: none;
|
|
95
|
+
cursor: pointer;
|
|
96
|
+
padding: 0.25rem;
|
|
97
|
+
color: inherit;
|
|
98
|
+
opacity: 0.7;
|
|
99
|
+
display: flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.psdk-banner-dismiss:hover {
|
|
104
|
+
opacity: 1;
|
|
105
|
+
}
|
package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/DefaultForm.tsx
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { createElement, type PropsWithChildren } from 'react';
|
|
1
|
+
import { createElement, useState, type PropsWithChildren } from 'react';
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';
|
|
4
|
+
import WarningAmberIcon from '@mui/icons-material/WarningAmber';
|
|
5
|
+
import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline';
|
|
6
|
+
import CloseIcon from '@mui/icons-material/Close';
|
|
7
|
+
|
|
8
|
+
import { getInstructions, getInstructionsType, getDismissBanner, mapInstructionsTypeToBannerVariant } from '@pega/react-sdk-components/lib/components/helpers/template-utils';
|
|
4
9
|
import createPConnectComponent from '@pega/react-sdk-components/lib/bridge/react_pconnect';
|
|
5
10
|
import connectToState from '@pega/react-sdk-components/lib/components/helpers/state-utils';
|
|
6
11
|
|
|
@@ -21,9 +26,21 @@ const Child = connectToState(mapStateToProps)(props => {
|
|
|
21
26
|
return createElement(createPConnectComponent(), { ...rest, key, visibility });
|
|
22
27
|
});
|
|
23
28
|
|
|
29
|
+
const bannerIconMap = {
|
|
30
|
+
info: <InfoOutlinedIcon fontSize='small' />,
|
|
31
|
+
warning: <WarningAmberIcon fontSize='small' />,
|
|
32
|
+
success: <CheckCircleOutlineIcon fontSize='small' />
|
|
33
|
+
};
|
|
34
|
+
|
|
24
35
|
export default function DefaultForm(props: PropsWithChildren<DefaultFormProps>) {
|
|
25
36
|
const { getPConnect, NumCols = '1' } = props;
|
|
26
37
|
const instructions = getInstructions(getPConnect(), props.instructions);
|
|
38
|
+
const [bannerDismissed, setBannerDismissed] = useState(false);
|
|
39
|
+
|
|
40
|
+
const instructionsType = getInstructionsType(props.instructions);
|
|
41
|
+
const isBanner = typeof props.instructions === 'object' && (props.instructions as any)?.isBanner;
|
|
42
|
+
const dismissBanner = getDismissBanner(props.instructions);
|
|
43
|
+
const bannerVariant = mapInstructionsTypeToBannerVariant(instructionsType);
|
|
27
44
|
|
|
28
45
|
let divClass: string;
|
|
29
46
|
|
|
@@ -51,15 +68,34 @@ export default function DefaultForm(props: PropsWithChildren<DefaultFormProps>)
|
|
|
51
68
|
const arChildren = getPConnect().getChildren()[0].getPConnect().getChildren();
|
|
52
69
|
const dfChildren = arChildren?.map(kid => <Child key={getKeyForMappedField(kid)} {...kid} />);
|
|
53
70
|
|
|
71
|
+
const renderInstructions = () => {
|
|
72
|
+
if (!instructions || bannerDismissed) return null;
|
|
73
|
+
|
|
74
|
+
if (isBanner) {
|
|
75
|
+
return (
|
|
76
|
+
<div className={`psdk-banner psdk-banner-${bannerVariant}`}>
|
|
77
|
+
<div className='psdk-banner-icon'>{bannerIconMap[bannerVariant]}</div>
|
|
78
|
+
<div className='psdk-banner-content' dangerouslySetInnerHTML={{ __html: instructions }} />
|
|
79
|
+
{dismissBanner && (
|
|
80
|
+
<button type='button' className='psdk-banner-dismiss' aria-label='Dismiss banner' onClick={() => setBannerDismissed(true)}>
|
|
81
|
+
<CloseIcon fontSize='small' />
|
|
82
|
+
</button>
|
|
83
|
+
)}
|
|
84
|
+
</div>
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return (
|
|
89
|
+
<div className='psdk-default-form-instruction-text'>
|
|
90
|
+
{/* server performs sanitization method for instructions html content */}
|
|
91
|
+
<div key='instructions' id='instruction-text' dangerouslySetInnerHTML={{ __html: instructions }} />
|
|
92
|
+
</div>
|
|
93
|
+
);
|
|
94
|
+
};
|
|
95
|
+
|
|
54
96
|
return (
|
|
55
97
|
<>
|
|
56
|
-
{
|
|
57
|
-
<div className='psdk-default-form-instruction-text'>
|
|
58
|
-
{/* server performs sanitization method for instructions html content */}
|
|
59
|
-
{}
|
|
60
|
-
<div key='instructions' id='instruction-text' dangerouslySetInnerHTML={{ __html: instructions }} />
|
|
61
|
-
</div>
|
|
62
|
-
)}
|
|
98
|
+
{renderInstructions()}
|
|
63
99
|
<div className={divClass}>{dfChildren}</div>
|
|
64
100
|
</>
|
|
65
101
|
);
|
|
@@ -14,6 +14,7 @@ interface FieldGroupTemplateProps extends PConnProps {
|
|
|
14
14
|
displayMode?: string;
|
|
15
15
|
fieldHeader?: string;
|
|
16
16
|
allowTableEdit: boolean;
|
|
17
|
+
allowActions?: any;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
export default function FieldGroupTemplate(props: FieldGroupTemplateProps) {
|
|
@@ -30,6 +31,7 @@ export default function FieldGroupTemplate(props: FieldGroupTemplateProps) {
|
|
|
30
31
|
heading = '',
|
|
31
32
|
displayMode,
|
|
32
33
|
fieldHeader,
|
|
34
|
+
allowActions,
|
|
33
35
|
allowTableEdit: allowAddEdit
|
|
34
36
|
} = props;
|
|
35
37
|
const pConn = getPConnect();
|
|
@@ -39,6 +41,11 @@ export default function FieldGroupTemplate(props: FieldGroupTemplateProps) {
|
|
|
39
41
|
const isReadonlyMode = renderMode === 'ReadOnly' || displayMode === 'DISPLAY_ONLY';
|
|
40
42
|
const HEADING = heading ?? 'Row';
|
|
41
43
|
|
|
44
|
+
const hasAllowActions = Object.keys(allowActions ?? {}).length > 0;
|
|
45
|
+
const { allowAdd: actionAdd, allowDelete: actionDelete } = allowActions ?? {};
|
|
46
|
+
const allowAdd = hasAllowActions ? (actionAdd ?? true) : (allowAddEdit ?? true);
|
|
47
|
+
const allowDelete = hasAllowActions ? (actionDelete ?? true) : (allowAddEdit ?? true);
|
|
48
|
+
|
|
42
49
|
useLayoutEffect(() => {
|
|
43
50
|
if (!isReadonlyMode) {
|
|
44
51
|
// @ts-expect-error - Expected 3 arguments, but got 1
|
|
@@ -72,7 +79,7 @@ export default function FieldGroupTemplate(props: FieldGroupTemplateProps) {
|
|
|
72
79
|
pConn.getListActions().deleteEntry(index);
|
|
73
80
|
}
|
|
74
81
|
};
|
|
75
|
-
if (referenceList.length === 0 &&
|
|
82
|
+
if (referenceList.length === 0 && allowAdd) {
|
|
76
83
|
addFieldGroupItem();
|
|
77
84
|
}
|
|
78
85
|
|
|
@@ -87,8 +94,8 @@ export default function FieldGroupTemplate(props: FieldGroupTemplateProps) {
|
|
|
87
94
|
return (
|
|
88
95
|
<FieldGroupList
|
|
89
96
|
items={MemoisedChildren}
|
|
90
|
-
onAdd={
|
|
91
|
-
onDelete={
|
|
97
|
+
onAdd={allowAdd ? addFieldGroupItem : undefined}
|
|
98
|
+
onDelete={allowDelete ? deleteFieldGroupItem : undefined}
|
|
92
99
|
/>
|
|
93
100
|
);
|
|
94
101
|
}
|