@sapui5/sap.fe.core 1.111.1 → 1.113.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime-dbg.js +6 -5
- package/src/sap/fe/core/ActionRuntime.js +1 -1
- package/src/sap/fe/core/ActionRuntime.js.map +1 -1
- package/src/sap/fe/core/ActionRuntime.ts +12 -11
- package/src/sap/fe/core/AppComponent-dbg.js +35 -9
- package/src/sap/fe/core/AppComponent.js +1 -1
- package/src/sap/fe/core/AppComponent.js.map +1 -1
- package/src/sap/fe/core/AppComponent.ts +66 -9
- package/src/sap/fe/core/AppStateHandler-dbg.js +5 -2
- package/src/sap/fe/core/AppStateHandler.js +1 -1
- package/src/sap/fe/core/AppStateHandler.js.map +1 -1
- package/src/sap/fe/core/AppStateHandler.ts +10 -1
- package/src/sap/fe/core/BaseController-dbg.js +1 -1
- package/src/sap/fe/core/BaseController.ts +2 -1
- package/src/sap/fe/core/CommonUtils-dbg.js +202 -533
- package/src/sap/fe/core/CommonUtils.js +1 -1
- package/src/sap/fe/core/CommonUtils.js.map +1 -1
- package/src/sap/fe/core/CommonUtils.ts +260 -681
- package/src/sap/fe/core/ExtensionAPI-dbg.js +4 -1
- package/src/sap/fe/core/ExtensionAPI.js +1 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +11 -1
- package/src/sap/fe/core/PageController-dbg.js +26 -31
- package/src/sap/fe/core/PageController.js +1 -1
- package/src/sap/fe/core/PageController.js.map +1 -1
- package/src/sap/fe/core/PageController.ts +17 -3
- package/src/sap/fe/core/ResourceModel-dbg.js +71 -0
- package/src/sap/fe/core/ResourceModel.js +6 -0
- package/src/sap/fe/core/ResourceModel.js.map +1 -0
- package/src/sap/fe/core/ResourceModel.ts +67 -0
- package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +1 -0
- package/src/sap/fe/core/TemplateModel-dbg.js +1 -1
- package/src/sap/fe/core/TemplateModel.ts +6 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +5 -7
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +6 -5
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +164 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +170 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +88 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +142 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +913 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +21 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/{BuildingBlockRuntime.ts → BuildingBlockTemplateProcessor.ts} +313 -373
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +79 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +15 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +68 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +162 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +6 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +183 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +4 -2
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -3
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +936 -231
- package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +1023 -255
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +48 -98
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +95 -129
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +14 -17
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +23 -17
- package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -0
- package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +3 -3
- package/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +2 -2
- package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +2 -0
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +3 -5
- package/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +26 -4
- package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Paginator.ts +7 -0
- package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +8 -0
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +8 -1
- package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Share.ts +11 -0
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +14 -13
- package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +27 -27
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +17 -8
- package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.ts +35 -14
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +6 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +7 -4
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +285 -82
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +326 -89
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +23 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +32 -3
- package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +4 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +4 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +17 -3
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +65 -34
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +33 -18
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +103 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +124 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +78 -149
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +85 -160
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +49 -49
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +52 -63
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +82 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +123 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1508 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +1993 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +3 -1415
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +2 -1921
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +10 -18
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +9 -22
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +53 -47
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +55 -61
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +12 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +19 -0
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +78 -13
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +100 -13
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -1
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +16 -5
- package/src/sap/fe/core/controls/CommandExecution.js +1 -1
- package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
- package/src/sap/fe/core/controls/CommandExecution.ts +15 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +3 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +4 -1
- package/src/sap/fe/core/controls/FilterBar-dbg.js +1 -1
- package/src/sap/fe/core/controls/FilterBar.ts +5 -0
- package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +1 -1
- package/src/sap/fe/core/controls/FormElementWrapper.ts +3 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +7 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +4 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +10 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +4 -3
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +3 -2
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +0 -1
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +2 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +6 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +5 -0
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +3 -5
- package/src/sap/fe/core/converters/ConverterContext.js +1 -1
- package/src/sap/fe/core/converters/ConverterContext.js.map +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +4 -6
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -8
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +15 -6
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +21 -3
- package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.ts +23 -1
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +67 -62
- package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.ts +75 -66
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -1
- package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +81 -20
- package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.ts +76 -22
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1027 -956
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +13 -19
- package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.ts +37 -40
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +95 -33
- package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +133 -49
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +99 -62
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +140 -75
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +7 -6
- package/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +8 -14
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +9 -9
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +17 -18
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +143 -93
- package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.ts +221 -177
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +23 -16
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +27 -23
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +138 -75
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +223 -110
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +38 -28
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +67 -47
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +6 -6
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +5 -8
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +54 -24
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +84 -37
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +12 -14
- package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +16 -11
- package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +8 -6
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +8 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +7 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +19 -10
- package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +7 -2
- package/src/sap/fe/core/converters/helpers/ID-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/ID.ts +2 -1
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +11 -9
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.ts +10 -8
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +22 -20
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +19 -16
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +32 -35
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +42 -37
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +12 -5
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +8 -2
- package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
- package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +2 -2
- package/src/sap/fe/core/formatters/FiscalFormat.ts +6 -1
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +3 -7
- package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.ts +2 -6
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +9 -5
- package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.ts +11 -4
- package/src/sap/fe/core/fpm/Component-dbg.js +1 -1
- package/src/sap/fe/core/fpm/Component.ts +1 -0
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +7 -6
- package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +9 -9
- package/src/sap/fe/core/helpers/ClassSupport-dbg.js +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +93 -62
- package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.ts +140 -185
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +23 -20
- package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.ts +26 -28
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +9 -9
- package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.ts +8 -8
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +517 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js +6 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +610 -0
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +37 -73
- package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +47 -74
- package/src/sap/fe/core/helpers/PasteHelper-dbg.js +5 -5
- package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.ts +6 -10
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +39 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +6 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.ts +35 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +132 -23
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +109 -22
- package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
- package/src/sap/fe/core/helpers/SizeHelper-dbg.js +53 -0
- package/src/sap/fe/core/helpers/SizeHelper.js +6 -0
- package/src/sap/fe/core/helpers/SizeHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/SizeHelper.ts +51 -0
- package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +29 -25
- package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.ts +26 -24
- package/src/sap/fe/core/helpers/Synchronization-dbg.js +1 -1
- package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +151 -1
- package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.ts +162 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +2 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +6 -2
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +3 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +3 -3
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +1 -1
- package/src/sap/fe/core/library-dbg.js +2 -2
- package/src/sap/fe/core/library-preload.js +156 -140
- package/src/sap/fe/core/library-preload.js.map +1 -1
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/library.ts +7 -0
- package/src/sap/fe/core/manifest.json +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +67 -15
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -14
- package/src/sap/fe/core/messagebundle.properties +35 -0
- package/src/sap/fe/core/messagebundle_ar.properties +15 -12
- package/src/sap/fe/core/messagebundle_bg.properties +20 -17
- package/src/sap/fe/core/messagebundle_ca.properties +12 -9
- package/src/sap/fe/core/messagebundle_cs.properties +12 -9
- package/src/sap/fe/core/messagebundle_cy.properties +12 -9
- package/src/sap/fe/core/messagebundle_da.properties +12 -9
- package/src/sap/fe/core/messagebundle_de.properties +13 -10
- package/src/sap/fe/core/messagebundle_el.properties +14 -11
- package/src/sap/fe/core/messagebundle_en.properties +4 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +4 -1
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +21 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +23 -3
- package/src/sap/fe/core/messagebundle_es.properties +12 -9
- package/src/sap/fe/core/messagebundle_es_MX.properties +12 -9
- package/src/sap/fe/core/messagebundle_et.properties +12 -9
- package/src/sap/fe/core/messagebundle_fi.properties +12 -9
- package/src/sap/fe/core/messagebundle_fr.properties +12 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +13 -10
- package/src/sap/fe/core/messagebundle_hi.properties +12 -9
- package/src/sap/fe/core/messagebundle_hr.properties +12 -9
- package/src/sap/fe/core/messagebundle_hu.properties +12 -9
- package/src/sap/fe/core/messagebundle_id.properties +13 -10
- package/src/sap/fe/core/messagebundle_it.properties +12 -9
- package/src/sap/fe/core/messagebundle_iw.properties +12 -9
- package/src/sap/fe/core/messagebundle_ja.properties +13 -10
- package/src/sap/fe/core/messagebundle_kk.properties +12 -9
- package/src/sap/fe/core/messagebundle_ko.properties +12 -9
- package/src/sap/fe/core/messagebundle_lt.properties +12 -9
- package/src/sap/fe/core/messagebundle_lv.properties +12 -9
- package/src/sap/fe/core/messagebundle_ms.properties +13 -10
- package/src/sap/fe/core/messagebundle_nl.properties +13 -10
- package/src/sap/fe/core/messagebundle_no.properties +12 -9
- package/src/sap/fe/core/messagebundle_pl.properties +12 -9
- package/src/sap/fe/core/messagebundle_pt.properties +12 -9
- package/src/sap/fe/core/messagebundle_pt_PT.properties +12 -9
- package/src/sap/fe/core/messagebundle_ro.properties +16 -13
- package/src/sap/fe/core/messagebundle_ru.properties +13 -10
- package/src/sap/fe/core/messagebundle_sh.properties +12 -9
- package/src/sap/fe/core/messagebundle_sk.properties +12 -9
- package/src/sap/fe/core/messagebundle_sl.properties +12 -9
- package/src/sap/fe/core/messagebundle_sv.properties +12 -9
- package/src/sap/fe/core/messagebundle_th.properties +12 -9
- package/src/sap/fe/core/messagebundle_tr.properties +12 -9
- package/src/sap/fe/core/messagebundle_uk.properties +12 -9
- package/src/sap/fe/core/messagebundle_vi.properties +13 -10
- package/src/sap/fe/core/messagebundle_zh_CN.properties +12 -9
- package/src/sap/fe/core/messagebundle_zh_TW.properties +12 -9
- package/src/sap/fe/core/operationsHelper-dbg.js +70 -44
- package/src/sap/fe/core/operationsHelper.js +1 -1
- package/src/sap/fe/core/operationsHelper.js.map +1 -1
- package/src/sap/fe/core/operationsHelper.ts +88 -63
- package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +1 -1
- package/src/sap/fe/core/rootView/Fcl.controller.ts +10 -0
- package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +2 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.ts +5 -3
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +10 -5
- package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +22 -8
- package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +15 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +4 -1
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +9 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +19 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +2 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +10 -3
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +9 -3
- package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +35 -3
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +7 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +24 -2
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +448 -279
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +497 -333
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +26 -6
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +54 -13
- package/src/sap/fe/core/support/Diagnostics-dbg.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -0
- package/src/sap/fe/core/templating/CommonFormatters-dbg.js +4 -3
- package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +195 -95
- package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +210 -96
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +5 -5
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -2
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +19 -29
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -26
- package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +48 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js +6 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js.map +1 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.ts +37 -0
- package/src/sap/fe/core/templating/FilterHelper-dbg.js +3 -3
- package/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
- package/src/sap/fe/core/templating/FilterHelper.ts +5 -3
- package/src/sap/fe/core/templating/FilterTemplating-dbg.js +7 -8
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +5 -8
- package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +1 -6
- package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.ts +0 -5
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +13 -46
- package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +14 -43
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
- package/src/sap/fe/core/templating/UIFormatters.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +47 -32
- package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +1 -1
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -0
- package/src/sap/fe/core/type/FiscalDate-dbg.js +2 -2
- package/src/sap/fe/core/type/FiscalDate.js.map +1 -1
- package/src/sap/fe/core/type/FiscalDate.ts +2 -1
- package/src/sap/fe/core/type/TypeUtil-dbg.js +5 -10
- package/src/sap/fe/core/type/TypeUtil.js +1 -1
- package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
- package/src/sap/fe/core/type/TypeUtil.ts +3 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +0 -410
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +0 -15
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +0 -536
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +0 -44
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +0 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +0 -14
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +0 -948
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +0 -19
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +0 -711
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +0 -6
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +0 -863
- package/src/sap/fe/core/controls/ActionPartial.fragment.xml +0 -91
- package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +0 -151
- package/src/sap/fe/core/controls/ConditionalWrapper.js +0 -6
- package/src/sap/fe/core/controls/ConditionalWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +0 -88
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +0 -330
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +0 -6
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -292
- package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +0 -126
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +0 -6
- package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +0 -1
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +0 -105
- package/src/sap/fe/core/controls/FieldWrapper-dbg.js +0 -194
- package/src/sap/fe/core/controls/FieldWrapper.js +0 -6
- package/src/sap/fe/core/controls/FieldWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FieldWrapper.ts +0 -121
- package/src/sap/fe/core/controls/FileWrapper-dbg.js +0 -280
- package/src/sap/fe/core/controls/FileWrapper.js +0 -6
- package/src/sap/fe/core/controls/FileWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FileWrapper.ts +0 -202
- package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +0 -141
- package/src/sap/fe/core/helpers/SideEffectsHelper.js +0 -6
- package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/SideEffectsHelper.ts +0 -129
|
@@ -5,16 +5,14 @@ import type {
|
|
|
5
5
|
PathAnnotationExpression,
|
|
6
6
|
Property,
|
|
7
7
|
PropertyAnnotationValue,
|
|
8
|
-
PropertyPath
|
|
9
|
-
TypeDefinition
|
|
8
|
+
PropertyPath
|
|
10
9
|
} from "@sap-ux/vocabularies-types";
|
|
11
10
|
import type { FilterFunctions } from "@sap-ux/vocabularies-types/vocabularies/Capabilities";
|
|
12
|
-
import type { EntitySetAnnotations_Capabilities } from "@sap-ux/vocabularies-types/vocabularies/Capabilities_Edm";
|
|
13
11
|
import type { SemanticKey } from "@sap-ux/vocabularies-types/vocabularies/Common";
|
|
14
12
|
import { CommonAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/Common";
|
|
15
13
|
import type { EntitySetAnnotations_Common } from "@sap-ux/vocabularies-types/vocabularies/Common_Edm";
|
|
16
14
|
import type { EntitySetAnnotations_Session } from "@sap-ux/vocabularies-types/vocabularies/Session_Edm";
|
|
17
|
-
import {
|
|
15
|
+
import type {
|
|
18
16
|
CriticalityType,
|
|
19
17
|
DataField,
|
|
20
18
|
DataFieldAbstractTypes,
|
|
@@ -25,18 +23,17 @@ import {
|
|
|
25
23
|
DataFieldTypes,
|
|
26
24
|
DataPoint,
|
|
27
25
|
DataPointTypeTypes,
|
|
28
|
-
|
|
26
|
+
FieldGroup,
|
|
29
27
|
LineItem,
|
|
30
28
|
PresentationVariantType,
|
|
31
29
|
SelectionVariantType,
|
|
32
|
-
SelectOptionType
|
|
33
|
-
UIAnnotationTerms,
|
|
34
|
-
UIAnnotationTypes
|
|
30
|
+
SelectOptionType
|
|
35
31
|
} from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
32
|
+
import { UIAnnotationTerms, UIAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
33
|
+
import type { ComplexPropertyInfo } from "sap/fe/core/converters/annotations/DataField";
|
|
36
34
|
import {
|
|
37
35
|
collectRelatedProperties,
|
|
38
36
|
collectRelatedPropertiesRecursively,
|
|
39
|
-
ComplexPropertyInfo,
|
|
40
37
|
getDataFieldDataType,
|
|
41
38
|
getSemanticObjectPath,
|
|
42
39
|
getTargetValueOnDataPoint,
|
|
@@ -44,15 +41,12 @@ import {
|
|
|
44
41
|
isDataFieldTypes,
|
|
45
42
|
isDataPointFromDataFieldDefault
|
|
46
43
|
} from "sap/fe/core/converters/annotations/DataField";
|
|
44
|
+
import type { BaseAction, CombinedAction, CustomAction, OverrideTypeAction } from "sap/fe/core/converters/controls/Common/Action";
|
|
47
45
|
import {
|
|
48
|
-
BaseAction,
|
|
49
|
-
CombinedAction,
|
|
50
|
-
CustomAction,
|
|
51
46
|
dataFieldIsCopyAction,
|
|
52
47
|
getActionsFromManifest,
|
|
53
48
|
getCopyAction,
|
|
54
49
|
isActionNavigable,
|
|
55
|
-
OverrideTypeAction,
|
|
56
50
|
removeDuplicateActions
|
|
57
51
|
} from "sap/fe/core/converters/controls/Common/Action";
|
|
58
52
|
import { Entity, UI } from "sap/fe/core/converters/helpers/BindingHelper";
|
|
@@ -62,10 +56,9 @@ import { IssueCategory, IssueCategoryType, IssueSeverity, IssueType } from "sap/
|
|
|
62
56
|
import { KeyHelper } from "sap/fe/core/converters/helpers/Key";
|
|
63
57
|
import tableFormatters from "sap/fe/core/formatters/TableFormatter";
|
|
64
58
|
import { MessageType } from "sap/fe/core/formatters/TableFormatterTypes";
|
|
59
|
+
import type { BindingToolkitExpression, CompiledBindingToolkitExpression, PathInModelExpression } from "sap/fe/core/helpers/BindingToolkit";
|
|
65
60
|
import {
|
|
66
61
|
and,
|
|
67
|
-
BindingToolkitExpression,
|
|
68
|
-
CompiledBindingToolkitExpression,
|
|
69
62
|
compileExpression,
|
|
70
63
|
constant,
|
|
71
64
|
EDM_TYPE_MAPPING,
|
|
@@ -81,6 +74,14 @@ import {
|
|
|
81
74
|
} from "sap/fe/core/helpers/BindingToolkit";
|
|
82
75
|
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
83
76
|
import { generate, replaceSpecialChars } from "sap/fe/core/helpers/StableIdHelper";
|
|
77
|
+
import * as TypeGuards from "sap/fe/core/helpers/TypeGuards";
|
|
78
|
+
import {
|
|
79
|
+
isAnnotationOfType,
|
|
80
|
+
isNavigationProperty,
|
|
81
|
+
isPathAnnotationExpression,
|
|
82
|
+
isProperty,
|
|
83
|
+
isTypeDefinition
|
|
84
|
+
} from "sap/fe/core/helpers/TypeGuards";
|
|
84
85
|
import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
85
86
|
import {
|
|
86
87
|
enhanceDataModelPath,
|
|
@@ -94,13 +95,10 @@ import { getNonSortablePropertiesRestrictions } from "sap/fe/core/templating/Ent
|
|
|
94
95
|
import {
|
|
95
96
|
getAssociatedCurrencyProperty,
|
|
96
97
|
getAssociatedTimezoneProperty,
|
|
97
|
-
getAssociatedUnitProperty
|
|
98
|
-
isNavigationProperty,
|
|
99
|
-
isPathExpression,
|
|
100
|
-
isProperty
|
|
98
|
+
getAssociatedUnitProperty
|
|
101
99
|
} from "sap/fe/core/templating/PropertyHelper";
|
|
102
100
|
import { isMultiValueField } from "sap/fe/core/templating/UIFormatters";
|
|
103
|
-
import { DefaultTypeForEdmType } from "sap/fe/core/type/EDM";
|
|
101
|
+
import type { DefaultTypeForEdmType } from "sap/fe/core/type/EDM";
|
|
104
102
|
import ActionHelper from "sap/fe/macros/internal/helpers/ActionHelper";
|
|
105
103
|
import Core from "sap/ui/core/Core";
|
|
106
104
|
import type ConverterContext from "../../ConverterContext";
|
|
@@ -108,6 +106,7 @@ import { AggregationHelper } from "../../helpers/Aggregation";
|
|
|
108
106
|
import { isReferencePropertyStaticallyHidden } from "../../helpers/DataFieldHelper";
|
|
109
107
|
import { getTableID } from "../../helpers/ID";
|
|
110
108
|
import type {
|
|
109
|
+
AvailabilityType,
|
|
111
110
|
CustomDefinedTableColumn,
|
|
112
111
|
CustomDefinedTableColumnForOverride,
|
|
113
112
|
FormatOptionsType,
|
|
@@ -120,7 +119,6 @@ import type {
|
|
|
120
119
|
} from "../../ManifestSettings";
|
|
121
120
|
import {
|
|
122
121
|
ActionType,
|
|
123
|
-
AvailabilityType,
|
|
124
122
|
CreationMode,
|
|
125
123
|
HorizontalAlign,
|
|
126
124
|
Importance,
|
|
@@ -134,7 +132,6 @@ import { getMessageTypeFromCriticalityType } from "./Criticality";
|
|
|
134
132
|
import type { StandardActionConfigType } from "./table/StandardActions";
|
|
135
133
|
import {
|
|
136
134
|
generateStandardActionsContext,
|
|
137
|
-
getCreateVisibility,
|
|
138
135
|
getCreationRow,
|
|
139
136
|
getDeleteVisibility,
|
|
140
137
|
getInsertUpdateActionsTemplating,
|
|
@@ -148,6 +145,8 @@ import {
|
|
|
148
145
|
isInDisplayMode
|
|
149
146
|
} from "./table/StandardActions";
|
|
150
147
|
|
|
148
|
+
import { getEnabledForAnnotationAction } from "sap/fe/core/converters/controls/Common/Action";
|
|
149
|
+
|
|
151
150
|
export type TableAnnotationConfiguration = {
|
|
152
151
|
autoBindOnInit: boolean;
|
|
153
152
|
collection: string;
|
|
@@ -179,7 +178,7 @@ export type TableAnnotationConfiguration = {
|
|
|
179
178
|
|
|
180
179
|
/** Create new entries */
|
|
181
180
|
create: CreateBehavior | CreateBehaviorExternal;
|
|
182
|
-
title: string;
|
|
181
|
+
title: string | undefined;
|
|
183
182
|
searchable: boolean;
|
|
184
183
|
|
|
185
184
|
inlineCreationRowsHiddenInEditMode?: boolean;
|
|
@@ -188,7 +187,7 @@ export type TableAnnotationConfiguration = {
|
|
|
188
187
|
/**
|
|
189
188
|
* New entries are created within the app (default case)
|
|
190
189
|
*/
|
|
191
|
-
type CreateBehavior = {
|
|
190
|
+
export type CreateBehavior = {
|
|
192
191
|
mode: CreationMode;
|
|
193
192
|
append: boolean;
|
|
194
193
|
newAction?: string;
|
|
@@ -198,7 +197,7 @@ type CreateBehavior = {
|
|
|
198
197
|
/**
|
|
199
198
|
* New entries are created by navigating to some target
|
|
200
199
|
*/
|
|
201
|
-
type CreateBehaviorExternal = {
|
|
200
|
+
export type CreateBehaviorExternal = {
|
|
202
201
|
mode: "External";
|
|
203
202
|
outbound: string;
|
|
204
203
|
outboundDetail: NavigationTargetConfiguration["outboundDetail"];
|
|
@@ -235,8 +234,8 @@ export type TableControlConfiguration = {
|
|
|
235
234
|
headerVisible: boolean;
|
|
236
235
|
filters?: Record<string, TableFiltersConfiguration>;
|
|
237
236
|
type: TableType;
|
|
238
|
-
rowCountMode
|
|
239
|
-
rowCount
|
|
237
|
+
rowCountMode?: GridTableRowCountMode;
|
|
238
|
+
rowCount?: number;
|
|
240
239
|
selectAll?: boolean;
|
|
241
240
|
selectionLimit: number;
|
|
242
241
|
multiSelectMode: string | undefined;
|
|
@@ -307,7 +306,7 @@ export type AnnotationTableColumnForOverride = BaseTableColumn & {
|
|
|
307
306
|
formatOptions?: FormatOptionsType;
|
|
308
307
|
};
|
|
309
308
|
|
|
310
|
-
export type
|
|
309
|
+
export type PropertyTypeConstraints = Partial<{
|
|
311
310
|
scale: number;
|
|
312
311
|
precision: number;
|
|
313
312
|
maxLength: number;
|
|
@@ -317,22 +316,22 @@ export type configTypeConstraints = Partial<{
|
|
|
317
316
|
isDigitSequence: boolean;
|
|
318
317
|
}>;
|
|
319
318
|
|
|
320
|
-
export type
|
|
319
|
+
export type PropertyTypeFormatOptions = Partial<{
|
|
321
320
|
parseAsString: boolean;
|
|
322
321
|
emptyString: string;
|
|
323
322
|
parseKeepsEmptyString: boolean;
|
|
324
323
|
}>;
|
|
325
324
|
|
|
326
|
-
export type
|
|
325
|
+
export type PropertyTypeConfig = {
|
|
327
326
|
type?: string;
|
|
328
|
-
constraints:
|
|
329
|
-
formatOptions:
|
|
330
|
-
typeInstance?:
|
|
327
|
+
constraints: PropertyTypeConstraints;
|
|
328
|
+
formatOptions: PropertyTypeFormatOptions;
|
|
329
|
+
typeInstance?: unknown;
|
|
331
330
|
baseType?: string;
|
|
332
331
|
className?: keyof typeof DefaultTypeForEdmType;
|
|
333
332
|
};
|
|
334
333
|
|
|
335
|
-
export type
|
|
334
|
+
export type columnExportSettings = Partial<{
|
|
336
335
|
template: string;
|
|
337
336
|
label: string;
|
|
338
337
|
wrap: boolean;
|
|
@@ -368,14 +367,14 @@ export type AnnotationTableColumn = AnnotationTableColumnForOverride & {
|
|
|
368
367
|
timezone?: string;
|
|
369
368
|
semanticObjectPath?: string;
|
|
370
369
|
sortable: boolean;
|
|
371
|
-
exportSettings?:
|
|
370
|
+
exportSettings?: columnExportSettings | null;
|
|
372
371
|
textArrangement?: {
|
|
373
372
|
textProperty: string;
|
|
374
373
|
mode: DisplayMode;
|
|
375
374
|
};
|
|
376
375
|
additionalPropertyInfos?: string[];
|
|
377
376
|
visualSettings?: VisualSettings;
|
|
378
|
-
typeConfig?:
|
|
377
|
+
typeConfig?: PropertyTypeConfig;
|
|
379
378
|
isPartOfLineItem?: boolean; // temporary indicator to only allow filtering on navigation properties when they're part of a line item
|
|
380
379
|
additionalLabels?: string[];
|
|
381
380
|
exportDataPointTargetValue?: string;
|
|
@@ -430,7 +429,7 @@ export type TableVisualization = {
|
|
|
430
429
|
commandActions?: Record<string, CustomAction>;
|
|
431
430
|
aggregates?: Record<string, AggregateData>;
|
|
432
431
|
enableAnalytics?: boolean;
|
|
433
|
-
|
|
432
|
+
enableBasicSearch?: boolean;
|
|
434
433
|
operationAvailableMap: string;
|
|
435
434
|
operationAvailableProperties: string;
|
|
436
435
|
headerInfoTitle: string;
|
|
@@ -634,7 +633,7 @@ export function updateTableVisualizationForType(
|
|
|
634
633
|
_updatePropertyInfosWithAggregatesDefinitions(tableVisualization);
|
|
635
634
|
|
|
636
635
|
const allowedTransformations = aggregationHelper.getAllowedTransformations();
|
|
637
|
-
tableVisualization.
|
|
636
|
+
tableVisualization.enableBasicSearch = allowedTransformations ? allowedTransformations.indexOf("search") >= 0 : true;
|
|
638
637
|
|
|
639
638
|
// Add group and sort conditions from the presentation variant
|
|
640
639
|
tableVisualization.annotation.groupConditions = getGroupConditions(
|
|
@@ -656,6 +655,9 @@ export function updateTableVisualizationForType(
|
|
|
656
655
|
tableVisualization.control.type
|
|
657
656
|
);
|
|
658
657
|
} else if (tableVisualization.control.type === "TreeTable") {
|
|
658
|
+
const aggregationHelper = new AggregationHelper(entityType, converterContext);
|
|
659
|
+
const allowedTransformations = aggregationHelper.getAllowedTransformations();
|
|
660
|
+
tableVisualization.enableBasicSearch = allowedTransformations ? allowedTransformations.includes("search") : true;
|
|
659
661
|
tableVisualization.enable$$getKeepAliveContext = false;
|
|
660
662
|
}
|
|
661
663
|
}
|
|
@@ -726,7 +728,7 @@ export function updateLinkedProperties(entityType: EntityType, tableColumns: Tab
|
|
|
726
728
|
|
|
727
729
|
const displayMode = getDisplayMode(oProperty),
|
|
728
730
|
textAnnotation = oProperty.annotations.Common?.Text;
|
|
729
|
-
if (
|
|
731
|
+
if (isPathAnnotationExpression(textAnnotation) && displayMode !== "Value") {
|
|
730
732
|
const oTextColumn = findColumnByPath(textAnnotation.path);
|
|
731
733
|
if (oTextColumn && oTextColumn.name !== oTableColumn.name) {
|
|
732
734
|
oTableColumn.textArrangement = {
|
|
@@ -743,11 +745,11 @@ export function updateLinkedProperties(entityType: EntityType, tableColumns: Tab
|
|
|
743
745
|
function getSemanticKeysAndTitleInfo(converterContext: ConverterContext) {
|
|
744
746
|
const headerInfoTitlePath = (converterContext.getAnnotationEntityType()?.annotations?.UI?.HeaderInfo?.Title as DataFieldTypes)?.Value
|
|
745
747
|
?.path;
|
|
746
|
-
const semanticKeyAnnotations
|
|
748
|
+
const semanticKeyAnnotations = converterContext.getAnnotationEntityType()?.annotations?.Common?.SemanticKey;
|
|
747
749
|
const headerInfoTypeName = converterContext?.getAnnotationEntityType()?.annotations?.UI?.HeaderInfo?.TypeName;
|
|
748
750
|
const semanticKeyColumns: string[] = [];
|
|
749
751
|
if (semanticKeyAnnotations) {
|
|
750
|
-
semanticKeyAnnotations.forEach(function (oColumn
|
|
752
|
+
semanticKeyAnnotations.forEach(function (oColumn) {
|
|
751
753
|
semanticKeyColumns.push(oColumn.value);
|
|
752
754
|
});
|
|
753
755
|
}
|
|
@@ -845,7 +847,7 @@ export function createDefaultTableVisualization(converterContext: ConverterConte
|
|
|
845
847
|
* @param converterContext The instance of the converter context
|
|
846
848
|
* @returns The record containing all action names and their corresponding Core.OperationAvailable property paths
|
|
847
849
|
*/
|
|
848
|
-
function getOperationAvailableMap(lineItemAnnotation: LineItem | undefined, converterContext: ConverterContext): Record<string,
|
|
850
|
+
function getOperationAvailableMap(lineItemAnnotation: LineItem | undefined, converterContext: ConverterContext): Record<string, unknown> {
|
|
849
851
|
return ActionHelper.getOperationAvailableMap(lineItemAnnotation, "table", converterContext);
|
|
850
852
|
}
|
|
851
853
|
|
|
@@ -859,8 +861,9 @@ function getCurrentEntitySetUpdatablePath(converterContext: ConverterContext): s
|
|
|
859
861
|
const restrictions = getRestrictions(converterContext);
|
|
860
862
|
const entitySet = converterContext.getEntitySet();
|
|
861
863
|
const updatable = restrictions.isUpdatable;
|
|
862
|
-
const isOnlyDynamicOnCurrentEntity
|
|
863
|
-
const
|
|
864
|
+
const isOnlyDynamicOnCurrentEntity = !isConstant(updatable.expression) && updatable.navigationExpression._type === "Unresolvable";
|
|
865
|
+
const updatableExpression = entitySet?.annotations.Capabilities?.UpdateRestrictions?.Updatable;
|
|
866
|
+
const updatablePropertyPath = isPathAnnotationExpression(updatableExpression) && updatableExpression.path;
|
|
864
867
|
|
|
865
868
|
return isOnlyDynamicOnCurrentEntity ? (updatablePropertyPath as string) : "";
|
|
866
869
|
}
|
|
@@ -872,7 +875,7 @@ function getCurrentEntitySetUpdatablePath(converterContext: ConverterContext): s
|
|
|
872
875
|
* @param converterContext The instance of the converter context
|
|
873
876
|
* @returns The CSV string of all property paths associated with the Core.OperationAvailable annotation
|
|
874
877
|
*/
|
|
875
|
-
function getOperationAvailableProperties(operationAvailableMap: Record<string,
|
|
878
|
+
function getOperationAvailableProperties(operationAvailableMap: Record<string, unknown>, converterContext: ConverterContext): string {
|
|
876
879
|
const properties = new Set();
|
|
877
880
|
|
|
878
881
|
for (const actionName in operationAvailableMap) {
|
|
@@ -949,8 +952,8 @@ function getBindingExpFromContext(
|
|
|
949
952
|
source: DataFieldForAction | DataFieldForIntentBasedNavigation | CustomAction,
|
|
950
953
|
contextDataModelObjectPath: DataModelObjectPath,
|
|
951
954
|
isEntitySet: boolean
|
|
952
|
-
): BindingToolkitExpression<
|
|
953
|
-
let sExpression
|
|
955
|
+
): BindingToolkitExpression<unknown> {
|
|
956
|
+
let sExpression;
|
|
954
957
|
if (
|
|
955
958
|
(source as DataFieldForAction)?.$Type === UIAnnotationTypes.DataFieldForAction ||
|
|
956
959
|
(source as DataFieldForIntentBasedNavigation)?.$Type === UIAnnotationTypes.DataFieldForIntentBasedNavigation
|
|
@@ -960,10 +963,10 @@ function getBindingExpFromContext(
|
|
|
960
963
|
sExpression = (source as CustomAction)?.visible;
|
|
961
964
|
}
|
|
962
965
|
let sPath: string;
|
|
963
|
-
if (sExpression
|
|
966
|
+
if (isPathAnnotationExpression(sExpression)) {
|
|
964
967
|
sPath = sExpression.path;
|
|
965
968
|
} else {
|
|
966
|
-
sPath = sExpression;
|
|
969
|
+
sPath = sExpression as string;
|
|
967
970
|
}
|
|
968
971
|
if (sPath) {
|
|
969
972
|
if ((source as CustomAction)?.visible) {
|
|
@@ -974,7 +977,7 @@ function getBindingExpFromContext(
|
|
|
974
977
|
const aSplitPath = sPath.split("/");
|
|
975
978
|
const sNavigationPath = aSplitPath[0];
|
|
976
979
|
if (
|
|
977
|
-
contextDataModelObjectPath?.targetObject
|
|
980
|
+
isNavigationProperty(contextDataModelObjectPath?.targetObject) &&
|
|
978
981
|
contextDataModelObjectPath.targetObject.partner === sNavigationPath
|
|
979
982
|
) {
|
|
980
983
|
return pathInModel(aSplitPath.slice(1).join("/"));
|
|
@@ -1289,6 +1292,8 @@ function getTableAnnotationActions(lineItemAnnotation: LineItem, visualizationPa
|
|
|
1289
1292
|
}) as DataFieldForActionTypes[]
|
|
1290
1293
|
);
|
|
1291
1294
|
|
|
1295
|
+
const sEntityType = converterContext.getEntityType().fullyQualifiedName;
|
|
1296
|
+
|
|
1292
1297
|
if (copyDataField) {
|
|
1293
1298
|
tableActions.push({
|
|
1294
1299
|
type: ActionType.Copy,
|
|
@@ -1330,7 +1335,26 @@ function getTableAnnotationActions(lineItemAnnotation: LineItem, visualizationPa
|
|
|
1330
1335
|
) {
|
|
1331
1336
|
switch (dataField.$Type) {
|
|
1332
1337
|
case UIAnnotationTypes.DataFieldForAction:
|
|
1333
|
-
|
|
1338
|
+
// There are three cases when a table action has an OperationAvailable that leads to an enablement expression
|
|
1339
|
+
// and is not dependent upon the table entries.
|
|
1340
|
+
// 1. An action with an overload, that is executed against a parent entity.
|
|
1341
|
+
// 2. An unbound action
|
|
1342
|
+
// 3. A static action (that is, bound to a collection)
|
|
1343
|
+
let useEnabledExpression = false;
|
|
1344
|
+
if (dataField.ActionTarget?.annotations?.Core?.OperationAvailable !== undefined) {
|
|
1345
|
+
if (!dataField.ActionTarget?.isBound) {
|
|
1346
|
+
// Unbound action. Is recognised, but getExpressionFromAnnotation checks for isBound = true, so not generated.
|
|
1347
|
+
useEnabledExpression = true;
|
|
1348
|
+
} else if (dataField.ActionTarget?.isBound && dataField.ActionTarget?.sourceType !== sEntityType) {
|
|
1349
|
+
// Overload action
|
|
1350
|
+
useEnabledExpression = true;
|
|
1351
|
+
} else if (dataField.ActionTarget?.parameters[0].isCollection) {
|
|
1352
|
+
// Static action
|
|
1353
|
+
useEnabledExpression = true;
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
const tableAction: BaseAction = {
|
|
1334
1358
|
type: ActionType.DataFieldForAction,
|
|
1335
1359
|
annotationPath: converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName),
|
|
1336
1360
|
key: KeyHelper.generateKeyFromDataField(dataField),
|
|
@@ -1348,7 +1372,12 @@ function getTableAnnotationActions(lineItemAnnotation: LineItem, visualizationPa
|
|
|
1348
1372
|
)
|
|
1349
1373
|
),
|
|
1350
1374
|
isNavigable: true
|
|
1351
|
-
}
|
|
1375
|
+
};
|
|
1376
|
+
|
|
1377
|
+
if (useEnabledExpression) {
|
|
1378
|
+
tableAction.enabled = getEnabledForAnnotationAction(converterContext, dataField.ActionTarget);
|
|
1379
|
+
}
|
|
1380
|
+
tableActions.push(tableAction);
|
|
1352
1381
|
break;
|
|
1353
1382
|
|
|
1354
1383
|
case UIAnnotationTypes.DataFieldForIntentBasedNavigation:
|
|
@@ -1383,9 +1412,18 @@ function getTableAnnotationActions(lineItemAnnotation: LineItem, visualizationPa
|
|
|
1383
1412
|
};
|
|
1384
1413
|
}
|
|
1385
1414
|
|
|
1415
|
+
/**
|
|
1416
|
+
* Generate the bindingExpression for the highlight rowSetting parameter.
|
|
1417
|
+
*
|
|
1418
|
+
* @param criticalityAnnotation Path or value of the criticality
|
|
1419
|
+
* @param isDraftRootOrNode Is the current entitySet an Draft root or a node
|
|
1420
|
+
* @param targetEntityType The targeted entityType
|
|
1421
|
+
* @returns An expressionBinding
|
|
1422
|
+
* @private
|
|
1423
|
+
*/
|
|
1386
1424
|
function getHighlightRowBinding(
|
|
1387
1425
|
criticalityAnnotation: PathAnnotationExpression<CriticalityType> | EnumValue<CriticalityType> | undefined,
|
|
1388
|
-
|
|
1426
|
+
isDraftRootOrNode: boolean,
|
|
1389
1427
|
targetEntityType?: EntityType
|
|
1390
1428
|
): BindingToolkitExpression<MessageType> {
|
|
1391
1429
|
let defaultHighlightRowDefinition: MessageType | BindingToolkitExpression<MessageType> = MessageType.None;
|
|
@@ -1398,8 +1436,8 @@ function getHighlightRowBinding(
|
|
|
1398
1436
|
}
|
|
1399
1437
|
}
|
|
1400
1438
|
|
|
1401
|
-
const aMissingKeys:
|
|
1402
|
-
targetEntityType?.keys.forEach((key
|
|
1439
|
+
const aMissingKeys: PathInModelExpression<string>[] = [];
|
|
1440
|
+
targetEntityType?.keys.forEach((key) => {
|
|
1403
1441
|
if (key.name !== "IsActiveEntity") {
|
|
1404
1442
|
aMissingKeys.push(pathInModel(key.name, undefined));
|
|
1405
1443
|
}
|
|
@@ -1409,9 +1447,9 @@ function getHighlightRowBinding(
|
|
|
1409
1447
|
[
|
|
1410
1448
|
defaultHighlightRowDefinition,
|
|
1411
1449
|
pathInModel(`filteredMessages`, "internal"),
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
`${
|
|
1450
|
+
isDraftRootOrNode && Entity.HasActive,
|
|
1451
|
+
isDraftRootOrNode && Entity.IsActive,
|
|
1452
|
+
`${isDraftRootOrNode}`,
|
|
1415
1453
|
...aMissingKeys
|
|
1416
1454
|
],
|
|
1417
1455
|
tableFormatters.rowHighlighting,
|
|
@@ -1496,12 +1534,12 @@ const _getRowConfigurationProperty = function (
|
|
|
1496
1534
|
} else if (targetEntityType) {
|
|
1497
1535
|
const targetEntitySet = converterContext.getEntitySet();
|
|
1498
1536
|
navigationTarget = navigationSettings.detail?.route;
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1537
|
+
criticalityProperty = getHighlightRowBinding(
|
|
1538
|
+
lineItemAnnotation.annotations?.UI?.Criticality,
|
|
1539
|
+
!!ModelHelper.getDraftRoot(targetEntitySet) || !!ModelHelper.getDraftNode(targetEntitySet),
|
|
1540
|
+
targetEntityType
|
|
1541
|
+
);
|
|
1542
|
+
if (navigationTarget && TypeGuards.isEntitySet(targetEntitySet)) {
|
|
1505
1543
|
pressProperty =
|
|
1506
1544
|
"API.onTableRowPress($event, $controller, ${$parameters>bindingContext}, { callExtension: true, targetPath: '" +
|
|
1507
1545
|
targetPath +
|
|
@@ -1511,8 +1549,6 @@ const _getRowConfigurationProperty = function (
|
|
|
1511
1549
|
: "undefined") +
|
|
1512
1550
|
(tableType === "AnalyticalTable" || tableType === "TreeTable" ? ", bRecreateContext: true" : "") +
|
|
1513
1551
|
"})"; //Need to access to DraftRoot and DraftNode !!!!!!!
|
|
1514
|
-
} else {
|
|
1515
|
-
criticalityProperty = getHighlightRowBinding(lineItemAnnotation.annotations?.UI?.Criticality, false, targetEntityType);
|
|
1516
1552
|
}
|
|
1517
1553
|
}
|
|
1518
1554
|
}
|
|
@@ -1719,7 +1755,7 @@ const getColumnDefinitionFromProperty = function (
|
|
|
1719
1755
|
formatOptions: propertyTypeConfig.formatOptions,
|
|
1720
1756
|
constraints: propertyTypeConfig.constraints
|
|
1721
1757
|
};
|
|
1722
|
-
let exportSettings:
|
|
1758
|
+
let exportSettings: columnExportSettings | null = null;
|
|
1723
1759
|
if (_isExportableColumn(property)) {
|
|
1724
1760
|
const unitProperty = getAssociatedCurrencyProperty(property) || getAssociatedUnitProperty(property);
|
|
1725
1761
|
const timezoneProperty = getAssociatedTimezoneProperty(property);
|
|
@@ -1757,7 +1793,7 @@ const getColumnDefinitionFromProperty = function (
|
|
|
1757
1793
|
group: isGroup ? groupPath : undefined,
|
|
1758
1794
|
annotationPath: fullPropertyPath,
|
|
1759
1795
|
semanticObjectPath: semanticObjectAnnotationPath,
|
|
1760
|
-
availability: !availableForAdaptation || isHidden ?
|
|
1796
|
+
availability: !availableForAdaptation || isHidden ? "Hidden" : "Adaptation",
|
|
1761
1797
|
name: name,
|
|
1762
1798
|
relativePath: relativePath,
|
|
1763
1799
|
sortable: sortable,
|
|
@@ -1765,8 +1801,8 @@ const getColumnDefinitionFromProperty = function (
|
|
|
1765
1801
|
isKey: property.isKey,
|
|
1766
1802
|
exportSettings: exportSettings,
|
|
1767
1803
|
caseSensitive: isFilteringCaseSensitive(converterContext),
|
|
1768
|
-
typeConfig: typeConfig as
|
|
1769
|
-
importance: getImportance(
|
|
1804
|
+
typeConfig: typeConfig as PropertyTypeConfig,
|
|
1805
|
+
importance: getImportance(property.annotations?.UI?.DataFieldDefault, semanticKeys),
|
|
1770
1806
|
additionalLabels: collectedNavigationPropertyLabels
|
|
1771
1807
|
};
|
|
1772
1808
|
const sTooltip = _getTooltip(property);
|
|
@@ -1853,14 +1889,9 @@ const _isValidColumn = function (dataField: DataFieldAbstractTypes) {
|
|
|
1853
1889
|
* SAP Fiori elements will evaluate either the UI.Hidden annotation defined on the annotation itself or on the target property.
|
|
1854
1890
|
*
|
|
1855
1891
|
* @param dataFieldModelPath The metapath referring to the annotation that is evaluated by SAP Fiori elements.
|
|
1856
|
-
* @param [formatOptions] FormatOptions optional.
|
|
1857
|
-
* @param formatOptions.isAnalytics This flag is used to check if the analytic table has GroupHeader expanded.
|
|
1858
1892
|
* @returns An expression that you can bind to the UI.
|
|
1859
1893
|
*/
|
|
1860
|
-
export const _getVisibleExpression = function (
|
|
1861
|
-
dataFieldModelPath: DataModelObjectPath,
|
|
1862
|
-
formatOptions?: any
|
|
1863
|
-
): BindingToolkitExpression<any> {
|
|
1894
|
+
export const _getVisibleExpression = function (dataFieldModelPath: DataModelObjectPath): BindingToolkitExpression<boolean> {
|
|
1864
1895
|
const targetObject: DataFieldAbstractTypes | DataPointTypeTypes = dataFieldModelPath.targetObject;
|
|
1865
1896
|
let propertyValue;
|
|
1866
1897
|
if (targetObject) {
|
|
@@ -1885,8 +1916,9 @@ export const _getVisibleExpression = function (
|
|
|
1885
1916
|
propertyValue = undefined;
|
|
1886
1917
|
}
|
|
1887
1918
|
}
|
|
1888
|
-
|
|
1889
|
-
const
|
|
1919
|
+
// FIXME Prove me wrong that this is useless
|
|
1920
|
+
const isAnalyticalGroupHeaderExpanded = /*formatOptions?.isAnalytics ? UI.IsExpanded :*/ constant(false);
|
|
1921
|
+
const isAnalyticalLeaf = /*formatOptions?.isAnalytics ? equal(UI.NodeLevel, 0) :*/ constant(false);
|
|
1890
1922
|
|
|
1891
1923
|
// A data field is visible if:
|
|
1892
1924
|
// - the UI.Hidden expression in the original annotation does not evaluate to 'true'
|
|
@@ -1909,15 +1941,11 @@ export const _getVisibleExpression = function (
|
|
|
1909
1941
|
* Returns hidden binding expressions for a field group.
|
|
1910
1942
|
*
|
|
1911
1943
|
* @param dataFieldGroup DataField defined in the annotations
|
|
1912
|
-
* @param fieldFormatOptions FormatOptions optional.
|
|
1913
1944
|
* @returns Compile binding of field group expressions.
|
|
1914
1945
|
* @private
|
|
1915
1946
|
*/
|
|
1916
|
-
const _getFieldGroupHiddenExpressions = function (
|
|
1917
|
-
|
|
1918
|
-
fieldFormatOptions: any
|
|
1919
|
-
): CompiledBindingToolkitExpression | undefined {
|
|
1920
|
-
const fieldGroupHiddenExpressions: BindingToolkitExpression<any>[] = [];
|
|
1947
|
+
const _getFieldGroupHiddenExpressions = function (dataFieldGroup: DataFieldAbstractTypes): CompiledBindingToolkitExpression | undefined {
|
|
1948
|
+
const fieldGroupHiddenExpressions: BindingToolkitExpression<boolean>[] = [];
|
|
1921
1949
|
if (
|
|
1922
1950
|
dataFieldGroup.$Type === UIAnnotationTypes.DataFieldForAnnotation &&
|
|
1923
1951
|
dataFieldGroup.Target?.$target?.$Type === UIAnnotationTypes.FieldGroupType
|
|
@@ -1926,9 +1954,7 @@ const _getFieldGroupHiddenExpressions = function (
|
|
|
1926
1954
|
return compileExpression(not(equal(getExpressionFromAnnotation(dataFieldGroup.annotations.UI.Hidden), true)));
|
|
1927
1955
|
} else {
|
|
1928
1956
|
dataFieldGroup.Target.$target.Data?.forEach((innerDataField: DataFieldAbstractTypes | DataPointTypeTypes) => {
|
|
1929
|
-
fieldGroupHiddenExpressions.push(
|
|
1930
|
-
_getVisibleExpression({ targetObject: innerDataField } as DataModelObjectPath, fieldFormatOptions)
|
|
1931
|
-
);
|
|
1957
|
+
fieldGroupHiddenExpressions.push(_getVisibleExpression({ targetObject: innerDataField } as DataModelObjectPath));
|
|
1932
1958
|
});
|
|
1933
1959
|
return compileExpression(ifElse(or(...fieldGroupHiddenExpressions), constant(true), constant(false)));
|
|
1934
1960
|
}
|
|
@@ -2041,19 +2067,21 @@ const _createRelatedColumns = function (
|
|
|
2041
2067
|
if (relatedColumn === undefined) {
|
|
2042
2068
|
// Case 1: Key contains DataField prefix to ensure all property columns have the same key format.
|
|
2043
2069
|
// New created property column is set to hidden.
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2070
|
+
const column = getColumnDefinitionFromProperty(
|
|
2071
|
+
property,
|
|
2072
|
+
annotationPath,
|
|
2073
|
+
name,
|
|
2074
|
+
true,
|
|
2075
|
+
false,
|
|
2076
|
+
nonSortableColumns,
|
|
2077
|
+
aggregationHelper,
|
|
2078
|
+
converterContext,
|
|
2079
|
+
textOnlyColumnsFromTextAnnotation
|
|
2080
|
+
);
|
|
2081
|
+
column.isPartOfLineItem = existingColumns.some(
|
|
2082
|
+
(existingColumn) => existingColumn.propertyInfos?.includes(name) && existingColumn.isPartOfLineItem
|
|
2056
2083
|
);
|
|
2084
|
+
relatedColumns.push(column);
|
|
2057
2085
|
} else if (relatedColumn.annotationPath !== annotationPath || relatedColumn.propertyInfos) {
|
|
2058
2086
|
// Case 2: The existing column points to a LineItem (or)
|
|
2059
2087
|
// Case 3: This is a self reference from an existing column
|
|
@@ -2144,7 +2172,7 @@ const createTechnicalProperty = function (name: string, columns: TableColumn[],
|
|
|
2144
2172
|
type: ColumnType.Annotation,
|
|
2145
2173
|
label: additionalProperty.label,
|
|
2146
2174
|
annotationPath: additionalProperty.annotationPath,
|
|
2147
|
-
availability:
|
|
2175
|
+
availability: "Hidden",
|
|
2148
2176
|
name: key,
|
|
2149
2177
|
relativePath: additionalProperty.relativePath,
|
|
2150
2178
|
sortable: false,
|
|
@@ -2190,7 +2218,7 @@ const _getShowDataFieldsLabel = function (fieldGroupName: string, visualizationP
|
|
|
2190
2218
|
* @returns The relative path
|
|
2191
2219
|
*/
|
|
2192
2220
|
const _getRelativePath = function (dataField: DataFieldAbstractTypes): string {
|
|
2193
|
-
let relativePath
|
|
2221
|
+
let relativePath = "";
|
|
2194
2222
|
|
|
2195
2223
|
switch (dataField.$Type) {
|
|
2196
2224
|
case UIAnnotationTypes.DataField:
|
|
@@ -2233,7 +2261,7 @@ const _sliceAtSlash = function (path: string, isLastSlash: boolean, isLastPart:
|
|
|
2233
2261
|
* @returns True if the DataField corresponds to a multi-value field.
|
|
2234
2262
|
*/
|
|
2235
2263
|
const _isColumnMultiValued = function (dataField: DataFieldAbstractTypes, converterContext: ConverterContext): boolean {
|
|
2236
|
-
if (isDataFieldTypes(dataField) &&
|
|
2264
|
+
if (isDataFieldTypes(dataField) && isPathAnnotationExpression(dataField.Value)) {
|
|
2237
2265
|
const propertyObjectPath = enhanceDataModelPath(converterContext.getDataModelObjectPath(), dataField.Value.path);
|
|
2238
2266
|
return isMultiValueField(propertyObjectPath);
|
|
2239
2267
|
} else {
|
|
@@ -2271,11 +2299,14 @@ export const isFilteringCaseSensitive = function (converterContext: ConverterCon
|
|
|
2271
2299
|
};
|
|
2272
2300
|
|
|
2273
2301
|
function _getFilterFunctions(ConverterContext: ConverterContext): FilterFunctions | undefined {
|
|
2274
|
-
|
|
2275
|
-
|
|
2302
|
+
const entitySet = ConverterContext.getEntitySet();
|
|
2303
|
+
if (TypeGuards.isEntitySet(entitySet)) {
|
|
2304
|
+
return (
|
|
2305
|
+
entitySet.annotations.Capabilities?.FilterFunctions ??
|
|
2306
|
+
ConverterContext.getEntityContainer().annotations.Capabilities?.FilterFunctions
|
|
2307
|
+
);
|
|
2276
2308
|
}
|
|
2277
|
-
|
|
2278
|
-
return capabilities?.FilterFunctions || ConverterContext.getEntityContainer()?.annotations?.Capabilities?.FilterFunctions;
|
|
2309
|
+
return undefined;
|
|
2279
2310
|
}
|
|
2280
2311
|
|
|
2281
2312
|
/**
|
|
@@ -2293,7 +2324,7 @@ function _getDefaultFormatOptionsForTable(formatOptions: FormatOptionsType | und
|
|
|
2293
2324
|
};
|
|
2294
2325
|
}
|
|
2295
2326
|
|
|
2296
|
-
function _findSemanticKeyValues(semanticKeys:
|
|
2327
|
+
function _findSemanticKeyValues(semanticKeys: SemanticKey, name: string) {
|
|
2297
2328
|
const aSemanticKeyValues: string[] = [];
|
|
2298
2329
|
let bSemanticKeyFound = false;
|
|
2299
2330
|
for (let i = 0; i < semanticKeys.length; i++) {
|
|
@@ -2308,7 +2339,7 @@ function _findSemanticKeyValues(semanticKeys: any[], name: string): any {
|
|
|
2308
2339
|
};
|
|
2309
2340
|
}
|
|
2310
2341
|
|
|
2311
|
-
function _findProperties(semanticKeyValues:
|
|
2342
|
+
function _findProperties(semanticKeyValues: string[], fieldGroupProperties: string[]) {
|
|
2312
2343
|
let semanticKeyHasPropertyInFieldGroup = false;
|
|
2313
2344
|
let sPropertyPath;
|
|
2314
2345
|
if (semanticKeyValues && semanticKeyValues.length >= 1 && fieldGroupProperties && fieldGroupProperties.length >= 1) {
|
|
@@ -2326,9 +2357,9 @@ function _findProperties(semanticKeyValues: any[], fieldGroupProperties: any[])
|
|
|
2326
2357
|
};
|
|
2327
2358
|
}
|
|
2328
2359
|
|
|
2329
|
-
function _findSemanticKeyValuesInFieldGroup(dataFieldGroup: DataFieldAbstractTypes | null, semanticKeyValues: [])
|
|
2330
|
-
const aProperties:
|
|
2331
|
-
let _propertiesFound: { semanticKeyHasPropertyInFieldGroup: boolean; fieldGroupPropertyPath
|
|
2360
|
+
function _findSemanticKeyValuesInFieldGroup(dataFieldGroup: DataFieldAbstractTypes | null, semanticKeyValues: string[]) {
|
|
2361
|
+
const aProperties: string[] = [];
|
|
2362
|
+
let _propertiesFound: { semanticKeyHasPropertyInFieldGroup: boolean; fieldGroupPropertyPath?: string } = {
|
|
2332
2363
|
semanticKeyHasPropertyInFieldGroup: false,
|
|
2333
2364
|
fieldGroupPropertyPath: undefined
|
|
2334
2365
|
};
|
|
@@ -2364,7 +2395,7 @@ function _findSemanticKeyValuesInFieldGroup(dataFieldGroup: DataFieldAbstractTyp
|
|
|
2364
2395
|
*/
|
|
2365
2396
|
function getDefaultDraftIndicatorForColumn(
|
|
2366
2397
|
name: string,
|
|
2367
|
-
semanticKeys:
|
|
2398
|
+
semanticKeys: SemanticKey,
|
|
2368
2399
|
isFieldGroupColumn: boolean,
|
|
2369
2400
|
dataFieldGroup: DataFieldAbstractTypes | null
|
|
2370
2401
|
) {
|
|
@@ -2374,14 +2405,14 @@ function getDefaultDraftIndicatorForColumn(
|
|
|
2374
2405
|
const semanticKey = _findSemanticKeyValues(semanticKeys, name);
|
|
2375
2406
|
const semanticKeyInFieldGroup = _findSemanticKeyValuesInFieldGroup(dataFieldGroup, semanticKey.values);
|
|
2376
2407
|
if (semanticKey.semanticKeyFound) {
|
|
2377
|
-
const formatOptionsObj:
|
|
2408
|
+
const formatOptionsObj: FormatOptionsType = {
|
|
2378
2409
|
hasDraftIndicator: true,
|
|
2379
2410
|
semantickeys: semanticKey.values,
|
|
2380
|
-
|
|
2411
|
+
showErrorObjectStatus: compileExpression(getRowStatusVisibility(name, false))
|
|
2381
2412
|
};
|
|
2382
2413
|
if (isFieldGroupColumn && semanticKeyInFieldGroup.semanticKeyHasPropertyInFieldGroup) {
|
|
2383
|
-
formatOptionsObj
|
|
2384
|
-
formatOptionsObj
|
|
2414
|
+
formatOptionsObj.showErrorObjectStatus = compileExpression(getRowStatusVisibility(name, true));
|
|
2415
|
+
formatOptionsObj.fieldGroupDraftIndicatorPropertyPath = semanticKeyInFieldGroup.propertyPath;
|
|
2385
2416
|
}
|
|
2386
2417
|
return formatOptionsObj;
|
|
2387
2418
|
} else if (!semanticKeyInFieldGroup.semanticKeyHasPropertyInFieldGroup) {
|
|
@@ -2391,7 +2422,7 @@ function getDefaultDraftIndicatorForColumn(
|
|
|
2391
2422
|
return {
|
|
2392
2423
|
fieldGroupDraftIndicatorPropertyPath: semanticKeyInFieldGroup.propertyPath,
|
|
2393
2424
|
fieldGroupName: name,
|
|
2394
|
-
|
|
2425
|
+
showErrorObjectStatus: compileExpression(getRowStatusVisibility(name, true))
|
|
2395
2426
|
};
|
|
2396
2427
|
}
|
|
2397
2428
|
}
|
|
@@ -2440,9 +2471,10 @@ function _getMaxImportance(fields: DataFieldTypes[]): Importance {
|
|
|
2440
2471
|
* @param semanticKeys
|
|
2441
2472
|
* @returns The importance value
|
|
2442
2473
|
*/
|
|
2443
|
-
export function getImportance(dataField: DataFieldAbstractTypes, semanticKeys: SemanticKey): Importance | undefined {
|
|
2474
|
+
export function getImportance(dataField: DataFieldAbstractTypes | undefined, semanticKeys: SemanticKey): Importance | undefined {
|
|
2444
2475
|
//Evaluate default Importance is not set explicitly
|
|
2445
|
-
let fieldsWithImportance,
|
|
2476
|
+
let fieldsWithImportance,
|
|
2477
|
+
mapSemanticKeys: string[] = [];
|
|
2446
2478
|
//Check if semanticKeys are defined at the EntitySet level
|
|
2447
2479
|
if (semanticKeys && semanticKeys.length > 0) {
|
|
2448
2480
|
mapSemanticKeys = semanticKeys.map(function (key) {
|
|
@@ -2452,39 +2484,42 @@ export function getImportance(dataField: DataFieldAbstractTypes, semanticKeys: S
|
|
|
2452
2484
|
if (!dataField) {
|
|
2453
2485
|
return undefined;
|
|
2454
2486
|
}
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2487
|
+
|
|
2488
|
+
if (isAnnotationOfType<DataFieldForAnnotation>(dataField, UIAnnotationTypes.DataFieldForAnnotation)) {
|
|
2489
|
+
const dataFieldTarget = dataField.Target.$target;
|
|
2490
|
+
if (isAnnotationOfType<FieldGroup>(dataFieldTarget, UIAnnotationTypes.FieldGroupType)) {
|
|
2491
|
+
const fieldGroupData = dataFieldTarget.Data;
|
|
2492
|
+
const fieldGroupHasSemanticKey =
|
|
2458
2493
|
fieldGroupData &&
|
|
2459
|
-
|
|
2494
|
+
fieldGroupData.some(function (fieldGroupDataField: DataFieldAbstractTypes) {
|
|
2460
2495
|
return (
|
|
2461
2496
|
(fieldGroupDataField as unknown as DataFieldTypes)?.Value?.path &&
|
|
2462
2497
|
fieldGroupDataField.$Type !== UIAnnotationTypes.DataFieldForAnnotation &&
|
|
2463
|
-
mapSemanticKeys &&
|
|
2464
2498
|
mapSemanticKeys.includes((fieldGroupDataField as unknown as DataFieldTypes)?.Value?.path)
|
|
2465
2499
|
);
|
|
2466
2500
|
});
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2501
|
+
//If a FieldGroup contains a semanticKey, importance set to High
|
|
2502
|
+
if (fieldGroupHasSemanticKey) {
|
|
2503
|
+
return Importance.High;
|
|
2504
|
+
} else {
|
|
2505
|
+
//If the DataFieldForAnnotation has an Importance we take it
|
|
2506
|
+
if (dataField?.annotations?.UI?.Importance) {
|
|
2507
|
+
return _getDataFieldImportance(dataField as unknown as DataFieldTypes);
|
|
2508
|
+
}
|
|
2509
|
+
// else the highest importance (if any) is returned
|
|
2510
|
+
fieldsWithImportance =
|
|
2511
|
+
fieldGroupData &&
|
|
2512
|
+
fieldGroupData.filter(function (item) {
|
|
2513
|
+
return item?.annotations?.UI?.Importance;
|
|
2514
|
+
});
|
|
2515
|
+
return _getMaxImportance(fieldsWithImportance as DataFieldTypes[]);
|
|
2474
2516
|
}
|
|
2475
|
-
//
|
|
2476
|
-
fieldsWithImportance =
|
|
2477
|
-
fieldGroupData &&
|
|
2478
|
-
(fieldGroupData as any).filter(function (item: DataFieldTypes) {
|
|
2479
|
-
return item?.annotations?.UI?.Importance;
|
|
2480
|
-
});
|
|
2481
|
-
return _getMaxImportance(fieldsWithImportance as DataFieldTypes[]);
|
|
2517
|
+
//If the current field is a semanticKey, importance set to High
|
|
2482
2518
|
}
|
|
2483
|
-
//If the current field is a semanticKey, importance set to High
|
|
2484
2519
|
}
|
|
2520
|
+
|
|
2485
2521
|
return (dataField as DataFieldTypes).Value &&
|
|
2486
2522
|
(dataField as DataFieldTypes)?.Value?.path &&
|
|
2487
|
-
mapSemanticKeys &&
|
|
2488
2523
|
mapSemanticKeys.includes((dataField as DataFieldTypes).Value.path)
|
|
2489
2524
|
? Importance.High
|
|
2490
2525
|
: _getDataFieldImportance(dataField as unknown as DataFieldTypes);
|
|
@@ -2522,7 +2557,7 @@ const getColumnsFromAnnotations = function (
|
|
|
2522
2557
|
if (!_isValidColumn(lineItem)) {
|
|
2523
2558
|
return;
|
|
2524
2559
|
}
|
|
2525
|
-
let exportSettings:
|
|
2560
|
+
let exportSettings: columnExportSettings | null = null;
|
|
2526
2561
|
const semanticObjectAnnotationPath =
|
|
2527
2562
|
isDataFieldTypes(lineItem) && lineItem.Value?.$target?.fullyQualifiedName
|
|
2528
2563
|
? getSemanticObjectPath(converterContext, lineItem)
|
|
@@ -2551,7 +2586,7 @@ const getColumnsFromAnnotations = function (
|
|
|
2551
2586
|
lineItem.$Type === UIAnnotationTypes.DataFieldForAnnotation &&
|
|
2552
2587
|
lineItem.Target?.$target?.$Type === UIAnnotationTypes.FieldGroupType
|
|
2553
2588
|
) {
|
|
2554
|
-
fieldGroupHiddenExpressions = _getFieldGroupHiddenExpressions(lineItem
|
|
2589
|
+
fieldGroupHiddenExpressions = _getFieldGroupHiddenExpressions(lineItem);
|
|
2555
2590
|
}
|
|
2556
2591
|
if (_isExportableColumn(lineItem)) {
|
|
2557
2592
|
//exclude the types listed above for the Export (generates error on Export as PDF)
|
|
@@ -2576,14 +2611,17 @@ const getColumnsFromAnnotations = function (
|
|
|
2576
2611
|
}
|
|
2577
2612
|
}
|
|
2578
2613
|
|
|
2579
|
-
|
|
2580
|
-
|
|
2614
|
+
let propertyTypeConfig: PropertyTypeConfig | undefined;
|
|
2615
|
+
if (dataType) {
|
|
2616
|
+
propertyTypeConfig = getTypeConfig(lineItem, dataType);
|
|
2617
|
+
}
|
|
2618
|
+
const typeConfig: PropertyTypeConfig = {
|
|
2581
2619
|
className: dataType as keyof typeof DefaultTypeForEdmType,
|
|
2582
2620
|
formatOptions: {
|
|
2583
2621
|
...formatOptions,
|
|
2584
2622
|
...propertyTypeConfig?.formatOptions
|
|
2585
2623
|
},
|
|
2586
|
-
constraints: propertyTypeConfig?.constraints
|
|
2624
|
+
constraints: { ...propertyTypeConfig?.constraints }
|
|
2587
2625
|
};
|
|
2588
2626
|
const visualSettings: VisualSettings = {};
|
|
2589
2627
|
if (!dataType || !typeConfig) {
|
|
@@ -2601,7 +2639,7 @@ const getColumnsFromAnnotations = function (
|
|
|
2601
2639
|
FieldGroupHiddenExpressions: fieldGroupHiddenExpressions,
|
|
2602
2640
|
annotationPath: converterContext.getEntitySetBasedAnnotationPath(lineItem.fullyQualifiedName),
|
|
2603
2641
|
semanticObjectPath: semanticObjectAnnotationPath,
|
|
2604
|
-
availability: isReferencePropertyStaticallyHidden(lineItem) ?
|
|
2642
|
+
availability: isReferencePropertyStaticallyHidden(lineItem) ? "Hidden" : "Default",
|
|
2605
2643
|
name: name,
|
|
2606
2644
|
showDataFieldsLabel: showDataFieldsLabel,
|
|
2607
2645
|
relativePath: relativePath,
|
|
@@ -2742,11 +2780,11 @@ const getColumnsFromManifest = function (
|
|
|
2742
2780
|
return annotationColumns.some((annotationColumn) => annotationColumn.key === key);
|
|
2743
2781
|
}
|
|
2744
2782
|
|
|
2745
|
-
function isSlotColumn(manifestColumn:
|
|
2783
|
+
function isSlotColumn(manifestColumn: CustomDefinedTableColumn): manifestColumn is FragmentDefinedSlotColumn {
|
|
2746
2784
|
return manifestColumn.type === ColumnType.Slot;
|
|
2747
2785
|
}
|
|
2748
2786
|
|
|
2749
|
-
function isCustomColumn(manifestColumn:
|
|
2787
|
+
function isCustomColumn(manifestColumn: CustomDefinedTableColumn): manifestColumn is ManifestDefinedCustomColumn {
|
|
2750
2788
|
return manifestColumn.type === undefined && !!manifestColumn.template;
|
|
2751
2789
|
}
|
|
2752
2790
|
|
|
@@ -2803,7 +2841,7 @@ const getColumnsFromManifest = function (
|
|
|
2803
2841
|
header: manifestColumn.header,
|
|
2804
2842
|
importance: manifestColumn?.importance || Importance.None,
|
|
2805
2843
|
horizontalAlign: manifestColumn?.horizontalAlign || HorizontalAlign.Begin,
|
|
2806
|
-
availability: manifestColumn?.availability ||
|
|
2844
|
+
availability: manifestColumn?.availability || "Default",
|
|
2807
2845
|
template: manifestColumn.template,
|
|
2808
2846
|
propertyInfos: propertyInfos,
|
|
2809
2847
|
exportSettings: propertyInfos
|
|
@@ -2868,7 +2906,7 @@ export function getP13nMode(
|
|
|
2868
2906
|
const isResponsiveTable = tableManifestConfiguration.type === "ResponsiveTable";
|
|
2869
2907
|
if (tableManifestSettings?.tableSettings?.personalization !== undefined) {
|
|
2870
2908
|
// Personalization configured in manifest.
|
|
2871
|
-
const personalization
|
|
2909
|
+
const personalization = tableManifestSettings.tableSettings.personalization;
|
|
2872
2910
|
if (personalization === true) {
|
|
2873
2911
|
// Table personalization fully enabled.
|
|
2874
2912
|
switch (tableManifestConfiguration.type) {
|
|
@@ -3117,7 +3155,8 @@ export function getTableAnnotationConfiguration(
|
|
|
3117
3155
|
): TableAnnotationConfiguration {
|
|
3118
3156
|
// Need to get the target
|
|
3119
3157
|
const { navigationPropertyPath } = splitPath(visualizationPath);
|
|
3120
|
-
const
|
|
3158
|
+
const typeNamePlural = converterContext.getDataModelObjectPath().targetEntityType.annotations?.UI?.HeaderInfo?.TypeNamePlural;
|
|
3159
|
+
const title = typeNamePlural && compileExpression(getExpressionFromAnnotation(typeNamePlural));
|
|
3121
3160
|
const entitySet = converterContext.getDataModelObjectPath().targetEntitySet;
|
|
3122
3161
|
const pageManifestSettings: ManifestWrapper = converterContext.getManifestWrapper();
|
|
3123
3162
|
const hasAbsolutePath = navigationPropertyPath.length === 0,
|
|
@@ -3141,13 +3180,8 @@ export function getTableAnnotationConfiguration(
|
|
|
3141
3180
|
);
|
|
3142
3181
|
|
|
3143
3182
|
const deleteButtonVisibilityExpression = getDeleteVisibility(converterContext, standardActionsContext);
|
|
3144
|
-
const createButtonVisibilityExpression = getCreateVisibility(converterContext, standardActionsContext);
|
|
3145
3183
|
const massEditButtonVisibilityExpression = getMassEditVisibility(converterContext, standardActionsContext);
|
|
3146
|
-
const isInsertUpdateTemplated = getInsertUpdateActionsTemplating(
|
|
3147
|
-
standardActionsContext,
|
|
3148
|
-
isDraftOrStickySupported(converterContext),
|
|
3149
|
-
compileExpression(createButtonVisibilityExpression) === "false"
|
|
3150
|
-
);
|
|
3184
|
+
const isInsertUpdateTemplated = getInsertUpdateActionsTemplating(standardActionsContext, isDraftOrStickySupported(converterContext));
|
|
3151
3185
|
|
|
3152
3186
|
const selectionMode = getSelectionMode(
|
|
3153
3187
|
lineItemAnnotation,
|
|
@@ -3208,8 +3242,8 @@ export function getTableAnnotationConfiguration(
|
|
|
3208
3242
|
};
|
|
3209
3243
|
}
|
|
3210
3244
|
|
|
3211
|
-
function _getExportDataType(dataType: string, isComplexProperty
|
|
3212
|
-
let exportDataType
|
|
3245
|
+
function _getExportDataType(dataType: string, isComplexProperty = false): string {
|
|
3246
|
+
let exportDataType = "String";
|
|
3213
3247
|
if (isComplexProperty) {
|
|
3214
3248
|
if (dataType === "Edm.DateTimeOffset") {
|
|
3215
3249
|
exportDataType = "DateTime";
|
|
@@ -3251,8 +3285,8 @@ function _getExportDataType(dataType: string, isComplexProperty: boolean = false
|
|
|
3251
3285
|
* @returns The split path
|
|
3252
3286
|
*/
|
|
3253
3287
|
export function splitPath(visualizationPath: string) {
|
|
3254
|
-
|
|
3255
|
-
|
|
3288
|
+
const [targetNavigationPropertyPath, annotationPath] = visualizationPath.split("@");
|
|
3289
|
+
let navigationPropertyPath = targetNavigationPropertyPath;
|
|
3256
3290
|
if (navigationPropertyPath.lastIndexOf("/") === navigationPropertyPath.length - 1) {
|
|
3257
3291
|
// Drop trailing slash
|
|
3258
3292
|
navigationPropertyPath = navigationPropertyPath.substr(0, navigationPropertyPath.length - 1);
|
|
@@ -3270,8 +3304,8 @@ export function getSelectionVariantConfiguration(
|
|
|
3270
3304
|
if (selection) {
|
|
3271
3305
|
const propertyNames: string[] = [];
|
|
3272
3306
|
selection.SelectOptions?.forEach((selectOption: SelectOptionType) => {
|
|
3273
|
-
const propertyName
|
|
3274
|
-
const propertyPath: string = propertyName
|
|
3307
|
+
const propertyName = selectOption.PropertyName;
|
|
3308
|
+
const propertyPath: string = propertyName?.value ?? "";
|
|
3275
3309
|
if (propertyNames.indexOf(propertyPath) === -1) {
|
|
3276
3310
|
propertyNames.push(propertyPath);
|
|
3277
3311
|
}
|
|
@@ -3340,16 +3374,20 @@ function _getTableType(
|
|
|
3340
3374
|
return tableType;
|
|
3341
3375
|
}
|
|
3342
3376
|
|
|
3343
|
-
function _getGridTableMode(
|
|
3377
|
+
function _getGridTableMode(
|
|
3378
|
+
tableType: TableType,
|
|
3379
|
+
tableSettings: TableManifestSettingsConfiguration,
|
|
3380
|
+
isTemplateListReport: boolean
|
|
3381
|
+
): { rowCountMode?: GridTableRowCountMode; rowCount?: number } {
|
|
3344
3382
|
if (tableType === "GridTable") {
|
|
3345
3383
|
if (isTemplateListReport) {
|
|
3346
3384
|
return {
|
|
3347
3385
|
rowCountMode: "Auto",
|
|
3348
|
-
rowCount:
|
|
3386
|
+
rowCount: 3
|
|
3349
3387
|
};
|
|
3350
3388
|
} else {
|
|
3351
3389
|
return {
|
|
3352
|
-
rowCountMode: tableSettings.rowCountMode
|
|
3390
|
+
rowCountMode: tableSettings.rowCountMode ?? "Fixed",
|
|
3353
3391
|
rowCount: tableSettings.rowCount ? tableSettings.rowCount : 5
|
|
3354
3392
|
};
|
|
3355
3393
|
}
|
|
@@ -3375,10 +3413,10 @@ function _getTableInlineCreationRowCount(_tableSettings: TableManifestSettingsCo
|
|
|
3375
3413
|
function _getFilters(
|
|
3376
3414
|
tableSettings: TableManifestSettingsConfiguration,
|
|
3377
3415
|
quickFilterPaths: { annotationPath: string }[],
|
|
3378
|
-
quickSelectionVariant:
|
|
3416
|
+
quickSelectionVariant: unknown,
|
|
3379
3417
|
path: { annotationPath: string },
|
|
3380
3418
|
converterContext: ConverterContext
|
|
3381
|
-
)
|
|
3419
|
+
) {
|
|
3382
3420
|
if (quickSelectionVariant) {
|
|
3383
3421
|
quickFilterPaths.push({ annotationPath: path.annotationPath });
|
|
3384
3422
|
}
|
|
@@ -3405,13 +3443,13 @@ function _getFilterConfiguration(
|
|
|
3405
3443
|
tableSettings: TableManifestSettingsConfiguration,
|
|
3406
3444
|
lineItemAnnotation: LineItem | undefined,
|
|
3407
3445
|
converterContext: ConverterContext
|
|
3408
|
-
)
|
|
3446
|
+
) {
|
|
3409
3447
|
if (!lineItemAnnotation) {
|
|
3410
3448
|
return {};
|
|
3411
3449
|
}
|
|
3412
3450
|
const quickFilterPaths: { annotationPath: string }[] = [];
|
|
3413
3451
|
const targetEntityType = converterContext.getAnnotationEntityType(lineItemAnnotation);
|
|
3414
|
-
let quickSelectionVariant
|
|
3452
|
+
let quickSelectionVariant;
|
|
3415
3453
|
let filters;
|
|
3416
3454
|
tableSettings?.quickVariantSelection?.paths?.forEach((path: { annotationPath: string }) => {
|
|
3417
3455
|
quickSelectionVariant = targetEntityType.resolvePath(path.annotationPath);
|
|
@@ -3430,7 +3468,7 @@ function _getCollectedNavigationPropertyLabels(relativePath: string, converterCo
|
|
|
3430
3468
|
const navigationProperties = enhanceDataModelPath(converterContext.getDataModelObjectPath(), relativePath).navigationProperties;
|
|
3431
3469
|
if (navigationProperties?.length > 0) {
|
|
3432
3470
|
const collectedNavigationPropertyLabels: string[] = [];
|
|
3433
|
-
navigationProperties.forEach((navProperty
|
|
3471
|
+
navigationProperties.forEach((navProperty) => {
|
|
3434
3472
|
collectedNavigationPropertyLabels.push(getLabel(navProperty) || navProperty.name);
|
|
3435
3473
|
});
|
|
3436
3474
|
return collectedNavigationPropertyLabels;
|
|
@@ -3496,17 +3534,23 @@ export function getTableManifestConfiguration(
|
|
|
3496
3534
|
return tableConfiguration;
|
|
3497
3535
|
}
|
|
3498
3536
|
|
|
3499
|
-
export function getTypeConfig(oProperty: Property | DataFieldAbstractTypes, dataType: string | undefined):
|
|
3500
|
-
let oTargetMapping
|
|
3501
|
-
if (
|
|
3502
|
-
oTargetMapping =
|
|
3537
|
+
export function getTypeConfig(oProperty: Property | DataFieldAbstractTypes, dataType: string | undefined): PropertyTypeConfig {
|
|
3538
|
+
let oTargetMapping;
|
|
3539
|
+
if (isProperty(oProperty)) {
|
|
3540
|
+
oTargetMapping = isTypeDefinition(oProperty.targetType)
|
|
3541
|
+
? EDM_TYPE_MAPPING[oProperty.targetType.underlyingType]
|
|
3542
|
+
: EDM_TYPE_MAPPING[oProperty.type];
|
|
3503
3543
|
}
|
|
3504
|
-
|
|
3544
|
+
if (oTargetMapping === undefined && dataType !== undefined) {
|
|
3545
|
+
oTargetMapping = EDM_TYPE_MAPPING[dataType];
|
|
3546
|
+
}
|
|
3547
|
+
|
|
3548
|
+
const propertyTypeConfig: PropertyTypeConfig = {
|
|
3505
3549
|
type: oTargetMapping?.type,
|
|
3506
3550
|
constraints: {},
|
|
3507
3551
|
formatOptions: {}
|
|
3508
3552
|
};
|
|
3509
|
-
if (isProperty(oProperty)) {
|
|
3553
|
+
if (isProperty(oProperty) && oTargetMapping !== undefined) {
|
|
3510
3554
|
propertyTypeConfig.constraints = {
|
|
3511
3555
|
scale: oTargetMapping.constraints?.$Scale ? oProperty.scale : undefined,
|
|
3512
3556
|
precision: oTargetMapping.constraints?.$Precision ? oProperty.precision : undefined,
|