@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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { type PropsWithChildren, useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
1
|
+
import React, { type PropsWithChildren, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import Table from '@mui/material/Table';
|
|
3
3
|
import TableBody from '@mui/material/TableBody';
|
|
4
4
|
import TableCell from '@mui/material/TableCell';
|
|
@@ -28,9 +28,10 @@ import { Utils } from '@pega/react-sdk-components/lib/components/helpers/utils';
|
|
|
28
28
|
import { getReferenceList } from '@pega/react-sdk-components/lib/components/helpers/field-group-utils';
|
|
29
29
|
import { getDataPage } from '@pega/react-sdk-components/lib/components/helpers/data_page';
|
|
30
30
|
import { getGenericFieldsLocalizedValue } from '@pega/react-sdk-components/lib/components/helpers/common-utils';
|
|
31
|
-
import { buildFieldsForTable, filterData, getContext } from '@pega/react-sdk-components/lib/components/helpers/simpleTableHelpers';
|
|
31
|
+
import { buildFieldsForTable, filterData, getConfigFields, getContext } from '@pega/react-sdk-components/lib/components/helpers/simpleTableHelpers';
|
|
32
32
|
import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
|
|
33
33
|
import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
|
|
34
|
+
import { initializeColumns } from '@pega/react-sdk-components/lib/components/template/ListView/utils';
|
|
34
35
|
|
|
35
36
|
interface SimpleTableManualProps extends PConnProps {
|
|
36
37
|
// If any, enter additional props that only exist on this component
|
|
@@ -54,6 +55,8 @@ interface SimpleTableManualProps extends PConnProps {
|
|
|
54
55
|
viewForEditModal: any;
|
|
55
56
|
validatemessage?: string;
|
|
56
57
|
required?: boolean;
|
|
58
|
+
targetClassLabel?: string;
|
|
59
|
+
uniqueField?: string;
|
|
57
60
|
}
|
|
58
61
|
|
|
59
62
|
const useStyles = makeStyles((/* theme */) => ({
|
|
@@ -100,9 +103,6 @@ let menuColumnId = '';
|
|
|
100
103
|
let menuColumnType = '';
|
|
101
104
|
let menuColumnLabel = '';
|
|
102
105
|
|
|
103
|
-
const filterByColumns: any[] = [];
|
|
104
|
-
let myRows: any[];
|
|
105
|
-
|
|
106
106
|
export default function SimpleTableManual(props: PropsWithChildren<SimpleTableManualProps>) {
|
|
107
107
|
const classes = useStyles();
|
|
108
108
|
const {
|
|
@@ -127,8 +127,11 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
127
127
|
useSeparateViewForEdit,
|
|
128
128
|
viewForEditModal,
|
|
129
129
|
required,
|
|
130
|
-
validatemessage
|
|
130
|
+
validatemessage,
|
|
131
|
+
targetClassLabel,
|
|
132
|
+
uniqueField
|
|
131
133
|
} = props;
|
|
134
|
+
const normalizedUniqueField = uniqueField?.charAt(0) === '.' ? uniqueField.substring(1) : uniqueField;
|
|
132
135
|
const pConn = getPConnect();
|
|
133
136
|
const [rowData, setRowData] = useState([]);
|
|
134
137
|
const [elements, setElementsData] = useState([]);
|
|
@@ -147,12 +150,15 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
147
150
|
const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');
|
|
148
151
|
const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');
|
|
149
152
|
const selectedRowIndex: any = useRef(null);
|
|
153
|
+
const myRowsRef = useRef<any[]>([]);
|
|
154
|
+
const filterByColumnsRef = useRef<any[]>([]);
|
|
150
155
|
const localizedVal = PCore.getLocaleUtils().getLocaleValue;
|
|
151
156
|
const localeCategory = 'SimpleTable';
|
|
152
157
|
const parameters = fieldMetadata?.datasource?.parameters;
|
|
153
158
|
const { referenceListStr } = getContext(getPConnect());
|
|
154
159
|
const label = labelProp || propertyLabel;
|
|
155
160
|
const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
|
|
161
|
+
|
|
156
162
|
if (propsToUse.showLabel === false) {
|
|
157
163
|
propsToUse.label = '';
|
|
158
164
|
}
|
|
@@ -163,13 +169,17 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
163
169
|
const menuIconOverride$ = Utils.getImageSrc('trash', Utils.getSDKStaticConentUrl());
|
|
164
170
|
|
|
165
171
|
const resolvedFields = children?.[0]?.children || presets?.[0].children?.[0].children;
|
|
166
|
-
|
|
172
|
+
// @ts-ignore
|
|
173
|
+
const qualifiedPrimaryFields = PCore.getNameSpaceUtils().getDefaultQualifiedName('pyPrimaryFields');
|
|
174
|
+
const primaryFieldsViewIndex = resolvedFields?.findIndex(field => {
|
|
175
|
+
const value = field.config.value;
|
|
176
|
+
return value === 'pyPrimaryFields' || value === qualifiedPrimaryFields;
|
|
177
|
+
});
|
|
167
178
|
// NOTE: props has each child.config with datasource and value undefined
|
|
168
179
|
// but getRawMetadata() has each child.config with datasource and value showing their unresolved values (ex: "@P thePropName")
|
|
169
180
|
// We need to use the prop name as the "glue" to tie the table dataSource, displayColumns and data together.
|
|
170
181
|
// So, in the code below, we'll use the unresolved config.value (but replacing the space with an underscore to keep things happy)
|
|
171
182
|
const rawMetadata: any = getPConnect().getRawMetadata();
|
|
172
|
-
|
|
173
183
|
// get raw config since @P and other annotations are processed and don't appear in the resolved config.
|
|
174
184
|
// Destructure "raw" children into array var: "rawFields"
|
|
175
185
|
// NOTE: when config.listType == "associated", the property can be found in either
|
|
@@ -186,12 +196,41 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
186
196
|
const allowEditingInModal =
|
|
187
197
|
(editMode ? editMode === 'modal' : addAndEditRowsWithin === 'modal') && !(renderMode === 'ReadOnly' || isDisplayModeEnabled);
|
|
188
198
|
const showDeleteButton = editableMode && !hideDeleteRow;
|
|
199
|
+
const { allowRowDelete: allowRowDeleteConfig } = pConn.getComponentConfig?.() ?? {};
|
|
200
|
+
|
|
201
|
+
const isDeleteAllowedForRow = (index: number): boolean => {
|
|
202
|
+
if (!showDeleteButton) return false;
|
|
203
|
+
if (allowRowDeleteConfig === undefined || allowRowDeleteConfig === true) return true;
|
|
204
|
+
if (typeof allowRowDeleteConfig === 'string' && allowRowDeleteConfig.startsWith('@E ')) {
|
|
205
|
+
try {
|
|
206
|
+
const expression = allowRowDeleteConfig.replace('@E ', '');
|
|
207
|
+
// @ts-expect-error - options param is optional per corejs docs
|
|
208
|
+
return PCore.getExpressionEngine().evaluate(expression, referenceList[index]);
|
|
209
|
+
} catch {
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return false;
|
|
214
|
+
};
|
|
215
|
+
|
|
189
216
|
const defaultView = editModeConfig ? editModeConfig.defaultView : viewForAddAndEditModal;
|
|
190
217
|
const bUseSeparateViewForEdit = editModeConfig ? editModeConfig.useSeparateViewForEdit : useSeparateViewForEdit;
|
|
191
218
|
const editView = editModeConfig ? editModeConfig.editView : viewForEditModal;
|
|
192
|
-
|
|
193
|
-
const
|
|
194
|
-
|
|
219
|
+
const editType = editModeConfig?.editType;
|
|
220
|
+
const defaultActionId = editType === 'action' ? editModeConfig?.defaultAction : undefined;
|
|
221
|
+
const editActionId = editType === 'action' && editModeConfig?.useSeparateActionForEdit ? editModeConfig?.editAction : editModeConfig?.defaultAction;
|
|
222
|
+
const configFields = getConfigFields(rawFields, contextClass, primaryFieldsViewIndex);
|
|
223
|
+
const addLabel = targetClassLabel ? localizedVal('Add {0}', 'SimpleTable').replace('{0}', targetClassLabel) : localizedVal('Add', 'SimpleTable');
|
|
224
|
+
|
|
225
|
+
const fieldsWithPropNames = configFields.map(field => {
|
|
226
|
+
let propName = field.config.value;
|
|
227
|
+
if (propName.startsWith('@')) {
|
|
228
|
+
propName = propName.substring(propName.indexOf(' ') + 1);
|
|
229
|
+
}
|
|
230
|
+
if (propName.startsWith('.')) {
|
|
231
|
+
propName = propName.substring(1);
|
|
232
|
+
}
|
|
233
|
+
return { ...field, propName };
|
|
195
234
|
});
|
|
196
235
|
|
|
197
236
|
useEffect(() => {
|
|
@@ -207,10 +246,15 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
207
246
|
// Constellation DX Components do). It will also have the "label", and "meta" contains the original,
|
|
208
247
|
// unchanged config info. For now, much of the info here is carried over from
|
|
209
248
|
// Constellation DX Components.
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
249
|
+
|
|
250
|
+
const fieldDefs = useMemo(
|
|
251
|
+
() =>
|
|
252
|
+
isDisplayModeEnabled || readOnlyMode
|
|
253
|
+
? initializeColumns(configFields, undefined)
|
|
254
|
+
: // For inline edit table
|
|
255
|
+
buildFieldsForTable(configFields, getPConnect(), showDeleteButton, { primaryFieldsViewIndex, fields: resolvedFields }),
|
|
256
|
+
[]
|
|
257
|
+
);
|
|
214
258
|
|
|
215
259
|
useLayoutEffect(() => {
|
|
216
260
|
if (allowEditingInModal) {
|
|
@@ -218,11 +262,12 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
218
262
|
.getListActions()
|
|
219
263
|
.initDefaultPageInstructions(
|
|
220
264
|
getPConnect().getReferenceList(),
|
|
221
|
-
|
|
265
|
+
// Temporary filter for attachments to align with constellation payload behavior.
|
|
266
|
+
fieldDefs.filter(item => item.name && item.meta?.type !== 'Attachment').map(item => item.name)
|
|
222
267
|
);
|
|
223
268
|
} else {
|
|
224
|
-
// @ts-
|
|
225
|
-
getPConnect().getListActions().initDefaultPageInstructions(getPConnect().getReferenceList());
|
|
269
|
+
// @ts-ignore - fields param is optional, uniqueField passed as 3rd arg for page instructions
|
|
270
|
+
getPConnect().getListActions().initDefaultPageInstructions(getPConnect().getReferenceList(), undefined, uniqueField);
|
|
226
271
|
}
|
|
227
272
|
}, []);
|
|
228
273
|
|
|
@@ -252,8 +297,10 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
252
297
|
// See what data (if any) we have to display
|
|
253
298
|
const refKeys: string[] = inColKey?.split('.');
|
|
254
299
|
let valBuilder = inRowData;
|
|
300
|
+
let index = 0;
|
|
255
301
|
for (const key of refKeys) {
|
|
256
|
-
|
|
302
|
+
index += 1;
|
|
303
|
+
valBuilder = valBuilder[key] !== undefined || index === refKeys.length ? valBuilder[key] : valBuilder;
|
|
257
304
|
}
|
|
258
305
|
return getFormattedValue(valBuilder, inColKey);
|
|
259
306
|
}
|
|
@@ -261,21 +308,25 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
261
308
|
const formatRowsData = data => {
|
|
262
309
|
if (!data) return {};
|
|
263
310
|
|
|
264
|
-
return data.map(item => {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
return
|
|
268
|
-
}, {});
|
|
311
|
+
return data.map((item, idx) => {
|
|
312
|
+
const dataForRow = displayedColumns.reduce((acc, colKey) => {
|
|
313
|
+
acc[colKey] = getRowValue(item, colKey);
|
|
314
|
+
return acc;
|
|
315
|
+
}, {} as any);
|
|
316
|
+
dataForRow.__originalIndex = idx;
|
|
317
|
+
return dataForRow;
|
|
269
318
|
});
|
|
270
319
|
};
|
|
271
320
|
|
|
272
321
|
function generateRowsData() {
|
|
322
|
+
myRowsRef.current = [];
|
|
323
|
+
|
|
273
324
|
// if referenceList is empty and dataPageName property value exists then make a datapage fetch call and get the list of data.
|
|
274
325
|
if (!referenceList.length && dataPageName) {
|
|
275
326
|
getDataPage(dataPageName, parameters, context)
|
|
276
327
|
.then(listData => {
|
|
277
328
|
const data = formatRowsData(listData);
|
|
278
|
-
|
|
329
|
+
myRowsRef.current = data || [];
|
|
279
330
|
setRowData(data);
|
|
280
331
|
})
|
|
281
332
|
.catch(e => {
|
|
@@ -286,16 +337,19 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
286
337
|
// in the table. So, iterate over referenceList to create the dataRows that
|
|
287
338
|
// we're using as the table's dataSource
|
|
288
339
|
const data: any = [];
|
|
289
|
-
|
|
290
|
-
const dataForRow:
|
|
340
|
+
referenceList.forEach((row, idx) => {
|
|
341
|
+
const dataForRow: any = {};
|
|
291
342
|
for (const col of displayedColumns) {
|
|
292
343
|
const colKey: string = col;
|
|
293
344
|
const theVal = getRowValue(row, colKey);
|
|
294
345
|
dataForRow[colKey] = theVal || '';
|
|
295
346
|
}
|
|
347
|
+
// Preserve the original position so stableSort can look up the right
|
|
348
|
+
// entry in `elements` even after filtering shrinks rowData.
|
|
349
|
+
dataForRow.__originalIndex = idx;
|
|
296
350
|
data.push(dataForRow);
|
|
297
|
-
|
|
298
|
-
|
|
351
|
+
});
|
|
352
|
+
myRowsRef.current = data;
|
|
299
353
|
setRowData(data);
|
|
300
354
|
}
|
|
301
355
|
}
|
|
@@ -316,13 +370,27 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
316
370
|
// console.log(JSON.stringify(rowData));
|
|
317
371
|
|
|
318
372
|
const addRecord = () => {
|
|
319
|
-
if (allowEditingInModal && defaultView) {
|
|
373
|
+
if (allowEditingInModal && (defaultView || defaultActionId)) {
|
|
320
374
|
pConn
|
|
321
375
|
.getActionsApi()
|
|
322
|
-
|
|
323
|
-
.openEmbeddedDataModal(
|
|
376
|
+
|
|
377
|
+
.openEmbeddedDataModal(
|
|
378
|
+
defaultView,
|
|
379
|
+
// @ts-expect-error
|
|
380
|
+
pConn,
|
|
381
|
+
referenceListStr,
|
|
382
|
+
referenceList.length,
|
|
383
|
+
PCore.getConstants().RESOURCE_STATUS.CREATE,
|
|
384
|
+
targetClassLabel,
|
|
385
|
+
editType,
|
|
386
|
+
defaultActionId
|
|
387
|
+
);
|
|
324
388
|
} else {
|
|
325
|
-
|
|
389
|
+
const payload: any = { classID: contextClass };
|
|
390
|
+
if (normalizedUniqueField) {
|
|
391
|
+
payload[normalizedUniqueField] = crypto.randomUUID();
|
|
392
|
+
}
|
|
393
|
+
pConn.getListActions().insert(payload, referenceList.length);
|
|
326
394
|
}
|
|
327
395
|
|
|
328
396
|
getPConnect().clearErrorMessages({
|
|
@@ -335,13 +403,17 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
335
403
|
if (typeof selectedRowIndex.current === 'number') {
|
|
336
404
|
pConn
|
|
337
405
|
.getActionsApi()
|
|
338
|
-
|
|
406
|
+
|
|
339
407
|
.openEmbeddedDataModal(
|
|
340
408
|
bUseSeparateViewForEdit ? editView : defaultView,
|
|
409
|
+
// @ts-expect-error
|
|
341
410
|
pConn,
|
|
342
411
|
referenceListStr,
|
|
343
412
|
selectedRowIndex.current,
|
|
344
|
-
PCore.getConstants().RESOURCE_STATUS.UPDATE
|
|
413
|
+
PCore.getConstants().RESOURCE_STATUS.UPDATE,
|
|
414
|
+
targetClassLabel,
|
|
415
|
+
editType,
|
|
416
|
+
editActionId
|
|
345
417
|
);
|
|
346
418
|
}
|
|
347
419
|
};
|
|
@@ -359,7 +431,7 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
359
431
|
const eleData: any = [];
|
|
360
432
|
referenceList.forEach((element, index) => {
|
|
361
433
|
const data: any = [];
|
|
362
|
-
|
|
434
|
+
configFields.forEach(item => {
|
|
363
435
|
// removing label field from config to hide title in the table cell
|
|
364
436
|
if (!item.config.hide) {
|
|
365
437
|
item = { ...item, config: { ...item.config, label: '', displayMode: readOnlyMode || allowEditingInModal ? 'DISPLAY_ONLY' : undefined } };
|
|
@@ -426,12 +498,7 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
426
498
|
if (order !== 0) return order;
|
|
427
499
|
return a[1] - b[1];
|
|
428
500
|
});
|
|
429
|
-
|
|
430
|
-
const newElements = new Array(stabilizedThis.length);
|
|
431
|
-
stabilizedThis.forEach((el, index) => {
|
|
432
|
-
newElements[index] = elements[el[1]];
|
|
433
|
-
});
|
|
434
|
-
return newElements;
|
|
501
|
+
return stabilizedThis.map(([el]) => el);
|
|
435
502
|
}
|
|
436
503
|
|
|
437
504
|
function _menuClick(event, columnId: string, columnType: string, labelValue: string) {
|
|
@@ -457,7 +524,7 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
457
524
|
|
|
458
525
|
let bFound = false;
|
|
459
526
|
|
|
460
|
-
for (const filterObj of
|
|
527
|
+
for (const filterObj of filterByColumnsRef.current) {
|
|
461
528
|
if (filterObj.ref === menuColumnId) {
|
|
462
529
|
setFilterBy(menuColumnLabel);
|
|
463
530
|
if (filterObj.type === 'Date' || filterObj.type === 'DateTime' || filterObj.type === 'Time') {
|
|
@@ -523,10 +590,10 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
523
590
|
|
|
524
591
|
function filterSortGroupBy() {
|
|
525
592
|
// get original data set
|
|
526
|
-
let theData: any =
|
|
593
|
+
let theData: any = myRowsRef.current?.slice();
|
|
527
594
|
|
|
528
595
|
// last filter config data is global
|
|
529
|
-
theData = theData
|
|
596
|
+
theData = theData?.filter(filterData(filterByColumnsRef.current));
|
|
530
597
|
|
|
531
598
|
// move data to array and then sort
|
|
532
599
|
setRowData(theData);
|
|
@@ -534,7 +601,7 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
534
601
|
|
|
535
602
|
function updateFilterWithInfo() {
|
|
536
603
|
let bFound = false;
|
|
537
|
-
for (const filterObj of
|
|
604
|
+
for (const filterObj of filterByColumnsRef.current) {
|
|
538
605
|
if (filterObj.ref === menuColumnId) {
|
|
539
606
|
filterObj.type = filterType;
|
|
540
607
|
if (containsDateOrTime) {
|
|
@@ -562,7 +629,7 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
562
629
|
filterObj.containsFilterValue = displayDialogContainsValue;
|
|
563
630
|
}
|
|
564
631
|
|
|
565
|
-
|
|
632
|
+
filterByColumnsRef.current.push(filterObj);
|
|
566
633
|
}
|
|
567
634
|
}
|
|
568
635
|
|
|
@@ -574,7 +641,7 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
574
641
|
}
|
|
575
642
|
|
|
576
643
|
function _showFilteredIcon(columnId) {
|
|
577
|
-
for (const filterObj of
|
|
644
|
+
for (const filterObj of filterByColumnsRef.current) {
|
|
578
645
|
if (filterObj.ref === columnId) {
|
|
579
646
|
if (filterObj.containsFilterValue !== '') {
|
|
580
647
|
return true;
|
|
@@ -587,7 +654,7 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
587
654
|
}
|
|
588
655
|
|
|
589
656
|
function results() {
|
|
590
|
-
const len = editableMode ? elements
|
|
657
|
+
const len = editableMode ? elements?.length : rowData?.length;
|
|
591
658
|
|
|
592
659
|
return len ? (
|
|
593
660
|
<span style={{ fontSize: '0.9em', opacity: '0.7' }}>
|
|
@@ -596,6 +663,10 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
596
663
|
) : null;
|
|
597
664
|
}
|
|
598
665
|
|
|
666
|
+
if (!rawFields) {
|
|
667
|
+
return null;
|
|
668
|
+
}
|
|
669
|
+
|
|
599
670
|
return (
|
|
600
671
|
<>
|
|
601
672
|
<TableContainer component={Paper} style={{ margin: '4px 0px' }} id='simple-table-manual'>
|
|
@@ -651,7 +722,7 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
651
722
|
const theKey = `row-${index}`;
|
|
652
723
|
return (
|
|
653
724
|
<TableRow key={theKey}>
|
|
654
|
-
{row
|
|
725
|
+
{row?.map((item, childIndex) => {
|
|
655
726
|
const theColKey = `data-${index}-${childIndex}`;
|
|
656
727
|
return (
|
|
657
728
|
<TableCell key={theColKey} className={classes.tableCell}>
|
|
@@ -661,15 +732,17 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
661
732
|
})}
|
|
662
733
|
{showDeleteButton && (
|
|
663
734
|
<TableCell>
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
735
|
+
{isDeleteAllowedForRow(index) && (
|
|
736
|
+
<button
|
|
737
|
+
type='button'
|
|
738
|
+
className='psdk-utility-button'
|
|
739
|
+
id='delete-button'
|
|
740
|
+
aria-label='Delete Cell'
|
|
741
|
+
onClick={() => deleteRecordFromInlineEditable(index)}
|
|
742
|
+
>
|
|
743
|
+
<img className='psdk-utility-card-action-svg-icon' src={menuIconOverride$} />
|
|
744
|
+
</button>
|
|
745
|
+
)}
|
|
673
746
|
</TableCell>
|
|
674
747
|
)}
|
|
675
748
|
</TableRow>
|
|
@@ -678,42 +751,43 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
678
751
|
{(readOnlyMode || allowEditingInModal) &&
|
|
679
752
|
rowData &&
|
|
680
753
|
rowData.length > 0 &&
|
|
681
|
-
stableSort(rowData, getComparator(order, orderBy))
|
|
682
|
-
.
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
{item}
|
|
691
|
-
</TableCell>
|
|
692
|
-
);
|
|
693
|
-
})}
|
|
694
|
-
{showDeleteButton && (
|
|
695
|
-
<TableCell key='DeleteIcon' className={classes.tableCell}>
|
|
696
|
-
<div>
|
|
697
|
-
<MoreIcon
|
|
698
|
-
id='table-edit-menu-icon'
|
|
699
|
-
className={classes.moreIcon}
|
|
700
|
-
onClick={event => {
|
|
701
|
-
editMenuClick(event, index);
|
|
702
|
-
}}
|
|
703
|
-
/>
|
|
704
|
-
<Menu id='table-edit-menu' anchorEl={editAnchorEl} keepMounted open={Boolean(editAnchorEl)} onClose={_menuClose}>
|
|
705
|
-
<MenuItem onClick={() => editRecord()}>Edit</MenuItem>
|
|
706
|
-
<MenuItem onClick={() => deleteRecord()}>Delete</MenuItem>
|
|
707
|
-
</Menu>
|
|
708
|
-
</div>
|
|
754
|
+
stableSort(rowData, getComparator(order, orderBy)).map((row: any, displayIndex) => {
|
|
755
|
+
const originalIndex = row.__originalIndex;
|
|
756
|
+
return (
|
|
757
|
+
<TableRow key={displayIndex}>
|
|
758
|
+
{(elements as any[])[originalIndex]?.map((item, childIndex) => {
|
|
759
|
+
const theColKey = displayedColumns[childIndex];
|
|
760
|
+
return (
|
|
761
|
+
<TableCell key={theColKey} className={classes.tableCell}>
|
|
762
|
+
{item}
|
|
709
763
|
</TableCell>
|
|
710
|
-
)
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
764
|
+
);
|
|
765
|
+
})}
|
|
766
|
+
{showDeleteButton && (
|
|
767
|
+
<TableCell key='DeleteIcon' className={classes.tableCell}>
|
|
768
|
+
<div>
|
|
769
|
+
<MoreIcon
|
|
770
|
+
id='table-edit-menu-icon'
|
|
771
|
+
className={classes.moreIcon}
|
|
772
|
+
onClick={event => {
|
|
773
|
+
editMenuClick(event, originalIndex);
|
|
774
|
+
}}
|
|
775
|
+
/>
|
|
776
|
+
<Menu id='table-edit-menu' anchorEl={editAnchorEl} keepMounted open={Boolean(editAnchorEl)} onClose={_menuClose}>
|
|
777
|
+
<MenuItem onClick={() => editRecord()}>Edit</MenuItem>
|
|
778
|
+
{isDeleteAllowedForRow(originalIndex) && <MenuItem onClick={() => deleteRecord()}>Delete</MenuItem>}
|
|
779
|
+
</Menu>
|
|
780
|
+
</div>
|
|
781
|
+
</TableCell>
|
|
782
|
+
)}
|
|
783
|
+
</TableRow>
|
|
784
|
+
);
|
|
785
|
+
})}
|
|
714
786
|
</TableBody>
|
|
715
787
|
</Table>
|
|
716
|
-
{((readOnlyMode && (!rowData || rowData?.length === 0)) ||
|
|
788
|
+
{((readOnlyMode && (!rowData || rowData?.length === 0)) ||
|
|
789
|
+
(editableMode && (!referenceList || referenceList?.length === 0)) ||
|
|
790
|
+
(allowEditingInModal && (!rowData || rowData?.length === 0))) && (
|
|
717
791
|
<div className='no-records' id='no-records'>
|
|
718
792
|
{getGenericFieldsLocalizedValue('COSMOSFIELDS.lists', 'No records found.')}
|
|
719
793
|
</div>
|
|
@@ -722,7 +796,7 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
|
|
|
722
796
|
{showAddRowButton && (
|
|
723
797
|
<div style={{ fontSize: '1rem' }}>
|
|
724
798
|
<Link style={{ cursor: 'pointer' }} onClick={addRecord} underline='hover'>
|
|
725
|
-
+ {localizedVal(
|
|
799
|
+
+ {localizedVal(addLabel, localeCategory)}
|
|
726
800
|
</Link>
|
|
727
801
|
</div>
|
|
728
802
|
)}
|