@pega/dx-component-builder-sdk 25.1.15 → 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/Icon-Button-URL/index.tsx.mustache +2 -2
- 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
|
@@ -13,11 +13,17 @@ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpe
|
|
|
13
13
|
import { getBanners } from '@pega/react-sdk-components/lib/components/helpers/case-utils';
|
|
14
14
|
import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* WARNING: This file is part of the infrastructure component responsible for working with Redux and managing the creation and update of Redux containers and PConnect.
|
|
18
|
+
* You may override Material components within this component if needed, but do not modify any container-related logic. Changing this logic can lead to unexpected behavior.
|
|
19
|
+
*/
|
|
20
|
+
|
|
16
21
|
interface ModalViewContainerProps extends PConnProps {
|
|
17
22
|
// If any, enter additional props that only exist on this component
|
|
18
23
|
loadingInfo?: string;
|
|
19
24
|
routingInfo?: any;
|
|
20
25
|
pageMessages?: string[];
|
|
26
|
+
httpMessages?: any[];
|
|
21
27
|
}
|
|
22
28
|
|
|
23
29
|
function isOpenModalAction(prevModalCollection, currentModalList) {
|
|
@@ -109,12 +115,12 @@ export default function ModalViewContainer(props: ModalViewContainerProps) {
|
|
|
109
115
|
const Assignment = getComponentFromMap('Assignment');
|
|
110
116
|
const CancelAlert = getComponentFromMap('CancelAlert');
|
|
111
117
|
const ListViewActionButtons = getComponentFromMap('ListViewActionButtons');
|
|
112
|
-
|
|
118
|
+
const DataViewActionButtons = getComponentFromMap('DataViewActionButtons');
|
|
113
119
|
const classes = useStyles();
|
|
114
120
|
|
|
115
121
|
const modalCollection = useRef({});
|
|
116
122
|
const routingInfoRef = useRef({});
|
|
117
|
-
const { getPConnect, routingInfo = null, pageMessages = [] } = props;
|
|
123
|
+
const { getPConnect, routingInfo = null, pageMessages = [], httpMessages = [] } = props;
|
|
118
124
|
const pConn = getPConnect();
|
|
119
125
|
const { acTertiary } = pConn.getConfigProps() as any;
|
|
120
126
|
const {
|
|
@@ -122,19 +128,28 @@ export default function ModalViewContainer(props: ModalViewContainerProps) {
|
|
|
122
128
|
PUB_SUB_EVENTS: { EVENT_SHOW_CANCEL_ALERT }
|
|
123
129
|
} = PCore.getConstants();
|
|
124
130
|
const { subscribe, unsubscribe } = PCore.getPubSubUtils();
|
|
125
|
-
const [bShowModal, setShowModal] = useState(false);
|
|
126
131
|
const [bShowCancelAlert, setShowCancelAlert] = useState(false);
|
|
127
|
-
const [createdView, setCreatedView] = useState<any>(null);
|
|
128
|
-
const [title, setTitle] = useState('');
|
|
129
|
-
const [arNewChildrenAsReact, setArNewChildrenAsReact] = useState<any[]>([]);
|
|
130
|
-
const [itemKey, setItemKey] = useState('');
|
|
131
132
|
const [cancelAlertProps, setCancelAlertProps] = useState({});
|
|
132
|
-
const [isMultiRecordData, setMultiRecordData] = useState(false);
|
|
133
133
|
const localizedVal = PCore.getLocaleUtils().getLocaleValue;
|
|
134
134
|
const localeCategory = 'ModalContainer';
|
|
135
135
|
|
|
136
136
|
const ERROR_WHILE_RENDERING = 'ERROR_WHILE_RENDERING';
|
|
137
137
|
|
|
138
|
+
// Stack of open modals — each entry represents one stacked modal
|
|
139
|
+
interface ModalEntry {
|
|
140
|
+
key: string;
|
|
141
|
+
title: string;
|
|
142
|
+
createdView: any;
|
|
143
|
+
arNewChildrenAsReact: any[];
|
|
144
|
+
isMultiRecordData: boolean;
|
|
145
|
+
isDataObjectModal: boolean;
|
|
146
|
+
dataRecordKeys: string;
|
|
147
|
+
dataObjectActionID: string;
|
|
148
|
+
dataObjectAction: string;
|
|
149
|
+
dataObjectClassId: string;
|
|
150
|
+
}
|
|
151
|
+
const [modalStack, setModalStack] = useState<ModalEntry[]>([]);
|
|
152
|
+
|
|
138
153
|
function showAlert(payload) {
|
|
139
154
|
const { latestItem } = getKeyAndLatestItem(routingInfoRef.current, pConn, { acTertiary });
|
|
140
155
|
const isReverseCoexistence = (PCore.getCoexistenceManager().getBroadcastUtils() as any).isReverseCoexistenceCaseLoaded();
|
|
@@ -175,7 +190,8 @@ export default function ModalViewContainer(props: ModalViewContainerProps) {
|
|
|
175
190
|
const modifiedModalCollection = { ...tempModalCollection };
|
|
176
191
|
delete modifiedModalCollection[closedModalKey];
|
|
177
192
|
modalCollection.current = modifiedModalCollection;
|
|
178
|
-
|
|
193
|
+
// Remove the closed modal from the stack
|
|
194
|
+
setModalStack(prev => prev.filter(entry => entry.key !== closedModalKey));
|
|
179
195
|
}
|
|
180
196
|
}
|
|
181
197
|
|
|
@@ -183,21 +199,26 @@ export default function ModalViewContainer(props: ModalViewContainerProps) {
|
|
|
183
199
|
setShowCancelAlert(false);
|
|
184
200
|
|
|
185
201
|
if (dismissAllModals) {
|
|
186
|
-
|
|
202
|
+
setModalStack([]);
|
|
187
203
|
}
|
|
188
204
|
};
|
|
189
205
|
|
|
190
|
-
function getModalHeading(dataObjectAction) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
206
|
+
function getModalHeading(dataObjectAction, actionName) {
|
|
207
|
+
switch (dataObjectAction) {
|
|
208
|
+
case PCore.getConstants().RESOURCE_STATUS.CREATE:
|
|
209
|
+
return localizedVal('Add Record', localeCategory);
|
|
210
|
+
case PCore.getConstants().RESOURCE_STATUS.OPEN_FLOW_ACTION:
|
|
211
|
+
return localizedVal(actionName, localeCategory);
|
|
212
|
+
default:
|
|
213
|
+
return localizedVal('Edit Record', localeCategory);
|
|
214
|
+
}
|
|
194
215
|
}
|
|
195
216
|
|
|
196
|
-
function determineModalHeaderByAction(actionName, caseTypeName,
|
|
217
|
+
function determineModalHeaderByAction(actionName, caseTypeName, caseLocaleRef) {
|
|
197
218
|
if (actionName) {
|
|
198
219
|
return localizedVal(actionName, localeCategory);
|
|
199
220
|
}
|
|
200
|
-
return `${localizedVal('Create', localeCategory)} ${localizedVal(caseTypeName, undefined, caseLocaleRef)}
|
|
221
|
+
return `${localizedVal('Create', localeCategory)} ${localizedVal(caseTypeName, undefined, caseLocaleRef)}`;
|
|
201
222
|
}
|
|
202
223
|
|
|
203
224
|
useEffect(() => {
|
|
@@ -242,7 +263,6 @@ export default function ModalViewContainer(props: ModalViewContainerProps) {
|
|
|
242
263
|
(isOpenModalAction(modalCollection.current, accessedOrder) || isUpdateModalAction(modalCollection.current, accessedOrder))
|
|
243
264
|
) {
|
|
244
265
|
const { actionName } = latestItem;
|
|
245
|
-
// const { isDockable = false } = latestItem?.modalOptions || {};
|
|
246
266
|
const configObject: any = getConfigObject(latestItem, null, false);
|
|
247
267
|
const pConnect = configObject.getPConnect();
|
|
248
268
|
const caseInfo: any = pConnect.getCaseInfo();
|
|
@@ -250,19 +270,26 @@ export default function ModalViewContainer(props: ModalViewContainerProps) {
|
|
|
250
270
|
const caseTypeName = caseInfo.getCaseTypeName();
|
|
251
271
|
const ID = caseInfo.getBusinessID() || caseInfo.getID();
|
|
252
272
|
const isDataObject = routingInfo.items[latestItem.context].resourceType === PCore.getConstants().RESOURCE_TYPES.DATA;
|
|
253
|
-
const
|
|
254
|
-
const
|
|
255
|
-
const
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
273
|
+
const dataObjAction = routingInfo.items[latestItem.context].resourceStatus;
|
|
274
|
+
const multiRecordData = routingInfo.items[latestItem.context].isMultiRecordData;
|
|
275
|
+
const actionID = routingInfo.items[latestItem.context].actionID;
|
|
276
|
+
|
|
277
|
+
const getHeadingValue = () => {
|
|
278
|
+
if (multiRecordData) {
|
|
279
|
+
return routingInfo.items[latestItem.context].heading;
|
|
280
|
+
}
|
|
281
|
+
if (isDataObject) {
|
|
282
|
+
if (actionName) {
|
|
283
|
+
return localizedVal(actionName, localeCategory);
|
|
284
|
+
}
|
|
285
|
+
return getModalHeading(dataObjAction, actionName);
|
|
286
|
+
}
|
|
287
|
+
return determineModalHeaderByAction(actionName, caseTypeName, pConnect?.getCaseLocaleReference());
|
|
288
|
+
};
|
|
259
289
|
|
|
260
290
|
let arChildrenAsReact: any[] = [];
|
|
261
291
|
|
|
262
292
|
if (pConnect.getComponentName() === 'reference') {
|
|
263
|
-
// Reference component doesn't have children. It can build the View we want.
|
|
264
|
-
// The Reference component getPConnect is in configObject
|
|
265
|
-
|
|
266
293
|
arChildrenAsReact.push(
|
|
267
294
|
createElement(createPConnectComponent(), {
|
|
268
295
|
...configObject,
|
|
@@ -270,11 +297,7 @@ export default function ModalViewContainer(props: ModalViewContainerProps) {
|
|
|
270
297
|
})
|
|
271
298
|
);
|
|
272
299
|
} else {
|
|
273
|
-
// This is the 8.6 implementation. Leaving it in for reference for now.
|
|
274
|
-
// And create a similar array of the children as React components
|
|
275
|
-
// passed to Assignment component when rendered
|
|
276
300
|
arChildrenAsReact = (pConnect.getChildren() as []).map((child: any) => {
|
|
277
|
-
// Use Case Summary ID as the React element's key
|
|
278
301
|
const caseSummaryID = child.getPConnect().getCaseSummary().ID;
|
|
279
302
|
return createElement(createPConnectComponent(), {
|
|
280
303
|
...child,
|
|
@@ -283,19 +306,26 @@ export default function ModalViewContainer(props: ModalViewContainerProps) {
|
|
|
283
306
|
});
|
|
284
307
|
}
|
|
285
308
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
309
|
+
const modalEntry: ModalEntry = {
|
|
310
|
+
key,
|
|
311
|
+
title: getHeadingValue(),
|
|
312
|
+
createdView: { configObject, latestItem },
|
|
313
|
+
arNewChildrenAsReact: arChildrenAsReact.length > 0 ? arChildrenAsReact : [],
|
|
314
|
+
isMultiRecordData: multiRecordData,
|
|
315
|
+
isDataObjectModal: isDataObject && !multiRecordData,
|
|
316
|
+
dataRecordKeys: latestItem.key || '',
|
|
317
|
+
dataObjectActionID: actionID || '',
|
|
318
|
+
dataObjectAction: dataObjAction || '',
|
|
319
|
+
dataObjectClassId: pConnect.getValue('.classID') || ''
|
|
320
|
+
};
|
|
292
321
|
|
|
293
|
-
// Update modal use case which happens when assignment in submitted in modal.
|
|
294
322
|
if (isUpdateModalAction(modalCollection.current, accessedOrder)) {
|
|
295
|
-
//
|
|
323
|
+
// Update existing modal in the stack
|
|
324
|
+
setModalStack(prev => prev.map(entry => (entry.key === key ? modalEntry : entry)));
|
|
296
325
|
} else if (isOpenModalAction(modalCollection.current, accessedOrder)) {
|
|
297
|
-
//
|
|
326
|
+
// Push new modal onto the stack
|
|
298
327
|
handleModalOpen(key);
|
|
328
|
+
setModalStack(prev => [...prev, modalEntry]);
|
|
299
329
|
}
|
|
300
330
|
} else if (isCloseModalAction(modalCollection.current, accessedOrder)) {
|
|
301
331
|
handleModalClose(accessedOrder);
|
|
@@ -303,43 +333,59 @@ export default function ModalViewContainer(props: ModalViewContainerProps) {
|
|
|
303
333
|
}
|
|
304
334
|
}, [routingInfo]);
|
|
305
335
|
|
|
306
|
-
function closeActionsDialog() {
|
|
307
|
-
|
|
308
|
-
|
|
336
|
+
function closeActionsDialog(modalKey?: string) {
|
|
337
|
+
if (modalKey) {
|
|
338
|
+
setModalStack(prev => prev.filter(entry => entry.key !== modalKey));
|
|
339
|
+
} else {
|
|
340
|
+
// Close the topmost modal
|
|
341
|
+
setModalStack(prev => prev.slice(0, -1));
|
|
342
|
+
}
|
|
309
343
|
}
|
|
310
344
|
|
|
311
345
|
return (
|
|
312
346
|
<>
|
|
313
|
-
|
|
314
|
-
<
|
|
315
|
-
{title}
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
{
|
|
347
|
+
{modalStack.map(modal => (
|
|
348
|
+
<Dialog key={modal.key} open aria-labelledby={`form-dialog-title-${modal.key}`} maxWidth='md' fullWidth>
|
|
349
|
+
<DialogTitle id={`form-dialog-title-${modal.key}`} className={`${classes.dlgTitle} psdk-dialog-title`}>
|
|
350
|
+
{modal.title}
|
|
351
|
+
</DialogTitle>
|
|
352
|
+
<DialogContent className={`${classes.dlgContent} psdk-dialog-content`}>
|
|
319
353
|
<LocalizationProvider dateAdapter={AdapterDayjs}>
|
|
320
354
|
<Assignment
|
|
321
|
-
getPConnect={createdView.configObject.getPConnect}
|
|
322
|
-
itemKey={
|
|
355
|
+
getPConnect={modal.createdView.configObject.getPConnect}
|
|
356
|
+
itemKey={modal.key}
|
|
323
357
|
isInModal
|
|
324
358
|
banners={getBanners({
|
|
325
|
-
target:
|
|
326
|
-
pageMessages
|
|
359
|
+
target: modal.key,
|
|
360
|
+
pageMessages,
|
|
361
|
+
httpMessages
|
|
327
362
|
})}
|
|
328
363
|
>
|
|
329
|
-
{arNewChildrenAsReact}
|
|
364
|
+
{modal.arNewChildrenAsReact}
|
|
330
365
|
</Assignment>
|
|
331
366
|
</LocalizationProvider>
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
367
|
+
</DialogContent>
|
|
368
|
+
|
|
369
|
+
{modal.isMultiRecordData && (
|
|
370
|
+
<ListViewActionButtons
|
|
371
|
+
getPConnect={modal.createdView.configObject.getPConnect}
|
|
372
|
+
context={modal.createdView.latestItem.context}
|
|
373
|
+
closeActionsDialog={() => closeActionsDialog(modal.key)}
|
|
374
|
+
/>
|
|
375
|
+
)}
|
|
376
|
+
{modal.isDataObjectModal && (
|
|
377
|
+
<DataViewActionButtons
|
|
378
|
+
getPConnect={modal.createdView.configObject.getPConnect}
|
|
379
|
+
context={modal.createdView.latestItem.context}
|
|
380
|
+
classId={modal.dataObjectClassId}
|
|
381
|
+
dataObjectAction={modal.dataObjectAction}
|
|
382
|
+
dataRecordKeys={modal.dataRecordKeys}
|
|
383
|
+
actionID={modal.dataObjectActionID}
|
|
384
|
+
closeActionsDialog={() => closeActionsDialog(modal.key)}
|
|
385
|
+
/>
|
|
386
|
+
)}
|
|
387
|
+
</Dialog>
|
|
388
|
+
))}
|
|
343
389
|
{bShowCancelAlert && <CancelAlert {...cancelAlertProps} dismiss={dismissCancelAlert} />}
|
|
344
390
|
</>
|
|
345
391
|
);
|
|
@@ -146,6 +146,69 @@ mat-horizontal-stepper {
|
|
|
146
146
|
border-left-color: var(--app-neutral-color);
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
+
.psdk-vertical-stepper-container {
|
|
150
|
+
display: grid;
|
|
151
|
+
gap: 2rem;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.psdk-vertical-stepper-container.stepper-end {
|
|
155
|
+
grid-template-columns: 1fr minmax(12rem, auto);
|
|
156
|
+
grid-template-areas: 'content stepper';
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.psdk-vertical-stepper-container.stepper-start {
|
|
160
|
+
grid-template-columns: minmax(12rem, auto) 1fr;
|
|
161
|
+
grid-template-areas: 'stepper content';
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.psdk-stepper-rail {
|
|
165
|
+
grid-area: stepper;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.psdk-stepper-content {
|
|
169
|
+
grid-area: content;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.psdk-stepper-rail .psdk-vertical-step-header {
|
|
173
|
+
height: auto;
|
|
174
|
+
overflow: visible;
|
|
175
|
+
padding: 0.75rem 0;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.psdk-stepper-rail .psdk-vertical-step-icon {
|
|
179
|
+
flex-shrink: 0;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.psdk-stepper-rail .psdk-vertical-step {
|
|
183
|
+
position: relative;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.psdk-stepper-rail .psdk-vertical-step-body {
|
|
187
|
+
display: none;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.psdk-stepper-rail .psdk-vertical-step:not(:last-child)::after {
|
|
191
|
+
content: '';
|
|
192
|
+
position: absolute;
|
|
193
|
+
left: 12px;
|
|
194
|
+
top: calc(0.75rem + 24px + 4px);
|
|
195
|
+
bottom: -4px;
|
|
196
|
+
width: 1px;
|
|
197
|
+
background-color: var(--app-neutral-color);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.psdk-stepper-rail .psdk-vertical-step-label {
|
|
201
|
+
white-space: nowrap;
|
|
202
|
+
font-size: 0.875rem;
|
|
203
|
+
font-weight: 400;
|
|
204
|
+
color: var(--text-secondary-color);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.psdk-stepper-rail .current .psdk-vertical-step-label {
|
|
208
|
+
font-weight: 700;
|
|
209
|
+
color: var(--app-text-color);
|
|
210
|
+
}
|
|
211
|
+
|
|
149
212
|
.psdk-horizontal-stepper {
|
|
150
213
|
background-color: transparent;
|
|
151
214
|
display: block;
|
|
@@ -10,7 +10,7 @@ interface MultiStepProps extends PConnProps {
|
|
|
10
10
|
itemKey: string;
|
|
11
11
|
actionButtons: any[];
|
|
12
12
|
onButtonPress: any;
|
|
13
|
-
|
|
13
|
+
stepIndicator?: 'horizontal' | 'vertical' | 'vertical-start';
|
|
14
14
|
arNavigationSteps: any;
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -19,7 +19,9 @@ export default function MultiStep(props: PropsWithChildren<MultiStepProps>) {
|
|
|
19
19
|
const AssignmentCard = getComponentFromMap('AssignmentCard');
|
|
20
20
|
|
|
21
21
|
const { getPConnect, children, itemKey = '', actionButtons, onButtonPress } = props;
|
|
22
|
-
const {
|
|
22
|
+
const { stepIndicator = 'horizontal', arNavigationSteps } = props;
|
|
23
|
+
|
|
24
|
+
const isVertical = stepIndicator === 'vertical' || stepIndicator === 'vertical-start';
|
|
23
25
|
|
|
24
26
|
let currentStep = arNavigationSteps.find(({ visited_status: vs }) => vs === 'current');
|
|
25
27
|
if (!currentStep) {
|
|
@@ -56,59 +58,28 @@ export default function MultiStep(props: PropsWithChildren<MultiStepProps>) {
|
|
|
56
58
|
|
|
57
59
|
return (
|
|
58
60
|
<div>
|
|
59
|
-
{
|
|
60
|
-
<div className=
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
<
|
|
64
|
-
<div className=
|
|
65
|
-
<div className=
|
|
66
|
-
<div className=
|
|
67
|
-
<
|
|
68
|
-
<span>{index + 1}</span>
|
|
69
|
-
</div>
|
|
61
|
+
{isVertical ? (
|
|
62
|
+
<div className={`psdk-vertical-stepper-container ${stepIndicator === 'vertical-start' ? 'stepper-start' : 'stepper-end'}`}>
|
|
63
|
+
<div className='psdk-stepper-rail'>
|
|
64
|
+
{arNavigationSteps.map((mainStep, index) => (
|
|
65
|
+
<div key={mainStep.actionID} className='psdk-vertical-step'>
|
|
66
|
+
<div className={`psdk-vertical-step-header ${mainStep.visited_status}`}>
|
|
67
|
+
<div className='psdk-vertical-step-icon'>
|
|
68
|
+
<div className='psdk-vertical-step-icon-content'>
|
|
69
|
+
<span>{index + 1}</span>
|
|
70
70
|
</div>
|
|
71
|
-
<div className='psdk-vertical-step-label'>{mainStep.visited_status === 'current' && mainStep.name}</div>
|
|
72
|
-
</div>
|
|
73
|
-
<div className={_getVBodyClass(index)}>
|
|
74
|
-
{mainStep?.steps && (
|
|
75
|
-
<ul
|
|
76
|
-
style={{
|
|
77
|
-
paddingInlineStart: '0rem',
|
|
78
|
-
marginLeft: '-7px'
|
|
79
|
-
}}
|
|
80
|
-
>
|
|
81
|
-
{mainStep.steps.forEach(subStep => {
|
|
82
|
-
<li className='psdk-sub-step-list'>
|
|
83
|
-
<div style={{ display: 'inline-flex' }}>
|
|
84
|
-
{subStep.visited_status === 'current' && <img className='psdk-current-svg-icon' src='{svgCurrent}' />}
|
|
85
|
-
{subStep.visited_status !== 'current' && <img className='psdk-not-current-svg-icon' src='{svgNotCurrent}' />}
|
|
86
|
-
{subStep.visited_status === 'current' && <label className='psdk-sub-step-current'>{subStep.name}</label>}
|
|
87
|
-
{subStep.visited_status !== 'current' && <label className='psdk-sub-step-not-current'>{subStep.name}</label>}
|
|
88
|
-
</div>
|
|
89
|
-
{subStep.visited_status === 'current' && (
|
|
90
|
-
<div>
|
|
91
|
-
<AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>
|
|
92
|
-
{children}
|
|
93
|
-
</AssignmentCard>
|
|
94
|
-
</div>
|
|
95
|
-
)}
|
|
96
|
-
</li>;
|
|
97
|
-
})}
|
|
98
|
-
</ul>
|
|
99
|
-
)}
|
|
100
|
-
{!mainStep?.steps && mainStep.visited_status === 'current' && (
|
|
101
|
-
<div style={{ paddingLeft: 20 }}>
|
|
102
|
-
<AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>
|
|
103
|
-
{children}
|
|
104
|
-
</AssignmentCard>
|
|
105
|
-
</div>
|
|
106
|
-
)}
|
|
107
71
|
</div>
|
|
72
|
+
<div className='psdk-vertical-step-label'>{mainStep.name}</div>
|
|
108
73
|
</div>
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
74
|
+
{!isLastStep(index) && <div className={_getVBodyClass(index)} />}
|
|
75
|
+
</div>
|
|
76
|
+
))}
|
|
77
|
+
</div>
|
|
78
|
+
<div className='psdk-stepper-content'>
|
|
79
|
+
<AssignmentCard getPConnect={getPConnect} itemKey={itemKey} actionButtons={actionButtons} onButtonPress={buttonPress}>
|
|
80
|
+
{children}
|
|
81
|
+
</AssignmentCard>
|
|
82
|
+
</div>
|
|
112
83
|
</div>
|
|
113
84
|
) : (
|
|
114
85
|
<div className='psdk-horizontal-stepper'>
|
|
@@ -56,7 +56,8 @@ const iconMap = {
|
|
|
56
56
|
'pi pi-tablet': <TabletAndroidOutlineIcon fontSize='large' />,
|
|
57
57
|
'pi pi-ambulance': <AirportShuttleOutlinedIcon fontSize='large' />,
|
|
58
58
|
'pi pi-ink-solid': <EditOutlinedIcon fontSize='large' />,
|
|
59
|
-
'pi pi-columns': <HomeOutlinedIcon fontSize='large'
|
|
59
|
+
'pi pi-columns': <HomeOutlinedIcon fontSize='large' />,
|
|
60
|
+
'case-solid': <WorkOutlineIcon fontSize='large' />
|
|
60
61
|
};
|
|
61
62
|
|
|
62
63
|
const drawerWidth = 300;
|
|
@@ -150,12 +151,14 @@ export default function NavBar(props: NavBarProps) {
|
|
|
150
151
|
|
|
151
152
|
function navPanelButtonClick(oPageData: any) {
|
|
152
153
|
const { pyClassName, pyRuleName } = oPageData;
|
|
153
|
-
|
|
154
154
|
pConn
|
|
155
155
|
.getActionsApi()
|
|
156
156
|
.showPage(pyRuleName, pyClassName)
|
|
157
157
|
.then(() => {
|
|
158
158
|
console.log(`${localizedVal('showPage completed', localeCategory)}`);
|
|
159
|
+
})
|
|
160
|
+
.catch(error => {
|
|
161
|
+
console.error('Failed to navigate to page from NavBar', error);
|
|
159
162
|
});
|
|
160
163
|
}
|
|
161
164
|
|
|
@@ -165,12 +168,14 @@ export default function NavBar(props: NavBarProps) {
|
|
|
165
168
|
containerName: 'primary',
|
|
166
169
|
flowType: sFlowType || 'pyStartCase'
|
|
167
170
|
};
|
|
168
|
-
|
|
169
171
|
pConn
|
|
170
172
|
.getActionsApi()
|
|
171
173
|
.createWork(sCaseType, actionInfo)
|
|
172
174
|
.then(() => {
|
|
173
175
|
console.log(`${localizedVal('createWork completed', localeCategory)}`);
|
|
176
|
+
})
|
|
177
|
+
.catch(error => {
|
|
178
|
+
console.error('Failed to create case from NavBar', error);
|
|
174
179
|
});
|
|
175
180
|
}
|
|
176
181
|
|
|
@@ -38,6 +38,11 @@ export default function Reference(props: ReferenceProps) {
|
|
|
38
38
|
pageReference: context && context.startsWith('@CLASS') ? '' : context
|
|
39
39
|
});
|
|
40
40
|
|
|
41
|
+
if (referenceConfig.inheritedProps && referenceConfig.inheritedProps.length > 0) {
|
|
42
|
+
const inheritedProps = pConnect.getInheritedProps();
|
|
43
|
+
referenceConfig.inheritedProps = Object.keys(inheritedProps).map(prop => ({ prop, value: inheritedProps[prop] }));
|
|
44
|
+
}
|
|
45
|
+
|
|
41
46
|
viewComponent.props.getPConnect().setInheritedConfig({
|
|
42
47
|
...referenceConfig,
|
|
43
48
|
readOnly,
|
package/tests/assets/sdk-r/components/create/override-sdk/infra/RootContainer/RootContainer.tsx
CHANGED
|
@@ -15,11 +15,10 @@ interface RootContainerProps extends PConnProps {
|
|
|
15
15
|
httpMessages: any[];
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//
|
|
18
|
+
/**
|
|
19
|
+
* WARNING: This file is part of the infrastructure component responsible for working with Redux and managing the creation and update of Redux containers and PConnect.
|
|
20
|
+
* You may override Material components within this component if needed, but do not modify any container-related logic. Changing this logic can lead to unexpected behavior.
|
|
21
|
+
*/
|
|
23
22
|
|
|
24
23
|
const renderingModes = ['portal', 'view'];
|
|
25
24
|
|
|
@@ -21,13 +21,12 @@ interface ViewProps extends PConnProps {
|
|
|
21
21
|
type?: any;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
//
|
|
24
|
+
/**
|
|
25
|
+
* WARNING: This file is part of the infrastructure component responsible for working with Redux and managing the creation and update of Redux containers and PConnect.
|
|
26
|
+
* You may override Material components within this component if needed, but do not modify any container-related logic. Changing this logic can lead to unexpected behavior.
|
|
27
|
+
*/
|
|
29
28
|
|
|
30
|
-
const FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide'];
|
|
29
|
+
const FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide', 'HierarchicalForm'];
|
|
31
30
|
const NO_HEADER_TEMPLATES = [
|
|
32
31
|
'SubTabs',
|
|
33
32
|
'SimpleTable',
|
|
@@ -43,22 +42,16 @@ const NO_HEADER_TEMPLATES = [
|
|
|
43
42
|
];
|
|
44
43
|
|
|
45
44
|
export default function View(props: PropsWithChildren<ViewProps>) {
|
|
46
|
-
const { children, template, getPConnect,
|
|
47
|
-
let { label = '', showLabel
|
|
45
|
+
const { children, template, getPConnect, visibility, name: pageName, type, title } = props;
|
|
46
|
+
let { label = '', showLabel } = props;
|
|
48
47
|
const { PAGE_TYPES: { PAGE, LANDINGPAGE, LISTPAGE } = {}, MODAL } = PCore.getConstants();
|
|
49
48
|
|
|
50
|
-
// Get the inherited props from the parent to determine label settings
|
|
51
|
-
// Putting this logic here instead of copy/paste in every Form template index.js
|
|
52
|
-
|
|
49
|
+
// Get the inherited props from the parent to determine label settings
|
|
53
50
|
const inheritedProps: any = getPConnect().getInheritedProps(); // try to remove any when getInheritedProps typedefs are fixed
|
|
54
51
|
label = inheritedProps.label || label;
|
|
55
|
-
showLabel = inheritedProps.showLabel
|
|
56
|
-
const localeUtils = PCore.getLocaleUtils();
|
|
52
|
+
showLabel = inheritedProps.showLabel ?? showLabel ?? true;
|
|
57
53
|
|
|
58
|
-
const
|
|
59
|
-
if (isEmbeddedDataView && showLabel === undefined) {
|
|
60
|
-
showLabel = true;
|
|
61
|
-
}
|
|
54
|
+
const localeUtils = PCore.getLocaleUtils();
|
|
62
55
|
|
|
63
56
|
useEffect(() => {
|
|
64
57
|
// Get the localized application label
|
package/tests/assets/sdk-r/components/create/override-sdk/infra/ViewContainer/ViewContainer.tsx
CHANGED
|
@@ -17,14 +17,10 @@ interface ViewContainerProps extends PConnProps {
|
|
|
17
17
|
limit?: number;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
|
|
25
|
-
// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and
|
|
26
|
-
// is totally at your own risk.
|
|
27
|
-
//
|
|
20
|
+
/**
|
|
21
|
+
* WARNING: This file is part of the infrastructure component responsible for working with Redux and managing the creation and update of Redux containers and PConnect.
|
|
22
|
+
* You may override Material components within this component if needed, but do not modify any container-related logic. Changing this logic can lead to unexpected behavior.
|
|
23
|
+
*/
|
|
28
24
|
|
|
29
25
|
export default function ViewContainer(props: ViewContainerProps) {
|
|
30
26
|
// const { getPConnect, children, routingInfo, name } = props;
|
|
@@ -157,13 +153,15 @@ export default function ViewContainer(props: ViewContainerProps) {
|
|
|
157
153
|
const latestItem = items[key];
|
|
158
154
|
const rootView = latestItem.view;
|
|
159
155
|
const { context, name: viewName } = rootView.config;
|
|
156
|
+
const target = key.substring(0, key.lastIndexOf('_'));
|
|
160
157
|
const config: any = { meta: rootView };
|
|
161
158
|
config.options = {
|
|
162
159
|
context: latestItem.context,
|
|
163
160
|
pageReference: context || getPConnect().getPageReference(),
|
|
164
161
|
containerName: getPConnect().getContainerName(),
|
|
165
|
-
|
|
166
|
-
hasForm: viewName === CREATE_DETAILS_VIEW_NAME
|
|
162
|
+
containerItemID: key,
|
|
163
|
+
hasForm: viewName === CREATE_DETAILS_VIEW_NAME,
|
|
164
|
+
target
|
|
167
165
|
};
|
|
168
166
|
const configObject: any = PCore.createPConnect(config);
|
|
169
167
|
|
|
@@ -134,6 +134,9 @@ export default function AppShell(props: PropsWithChildren<AppShellProps>) {
|
|
|
134
134
|
skipDirtyValidation: true
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
|
+
})
|
|
138
|
+
.catch(e => {
|
|
139
|
+
console.error(e);
|
|
137
140
|
});
|
|
138
141
|
}
|
|
139
142
|
}, []);
|
|
@@ -170,7 +173,10 @@ export default function AppShell(props: PropsWithChildren<AppShellProps>) {
|
|
|
170
173
|
if (imageKey && portalTemplate === 'wss') {
|
|
171
174
|
PCore.getAssetLoader()
|
|
172
175
|
.getSvcImageUrl(imageKey)
|
|
173
|
-
.then(imagePath => setImageBlobUrl(imagePath))
|
|
176
|
+
.then(imagePath => setImageBlobUrl(imagePath))
|
|
177
|
+
.catch(e => {
|
|
178
|
+
console.error(e);
|
|
179
|
+
});
|
|
174
180
|
}
|
|
175
181
|
}, []);
|
|
176
182
|
|