@pega/react-sdk-components 8.23.10 → 8.23.11-debug2
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/lib/bridge/Context/StoreContext.d.ts +3 -2
- package/lib/bridge/Context/StoreContext.d.ts.map +1 -1
- package/lib/bridge/Context/StoreContext.js +2 -3
- package/lib/bridge/Context/StoreContext.js.map +1 -1
- package/lib/bridge/helpers/sdk_component_map.d.ts +1 -0
- package/lib/bridge/helpers/sdk_component_map.d.ts.map +1 -1
- package/lib/bridge/helpers/sdk_component_map.js +22 -0
- package/lib/bridge/helpers/sdk_component_map.js.map +1 -1
- package/lib/bridge/react_pconnect.d.ts.map +1 -1
- package/lib/bridge/react_pconnect.js +2 -14
- package/lib/bridge/react_pconnect.js.map +1 -1
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts +13 -0
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts.map +1 -0
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +26 -0
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -0
- package/lib/components/designSystemExtension/AlertBanner/index.d.ts +2 -0
- package/lib/components/designSystemExtension/AlertBanner/index.d.ts.map +1 -0
- package/lib/components/designSystemExtension/AlertBanner/index.js +2 -0
- package/lib/components/designSystemExtension/AlertBanner/index.js.map +1 -0
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.d.ts.map +1 -1
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +1 -1
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
- package/lib/components/designSystemExtension/Operator/Operator.d.ts.map +1 -1
- package/lib/components/designSystemExtension/Operator/Operator.js +12 -10
- package/lib/components/designSystemExtension/Operator/Operator.js.map +1 -1
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +2 -2
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
- package/lib/components/field/CancelAlert/CancelAlert.d.ts.map +1 -1
- package/lib/components/field/CancelAlert/CancelAlert.js +9 -7
- package/lib/components/field/CancelAlert/CancelAlert.js.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.js +3 -3
- package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
- package/lib/components/field/Currency/currency-utils.d.ts +1 -1
- package/lib/components/field/Currency/currency-utils.d.ts.map +1 -1
- package/lib/components/field/Currency/currency-utils.js.map +1 -1
- package/lib/components/field/Date/Date.d.ts.map +1 -1
- package/lib/components/field/Date/Date.js +11 -5
- package/lib/components/field/Date/Date.js.map +1 -1
- package/lib/components/field/DateTime/DateTime.js +1 -1
- package/lib/components/field/DateTime/DateTime.js.map +1 -1
- package/lib/components/field/Decimal/Decimal.d.ts.map +1 -1
- package/lib/components/field/Decimal/Decimal.js +41 -8
- package/lib/components/field/Decimal/Decimal.js.map +1 -1
- package/lib/components/field/Dropdown/Dropdown.d.ts.map +1 -1
- package/lib/components/field/Dropdown/Dropdown.js +21 -7
- package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/field/Phone/Phone.d.ts.map +1 -1
- package/lib/components/field/Phone/Phone.js +2 -1
- package/lib/components/field/Phone/Phone.js.map +1 -1
- package/lib/components/field/RadioButtons/RadioButtons.d.ts.map +1 -1
- package/lib/components/field/RadioButtons/RadioButtons.js +17 -4
- package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
- package/lib/components/field/SemanticLink/utils.d.ts.map +1 -1
- package/lib/components/field/SemanticLink/utils.js.map +1 -1
- package/lib/components/field/TextInput/TextInput.d.ts.map +1 -1
- package/lib/components/field/TextInput/TextInput.js +20 -3
- package/lib/components/field/TextInput/TextInput.js.map +1 -1
- package/lib/components/field/Time/Time.d.ts.map +1 -1
- package/lib/components/field/Time/Time.js +6 -2
- package/lib/components/field/Time/Time.js.map +1 -1
- package/lib/components/field/URL/URL.d.ts.map +1 -1
- package/lib/components/field/URL/URL.js +6 -2
- package/lib/components/field/URL/URL.js.map +1 -1
- package/lib/components/field/UserReference/UserReference.d.ts.map +1 -1
- package/lib/components/field/UserReference/UserReference.js.map +1 -1
- package/lib/components/helpers/attachmentHelpers.d.ts +5 -5
- package/lib/components/helpers/attachmentHelpers.d.ts.map +1 -1
- package/lib/components/helpers/attachmentHelpers.js +2 -2
- package/lib/components/helpers/attachmentHelpers.js.map +1 -1
- package/lib/components/helpers/auth.d.ts.map +1 -1
- package/lib/components/helpers/auth.js +13 -3
- package/lib/components/helpers/auth.js.map +1 -1
- package/lib/components/helpers/authManager.d.ts.map +1 -1
- package/lib/components/helpers/authManager.js +15 -12
- package/lib/components/helpers/authManager.js.map +1 -1
- package/lib/components/helpers/case-utils.d.ts +20 -0
- package/lib/components/helpers/case-utils.d.ts.map +1 -0
- package/lib/components/helpers/case-utils.js +81 -0
- package/lib/components/helpers/case-utils.js.map +1 -0
- package/lib/components/helpers/common-utils.d.ts +2 -0
- package/lib/components/helpers/common-utils.d.ts.map +1 -0
- package/lib/components/helpers/common-utils.js +5 -0
- package/lib/components/helpers/common-utils.js.map +1 -0
- package/lib/components/helpers/config_access.d.ts.map +1 -1
- package/lib/components/helpers/config_access.js +75 -82
- package/lib/components/helpers/config_access.js.map +1 -1
- package/lib/components/helpers/data_page.d.ts.map +1 -1
- package/lib/components/helpers/data_page.js.map +1 -1
- package/lib/components/helpers/date-format-utils.d.ts.map +1 -1
- package/lib/components/helpers/date-format-utils.js +23 -14
- package/lib/components/helpers/date-format-utils.js.map +1 -1
- package/lib/components/helpers/event-utils.d.ts +1 -1
- package/lib/components/helpers/event-utils.d.ts.map +1 -1
- package/lib/components/helpers/event-utils.js.map +1 -1
- package/lib/components/helpers/field-group-utils.d.ts +15 -2
- package/lib/components/helpers/field-group-utils.d.ts.map +1 -1
- package/lib/components/helpers/field-group-utils.js +3 -3
- package/lib/components/helpers/field-group-utils.js.map +1 -1
- package/lib/components/helpers/formatters/Boolean.d.ts +3 -3
- package/lib/components/helpers/formatters/Boolean.d.ts.map +1 -1
- package/lib/components/helpers/formatters/Boolean.js.map +1 -1
- package/lib/components/helpers/formatters/Currency.d.ts.map +1 -1
- package/lib/components/helpers/formatters/Currency.js +4 -3
- package/lib/components/helpers/formatters/Currency.js.map +1 -1
- package/lib/components/helpers/formatters/CurrencyMap.d.ts +1132 -1399
- package/lib/components/helpers/formatters/CurrencyMap.d.ts.map +1 -1
- package/lib/components/helpers/formatters/CurrencyMap.js.map +1 -1
- package/lib/components/helpers/formatters/Date.d.ts.map +1 -1
- package/lib/components/helpers/formatters/Date.js +1 -1
- package/lib/components/helpers/formatters/Date.js.map +1 -1
- package/lib/components/helpers/formatters/common.d.ts +2 -2
- package/lib/components/helpers/formatters/common.d.ts.map +1 -1
- package/lib/components/helpers/formatters/common.js +4 -5
- package/lib/components/helpers/formatters/common.js.map +1 -1
- package/lib/components/helpers/formatters/index.d.ts +1 -1
- package/lib/components/helpers/formatters/index.d.ts.map +1 -1
- package/lib/components/helpers/formatters/index.js.map +1 -1
- package/lib/components/helpers/reactContextHelpers.d.ts +3 -2
- package/lib/components/helpers/reactContextHelpers.d.ts.map +1 -1
- package/lib/components/helpers/reactContextHelpers.js.map +1 -1
- package/lib/components/helpers/simpleTableHelpers.d.ts +2 -2
- package/lib/components/helpers/simpleTableHelpers.d.ts.map +1 -1
- package/lib/components/helpers/simpleTableHelpers.js +5 -2
- package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
- package/lib/components/helpers/state-utils.d.ts +4 -0
- package/lib/components/helpers/state-utils.d.ts.map +1 -0
- package/lib/components/helpers/state-utils.js +36 -0
- package/lib/components/helpers/state-utils.js.map +1 -0
- package/lib/components/helpers/template-utils.d.ts.map +1 -1
- package/lib/components/helpers/template-utils.js +0 -1
- package/lib/components/helpers/template-utils.js.map +1 -1
- package/lib/components/helpers/utils.d.ts +1 -1
- package/lib/components/helpers/utils.d.ts.map +1 -1
- package/lib/components/helpers/utils.js +9 -3
- package/lib/components/helpers/utils.js.map +1 -1
- package/lib/components/helpers/versionHelpers.d.ts +0 -6
- package/lib/components/helpers/versionHelpers.d.ts.map +1 -1
- package/lib/components/helpers/versionHelpers.js +0 -6
- package/lib/components/helpers/versionHelpers.js.map +1 -1
- package/lib/components/infra/ActionButtons/ActionButtons.d.ts.map +1 -1
- package/lib/components/infra/ActionButtons/ActionButtons.js +4 -2
- package/lib/components/infra/ActionButtons/ActionButtons.js.map +1 -1
- package/lib/components/infra/Assignment/Assignment.d.ts +1 -0
- package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
- package/lib/components/infra/Assignment/Assignment.js +27 -15
- package/lib/components/infra/Assignment/Assignment.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +17 -9
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/helpers.d.ts +12 -12
- package/lib/components/infra/Containers/FlowContainer/helpers.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/helpers.js +17 -16
- package/lib/components/infra/Containers/FlowContainer/helpers.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +17 -8
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +4 -2
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
- package/lib/components/infra/DashboardFilter/DashboardFilter.d.ts.map +1 -1
- package/lib/components/infra/DashboardFilter/DashboardFilter.js.map +1 -1
- package/lib/components/infra/DashboardFilter/filterUtils.d.ts.map +1 -1
- package/lib/components/infra/DashboardFilter/filterUtils.js.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.d.ts.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.js +7 -4
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/components/infra/MultiStep/MultiStep.js +2 -2
- package/lib/components/infra/MultiStep/MultiStep.js.map +1 -1
- package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
- package/lib/components/infra/NavBar/NavBar.js +6 -4
- package/lib/components/infra/NavBar/NavBar.js.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.js +12 -15
- package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
- package/lib/components/infra/Stages/Stages.d.ts.map +1 -1
- package/lib/components/infra/Stages/Stages.js +2 -1
- package/lib/components/infra/Stages/Stages.js.map +1 -1
- package/lib/components/infra/View/View.d.ts +1 -1
- package/lib/components/infra/View/View.d.ts.map +1 -1
- package/lib/components/infra/View/View.js +6 -34
- package/lib/components/infra/View/View.js.map +1 -1
- package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/template/AppShell/AppShell.js +8 -8
- package/lib/components/template/AppShell/AppShell.js.map +1 -1
- package/lib/components/template/CaseView/CaseView.d.ts +1 -1
- package/lib/components/template/CaseView/CaseView.d.ts.map +1 -1
- package/lib/components/template/CaseView/CaseView.js +37 -28
- package/lib/components/template/CaseView/CaseView.js.map +1 -1
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.d.ts +3 -1
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.d.ts.map +1 -1
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js +13 -8
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js.map +1 -1
- package/lib/components/template/Confirmation/Confirmation.d.ts.map +1 -1
- package/lib/components/template/Confirmation/Confirmation.js.map +1 -1
- package/lib/components/template/DataReference/DataReference.d.ts.map +1 -1
- package/lib/components/template/DataReference/DataReference.js.map +1 -1
- package/lib/components/template/DefaultForm/DefaultForm.d.ts.map +1 -1
- package/lib/components/template/DefaultForm/DefaultForm.js +9 -5
- package/lib/components/template/DefaultForm/DefaultForm.js.map +1 -1
- package/lib/components/template/DefaultForm/utils/index.d.ts +3 -0
- package/lib/components/template/DefaultForm/utils/index.d.ts.map +1 -0
- package/lib/components/template/DefaultForm/utils/index.js +27 -0
- package/lib/components/template/DefaultForm/utils/index.js.map +1 -0
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +1 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
- package/lib/components/template/ListView/DefaultViewMeta.d.ts +1 -90
- package/lib/components/template/ListView/DefaultViewMeta.d.ts.map +1 -1
- package/lib/components/template/ListView/DefaultViewMeta.js.map +1 -1
- package/lib/components/template/ListView/ListView.d.ts.map +1 -1
- package/lib/components/template/ListView/ListView.js +1 -1
- package/lib/components/template/ListView/ListView.js.map +1 -1
- package/lib/components/template/ListView/hooks.d.ts.map +1 -1
- package/lib/components/template/ListView/hooks.js +0 -1
- package/lib/components/template/ListView/hooks.js.map +1 -1
- package/lib/components/template/ListView/utils.d.ts +28 -16
- package/lib/components/template/ListView/utils.d.ts.map +1 -1
- package/lib/components/template/ListView/utils.js +1 -2
- package/lib/components/template/ListView/utils.js.map +1 -1
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts.map +1 -1
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js.map +1 -1
- package/lib/components/template/PromotedFilters/PromotedFilters.d.ts.map +1 -1
- package/lib/components/template/PromotedFilters/PromotedFilters.js +2 -2
- package/lib/components/template/PromotedFilters/PromotedFilters.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +3 -3
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.js.map +1 -1
- package/lib/components/template/SubTabs/tabUtils.d.ts.map +1 -1
- package/lib/components/template/SubTabs/tabUtils.js.map +1 -1
- package/lib/components/template/WssNavBar/WssNavBar.js +2 -2
- package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
- package/lib/components/widget/Attachment/Attachment.css +15 -3
- package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
- package/lib/components/widget/Attachment/Attachment.js +29 -25
- package/lib/components/widget/Attachment/Attachment.js.map +1 -1
- package/lib/components/widget/CaseHistory/CaseHistory.js +3 -3
- package/lib/components/widget/CaseHistory/CaseHistory.js.map +1 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts.map +1 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.js +17 -17
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.js.map +1 -1
- package/lib/components/widget/QuickCreate/QuickCreate.d.ts.map +1 -1
- package/lib/components/widget/QuickCreate/QuickCreate.js +2 -2
- package/lib/components/widget/QuickCreate/QuickCreate.js.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.d.ts.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.js +2 -2
- package/lib/components/widget/SummaryItem/SummaryItem.js.map +1 -1
- package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
- package/lib/components/widget/ToDo/ToDo.js +10 -6
- package/lib/components/widget/ToDo/ToDo.js.map +1 -1
- package/lib/components_map.d.ts +3 -3
- package/lib/components_map.d.ts.map +1 -1
- package/lib/components_map.js +819 -818
- package/lib/components_map.js.map +1 -1
- package/lib/doc/KeyReleaseUpdates.md +44 -9
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldGroupTemplate.js","sourceRoot":"","sources":["../../../../src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,UAAU,MAAM,wCAAwC,CAAC;AAChE,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"FieldGroupTemplate.js","sourceRoot":"","sources":["../../../../src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\nimport FieldGroup from '../../designSystemExtension/FieldGroup';\nimport FieldGroupList from '../../designSystemExtension/FieldGroupList';\nimport { getReferenceList, buildView } from '../../helpers/field-group-utils';\n\nimport PCoreType from '@pega/pcore-pconnect-typedefs/types/pcore';\n\ndeclare const PCore: typeof PCoreType;\n\n\nexport default function FieldGroupTemplate(props) {\n const {\n referenceList,\n renderMode,\n contextClass,\n getPConnect,\n lookForChildInConfig,\n heading,\n displayMode,\n fieldHeader,\n allowTableEdit: allowAddEdit\n } = props;\n const pConn = getPConnect();\n const resolvedList = getReferenceList(pConn);\n pConn.setReferenceList(resolvedList);\n const pageReference = `${pConn.getPageReference()}${resolvedList}`;\n const isReadonlyMode = renderMode === 'ReadOnly' || displayMode === 'LABELS_LEFT';\n const HEADING = heading ?? 'Row';\n\n const getDynamicHeaderProp = (item, index) => {\n if (fieldHeader === 'propertyRef' && heading && item[heading.substring(1)]) {\n return item[heading.substring(1)];\n }\n return `Row ${index + 1}`;\n };\n\n const addRecord = () => {\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n pConn.getListActions().insert({ classID: contextClass }, referenceList.length, pageReference);\n } else {\n pConn.getListActions().insert({}, referenceList.length);\n }\n };\n\n if (!isReadonlyMode) {\n const addFieldGroupItem = () => {\n addRecord();\n };\n const deleteFieldGroupItem = index => {\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n pConn.getListActions().deleteEntry(index, pageReference);\n } else {\n pConn.getListActions().deleteEntry(index);\n }\n };\n if (referenceList.length === 0 && allowAddEdit !== false) {\n addFieldGroupItem();\n }\n\n const MemoisedChildren = useMemo(() => {\n return referenceList.map((item, index) => ({\n id: index,\n name:\n fieldHeader === 'propertyRef'\n ? getDynamicHeaderProp(item, index)\n : `${HEADING} ${index + 1}`,\n children: buildView(pConn, index, lookForChildInConfig)\n }));\n }, [referenceList?.length]);\n\n return (\n <FieldGroupList\n items={MemoisedChildren}\n onAdd={allowAddEdit !== false ? addFieldGroupItem : undefined}\n onDelete={allowAddEdit !== false ? deleteFieldGroupItem : undefined}\n />\n );\n }\n\n pConn.setInheritedProp('displayMode', 'LABELS_LEFT');\n const memoisedReadOnlyList = useMemo(() => {\n return referenceList.map((item, index) => {\n const key = item[heading] || `field-group-row-${index}`;\n return (\n <FieldGroup\n key={key}\n name={fieldHeader === 'propertyRef' ? getDynamicHeaderProp(item, index) : `${HEADING} ${index + 1}`}\n >\n {buildView(pConn, index, lookForChildInConfig)}\n </FieldGroup>\n );\n });\n }, []);\n\n return <div>{memoisedReadOnlyList}</div>;\n}\n\nFieldGroupTemplate.defaultProps = {\n referenceList: [],\n heading: undefined,\n contextClass: null,\n displayMode: undefined\n};\n\nFieldGroupTemplate.propTypes = {\n referenceList: PropTypes.arrayOf(Object),\n contextClass: PropTypes.string,\n getPConnect: PropTypes.func.isRequired,\n renderMode: PropTypes.string.isRequired,\n heading: PropTypes.string,\n lookForChildInConfig: PropTypes.bool,\n displayMode: PropTypes.string\n};\n"]}
|
|
@@ -1,91 +1,2 @@
|
|
|
1
|
-
export default function getDefaultViewMeta(fieldMeta: any, classID: any, showField: any):
|
|
2
|
-
type: string;
|
|
3
|
-
config: {
|
|
4
|
-
trueLabel: string;
|
|
5
|
-
falseLabel: string;
|
|
6
|
-
caption: string;
|
|
7
|
-
label: undefined;
|
|
8
|
-
associationID: any;
|
|
9
|
-
associationLabel?: string | undefined;
|
|
10
|
-
value: string;
|
|
11
|
-
fieldType: any;
|
|
12
|
-
propertyType: any;
|
|
13
|
-
classID: any;
|
|
14
|
-
displayAs: any;
|
|
15
|
-
displayAsLink: any;
|
|
16
|
-
category: any;
|
|
17
|
-
show: any;
|
|
18
|
-
};
|
|
19
|
-
} | {
|
|
20
|
-
type: string;
|
|
21
|
-
config: {
|
|
22
|
-
datasource: {
|
|
23
|
-
source: string;
|
|
24
|
-
fields: {
|
|
25
|
-
value: string;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
associationID: any;
|
|
29
|
-
associationLabel?: string | undefined;
|
|
30
|
-
value: string;
|
|
31
|
-
label: string;
|
|
32
|
-
fieldType: any;
|
|
33
|
-
propertyType: any;
|
|
34
|
-
classID: any;
|
|
35
|
-
displayAs: any;
|
|
36
|
-
displayAsLink: any;
|
|
37
|
-
category: any;
|
|
38
|
-
show: any;
|
|
39
|
-
};
|
|
40
|
-
} | {
|
|
41
|
-
type: string;
|
|
42
|
-
config: {
|
|
43
|
-
value: string;
|
|
44
|
-
placeholder: string;
|
|
45
|
-
displayAs: string;
|
|
46
|
-
associationID: any;
|
|
47
|
-
associationLabel: undefined;
|
|
48
|
-
label: string;
|
|
49
|
-
fieldType: any;
|
|
50
|
-
propertyType: any;
|
|
51
|
-
classID: any;
|
|
52
|
-
displayAsLink: any;
|
|
53
|
-
category: any;
|
|
54
|
-
show: any;
|
|
55
|
-
};
|
|
56
|
-
} | {
|
|
57
|
-
type: string;
|
|
58
|
-
config: {
|
|
59
|
-
placeholder: string;
|
|
60
|
-
listType: string;
|
|
61
|
-
datasource: string;
|
|
62
|
-
deferDatasource: boolean;
|
|
63
|
-
associationID: any;
|
|
64
|
-
associationLabel?: string | undefined;
|
|
65
|
-
value: string;
|
|
66
|
-
label: string;
|
|
67
|
-
fieldType: any;
|
|
68
|
-
propertyType: any;
|
|
69
|
-
classID: any;
|
|
70
|
-
displayAs: any;
|
|
71
|
-
displayAsLink: any;
|
|
72
|
-
category: any;
|
|
73
|
-
show: any;
|
|
74
|
-
};
|
|
75
|
-
} | {
|
|
76
|
-
type: any;
|
|
77
|
-
config: {
|
|
78
|
-
associationID: any;
|
|
79
|
-
associationLabel?: string | undefined;
|
|
80
|
-
value: string;
|
|
81
|
-
label: string;
|
|
82
|
-
fieldType: any;
|
|
83
|
-
propertyType: any;
|
|
84
|
-
classID: any;
|
|
85
|
-
displayAs: any;
|
|
86
|
-
displayAsLink: any;
|
|
87
|
-
category: any;
|
|
88
|
-
show: any;
|
|
89
|
-
};
|
|
90
|
-
};
|
|
1
|
+
export default function getDefaultViewMeta(fieldMeta: any, classID: any, showField: any): any;
|
|
91
2
|
//# sourceMappingURL=DefaultViewMeta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultViewMeta.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/DefaultViewMeta.
|
|
1
|
+
{"version":3,"file":"DefaultViewMeta.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/DefaultViewMeta.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,SAAS,KAAA,EAAE,OAAO,KAAA,EAAE,SAAS,KAAA,OAwLvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultViewMeta.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/DefaultViewMeta.js"],"names":[],"mappings":"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","sourcesContent":["const LOCALIZATON_ANNOTATION = '@L ';\nconst PROPERTY_ANNOTATION = '@P .';\nconst USER_ANNOTATION = '@USER .';\nconst ASSOCIATED_ANNOTATION = '@ASSOCIATED .';\nconst ASSOCIATION_ANNOTATION = '@CA ';\n\nconst getDefaultConfig = (fieldMeta, classID, show) => {\n const {\n name,\n label,\n fieldID,\n fieldType,\n dataType,\n type,\n classID: fieldMetaClassID,\n displayAs,\n displayAsLink,\n category,\n associationClassID,\n associationID\n } = fieldMeta;\n return {\n value: (associationClassID ? ASSOCIATION_ANNOTATION : PROPERTY_ANNOTATION).concat(fieldID),\n label: LOCALIZATON_ANNOTATION.concat(name || label),\n fieldType,\n propertyType: dataType || type,\n classID: classID || fieldMetaClassID,\n displayAs,\n displayAsLink,\n category,\n show,\n ...(associationClassID ? { associationLabel: LOCALIZATON_ANNOTATION.concat(category) } : {}),\n associationID\n };\n};\n\n\nexport default function getDefaultViewMeta(fieldMeta, classID, showField) {\n const { type, name, displayAs, fieldID, isUserReference, associationID, datasource, label, fieldType } =\n fieldMeta;\n const mapperKey = type && displayAs ? type.concat(':').concat(displayAs) : type;\n const defaultConfig = getDefaultConfig(fieldMeta, classID, showField);\n let viewMeta;\n switch (mapperKey) {\n case 'True-False:pxCheckbox':\n viewMeta = {\n type: 'Checkbox',\n config: {\n ...defaultConfig,\n trueLabel: '@L Yes',\n falseLabel: '@L No',\n caption: LOCALIZATON_ANNOTATION.concat(name || label),\n label: undefined\n }\n };\n break;\n case 'Decimal:pxCurrency':\n viewMeta = {\n type: 'Currency',\n config: defaultConfig\n };\n break;\n case 'Date Time:pxDateTime':\n case 'Date & time:pxDateTime':\n viewMeta = {\n type: 'DateTime',\n config: defaultConfig\n };\n break;\n case 'Date:pxDateTime':\n case 'Date only:pxDateTime':\n viewMeta = {\n type: 'Date',\n config: defaultConfig\n };\n break;\n case 'Decimal:pxNumber':\n viewMeta = {\n type: 'Decimal',\n config: defaultConfig\n };\n break;\n case 'Text:pxEmail':\n viewMeta = {\n type: 'Email',\n config: defaultConfig\n };\n break;\n case 'Integer:pxInteger':\n viewMeta = {\n type: 'Integer',\n config: defaultConfig\n };\n break;\n case 'Decimal:pxPercentage':\n viewMeta = {\n type: 'Percentage',\n config: defaultConfig\n };\n break;\n case 'Text:pxPhone':\n viewMeta = {\n type: 'Phone',\n config: {\n ...defaultConfig,\n datasource: {\n source: '@DATASOURCE D_pyCountryCallingCodeList.pxResults',\n fields: {\n value: '@P .pyCallingCode'\n }\n }\n }\n };\n break;\n case 'TimeOfDay:pxDateTime':\n viewMeta = {\n type: 'Time',\n config: defaultConfig\n };\n break;\n case 'Text:pxURL':\n case 'Text:pxUrl':\n viewMeta = {\n type: 'URL',\n config: defaultConfig\n };\n break;\n case 'Text:pxTextArea':\n viewMeta = {\n type: 'TextArea',\n config: defaultConfig\n };\n break;\n case 'Text:pxRichTextEditor':\n viewMeta = {\n type: 'RichText',\n config: defaultConfig\n };\n break;\n case 'Text:pxAutoComplete':\n if (isUserReference || fieldType === 'User reference') {\n viewMeta = {\n type: 'UserReference',\n config: {\n ...defaultConfig,\n value: USER_ANNOTATION.concat(fieldID),\n placeholder: 'Select...',\n displayAs: 'Search box',\n associationID,\n associationLabel: undefined\n }\n };\n } else {\n const { tableType = '' } = datasource || {};\n viewMeta = {\n type: 'AutoComplete',\n config: {\n ...defaultConfig,\n placeholder: 'Select...',\n listType: 'associated',\n datasource: ASSOCIATED_ANNOTATION.concat(fieldID),\n deferDatasource: tableType === 'DataPage'\n }\n };\n }\n break;\n case 'Text:pxDropdown':\n if (isUserReference || fieldType === 'User reference') {\n viewMeta = {\n type: 'UserReference',\n config: {\n ...defaultConfig,\n value: USER_ANNOTATION.concat(fieldID),\n placeholder: 'Select...',\n displayAs: 'Drop-down list',\n associationID,\n associationLabel: undefined\n }\n };\n } else {\n const { tableType = '' } = datasource || {};\n viewMeta = {\n type: 'Dropdown',\n config: {\n ...defaultConfig,\n placeholder: 'Select...',\n listType: 'associated',\n datasource: ASSOCIATED_ANNOTATION.concat(fieldID),\n deferDatasource: tableType === 'DataPage'\n }\n };\n }\n break;\n case 'Text:pxRadioButtons':\n {\n const { tableType = '' } = datasource || {};\n viewMeta = {\n type: 'RadioButtons',\n config: {\n ...defaultConfig,\n placeholder: 'Select...',\n listType: 'associated',\n datasource: ASSOCIATED_ANNOTATION.concat(fieldID),\n deferDatasource: tableType === 'DataPage'\n }\n };\n }\n break;\n case 'Text:pxTextInput':\n viewMeta = {\n type: 'TextInput',\n config: defaultConfig\n };\n break;\n default:\n viewMeta = {\n type,\n config: defaultConfig\n };\n }\n return viewMeta;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DefaultViewMeta.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/DefaultViewMeta.ts"],"names":[],"mappings":"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","sourcesContent":["const LOCALIZATON_ANNOTATION = '@L ';\nconst PROPERTY_ANNOTATION = '@P .';\nconst USER_ANNOTATION = '@USER .';\nconst ASSOCIATED_ANNOTATION = '@ASSOCIATED .';\nconst ASSOCIATION_ANNOTATION = '@CA ';\n\nconst getDefaultConfig = (fieldMeta, classID, show) => {\n const {\n name,\n label,\n fieldID,\n fieldType,\n dataType,\n type,\n classID: fieldMetaClassID,\n displayAs,\n displayAsLink,\n category,\n associationClassID,\n associationID\n } = fieldMeta;\n return {\n value: (associationClassID ? ASSOCIATION_ANNOTATION : PROPERTY_ANNOTATION).concat(fieldID),\n label: LOCALIZATON_ANNOTATION.concat(name || label),\n fieldType,\n propertyType: dataType || type,\n classID: classID || fieldMetaClassID,\n displayAs,\n displayAsLink,\n category,\n show,\n ...(associationClassID ? { associationLabel: LOCALIZATON_ANNOTATION.concat(category) } : {}),\n associationID\n };\n};\n\n\nexport default function getDefaultViewMeta(fieldMeta, classID, showField) {\n const { type, name, displayAs, fieldID, isUserReference, associationID, datasource, label, fieldType } =\n fieldMeta;\n const mapperKey = type && displayAs ? type.concat(':').concat(displayAs) : type;\n const defaultConfig = getDefaultConfig(fieldMeta, classID, showField);\n let viewMeta;\n switch (mapperKey) {\n case 'True-False:pxCheckbox':\n viewMeta = {\n type: 'Checkbox',\n config: {\n ...defaultConfig,\n trueLabel: '@L Yes',\n falseLabel: '@L No',\n caption: LOCALIZATON_ANNOTATION.concat(name || label),\n label: undefined\n }\n };\n break;\n case 'Decimal:pxCurrency':\n viewMeta = {\n type: 'Currency',\n config: defaultConfig\n };\n break;\n case 'Date Time:pxDateTime':\n case 'Date & time:pxDateTime':\n viewMeta = {\n type: 'DateTime',\n config: defaultConfig\n };\n break;\n case 'Date:pxDateTime':\n case 'Date only:pxDateTime':\n viewMeta = {\n type: 'Date',\n config: defaultConfig\n };\n break;\n case 'Decimal:pxNumber':\n viewMeta = {\n type: 'Decimal',\n config: defaultConfig\n };\n break;\n case 'Text:pxEmail':\n viewMeta = {\n type: 'Email',\n config: defaultConfig\n };\n break;\n case 'Integer:pxInteger':\n viewMeta = {\n type: 'Integer',\n config: defaultConfig\n };\n break;\n case 'Decimal:pxPercentage':\n viewMeta = {\n type: 'Percentage',\n config: defaultConfig\n };\n break;\n case 'Text:pxPhone':\n viewMeta = {\n type: 'Phone',\n config: {\n ...defaultConfig,\n datasource: {\n source: '@DATASOURCE D_pyCountryCallingCodeList.pxResults',\n fields: {\n value: '@P .pyCallingCode'\n }\n }\n }\n };\n break;\n case 'TimeOfDay:pxDateTime':\n viewMeta = {\n type: 'Time',\n config: defaultConfig\n };\n break;\n case 'Text:pxURL':\n case 'Text:pxUrl':\n viewMeta = {\n type: 'URL',\n config: defaultConfig\n };\n break;\n case 'Text:pxTextArea':\n viewMeta = {\n type: 'TextArea',\n config: defaultConfig\n };\n break;\n case 'Text:pxRichTextEditor':\n viewMeta = {\n type: 'RichText',\n config: defaultConfig\n };\n break;\n case 'Text:pxAutoComplete':\n if (isUserReference || fieldType === 'User reference') {\n viewMeta = {\n type: 'UserReference',\n config: {\n ...defaultConfig,\n value: USER_ANNOTATION.concat(fieldID),\n placeholder: 'Select...',\n displayAs: 'Search box',\n associationID,\n associationLabel: undefined\n }\n };\n } else {\n const { tableType = '' } = datasource || {};\n viewMeta = {\n type: 'AutoComplete',\n config: {\n ...defaultConfig,\n placeholder: 'Select...',\n listType: 'associated',\n datasource: ASSOCIATED_ANNOTATION.concat(fieldID),\n deferDatasource: tableType === 'DataPage'\n }\n };\n }\n break;\n case 'Text:pxDropdown':\n if (isUserReference || fieldType === 'User reference') {\n viewMeta = {\n type: 'UserReference',\n config: {\n ...defaultConfig,\n value: USER_ANNOTATION.concat(fieldID),\n placeholder: 'Select...',\n displayAs: 'Drop-down list',\n associationID,\n associationLabel: undefined\n }\n };\n } else {\n const { tableType = '' } = datasource || {};\n viewMeta = {\n type: 'Dropdown',\n config: {\n ...defaultConfig,\n placeholder: 'Select...',\n listType: 'associated',\n datasource: ASSOCIATED_ANNOTATION.concat(fieldID),\n deferDatasource: tableType === 'DataPage'\n }\n };\n }\n break;\n case 'Text:pxRadioButtons':\n {\n const { tableType = '' } = datasource || {};\n viewMeta = {\n type: 'RadioButtons',\n config: {\n ...defaultConfig,\n placeholder: 'Select...',\n listType: 'associated',\n datasource: ASSOCIATED_ANNOTATION.concat(fieldID),\n deferDatasource: tableType === 'DataPage'\n }\n };\n }\n break;\n case 'Text:pxTextInput':\n viewMeta = {\n type: 'TextInput',\n config: defaultConfig\n };\n break;\n default:\n viewMeta = {\n type,\n config: defaultConfig\n };\n }\n return viewMeta;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":";AAMA,OAAO,SAAS,MAAM,YAAY,CAAC;AAkCnC,OAAO,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":";AAMA,OAAO,SAAS,MAAM,YAAY,CAAC;AAkCnC,OAAO,gBAAgB,CAAC;AAmBxB,iBAAwB,QAAQ,CAAC,KAAK,KAAA,eAkuCrC;kBAluCuB,QAAQ;;;;;;eAAR,QAAQ"}
|
|
@@ -831,7 +831,7 @@ export default function ListView(props) {
|
|
|
831
831
|
React.createElement(Grid, { item: true },
|
|
832
832
|
React.createElement(SearchIcon, null)),
|
|
833
833
|
React.createElement(Grid, { item: true },
|
|
834
|
-
React.createElement(TextField, { label: 'Search', fullWidth: true, variant: 'outlined', placeholder: '', size: 'small', id: "search", onChange: _onSearch })))),
|
|
834
|
+
React.createElement(TextField, { label: PCore.getLocaleUtils().getLocaleValue('Search', 'Search'), fullWidth: true, variant: 'outlined', placeholder: '', size: 'small', id: "search", onChange: _onSearch })))),
|
|
835
835
|
React.createElement(React.Fragment, null, bInForm ? (React.createElement(TableContainer, { className: classes.tableInForm },
|
|
836
836
|
React.createElement(Table, { stickyHeader: true, "aria-label": 'sticky table' },
|
|
837
837
|
React.createElement(TableHead, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-plusplus */\n/* eslint-disable guard-for-in */\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable no-shadow */\nimport React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { Utils } from '../../helpers/utils';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Paper from '@material-ui/core/Paper';\nimport MoreIcon from '@material-ui/icons/MoreVert';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport SubjectIcon from '@material-ui/icons/Subject';\nimport SearchIcon from '@material-ui/icons/Search';\nimport TextField from '@material-ui/core/TextField';\nimport Grid from '@material-ui/core/Grid';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Select from '@material-ui/core/Select';\nimport Button from '@material-ui/core/Button';\nimport Link from '@material-ui/core/Link';\nimport Typography from '@material-ui/core/Typography';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { Radio } from '@material-ui/core';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { filterData } from '../../helpers/simpleTableHelpers';\nimport './ListView.css';\nimport useInit from './hooks'\n\nconst SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };\ndeclare const PCore: any;\n\nlet myRows: Array<any>;\nlet myDisplayColumnList: Array<any>;\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nlet sortColumnId: any;\n\nconst filterByColumns: Array<any> = [];\n\nexport default function ListView(props) {\n const { getPConnect, bInForm } = props;\n const { globalSearch, referenceList, rowClickAction, selectionMode, referenceType, payload, parameters, compositeKeys, showDynamicFields, presets } = props;\n const ref = useRef({}).current;\n const cosmosTableRef = useRef();\n // List component context\n const [listContext, setListContext] = useState<any>({});\n const { meta } = listContext;\n const xRayApis = PCore.getDebugger().getXRayRuntime();\n const xRayUid = xRayApis.startXRay();\n\n useInit({ ...props, setListContext, ref, showDynamicFields, xRayUid, cosmosTableRef });\n\n const thePConn = getPConnect();\n const componentConfig = thePConn.getComponentConfig();\n const resolvedConfigProps = thePConn.getConfigProps();\n\n /** By default, pyGUID is used for Data classes and pyID is for Work classes as row-id/key */\n const defRowID = referenceType === 'Case' ? 'pyID' : 'pyGUID';\n\n /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */\n const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;\n\n const [arRows, setRows] = useState<Array<any>>([]);\n const [arColumns, setColumns] = useState<Array<any>>([]);\n const [response, setResponse] = useState<Array<any>>([]);\n\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n const [selectedValue, setSelectedValue] = useState('');\n\n // This basically will hold the list of all current filters\n const filters = useRef({});\n\n // Will contain the list of columns specific for an instance\n let columnList: any = useRef([]);\n let dashboardFilterPayload: any ;\n // Will be sent in the dashboardFilterPayload\n let selectParam: Array<any> = [];\n\n // dataview parameters coming from the ListPage\n // This constant will also be used for parameters coming from from other components/utility fnctions in future\n const dataViewParameters = parameters;\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%'\n },\n paper: {\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n search: {\n padding: '5px 5px'\n },\n table: {\n minWidth: 750\n },\n tableInForm: {\n minWidth: 750,\n maxHeight: 550,\n overflow: 'auto'\n },\n moreIcon: {\n verticalAlign: 'bottom'\n },\n filteredIcon: {\n verticalAlign: 'bottom'\n },\n cell: {\n whiteSpace: 'nowrap'\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n title: {\n marginTop: theme.spacing(1),\n marginLeft: theme.spacing(1)\n }\n })\n );\n\n const classes = useStyles();\n\n const handleRequestSort = (event: React.MouseEvent<unknown>, property: keyof any) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const createSortHandler = (property: keyof any) => (event: React.MouseEvent<unknown>) => {\n sortColumnId = property;\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (b[orderedBy] > a[orderedBy]) {\n return 1;\n }\n return 0;\n }\n\n type Order = 'asc' | 'desc';\n\n function getComparator<Key extends keyof any>(\n theOrder: Order,\n orderedBy: Key\n // eslint-disable-next-line no-unused-vars\n ): (a: { [key in Key]: number | string }, b: { [key in Key]: number | string }) => number {\n return theOrder === 'desc'\n ? (a, b) => descendingComparator(a, b, orderedBy)\n : (a, b) => -descendingComparator(a, b, orderedBy);\n }\n\n // eslint-disable-next-line no-unused-vars\n function stableSort<T>(array: Array<T>, comparator: (a: T, b: T) => number) {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map(el => el[0]);\n }\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n function getHeaderCells(colFields, fields, presetFields) {\n const arReturn = colFields.map((field: any, index) => {\n let theField = field.config.value.substring(field.config.value.indexOf(' ') + 1);\n if (theField.indexOf('.') === 0) {\n theField = theField.substring(1);\n }\n const colIndex = fields.findIndex(ele => ele.name === theField);\n const displayAsLink = field.config.displayAsLink;\n const headerRow: any = {};\n headerRow.id = theField;\n headerRow.type = field.type;\n headerRow.displayAsLink = displayAsLink;\n headerRow.numeric =\n field.type === 'Decimal' ||\n field.type === 'Integer' ||\n field.type === 'Percentage' ||\n field.type === 'Currency' ||\n false;\n headerRow.disablePadding = false;\n headerRow.label = presetFields[index].config.label;\n if (colIndex > -1) {\n headerRow.classID = fields[colIndex].classID;\n }\n if (displayAsLink) {\n headerRow.isAssignmentLink = AssignDashObjects.includes(headerRow.classID);\n if (field.config.value?.startsWith('@CA')) {\n headerRow.isAssociation = true;\n }\n }\n return headerRow;\n });\n return arReturn;\n }\n\n function updateFields(arFields, theColumns): Array<any> {\n const arReturn = arFields.filter(ele => ele.type !== 'reference');\n arReturn.forEach((field, index) => {\n arReturn[index].config.name = theColumns[index].id;\n });\n\n return arReturn;\n }\n\n function getUsingData(arTableData): Array<any> {\n if (selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) {\n const record = arTableData?.length > 0 ? arTableData[0] : '';\n if (typeof record === 'object' && !('pyGUID' in record) && !('pyID' in record)) {\n // eslint-disable-next-line no-console\n console.error('pyGUID or pyID values are mandatory to select the required row from the list');\n }\n }\n const arReturn = arTableData?.map((data: any) => {\n\n const row = data;\n\n return row;\n });\n\n return arReturn;\n }\n\n function updateData(listData: Array<any>, fieldData: Array<any>): Array<any> {\n const returnList: Array<any> = new Array<any>();\n listData?.forEach(row => {\n // copy\n const rowData = JSON.parse(JSON.stringify(row));\n\n fieldData.forEach(field => {\n const config = field.config;\n let fieldName;\n let formattedDate;\n let myFormat;\n\n switch (field.type) {\n case 'Date':\n fieldName = config.name;\n myFormat = config.formatter;\n if (!myFormat) {\n myFormat = 'Date';\n }\n formattedDate = Utils.generateDate(rowData[fieldName], myFormat);\n\n rowData[fieldName] = formattedDate;\n break;\n\n case 'DateTime':\n fieldName = config.name;\n myFormat = config.formatter;\n if (!myFormat) {\n myFormat = 'DateTime-Long';\n }\n formattedDate = Utils.generateDateTime(rowData[fieldName], myFormat);\n\n rowData[fieldName] = formattedDate;\n break;\n\n default:\n break;\n }\n });\n\n returnList.push(rowData);\n });\n\n return returnList;\n }\n\n function getMyColumnList(arCols: Array<any>): Array<string> {\n const myColList: Array<string> = [];\n\n arCols.forEach(col => {\n myColList.push(col.id);\n });\n\n return myColList;\n }\n\n /** Will return field from a filter expression */\n function getFieldFromFilter(filter, dateRange = false) {\n let fieldValue;\n if (dateRange) {\n fieldValue = filter?.AND[0]?.condition.lhs.field;\n } else {\n fieldValue = filter?.condition.lhs.field;\n }\n return fieldValue;\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires\n function processFilterChange(data) {\n const { filterId, filterExpression } = data;\n dashboardFilterPayload = {\n query: {\n filter: {},\n select: []\n }\n };\n\n filters.current[filterId] = filterExpression;\n // eslint-disable-next-line no-unneeded-ternary\n let isDateRange = data.filterExpression?.AND ? true : false;\n // Will be AND by default but making it dynamic in case we support dynamic relational ops in future\n const relationalOp = 'AND';\n\n let field = getFieldFromFilter(filterExpression, isDateRange);\n selectParam = [];\n // Constructing the select parameters list (will be sent in dashboardFilterPayload)\n columnList.forEach(col => {\n selectParam.push({\n field: col\n });\n });\n\n // Checking if the triggered filter is applicable for this list\n if (data.filterExpression !== null && !(columnList.length && columnList.includes(field))) {\n return;\n }\n // This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters\n let validFilter = false;\n\n let index = 1;\n // Iterating over the current filters list to create filter data which will be POSTed\n for (const filterExp in filters.current) {\n const filter = filters.current[filterExp];\n // If the filter is null then we can skip this iteration\n if (filter === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n // Checking if the filter is of type- Date Range\n // eslint-disable-next-line no-unneeded-ternary\n isDateRange = filter?.AND ? true : false;\n field = getFieldFromFilter(filter, isDateRange);\n\n if (!(columnList.length && columnList.includes(field))) {\n // eslint-disable-next-line no-continue\n continue;\n }\n // If we reach here that implies we've at least one valid filter, hence setting the flag\n validFilter = true;\n /** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload\n * In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here\n */\n if (isDateRange) {\n const dateRelationalOp = filter?.AND ? 'AND' : 'OR';\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter[relationalOp][0].condition },\n [`T${index++}`]: { ...filter[relationalOp][1].condition }\n };\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} (T${\n index - 2\n } ${dateRelationalOp} T${index - 1})`;\n } else {\n dashboardFilterPayload.query.filter.logic = `(T${index - 2} ${relationalOp} T${index - 1})`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n } else {\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter.condition, ignoreCase: true }\n };\n\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} T${\n index - 1\n }`;\n } else {\n dashboardFilterPayload.query.filter.logic = `T${index - 1}`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n }\n }\n\n // Reset the dashboardFilterPayload if we end up with no valid filters for the list\n if (!validFilter) {\n dashboardFilterPayload = undefined;\n }\n\n fetchDataFromServer();\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CLEAR_ALL fires\n function processFilterClear() {\n dashboardFilterPayload = undefined;\n fetchDataFromServer();\n }\n\n useEffect(() => {\n setTimeout(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n data => {\n processFilterChange(data);\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n filters.current = {};\n processFilterClear();\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n }, 0);\n }, []);\n\n function fetchAllData(fields) {\n let query: any = null;\n if (payload) {\n query = payload.query;\n } else if (fields?.length && meta.isQueryable) {\n query = {select: fields};\n } else if (dashboardFilterPayload) {\n query = dashboardFilterPayload.query;\n }\n const context = getPConnect().getContextName();\n return PCore.getDataPageUtils().getDataAsync(\n referenceList,\n context,\n payload ? payload.dataViewParameters : dataViewParameters,\n null,\n query\n );\n }\n\n const buildSelect = (fieldDefs, colId, patchQueryFields = [], compositeKeys = []) => {\n const listFields: any = [];\n if (colId) {\n const field = getField(fieldDefs, colId);\n listFields.push({\n field: field.name\n });\n } else {\n // NOTE: If we ever decide to not set up all the `fieldDefs` on select, ensure that the fields\n // corresponding to `state.groups` are set up. Needed in Client-mode grouping/pagination.\n fieldDefs.forEach(field => {\n if (!listFields.find(f => f.field === field.name)) {\n listFields.push({\n field: field.name\n });\n }\n });\n patchQueryFields.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n }\n\n compositeKeys.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n return listFields;\n };\n\n const addItemKeyInSelect = (\n fieldDefs,\n itemKey,\n select,\n compositeKeys\n ) => {\n const elementFound = getField(fieldDefs, itemKey);\n\n if (itemKey && !elementFound && Array.isArray(select) && !(compositeKeys !== null && compositeKeys?.length) && !select.find(sel => sel.field === itemKey)) {\n return [...select, {\n field: itemKey\n }];\n }\n\n return select;\n };\n\n const getField = (fieldDefs, columnId) => {\n const fieldsMap = getFieldsMap(fieldDefs);\n return fieldsMap.get(columnId);\n };\n\n const getFieldsMap = fieldDefs => {\n const fieldsMap = new Map();\n fieldDefs.forEach(element => {\n fieldsMap.set(element.id, element);\n });\n return fieldsMap;\n };\n\n async function fetchDataFromServer() {\n let bCallSetRowsColumns = true;\n const { fieldDefs, itemKey, patchQueryFields } = meta;\n let listFields = fieldDefs ? buildSelect(fieldDefs, undefined, patchQueryFields, compositeKeys) : [];\n listFields = addItemKeyInSelect(fieldDefs, itemKey, listFields, compositeKeys);\n const workListJSON = await fetchAllData(listFields);\n\n // don't update these fields until we return from promise\n let fields = presets[0].children[0].children;\n\n // this is an unresovled version of this.fields$, need unresolved, so can get the property reference\n const columnFields = componentConfig.presets[0].children[0].children;\n\n const tableDataResults = workListJSON['data'];\n\n const myColumns = getHeaderCells(columnFields, fieldDefs, fields);\n\n const selectParams: any = [];\n\n myColumns.forEach(column => {\n selectParams.push({\n field: column.id\n });\n });\n\n const colList: any = [];\n\n selectParams.forEach(col => {\n colList.push(col.field);\n });\n\n columnList = colList;\n\n fields = updateFields(fields, myColumns);\n\n setResponse(tableDataResults);\n\n const usingDataResults = getUsingData(tableDataResults);\n\n // store globally, so can be searched, filtered, etc.\n myRows = updateData(usingDataResults, fields);\n myDisplayColumnList = getMyColumnList(myColumns);\n\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setRows and setColumns, call them\n if (bCallSetRowsColumns) {\n setRows(myRows);\n setColumns(myColumns);\n }\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetRowsColumns\n // variable inside the useEffect and inside the \"then\" clause of the\n // workListData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setters which would otherwise show a warning\n bCallSetRowsColumns = false;\n };\n }\n\n useEffect(() => {\n if (listContext.meta) {\n fetchDataFromServer();\n }\n }, [listContext]);\n\n function searchFilter(value: string, rows: Array<any>) {\n function filterArray(el: any): boolean {\n const bReturn = false;\n for (const key in el) {\n // only search columsn that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)\n if (myDisplayColumnList.includes(key)) {\n let myVal = el[key];\n if (myVal !== null) {\n if (typeof myVal !== 'string') {\n myVal = myVal.toString();\n }\n if (myVal.toLowerCase().indexOf(value.toLowerCase()) >= 0) {\n return true;\n }\n }\n }\n }\n\n return bReturn;\n }\n\n rows = rows.filter(filterArray);\n\n return rows;\n }\n\n function _onSearch(event: any) {\n const searchValue = event.target.value;\n\n const filteredRows = searchFilter(searchValue, myRows.slice());\n\n setRows(filteredRows);\n }\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function openAssignment(row) {\n const { pxRefObjectClass, pzInsKey } = row;\n const sTarget = thePConn.getContainerName();\n\n const options = { containerName: sTarget };\n\n thePConn\n .getActionsApi()\n .openAssignment(pzInsKey, pxRefObjectClass, options)\n .then(() => {\n // console.log(\"openAssignment successful\");\n })\n .catch(() => {\n showToast(`openAssignment failed!`);\n });\n }\n\n function _rowClick(row: any) {\n // eslint-disable-next-line sonarjs/no-small-switch\n switch (rowClickAction) {\n case 'openAssignment':\n openAssignment(row);\n break;\n\n default:\n break;\n }\n }\n\n function openWork(row) {\n const { pxRefObjectKey } = row;\n const pxRefObjectClass = row.pxRefObjectClass || row.pxObjClass;\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n thePConn.getActionsApi().openWorkByHandle(pxRefObjectKey, pxRefObjectClass);\n }\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _menuClick(event, columnId: string, columnType: string, label: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = label;\n\n setAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n }\n\n const [filterBy, setFilterBy] = useState<string>();\n const [containsDateOrTime, setContainsDateOrTime] = useState<boolean>(false);\n const [filterType, setFilterType] = useState<string>('string');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [displayDialogFilterName, setDisplayDialogFilterName] = useState<string>('');\n const [displayDialogContainsFilter, setDisplayDialogContainsFilter] =\n useState<string>('contains');\n const [displayDialogContainsValue, setDisplayDialogContainsValue] = useState<string>('');\n const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');\n const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');\n\n function _filterMenu() {\n setAnchorEl(null);\n\n let bFound = false;\n\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n setFilterBy(menuColumnLabel);\n if (\n filterObj.type === 'Date' ||\n filterObj.type === 'DateTime' ||\n filterObj.type === 'Time'\n ) {\n setContainsDateOrTime(true);\n setFilterType(filterObj.type);\n setDisplayDialogDateFilter(filterObj.containsFilter);\n setDisplayDialogDateValue(filterObj.containsFilterValue);\n } else {\n setContainsDateOrTime(false);\n setFilterType('string');\n setDisplayDialogContainsFilter(filterObj.containsFilter);\n setDisplayDialogContainsValue(filterObj.containsFilterValue);\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n setFilterBy(menuColumnLabel);\n setDisplayDialogFilterName(menuColumnId);\n setDisplayDialogContainsValue('');\n\n switch (menuColumnType) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n setContainsDateOrTime(true);\n setFilterType(menuColumnType);\n break;\n default:\n setContainsDateOrTime(false);\n setFilterType('string');\n break;\n }\n }\n\n // open dialog\n setOpen(true);\n }\n\n function _groupMenu() {\n setAnchorEl(null);\n }\n\n function _closeDialog() {\n setOpen(false);\n }\n\n function _showFilteredIcon(columnId) {\n for (const filterObj of filterByColumns) {\n if (filterObj['ref'] === columnId) {\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (filterObj['containsFilterValue'] !== '') {\n return true;\n }\n return false;\n }\n }\n\n return false;\n }\n\n function updateFilterWithInfo() {\n let bFound = false;\n for (const filterObj of filterByColumns) {\n if (filterObj['ref'] === menuColumnId) {\n filterObj['type'] = filterType;\n if (containsDateOrTime) {\n filterObj['containsFilter'] = displayDialogDateFilter;\n filterObj['containsFilterValue'] = displayDialogDateValue;\n } else {\n filterObj['containsFilter'] = displayDialogContainsFilter;\n filterObj['containsFilterValue'] = displayDialogContainsValue;\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n // add in\n const filterObj: any = {};\n filterObj.ref = menuColumnId;\n filterObj['type'] = filterType;\n if (containsDateOrTime) {\n filterObj['containsFilter'] = displayDialogDateFilter;\n filterObj['containsFilterValue'] = displayDialogDateValue;\n } else {\n filterObj['containsFilter'] = displayDialogContainsFilter;\n filterObj['containsFilterValue'] = displayDialogContainsValue;\n }\n\n filterByColumns.push(filterObj);\n }\n }\n\n function filterSortGroupBy() {\n // get original data set\n let theData = myRows.slice();\n\n // last filter config data is global\n theData = theData.filter(filterData(filterByColumns));\n\n // move data to array and then sort\n setRows(theData);\n createSortHandler(sortColumnId);\n }\n\n function _dialogContainsFilter(event) {\n // dialogContainsFilter = event.target.value;\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n // dialogContainsValue = event.target.value;\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n // dialogDateFilter = event.target.value;\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showButton(name, row) {\n let bReturn = false;\n const { pxRefObjectClass, pzInsKey, pxRefObjectKey } = row;\n switch (name) {\n case 'pxTaskLabel':\n if (pxRefObjectClass !== '' && pzInsKey !== '') {\n bReturn = true;\n }\n break;\n\n case 'pxRefObjectInsName':\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n bReturn = true;\n }\n break;\n\n default:\n break;\n }\n\n return bReturn;\n }\n\n function _listViewClick(row, column) {\n const name = column.id\n if (column.displayAsLink) {\n const { pxObjClass } = row;\n let { pzInsKey } = row;\n if (column.isAssociation) {\n const associationCategory = name.split(':')[0];\n pzInsKey = row[`${associationCategory}:pzInsKey`];\n }\n if (column.isAssignmentLink) {\n thePConn.getActionsApi().openAssignment(pzInsKey, pxObjClass, {\n containerName: 'primary'\n });\n } else {\n thePConn.getActionsApi().openWorkByHandle(pzInsKey, pxObjClass);\n }\n } else {\n switch (name) {\n case 'pxTaskLabel':\n openAssignment(row);\n break;\n\n case 'pxRefObjectInsName':\n openWork(row);\n break;\n\n default:\n break;\n }\n }\n\n }\n\n function _listTitle() {\n const defaultTitle = 'List';\n let title = resolvedConfigProps.title ? resolvedConfigProps.title : defaultTitle;\n const inheritedProps = resolvedConfigProps?.inheritedProps;\n\n // Let any title in resolvedConfigProps that isn't the default take precedence\n // but only look in inheritedProps if they exist\n if (title === defaultTitle && inheritedProps) {\n for (const inheritedProp of inheritedProps) {\n if (inheritedProp?.prop === 'label') {\n title = inheritedProp?.value;\n break;\n }\n }\n }\n\n return title;\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element]\n });\n } else {\n reqObj[rowID] = value;\n }\n getPConnect()\n ?.getListActions?.()\n ?.setSelectedRows([reqObj]);\n setSelectedValue(value);\n };\n\n const onCheckboxClick = event => {\n const value = event?.target?.value;\n const checked = event?.target?.checked;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element]\n });\n reqObj['$selected'] = checked;\n } else {\n reqObj[rowID] = value;\n reqObj['$selected'] = checked;\n }\n getPConnect()\n ?.getListActions()\n ?.setSelectedRows([reqObj]);\n };\n\n return (\n <>\n {arColumns && arColumns.length > 0 && (\n <Paper className={classes.paper}>\n <Typography className={classes.title} variant='h6' color='textPrimary' gutterBottom>\n {_listTitle()}\n </Typography>\n {globalSearch && (\n <Grid container spacing={1} alignItems='flex-end' className={classes.search}>\n <Grid item>\n <SearchIcon />\n </Grid>\n <Grid item>\n <TextField\n label='Search'\n fullWidth\n variant='outlined'\n placeholder=''\n size='small'\n id=\"search\"\n onChange={_onSearch}\n />\n </Grid>\n </Grid>\n )}\n <>\n {bInForm ? (\n <TableContainer className={classes.tableInForm}>\n <Table stickyHeader aria-label='sticky table'>\n <TableHead>\n <TableRow>\n {arColumns.map(column => {\n return (\n <TableCell\n className={classes.cell}\n key={column.id}\n sortDirection={orderBy === column.id ? order : false}\n >\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {_showFilteredIcon(column.id) && (\n <FilterListIcon className={classes.filteredIcon} />\n )}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>\n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, column.id, column.type, column.label);\n }}\n />\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow\n key={row.pxRefObjectInsName || row.pyID}\n onClick={() => {\n _rowClick(row);\n }}\n >\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell\n key={column.id}\n align={column.align}\n className={classes.cell}\n >\n {_showButton(column.id, row) || column.displayAsLink ? (\n <Link\n component='button'\n onClick={() => {\n _listViewClick(row, column);\n }}\n >\n {column.format && typeof value === 'number'\n ? column.format(value)\n : value}\n </Link>\n ) : (\n <>\n {column.format && typeof value === 'number'\n ? column.format(value)\n : value}\n </>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n <TableContainer>\n <Table>\n <TableHead>\n <TableRow>\n {(selectionMode === SELECTION_MODE.SINGLE ||\n selectionMode === SELECTION_MODE.MULTI) && <TableCell></TableCell>}\n {arColumns.map(column => {\n return (\n <TableCell\n className={classes.cell}\n key={column.id}\n sortDirection={orderBy === column.id ? order : false}\n >\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>\n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span>\n ) : null}\n </TableSortLabel>\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n arRows.length > 0 &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow\n key={row[rowID]}\n onClick={() => {\n _rowClick(row);\n }}\n >\n {selectionMode === SELECTION_MODE.SINGLE && (\n <TableCell>\n <Radio\n onChange={handleChange}\n value={row[rowID]}\n name='radio-buttons'\n inputProps={{ 'aria-label': 'A' }}\n checked={selectedValue === row[rowID]}\n ></Radio>\n </TableCell>\n )}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell>\n <Checkbox\n onChange={onCheckboxClick}\n value={row[rowID]}\n ></Checkbox>\n </TableCell>\n )}\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell\n className={classes.cell}\n key={column.id}\n align={column.align}\n >\n {column.format && typeof value === 'number'\n ? column.format(value)\n : value}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {arRows && arRows.length === 0 && (\n <div className='no-records'>No records found.</div>\n )}\n </TableContainer>\n )}\n </>\n {arRows && arRows.length > 0 && (\n <TablePagination\n rowsPerPageOptions={[10, 25, 100]}\n component='div'\n count={arRows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </Paper>\n )}\n <Menu\n id='simple-menu'\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={_menuClose}\n >\n <MenuItem onClick={_filterMenu}>\n <FilterListIcon /> Filter\n </MenuItem>\n <MenuItem onClick={_groupMenu}>\n <SubjectIcon /> Group\n </MenuItem>\n </Menu>\n <Dialog open={open} onClose={_closeDialog} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title'>Filter: {filterBy}</DialogTitle>\n <DialogContent>\n {containsDateOrTime ? (\n <>\n <Select value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not equal to</MenuItem>\n <MenuItem value='after'>after</MenuItem>\n <MenuItem value='before'>before</MenuItem>\n <MenuItem value='null'>is null</MenuItem>\n <MenuItem value='notnull'>is not null</MenuItem>\n </Select>\n {filterType === 'Date' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='date'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'DateTime' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='datetime-local'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'Time' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='time'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n </>\n ) : (\n <>\n <Select\n fullWidth\n onChange={_dialogContainsFilter}\n value={displayDialogContainsFilter}\n >\n <MenuItem value='contains'>Contains</MenuItem>\n <MenuItem value='equals'>Equals</MenuItem>\n <MenuItem value='startswith'>Starts with</MenuItem>\n </Select>\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='text'\n fullWidth\n value={displayDialogContainsValue}\n onChange={_dialogContainsValue}\n />\n </>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={_closeDialog} color='secondary'>\n Cancel\n </Button>\n <Button onClick={_submitFilter} color='primary'>\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n );\n}\n\nListView.defaultProps = {\n};\n\nListView.propTypes = {\n getPConnect: PropTypes.func.isRequired\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-plusplus */\n/* eslint-disable guard-for-in */\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable no-shadow */\nimport React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { Utils } from '../../helpers/utils';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Paper from '@material-ui/core/Paper';\nimport MoreIcon from '@material-ui/icons/MoreVert';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport SubjectIcon from '@material-ui/icons/Subject';\nimport SearchIcon from '@material-ui/icons/Search';\nimport TextField from '@material-ui/core/TextField';\nimport Grid from '@material-ui/core/Grid';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Select from '@material-ui/core/Select';\nimport Button from '@material-ui/core/Button';\nimport Link from '@material-ui/core/Link';\nimport Typography from '@material-ui/core/Typography';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { Radio } from '@material-ui/core';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { filterData } from '../../helpers/simpleTableHelpers';\nimport './ListView.css';\nimport useInit from './hooks'\n\nconst SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };\n\n// Remove this and use \"real\" PCore type once .d.ts is fixed (currently shows 3 errors)\ndeclare const PCore: any;\n\nlet myRows: Array<any>;\nlet myDisplayColumnList: Array<any>;\n\nlet menuColumnId = '';\nlet menuColumnType = '';\nlet menuColumnLabel = '';\n\nlet sortColumnId: any;\n\nconst filterByColumns: Array<any> = [];\n\nexport default function ListView(props) {\n const { getPConnect, bInForm } = props;\n const { globalSearch, referenceList, rowClickAction, selectionMode, referenceType, payload, parameters, compositeKeys, showDynamicFields, presets } = props;\n const ref = useRef({}).current;\n const cosmosTableRef = useRef();\n // List component context\n const [listContext, setListContext] = useState<any>({});\n const { meta } = listContext;\n const xRayApis = PCore.getDebugger().getXRayRuntime();\n const xRayUid = xRayApis.startXRay();\n\n useInit({ ...props, setListContext, ref, showDynamicFields, xRayUid, cosmosTableRef });\n\n const thePConn = getPConnect();\n const componentConfig = thePConn.getComponentConfig();\n const resolvedConfigProps = thePConn.getConfigProps();\n\n /** By default, pyGUID is used for Data classes and pyID is for Work classes as row-id/key */\n const defRowID = referenceType === 'Case' ? 'pyID' : 'pyGUID';\n\n /** If compositeKeys is defined, use dynamic value, else fallback to pyID or pyGUID. */\n const rowID = compositeKeys && compositeKeys?.length === 1 ? compositeKeys[0] : defRowID;\n\n const [arRows, setRows] = useState<Array<any>>([]);\n const [arColumns, setColumns] = useState<Array<any>>([]);\n const [response, setResponse] = useState<Array<any>>([]);\n\n const [order, setOrder] = useState<Order>('asc');\n const [orderBy, setOrderBy] = useState<keyof any>('');\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [open, setOpen] = useState(false);\n\n const [showSnackbar, setShowSnackbar] = useState(false);\n const [snackbarMessage, setSnackbarMessage] = useState('');\n\n const [selectedValue, setSelectedValue] = useState('');\n\n // This basically will hold the list of all current filters\n const filters = useRef({});\n\n // Will contain the list of columns specific for an instance\n let columnList: any = useRef([]);\n let dashboardFilterPayload: any ;\n // Will be sent in the dashboardFilterPayload\n let selectParam: Array<any> = [];\n\n // dataview parameters coming from the ListPage\n // This constant will also be used for parameters coming from from other components/utility fnctions in future\n const dataViewParameters = parameters;\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%'\n },\n paper: {\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n search: {\n padding: '5px 5px'\n },\n table: {\n minWidth: 750\n },\n tableInForm: {\n minWidth: 750,\n maxHeight: 550,\n overflow: 'auto'\n },\n moreIcon: {\n verticalAlign: 'bottom'\n },\n filteredIcon: {\n verticalAlign: 'bottom'\n },\n cell: {\n whiteSpace: 'nowrap'\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1\n },\n title: {\n marginTop: theme.spacing(1),\n marginLeft: theme.spacing(1)\n }\n })\n );\n\n const classes = useStyles();\n\n const handleRequestSort = (event: React.MouseEvent<unknown>, property: keyof any) => {\n const isAsc = orderBy === property && order === 'asc';\n setOrder(isAsc ? 'desc' : 'asc');\n setOrderBy(property);\n };\n\n const createSortHandler = (property: keyof any) => (event: React.MouseEvent<unknown>) => {\n sortColumnId = property;\n handleRequestSort(event, property);\n };\n\n function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {\n if (b[orderedBy] < a[orderedBy]) {\n return -1;\n }\n if (b[orderedBy] > a[orderedBy]) {\n return 1;\n }\n return 0;\n }\n\n type Order = 'asc' | 'desc';\n\n function getComparator<Key extends keyof any>(\n theOrder: Order,\n orderedBy: Key\n // eslint-disable-next-line no-unused-vars\n ): (a: { [key in Key]: number | string }, b: { [key in Key]: number | string }) => number {\n return theOrder === 'desc'\n ? (a, b) => descendingComparator(a, b, orderedBy)\n : (a, b) => -descendingComparator(a, b, orderedBy);\n }\n\n // eslint-disable-next-line no-unused-vars\n function stableSort<T>(array: Array<T>, comparator: (a: T, b: T) => number) {\n const stabilizedThis = array.map((el, index) => [el, index] as [T, number]);\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map(el => el[0]);\n }\n\n const [page, setPage] = useState(0);\n const [rowsPerPage, setRowsPerPage] = useState(10);\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage);\n };\n\n const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(+event.target.value);\n setPage(0);\n };\n\n const AssignDashObjects = ['Assign-Worklist', 'Assign-WorkBasket'];\n function getHeaderCells(colFields, fields, presetFields) {\n const arReturn = colFields.map((field: any, index) => {\n let theField = field.config.value.substring(field.config.value.indexOf(' ') + 1);\n if (theField.indexOf('.') === 0) {\n theField = theField.substring(1);\n }\n const colIndex = fields.findIndex(ele => ele.name === theField);\n const displayAsLink = field.config.displayAsLink;\n const headerRow: any = {};\n headerRow.id = theField;\n headerRow.type = field.type;\n headerRow.displayAsLink = displayAsLink;\n headerRow.numeric =\n field.type === 'Decimal' ||\n field.type === 'Integer' ||\n field.type === 'Percentage' ||\n field.type === 'Currency' ||\n false;\n headerRow.disablePadding = false;\n headerRow.label = presetFields[index].config.label;\n if (colIndex > -1) {\n headerRow.classID = fields[colIndex].classID;\n }\n if (displayAsLink) {\n headerRow.isAssignmentLink = AssignDashObjects.includes(headerRow.classID);\n if (field.config.value?.startsWith('@CA')) {\n headerRow.isAssociation = true;\n }\n }\n return headerRow;\n });\n return arReturn;\n }\n\n function updateFields(arFields, theColumns): Array<any> {\n const arReturn = arFields.filter(ele => ele.type !== 'reference');\n arReturn.forEach((field, index) => {\n arReturn[index].config.name = theColumns[index].id;\n });\n\n return arReturn;\n }\n\n function getUsingData(arTableData): Array<any> {\n if (selectionMode === SELECTION_MODE.SINGLE || selectionMode === SELECTION_MODE.MULTI) {\n const record = arTableData?.length > 0 ? arTableData[0] : '';\n if (typeof record === 'object' && !('pyGUID' in record) && !('pyID' in record)) {\n // eslint-disable-next-line no-console\n console.error('pyGUID or pyID values are mandatory to select the required row from the list');\n }\n }\n const arReturn = arTableData?.map((data: any) => {\n\n const row = data;\n\n return row;\n });\n\n return arReturn;\n }\n\n function updateData(listData: Array<any>, fieldData: Array<any>): Array<any> {\n const returnList: Array<any> = new Array<any>();\n listData?.forEach(row => {\n // copy\n const rowData = JSON.parse(JSON.stringify(row));\n\n fieldData.forEach(field => {\n const config = field.config;\n let fieldName;\n let formattedDate;\n let myFormat;\n\n switch (field.type) {\n case 'Date':\n fieldName = config.name;\n myFormat = config.formatter;\n if (!myFormat) {\n myFormat = 'Date';\n }\n formattedDate = Utils.generateDate(rowData[fieldName], myFormat);\n\n rowData[fieldName] = formattedDate;\n break;\n\n case 'DateTime':\n fieldName = config.name;\n myFormat = config.formatter;\n if (!myFormat) {\n myFormat = 'DateTime-Long';\n }\n formattedDate = Utils.generateDateTime(rowData[fieldName], myFormat);\n\n rowData[fieldName] = formattedDate;\n break;\n\n default:\n break;\n }\n });\n\n returnList.push(rowData);\n });\n\n return returnList;\n }\n\n function getMyColumnList(arCols: Array<any>): Array<string> {\n const myColList: Array<string> = [];\n\n arCols.forEach(col => {\n myColList.push(col.id);\n });\n\n return myColList;\n }\n\n /** Will return field from a filter expression */\n function getFieldFromFilter(filter, dateRange = false) {\n let fieldValue;\n if (dateRange) {\n fieldValue = filter?.AND[0]?.condition.lhs.field;\n } else {\n fieldValue = filter?.condition.lhs.field;\n }\n return fieldValue;\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CHANGE fires\n function processFilterChange(data) {\n const { filterId, filterExpression } = data;\n dashboardFilterPayload = {\n query: {\n filter: {},\n select: []\n }\n };\n\n filters.current[filterId] = filterExpression;\n // eslint-disable-next-line no-unneeded-ternary\n let isDateRange = data.filterExpression?.AND ? true : false;\n // Will be AND by default but making it dynamic in case we support dynamic relational ops in future\n const relationalOp = 'AND';\n\n let field = getFieldFromFilter(filterExpression, isDateRange);\n selectParam = [];\n // Constructing the select parameters list (will be sent in dashboardFilterPayload)\n columnList.forEach(col => {\n selectParam.push({\n field: col\n });\n });\n\n // Checking if the triggered filter is applicable for this list\n if (data.filterExpression !== null && !(columnList.length && columnList.includes(field))) {\n return;\n }\n // This is a flag which will be used to reset dashboardFilterPayload in case we don't find any valid filters\n let validFilter = false;\n\n let index = 1;\n // Iterating over the current filters list to create filter data which will be POSTed\n for (const filterExp in filters.current) {\n const filter = filters.current[filterExp];\n // If the filter is null then we can skip this iteration\n if (filter === null) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n // Checking if the filter is of type- Date Range\n // eslint-disable-next-line no-unneeded-ternary\n isDateRange = filter?.AND ? true : false;\n field = getFieldFromFilter(filter, isDateRange);\n\n if (!(columnList.length && columnList.includes(field))) {\n // eslint-disable-next-line no-continue\n continue;\n }\n // If we reach here that implies we've at least one valid filter, hence setting the flag\n validFilter = true;\n /** Below are the 2 cases for- Text & Date-Range filter types where we'll construct filter data which will be sent in the dashboardFilterPayload\n * In Constellation DX Components, through Repeating Structures they might be using several APIs to do it. We're doing it here\n */\n if (isDateRange) {\n const dateRelationalOp = filter?.AND ? 'AND' : 'OR';\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter[relationalOp][0].condition },\n [`T${index++}`]: { ...filter[relationalOp][1].condition }\n };\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} (T${\n index - 2\n } ${dateRelationalOp} T${index - 1})`;\n } else {\n dashboardFilterPayload.query.filter.logic = `(T${index - 2} ${relationalOp} T${index - 1})`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n } else {\n dashboardFilterPayload.query.filter.filterConditions = {\n ...dashboardFilterPayload.query.filter.filterConditions,\n [`T${index++}`]: { ...filter.condition, ignoreCase: true }\n };\n\n if (dashboardFilterPayload.query.filter.logic) {\n dashboardFilterPayload.query.filter.logic = `${dashboardFilterPayload.query.filter.logic} ${relationalOp} T${\n index - 1\n }`;\n } else {\n dashboardFilterPayload.query.filter.logic = `T${index - 1}`;\n }\n\n dashboardFilterPayload.query.select = selectParam;\n }\n }\n\n // Reset the dashboardFilterPayload if we end up with no valid filters for the list\n if (!validFilter) {\n dashboardFilterPayload = undefined;\n }\n\n fetchDataFromServer();\n }\n\n // Will be triggered when EVENT_DASHBOARD_FILTER_CLEAR_ALL fires\n function processFilterClear() {\n dashboardFilterPayload = undefined;\n fetchDataFromServer();\n }\n\n useEffect(() => {\n setTimeout(() => {\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE,\n data => {\n processFilterChange(data);\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL,\n () => {\n filters.current = {};\n processFilterClear();\n },\n `dashboard-component-${'id'}`,\n false,\n getPConnect().getContextName()\n );\n }, 0);\n }, []);\n\n function fetchAllData(fields) {\n let query: any = null;\n if (payload) {\n query = payload.query;\n } else if (fields?.length && meta.isQueryable) {\n query = {select: fields};\n } else if (dashboardFilterPayload) {\n query = dashboardFilterPayload.query;\n }\n const context = getPConnect().getContextName();\n return PCore.getDataPageUtils().getDataAsync(\n referenceList,\n context,\n payload ? payload.dataViewParameters : dataViewParameters,\n null,\n query\n );\n }\n\n const buildSelect = (fieldDefs, colId, patchQueryFields = [], compositeKeys = []) => {\n const listFields: any = [];\n if (colId) {\n const field = getField(fieldDefs, colId);\n listFields.push({\n field: field.name\n });\n } else {\n // NOTE: If we ever decide to not set up all the `fieldDefs` on select, ensure that the fields\n // corresponding to `state.groups` are set up. Needed in Client-mode grouping/pagination.\n fieldDefs.forEach(field => {\n if (!listFields.find(f => f.field === field.name)) {\n listFields.push({\n field: field.name\n });\n }\n });\n patchQueryFields.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n }\n\n compositeKeys.forEach(k => {\n if (!listFields.find(f => f.field === k)) {\n listFields.push({\n field: k\n });\n }\n });\n return listFields;\n };\n\n const addItemKeyInSelect = (\n fieldDefs,\n itemKey,\n select,\n compositeKeys\n ) => {\n const elementFound = getField(fieldDefs, itemKey);\n\n if (itemKey && !elementFound && Array.isArray(select) && !(compositeKeys !== null && compositeKeys?.length) && !select.find(sel => sel.field === itemKey)) {\n return [...select, {\n field: itemKey\n }];\n }\n\n return select;\n };\n\n const getField = (fieldDefs, columnId) => {\n const fieldsMap = getFieldsMap(fieldDefs);\n return fieldsMap.get(columnId);\n };\n\n const getFieldsMap = fieldDefs => {\n const fieldsMap = new Map();\n fieldDefs.forEach(element => {\n fieldsMap.set(element.id, element);\n });\n return fieldsMap;\n };\n\n async function fetchDataFromServer() {\n let bCallSetRowsColumns = true;\n const { fieldDefs, itemKey, patchQueryFields } = meta;\n let listFields = fieldDefs ? buildSelect(fieldDefs, undefined, patchQueryFields, compositeKeys) : [];\n listFields = addItemKeyInSelect(fieldDefs, itemKey, listFields, compositeKeys);\n const workListJSON = await fetchAllData(listFields);\n\n // don't update these fields until we return from promise\n let fields = presets[0].children[0].children;\n\n // this is an unresovled version of this.fields$, need unresolved, so can get the property reference\n const columnFields = componentConfig.presets[0].children[0].children;\n\n const tableDataResults = workListJSON['data'];\n\n const myColumns = getHeaderCells(columnFields, fieldDefs, fields);\n\n const selectParams: any = [];\n\n myColumns.forEach(column => {\n selectParams.push({\n field: column.id\n });\n });\n\n const colList: any = [];\n\n selectParams.forEach(col => {\n colList.push(col.field);\n });\n\n columnList = colList;\n\n fields = updateFields(fields, myColumns);\n\n setResponse(tableDataResults);\n\n const usingDataResults = getUsingData(tableDataResults);\n\n // store globally, so can be searched, filtered, etc.\n myRows = updateData(usingDataResults, fields);\n myDisplayColumnList = getMyColumnList(myColumns);\n\n // At this point, if we have data ready to render and haven't been asked\n // to NOT call setRows and setColumns, call them\n if (bCallSetRowsColumns) {\n setRows(myRows);\n setColumns(myColumns);\n }\n\n return () => {\n // Inspired by https://juliangaramendy.dev/blog/use-promise-subscription\n // The useEffect closure lets us have access to the bCallSetRowsColumns\n // variable inside the useEffect and inside the \"then\" clause of the\n // workListData promise\n // So, if this cleanup code gets run before the promise .then is called,\n // we can avoid calling the useState setters which would otherwise show a warning\n bCallSetRowsColumns = false;\n };\n }\n\n useEffect(() => {\n if (listContext.meta) {\n fetchDataFromServer();\n }\n }, [listContext]);\n\n function searchFilter(value: string, rows: Array<any>) {\n function filterArray(el: any): boolean {\n const bReturn = false;\n for (const key in el) {\n // only search columsn that are displayed (pzInsKey and pxRefObjectClass are added and may or may not be displayed)\n if (myDisplayColumnList.includes(key)) {\n let myVal = el[key];\n if (myVal !== null) {\n if (typeof myVal !== 'string') {\n myVal = myVal.toString();\n }\n if (myVal.toLowerCase().indexOf(value.toLowerCase()) >= 0) {\n return true;\n }\n }\n }\n }\n\n return bReturn;\n }\n\n rows = rows.filter(filterArray);\n\n return rows;\n }\n\n function _onSearch(event: any) {\n const searchValue = event.target.value;\n\n const filteredRows = searchFilter(searchValue, myRows.slice());\n\n setRows(filteredRows);\n }\n\n function showToast(message: string) {\n const theMessage = `Assignment: ${message}`;\n // eslint-disable-next-line no-console\n console.error(theMessage);\n setSnackbarMessage(message);\n setShowSnackbar(true);\n }\n\n function openAssignment(row) {\n const { pxRefObjectClass, pzInsKey } = row;\n const sTarget = thePConn.getContainerName();\n\n const options = { containerName: sTarget };\n\n thePConn\n .getActionsApi()\n .openAssignment(pzInsKey, pxRefObjectClass, options)\n .then(() => {\n // console.log(\"openAssignment successful\");\n })\n .catch(() => {\n showToast(`openAssignment failed!`);\n });\n }\n\n function _rowClick(row: any) {\n // eslint-disable-next-line sonarjs/no-small-switch\n switch (rowClickAction) {\n case 'openAssignment':\n openAssignment(row);\n break;\n\n default:\n break;\n }\n }\n\n function openWork(row) {\n const { pxRefObjectKey } = row;\n const pxRefObjectClass = row.pxRefObjectClass || row.pxObjClass;\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n thePConn.getActionsApi().openWorkByHandle(pxRefObjectKey, pxRefObjectClass);\n }\n }\n\n function handleSnackbarClose(event: React.SyntheticEvent | React.MouseEvent, reason?: string) {\n if (reason === 'clickaway') {\n return;\n }\n setShowSnackbar(false);\n }\n\n function _menuClick(event, columnId: string, columnType: string, label: string) {\n menuColumnId = columnId;\n menuColumnType = columnType;\n menuColumnLabel = label;\n\n setAnchorEl(event.currentTarget);\n }\n\n function _menuClose() {\n setAnchorEl(null);\n }\n\n const [filterBy, setFilterBy] = useState<string>();\n const [containsDateOrTime, setContainsDateOrTime] = useState<boolean>(false);\n const [filterType, setFilterType] = useState<string>('string');\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n const [displayDialogFilterName, setDisplayDialogFilterName] = useState<string>('');\n const [displayDialogContainsFilter, setDisplayDialogContainsFilter] =\n useState<string>('contains');\n const [displayDialogContainsValue, setDisplayDialogContainsValue] = useState<string>('');\n const [displayDialogDateFilter, setDisplayDialogDateFilter] = useState<string>('notequal');\n const [displayDialogDateValue, setDisplayDialogDateValue] = useState<string>('');\n\n function _filterMenu() {\n setAnchorEl(null);\n\n let bFound = false;\n\n for (const filterObj of filterByColumns) {\n if (filterObj.ref === menuColumnId) {\n setFilterBy(menuColumnLabel);\n if (\n filterObj.type === 'Date' ||\n filterObj.type === 'DateTime' ||\n filterObj.type === 'Time'\n ) {\n setContainsDateOrTime(true);\n setFilterType(filterObj.type);\n setDisplayDialogDateFilter(filterObj.containsFilter);\n setDisplayDialogDateValue(filterObj.containsFilterValue);\n } else {\n setContainsDateOrTime(false);\n setFilterType('string');\n setDisplayDialogContainsFilter(filterObj.containsFilter);\n setDisplayDialogContainsValue(filterObj.containsFilterValue);\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n setFilterBy(menuColumnLabel);\n setDisplayDialogFilterName(menuColumnId);\n setDisplayDialogContainsValue('');\n\n switch (menuColumnType) {\n case 'Date':\n case 'DateTime':\n case 'Time':\n setContainsDateOrTime(true);\n setFilterType(menuColumnType);\n break;\n default:\n setContainsDateOrTime(false);\n setFilterType('string');\n break;\n }\n }\n\n // open dialog\n setOpen(true);\n }\n\n function _groupMenu() {\n setAnchorEl(null);\n }\n\n function _closeDialog() {\n setOpen(false);\n }\n\n function _showFilteredIcon(columnId) {\n for (const filterObj of filterByColumns) {\n if (filterObj['ref'] === columnId) {\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (filterObj['containsFilterValue'] !== '') {\n return true;\n }\n return false;\n }\n }\n\n return false;\n }\n\n function updateFilterWithInfo() {\n let bFound = false;\n for (const filterObj of filterByColumns) {\n if (filterObj['ref'] === menuColumnId) {\n filterObj['type'] = filterType;\n if (containsDateOrTime) {\n filterObj['containsFilter'] = displayDialogDateFilter;\n filterObj['containsFilterValue'] = displayDialogDateValue;\n } else {\n filterObj['containsFilter'] = displayDialogContainsFilter;\n filterObj['containsFilterValue'] = displayDialogContainsValue;\n }\n bFound = true;\n break;\n }\n }\n\n if (!bFound) {\n // add in\n const filterObj: any = {};\n filterObj.ref = menuColumnId;\n filterObj['type'] = filterType;\n if (containsDateOrTime) {\n filterObj['containsFilter'] = displayDialogDateFilter;\n filterObj['containsFilterValue'] = displayDialogDateValue;\n } else {\n filterObj['containsFilter'] = displayDialogContainsFilter;\n filterObj['containsFilterValue'] = displayDialogContainsValue;\n }\n\n filterByColumns.push(filterObj);\n }\n }\n\n function filterSortGroupBy() {\n // get original data set\n let theData = myRows.slice();\n\n // last filter config data is global\n theData = theData.filter(filterData(filterByColumns));\n\n // move data to array and then sort\n setRows(theData);\n createSortHandler(sortColumnId);\n }\n\n function _dialogContainsFilter(event) {\n // dialogContainsFilter = event.target.value;\n setDisplayDialogContainsFilter(event.target.value);\n }\n\n function _dialogContainsValue(event) {\n // dialogContainsValue = event.target.value;\n setDisplayDialogContainsValue(event.target.value);\n }\n\n function _dialogDateFilter(event) {\n // dialogDateFilter = event.target.value;\n setDisplayDialogDateFilter(event.target.value);\n }\n\n function _dialogDateValue(event) {\n setDisplayDialogDateValue(event.target.value);\n }\n\n function _submitFilter() {\n updateFilterWithInfo();\n filterSortGroupBy();\n\n setOpen(false);\n }\n\n function _showButton(name, row) {\n let bReturn = false;\n const { pxRefObjectClass, pzInsKey, pxRefObjectKey } = row;\n switch (name) {\n case 'pxTaskLabel':\n if (pxRefObjectClass !== '' && pzInsKey !== '') {\n bReturn = true;\n }\n break;\n\n case 'pxRefObjectInsName':\n if (pxRefObjectClass !== '' && pxRefObjectKey !== '') {\n bReturn = true;\n }\n break;\n\n default:\n break;\n }\n\n return bReturn;\n }\n\n function _listViewClick(row, column) {\n const name = column.id\n if (column.displayAsLink) {\n const { pxObjClass } = row;\n let { pzInsKey } = row;\n if (column.isAssociation) {\n const associationCategory = name.split(':')[0];\n pzInsKey = row[`${associationCategory}:pzInsKey`];\n }\n if (column.isAssignmentLink) {\n thePConn.getActionsApi().openAssignment(pzInsKey, pxObjClass, {\n containerName: 'primary'\n });\n } else {\n thePConn.getActionsApi().openWorkByHandle(pzInsKey, pxObjClass);\n }\n } else {\n switch (name) {\n case 'pxTaskLabel':\n openAssignment(row);\n break;\n\n case 'pxRefObjectInsName':\n openWork(row);\n break;\n\n default:\n break;\n }\n }\n\n }\n\n function _listTitle() {\n const defaultTitle = 'List';\n let title = resolvedConfigProps.title ? resolvedConfigProps.title : defaultTitle;\n const inheritedProps = resolvedConfigProps?.inheritedProps;\n\n // Let any title in resolvedConfigProps that isn't the default take precedence\n // but only look in inheritedProps if they exist\n if (title === defaultTitle && inheritedProps) {\n for (const inheritedProp of inheritedProps) {\n if (inheritedProp?.prop === 'label') {\n title = inheritedProp?.value;\n break;\n }\n }\n }\n\n return title;\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element]\n });\n } else {\n reqObj[rowID] = value;\n }\n getPConnect()\n ?.getListActions?.()\n ?.setSelectedRows([reqObj]);\n setSelectedValue(value);\n };\n\n const onCheckboxClick = event => {\n const value = event?.target?.value;\n const checked = event?.target?.checked;\n const reqObj = {};\n if (compositeKeys?.length > 1) {\n const index = response.findIndex(element => element[rowID] === value);\n const selectedRow = response[index];\n compositeKeys.forEach(element => {\n reqObj[element] = selectedRow[element]\n });\n reqObj['$selected'] = checked;\n } else {\n reqObj[rowID] = value;\n reqObj['$selected'] = checked;\n }\n getPConnect()\n ?.getListActions()\n ?.setSelectedRows([reqObj]);\n };\n\n return (\n <>\n {arColumns && arColumns.length > 0 && (\n <Paper className={classes.paper}>\n <Typography className={classes.title} variant='h6' color='textPrimary' gutterBottom>\n {_listTitle()}\n </Typography>\n {globalSearch && (\n <Grid container spacing={1} alignItems='flex-end' className={classes.search}>\n <Grid item>\n <SearchIcon />\n </Grid>\n <Grid item>\n <TextField\n label={ PCore.getLocaleUtils().getLocaleValue('Search', 'Search') }\n fullWidth\n variant='outlined'\n placeholder=''\n size='small'\n id=\"search\"\n onChange={_onSearch}\n />\n </Grid>\n </Grid>\n )}\n <>\n {bInForm ? (\n <TableContainer className={classes.tableInForm}>\n <Table stickyHeader aria-label='sticky table'>\n <TableHead>\n <TableRow>\n {arColumns.map(column => {\n return (\n <TableCell\n className={classes.cell}\n key={column.id}\n sortDirection={orderBy === column.id ? order : false}\n >\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {_showFilteredIcon(column.id) && (\n <FilterListIcon className={classes.filteredIcon} />\n )}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>\n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span>\n ) : null}\n </TableSortLabel>\n <MoreIcon\n className={classes.moreIcon}\n onClick={event => {\n _menuClick(event, column.id, column.type, column.label);\n }}\n />\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow\n key={row.pxRefObjectInsName || row.pyID}\n onClick={() => {\n _rowClick(row);\n }}\n >\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell\n key={column.id}\n align={column.align}\n className={classes.cell}\n >\n {_showButton(column.id, row) || column.displayAsLink ? (\n <Link\n component='button'\n onClick={() => {\n _listViewClick(row, column);\n }}\n >\n {column.format && typeof value === 'number'\n ? column.format(value)\n : value}\n </Link>\n ) : (\n <>\n {column.format && typeof value === 'number'\n ? column.format(value)\n : value}\n </>\n )}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </TableContainer>\n ) : (\n <TableContainer>\n <Table>\n <TableHead>\n <TableRow>\n {(selectionMode === SELECTION_MODE.SINGLE ||\n selectionMode === SELECTION_MODE.MULTI) && <TableCell></TableCell>}\n {arColumns.map(column => {\n return (\n <TableCell\n className={classes.cell}\n key={column.id}\n sortDirection={orderBy === column.id ? order : false}\n >\n <TableSortLabel\n active={orderBy === column.id}\n direction={orderBy === column.id ? order : 'asc'}\n onClick={createSortHandler(column.id)}\n >\n {column.label}\n {orderBy === column.id ? (\n <span className={classes.visuallyHidden}>\n {order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span>\n ) : null}\n </TableSortLabel>\n </TableCell>\n );\n })}\n </TableRow>\n </TableHead>\n <TableBody>\n {arRows &&\n arRows.length > 0 &&\n stableSort(arRows, getComparator(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(row => {\n return (\n <TableRow\n key={row[rowID]}\n onClick={() => {\n _rowClick(row);\n }}\n >\n {selectionMode === SELECTION_MODE.SINGLE && (\n <TableCell>\n <Radio\n onChange={handleChange}\n value={row[rowID]}\n name='radio-buttons'\n inputProps={{ 'aria-label': 'A' }}\n checked={selectedValue === row[rowID]}\n ></Radio>\n </TableCell>\n )}\n {selectionMode === SELECTION_MODE.MULTI && (\n <TableCell>\n <Checkbox\n onChange={onCheckboxClick}\n value={row[rowID]}\n ></Checkbox>\n </TableCell>\n )}\n {arColumns.map(column => {\n const value = row[column.id];\n return (\n <TableCell\n className={classes.cell}\n key={column.id}\n align={column.align}\n >\n {column.format && typeof value === 'number'\n ? column.format(value)\n : value}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n {arRows && arRows.length === 0 && (\n <div className='no-records'>No records found.</div>\n )}\n </TableContainer>\n )}\n </>\n {arRows && arRows.length > 0 && (\n <TablePagination\n rowsPerPageOptions={[10, 25, 100]}\n component='div'\n count={arRows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </Paper>\n )}\n <Menu\n id='simple-menu'\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={_menuClose}\n >\n <MenuItem onClick={_filterMenu}>\n <FilterListIcon /> Filter\n </MenuItem>\n <MenuItem onClick={_groupMenu}>\n <SubjectIcon /> Group\n </MenuItem>\n </Menu>\n <Dialog open={open} onClose={_closeDialog} aria-labelledby='form-dialog-title'>\n <DialogTitle id='form-dialog-title'>Filter: {filterBy}</DialogTitle>\n <DialogContent>\n {containsDateOrTime ? (\n <>\n <Select value={displayDialogDateFilter} onChange={_dialogDateFilter} fullWidth>\n <MenuItem value='notequal'>is not equal to</MenuItem>\n <MenuItem value='after'>after</MenuItem>\n <MenuItem value='before'>before</MenuItem>\n <MenuItem value='null'>is null</MenuItem>\n <MenuItem value='notnull'>is not null</MenuItem>\n </Select>\n {filterType === 'Date' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='date'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'DateTime' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='datetime-local'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n {filterType === 'Time' && (\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='time'\n fullWidth\n value={displayDialogDateValue}\n onChange={_dialogDateValue}\n />\n )}\n </>\n ) : (\n <>\n <Select\n fullWidth\n onChange={_dialogContainsFilter}\n value={displayDialogContainsFilter}\n >\n <MenuItem value='contains'>Contains</MenuItem>\n <MenuItem value='equals'>Equals</MenuItem>\n <MenuItem value='startswith'>Starts with</MenuItem>\n </Select>\n <TextField\n autoFocus\n margin='dense'\n id='containsFilter'\n type='text'\n fullWidth\n value={displayDialogContainsValue}\n onChange={_dialogContainsValue}\n />\n </>\n )}\n </DialogContent>\n <DialogActions>\n <Button onClick={_closeDialog} color='secondary'>\n Cancel\n </Button>\n <Button onClick={_submitFilter} color='primary'>\n Submit\n </Button>\n </DialogActions>\n </Dialog>\n\n <Snackbar\n open={showSnackbar}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n message={snackbarMessage}\n action={\n <IconButton size='small' aria-label='close' color='inherit' onClick={handleSnackbarClose}>\n <CloseIcon fontSize='small' />\n </IconButton>\n }\n />\n </>\n );\n}\n\nListView.defaultProps = {\n};\n\nListView.propTypes = {\n getPConnect: PropTypes.func.isRequired\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/hooks.
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/hooks.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAK,KAAA,QA4FpC"}
|