@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
|
@@ -1,536 +0,0 @@
|
|
|
1
|
-
import deepClone from "sap/base/util/deepClone";
|
|
2
|
-
import merge from "sap/base/util/merge";
|
|
3
|
-
import ObjectPath from "sap/base/util/ObjectPath";
|
|
4
|
-
import type AppComponent from "sap/fe/core/AppComponent";
|
|
5
|
-
import BuildingBlockFragment from "sap/fe/core/buildingBlocks/BuildingBlockFragment";
|
|
6
|
-
import type { TemplateProcessorSettings, XMLProcessorTypeValue } from "sap/fe/core/buildingBlocks/BuildingBlockRuntime";
|
|
7
|
-
import { registerBuildingBlock, xml } from "sap/fe/core/buildingBlocks/BuildingBlockRuntime";
|
|
8
|
-
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
9
|
-
import type { BindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
|
|
10
|
-
import { isUndefinedExpression, resolveBindingString } from "sap/fe/core/helpers/BindingToolkit";
|
|
11
|
-
import { generate } from "sap/fe/core/helpers/StableIdHelper";
|
|
12
|
-
import { isContext } from "sap/fe/core/helpers/TypeGuards";
|
|
13
|
-
import jsx from "sap/fe/core/jsx-runtime/jsx";
|
|
14
|
-
import type TemplateComponent from "sap/fe/core/TemplateComponent";
|
|
15
|
-
import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
16
|
-
import ManagedObject from "sap/ui/base/ManagedObject";
|
|
17
|
-
import Component from "sap/ui/core/Component";
|
|
18
|
-
import type View from "sap/ui/core/mvc/View";
|
|
19
|
-
import XMLPreprocessor from "sap/ui/core/util/XMLPreprocessor";
|
|
20
|
-
import type Control from "sap/ui/mdc/Control";
|
|
21
|
-
import type Context from "sap/ui/model/Context";
|
|
22
|
-
import type { ManagedObjectEx } from "types/extension_types";
|
|
23
|
-
import ConverterContext from "../converters/ConverterContext";
|
|
24
|
-
|
|
25
|
-
export type ObjectValue2 = string | boolean | number | Context | undefined | object | null;
|
|
26
|
-
type ObjectValue3<T> = T | Record<string, T> | T[];
|
|
27
|
-
export type ObjectValue = ObjectValue3<ObjectValue2 | Record<string, ObjectValue2> | ObjectValue2[]>;
|
|
28
|
-
|
|
29
|
-
// Type for the accessor decorator that we end up with in babel.
|
|
30
|
-
type AccessorDescriptor<T> = TypedPropertyDescriptor<T> & { initializer?: () => T };
|
|
31
|
-
export type BuildingBlockExtraSettings = {
|
|
32
|
-
isPublic: boolean;
|
|
33
|
-
isRuntimeInstantiation?: boolean;
|
|
34
|
-
appComponent: AppComponent;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Base class for Building Block
|
|
39
|
-
*/
|
|
40
|
-
export class BuildingBlockBase {
|
|
41
|
-
protected isPublic = false;
|
|
42
|
-
protected id!: string;
|
|
43
|
-
constructor(props: Record<string, unknown>, _oControlConfig?: unknown, _oSettings?: BuildingBlockExtraSettings) {
|
|
44
|
-
Object.keys(props).forEach((propName) => {
|
|
45
|
-
this[propName as keyof this] = props[propName] as never;
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Only used internally
|
|
50
|
-
*
|
|
51
|
-
* @private
|
|
52
|
-
*/
|
|
53
|
-
public getTemplate?(oNode?: Element): string | Promise<string | undefined> | undefined;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Convert the given local element ID to a globally unique ID by prefixing with the Building Block ID.
|
|
57
|
-
*
|
|
58
|
-
* @param stringParts
|
|
59
|
-
* @returns Either the global ID or undefined if the Building Block doesn't have an ID
|
|
60
|
-
* @private
|
|
61
|
-
*/
|
|
62
|
-
protected createId(...stringParts: string[]) {
|
|
63
|
-
// If the child instance has an ID property use it otherwise return undefined
|
|
64
|
-
if (this.id) {
|
|
65
|
-
return generate([this.id, ...stringParts]);
|
|
66
|
-
}
|
|
67
|
-
return undefined;
|
|
68
|
-
}
|
|
69
|
-
protected getConverterContext = function (
|
|
70
|
-
dataModelObjectPath: DataModelObjectPath,
|
|
71
|
-
contextPath: string | undefined,
|
|
72
|
-
settings: TemplateProcessorSettings,
|
|
73
|
-
extraParams?: Record<string, unknown>
|
|
74
|
-
) {
|
|
75
|
-
const appComponent = settings.appComponent;
|
|
76
|
-
const originalViewData = settings.models.viewData?.getData();
|
|
77
|
-
let viewData = Object.assign({}, originalViewData);
|
|
78
|
-
delete viewData.resourceBundle;
|
|
79
|
-
viewData = deepClone(viewData);
|
|
80
|
-
viewData.controlConfiguration = merge(viewData.controlConfiguration, extraParams || {});
|
|
81
|
-
return ConverterContext.createConverterContextForMacro(
|
|
82
|
-
dataModelObjectPath.startingEntitySet.name,
|
|
83
|
-
settings.models.metaModel,
|
|
84
|
-
appComponent?.getDiagnostics(),
|
|
85
|
-
merge,
|
|
86
|
-
dataModelObjectPath.contextLocation,
|
|
87
|
-
viewData
|
|
88
|
-
);
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Only used internally.
|
|
93
|
-
*
|
|
94
|
-
* @returns All the properties defined on the object with their values
|
|
95
|
-
* @private
|
|
96
|
-
*/
|
|
97
|
-
public getProperties() {
|
|
98
|
-
const allProperties: Record<string, ObjectValue> = {};
|
|
99
|
-
for (const oInstanceKey in this) {
|
|
100
|
-
if (this.hasOwnProperty(oInstanceKey)) {
|
|
101
|
-
allProperties[oInstanceKey] = this[oInstanceKey] as unknown as ObjectValue;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return allProperties;
|
|
105
|
-
}
|
|
106
|
-
static register() {
|
|
107
|
-
// To be overriden
|
|
108
|
-
}
|
|
109
|
-
static unregister() {
|
|
110
|
-
// To be overriden
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Add a part of string based on the condition.
|
|
115
|
-
*
|
|
116
|
-
* @param condition
|
|
117
|
-
* @param partToAdd
|
|
118
|
-
* @returns The part to add if the condition is true, otherwise an empty string
|
|
119
|
-
* @private
|
|
120
|
-
*/
|
|
121
|
-
protected addConditionally(condition: boolean, partToAdd: string): string {
|
|
122
|
-
if (condition) {
|
|
123
|
-
return partToAdd;
|
|
124
|
-
} else {
|
|
125
|
-
return "";
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Add an attribute depending on the current value of the property.
|
|
130
|
-
* If it's undefined the attribute is not added.
|
|
131
|
-
*
|
|
132
|
-
* @param attributeName
|
|
133
|
-
* @param value
|
|
134
|
-
* @returns The attribute to add if the value is not undefined, otherwise an empty string
|
|
135
|
-
* @private
|
|
136
|
-
*/
|
|
137
|
-
protected attr(attributeName: string, value?: XMLProcessorTypeValue): () => string {
|
|
138
|
-
if (value !== undefined && !isUndefinedExpression(value)) {
|
|
139
|
-
return () => xml`${attributeName}="${value}"`;
|
|
140
|
-
} else {
|
|
141
|
-
return () => "";
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Base class for runtime building blocks
|
|
148
|
-
*/
|
|
149
|
-
export interface RuntimeBuildingBlock extends BuildingBlockBase {
|
|
150
|
-
getContent(containingView: View, appComponent: AppComponent): Control;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
export type BuildingBlockPropertyDefinition = {
|
|
154
|
-
type: string;
|
|
155
|
-
isPublic?: boolean;
|
|
156
|
-
defaultValue?: unknown;
|
|
157
|
-
/** This property is only evaluated in the V1 API */
|
|
158
|
-
computed?: boolean;
|
|
159
|
-
required?: boolean;
|
|
160
|
-
/** This property is only considered for runtime building blocks */
|
|
161
|
-
bindable?: boolean;
|
|
162
|
-
$kind?: string[];
|
|
163
|
-
$Type?: string[];
|
|
164
|
-
/** Function that allows to validate or transform the given input */
|
|
165
|
-
validate?: Function;
|
|
166
|
-
};
|
|
167
|
-
export type BuildingBlockMetadataContextDefinition = {
|
|
168
|
-
type: string;
|
|
169
|
-
isPublic?: boolean;
|
|
170
|
-
required?: boolean;
|
|
171
|
-
/** This property is only evaluated in the V1 API */
|
|
172
|
-
computed?: boolean;
|
|
173
|
-
$Type?: string[];
|
|
174
|
-
$kind?: string[];
|
|
175
|
-
};
|
|
176
|
-
export type BuildingBlockEvent = {};
|
|
177
|
-
export type BuildingBlockAggregationDefinition = {
|
|
178
|
-
isPublic?: boolean;
|
|
179
|
-
type: string;
|
|
180
|
-
slot?: string;
|
|
181
|
-
isDefault?: boolean;
|
|
182
|
-
/** Defines whether the element is based on an actual node that will be rendered or only on XML that will be interpreted */
|
|
183
|
-
hasVirtualNode?: boolean;
|
|
184
|
-
processAggregations?: Function;
|
|
185
|
-
};
|
|
186
|
-
type CommonBuildingBlockDefinition = {
|
|
187
|
-
namespace: string;
|
|
188
|
-
name: string;
|
|
189
|
-
xmlTag?: string;
|
|
190
|
-
fragment?: string;
|
|
191
|
-
publicNamespace?: string;
|
|
192
|
-
designtime?: string;
|
|
193
|
-
isRuntime?: boolean;
|
|
194
|
-
isOpen?: boolean;
|
|
195
|
-
};
|
|
196
|
-
export type BuildingBlockDefinitionV2 = CommonBuildingBlockDefinition &
|
|
197
|
-
(new () => BuildingBlockBase) &
|
|
198
|
-
typeof BuildingBlockBase & {
|
|
199
|
-
apiVersion: 2;
|
|
200
|
-
getTemplate?: Function;
|
|
201
|
-
metadata: BuildingBlockMetadata;
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
export type BuildingBlockDefinitionV1 = CommonBuildingBlockDefinition & {
|
|
205
|
-
name: string;
|
|
206
|
-
apiVersion?: 1;
|
|
207
|
-
create?: Function;
|
|
208
|
-
getTemplate?: Function;
|
|
209
|
-
metadata: BuildingBlockMetadata;
|
|
210
|
-
};
|
|
211
|
-
export type BuildingBlockDefinition = BuildingBlockDefinitionV2 | BuildingBlockDefinitionV1;
|
|
212
|
-
export type BuildingBlockMetadata = {
|
|
213
|
-
events: Record<string, BuildingBlockEvent>;
|
|
214
|
-
properties: Record<string, BuildingBlockPropertyDefinition>;
|
|
215
|
-
aggregations: Record<string, BuildingBlockAggregationDefinition>;
|
|
216
|
-
stereotype?: string;
|
|
217
|
-
designtime?: string;
|
|
218
|
-
};
|
|
219
|
-
|
|
220
|
-
const ensureMetadata = function (target: Partial<BuildingBlockDefinitionV2>): BuildingBlockMetadata {
|
|
221
|
-
if (!target.hasOwnProperty("metadata")) {
|
|
222
|
-
target.metadata = deepClone(
|
|
223
|
-
target.metadata || {
|
|
224
|
-
properties: {},
|
|
225
|
-
aggregations: {},
|
|
226
|
-
events: {},
|
|
227
|
-
stereotype: "xmlmacro",
|
|
228
|
-
designtime: ""
|
|
229
|
-
}
|
|
230
|
-
);
|
|
231
|
-
}
|
|
232
|
-
return target.metadata as BuildingBlockMetadata;
|
|
233
|
-
};
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* Decorator for building blocks.
|
|
237
|
-
*
|
|
238
|
-
* @param attributeDefinition
|
|
239
|
-
* @deprecated use `blockAttribute` instead
|
|
240
|
-
* @returns The decorated property
|
|
241
|
-
*/
|
|
242
|
-
export function xmlAttribute(attributeDefinition: BuildingBlockPropertyDefinition): PropertyDecorator {
|
|
243
|
-
return function (target: BuildingBlockBase, propertyKey: string | Symbol, propertyDescriptor: AccessorDescriptor<unknown>) {
|
|
244
|
-
const metadata = ensureMetadata(target.constructor);
|
|
245
|
-
if (attributeDefinition.defaultValue === undefined) {
|
|
246
|
-
// If there is no defaultValue we can take the value from the initializer (natural way of defining defaults)
|
|
247
|
-
attributeDefinition.defaultValue = propertyDescriptor.initializer?.();
|
|
248
|
-
}
|
|
249
|
-
delete propertyDescriptor.initializer;
|
|
250
|
-
if (metadata.properties[propertyKey.toString()] === undefined) {
|
|
251
|
-
metadata.properties[propertyKey.toString()] = attributeDefinition;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
return propertyDescriptor;
|
|
255
|
-
} as unknown as PropertyDecorator; // Needed to make TS happy with those decorators;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
/**
|
|
259
|
-
* Indicates that the property shall be declared as an xml attribute that can be used from the outside of the building block.
|
|
260
|
-
*
|
|
261
|
-
* If defining a runtime Building Block, please make sure to use the correct typings: Depending on its metadata,
|
|
262
|
-
* a property can either be a {@link sap.ui.model.Context} (<code>type: 'sap.ui.model.Context'</code>),
|
|
263
|
-
* a constant (<code>bindable: false</code>), or a {@link BindingToolkitExpression} (<code>bindable: true</code>).
|
|
264
|
-
*
|
|
265
|
-
* @param attributeDefinition
|
|
266
|
-
* @returns The decorated property
|
|
267
|
-
*/
|
|
268
|
-
export function blockAttribute(attributeDefinition: BuildingBlockPropertyDefinition): PropertyDecorator {
|
|
269
|
-
return xmlAttribute(attributeDefinition);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* Decorator for building blocks.
|
|
274
|
-
*
|
|
275
|
-
* @deprecated use `blockEvent` instead
|
|
276
|
-
* @returns The decorated property
|
|
277
|
-
*/
|
|
278
|
-
export function xmlEvent(): PropertyDecorator {
|
|
279
|
-
return function (target: BuildingBlockBase, propertyKey: string | Symbol, propertyDescriptor: AccessorDescriptor<unknown>) {
|
|
280
|
-
const metadata = ensureMetadata(target.constructor);
|
|
281
|
-
delete propertyDescriptor.initializer;
|
|
282
|
-
if (metadata.events[propertyKey.toString()] === undefined) {
|
|
283
|
-
metadata.events[propertyKey.toString()] = { type: "function" };
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
return propertyDescriptor;
|
|
287
|
-
} as unknown as PropertyDecorator; // Needed to make TS happy with those decorators;
|
|
288
|
-
}
|
|
289
|
-
export function blockEvent(): PropertyDecorator {
|
|
290
|
-
return xmlEvent();
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
/**
|
|
294
|
-
* Decorator for building blocks.
|
|
295
|
-
*
|
|
296
|
-
* @param aggregationDefinition
|
|
297
|
-
* @returns The decorated property
|
|
298
|
-
* @deprecated use `blockAggregation` instead
|
|
299
|
-
*/
|
|
300
|
-
export function xmlAggregation(aggregationDefinition: BuildingBlockAggregationDefinition): PropertyDecorator {
|
|
301
|
-
return function (target: BuildingBlockBase, propertyKey: string, propertyDescriptor: AccessorDescriptor<unknown>) {
|
|
302
|
-
const metadata = ensureMetadata(target.constructor);
|
|
303
|
-
delete propertyDescriptor.initializer;
|
|
304
|
-
if (metadata.aggregations[propertyKey] === undefined) {
|
|
305
|
-
metadata.aggregations[propertyKey] = aggregationDefinition;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
return propertyDescriptor;
|
|
309
|
-
} as unknown as PropertyDecorator;
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Indicates that the property shall be declared as an xml aggregation that can be used from the outside of the building block.
|
|
313
|
-
*
|
|
314
|
-
* @param aggregationDefinition
|
|
315
|
-
* @returns The decorated property
|
|
316
|
-
*/
|
|
317
|
-
export function blockAggregation(aggregationDefinition: BuildingBlockAggregationDefinition): PropertyDecorator {
|
|
318
|
-
return xmlAggregation(aggregationDefinition);
|
|
319
|
-
}
|
|
320
|
-
const RUNTIME_BLOCKS: Record<string, RuntimeBuildingBlock & BuildingBlockDefinitionV2> = {};
|
|
321
|
-
export function defineBuildingBlock(oBuildingBlockDefinition: CommonBuildingBlockDefinition): ClassDecorator {
|
|
322
|
-
return function (classDefinition: Partial<BuildingBlockDefinitionV2>) {
|
|
323
|
-
const metadata = ensureMetadata(classDefinition);
|
|
324
|
-
metadata.designtime = oBuildingBlockDefinition.designtime;
|
|
325
|
-
classDefinition.xmlTag = oBuildingBlockDefinition.name;
|
|
326
|
-
classDefinition.namespace = oBuildingBlockDefinition.namespace;
|
|
327
|
-
classDefinition.publicNamespace = oBuildingBlockDefinition.publicNamespace;
|
|
328
|
-
classDefinition.fragment = oBuildingBlockDefinition.fragment;
|
|
329
|
-
classDefinition.isOpen = oBuildingBlockDefinition.isOpen;
|
|
330
|
-
classDefinition.isRuntime = oBuildingBlockDefinition.isRuntime;
|
|
331
|
-
classDefinition.apiVersion = 2;
|
|
332
|
-
if (classDefinition.isRuntime === true) {
|
|
333
|
-
classDefinition.prototype.getTemplate = function (oNode: Element) {
|
|
334
|
-
const className = `${oBuildingBlockDefinition.namespace}.${oBuildingBlockDefinition.name}`;
|
|
335
|
-
const extraProps = [];
|
|
336
|
-
// Function are defined as string but need to be resolved by UI5, as such we store them in an `event` property and will redispatch them later
|
|
337
|
-
const functionHolderDefinition = [];
|
|
338
|
-
const propertiesAssignedToFunction = [];
|
|
339
|
-
const functionStringInOrder = [];
|
|
340
|
-
for (const propertiesKey in metadata.properties) {
|
|
341
|
-
let propertyValue = this[propertiesKey];
|
|
342
|
-
if (propertyValue !== undefined && propertyValue !== null) {
|
|
343
|
-
if (isContext(propertyValue)) {
|
|
344
|
-
propertyValue = propertyValue.getPath();
|
|
345
|
-
}
|
|
346
|
-
if (metadata.properties[propertiesKey].type === "function") {
|
|
347
|
-
functionHolderDefinition.push(propertyValue);
|
|
348
|
-
functionStringInOrder.push(propertyValue);
|
|
349
|
-
propertiesAssignedToFunction.push(propertiesKey);
|
|
350
|
-
} else {
|
|
351
|
-
extraProps.push(xml`feBB:${propertiesKey}="${propertyValue as XMLProcessorTypeValue}"`);
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
if (functionHolderDefinition.length > 0) {
|
|
356
|
-
extraProps.push(xml`functionHolder="${functionHolderDefinition.join(";")}"`);
|
|
357
|
-
extraProps.push(xml`feBB:functionStringInOrder="${functionStringInOrder.join(",")}"`);
|
|
358
|
-
extraProps.push(xml`feBB:propertiesAssignedToFunction="${propertiesAssignedToFunction.join(",")}"`);
|
|
359
|
-
}
|
|
360
|
-
for (const eventsKey in metadata.events) {
|
|
361
|
-
const eventsValue = this[eventsKey];
|
|
362
|
-
if (eventsValue !== undefined) {
|
|
363
|
-
extraProps.push(xml`feBB:${eventsKey}="${eventsValue as XMLProcessorTypeValue}"`);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
// core:require need to be defined on the node itself to be picked up due to the templating step
|
|
367
|
-
const coreRequire = oNode.getAttribute("core:require") || undefined;
|
|
368
|
-
if (coreRequire) {
|
|
369
|
-
extraProps.push(xml`core:require="${coreRequire}"`);
|
|
370
|
-
}
|
|
371
|
-
return xml`<feBB:BuildingBlockFragment
|
|
372
|
-
xmlns:core="sap.ui.core"
|
|
373
|
-
xmlns:feBB="sap.fe.core.buildingBlocks"
|
|
374
|
-
fragmentName="${className}"
|
|
375
|
-
|
|
376
|
-
id="{this>id}"
|
|
377
|
-
type="FE_COMPONENTS"
|
|
378
|
-
${extraProps}
|
|
379
|
-
>
|
|
380
|
-
</feBB:BuildingBlockFragment>`;
|
|
381
|
-
};
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
classDefinition.register = function () {
|
|
385
|
-
registerBuildingBlock(classDefinition as BuildingBlockDefinitionV2);
|
|
386
|
-
if (classDefinition.isRuntime === true) {
|
|
387
|
-
RUNTIME_BLOCKS[`${oBuildingBlockDefinition.namespace}.${oBuildingBlockDefinition.name}`] =
|
|
388
|
-
classDefinition as RuntimeBuildingBlock & BuildingBlockDefinitionV2;
|
|
389
|
-
}
|
|
390
|
-
};
|
|
391
|
-
classDefinition.unregister = function () {
|
|
392
|
-
XMLPreprocessor.plugIn(null, classDefinition.namespace, classDefinition.name);
|
|
393
|
-
XMLPreprocessor.plugIn(null, classDefinition.publicNamespace, classDefinition.name);
|
|
394
|
-
};
|
|
395
|
-
};
|
|
396
|
-
}
|
|
397
|
-
type FragmentCustomData = {
|
|
398
|
-
mProperties: {
|
|
399
|
-
value: {
|
|
400
|
-
"sap.fe.core.buildingBlocks"?: Record<string, string>;
|
|
401
|
-
};
|
|
402
|
-
};
|
|
403
|
-
};
|
|
404
|
-
type FEComponentFragmentSettings = {
|
|
405
|
-
fragmentName: string;
|
|
406
|
-
fragmentContent?: RuntimeBuildingBlock & BuildingBlockDefinitionV2;
|
|
407
|
-
containingView: View;
|
|
408
|
-
customData?: FragmentCustomData[];
|
|
409
|
-
functionHolder?: FunctionWithHandler[][];
|
|
410
|
-
};
|
|
411
|
-
|
|
412
|
-
type FunctionWithHandler = Function & {
|
|
413
|
-
_sapui_handlerName?: string;
|
|
414
|
-
};
|
|
415
|
-
type FragmentWithInternals = {
|
|
416
|
-
_bAsync: boolean;
|
|
417
|
-
_aContent: Control | Control[];
|
|
418
|
-
};
|
|
419
|
-
BuildingBlockFragment.registerType("FE_COMPONENTS", {
|
|
420
|
-
load: async function (mSettings: FEComponentFragmentSettings) {
|
|
421
|
-
return Promise.resolve(RUNTIME_BLOCKS[mSettings.fragmentName]);
|
|
422
|
-
},
|
|
423
|
-
init: function (this: FragmentWithInternals, mSettings: FEComponentFragmentSettings) {
|
|
424
|
-
let MyClass = mSettings.fragmentContent;
|
|
425
|
-
if (!MyClass) {
|
|
426
|
-
// In some case we might have been called here synchronously (unstash case for instance), which means we didn't go through the load function
|
|
427
|
-
MyClass = RUNTIME_BLOCKS[mSettings.fragmentName];
|
|
428
|
-
}
|
|
429
|
-
const classSettings: Record<string, unknown> = {};
|
|
430
|
-
const feCustomData: Record<string, string> = mSettings?.customData?.[0]?.mProperties?.value?.["sap.fe.core.buildingBlocks"] || {};
|
|
431
|
-
delete mSettings.customData;
|
|
432
|
-
const functionHolder: FunctionWithHandler[][] = mSettings.functionHolder ?? [];
|
|
433
|
-
delete mSettings.functionHolder;
|
|
434
|
-
|
|
435
|
-
// containingView can also be a fragment, so we have to use the controller to be sure to get the actual view
|
|
436
|
-
const containingView = mSettings.containingView.getController?.().getView() ?? mSettings.containingView;
|
|
437
|
-
const pageComponent = Component.getOwnerComponentFor(containingView) as TemplateComponent;
|
|
438
|
-
const appComponent = CommonUtils.getAppComponent(containingView);
|
|
439
|
-
|
|
440
|
-
const metaModel = appComponent.getMetaModel();
|
|
441
|
-
const pageModel = pageComponent.getModel("_pageModel");
|
|
442
|
-
|
|
443
|
-
const functionStringInOrder: string[] = feCustomData.functionStringInOrder?.split(",");
|
|
444
|
-
const propertiesAssignedToFunction: string[] = feCustomData.propertiesAssignedToFunction?.split(",");
|
|
445
|
-
for (const propertyName in MyClass.metadata.properties) {
|
|
446
|
-
const propertyMetadata = MyClass.metadata.properties[propertyName];
|
|
447
|
-
const pageModelContext = pageModel.createBindingContext(feCustomData[propertyName]);
|
|
448
|
-
|
|
449
|
-
if (pageModelContext === null) {
|
|
450
|
-
// value cannot be resolved, so it is either a runtime binding or a constant
|
|
451
|
-
let value: string | boolean | number | BindingToolkitExpression<string | boolean | number> = feCustomData[propertyName];
|
|
452
|
-
|
|
453
|
-
if (typeof value === "string") {
|
|
454
|
-
if (propertyMetadata.bindable !== true) {
|
|
455
|
-
// runtime bindings are not allowed, so convert strings into actual primitive types
|
|
456
|
-
switch (propertyMetadata.type) {
|
|
457
|
-
case "boolean":
|
|
458
|
-
value = value === "true";
|
|
459
|
-
break;
|
|
460
|
-
case "number":
|
|
461
|
-
value = Number(value);
|
|
462
|
-
break;
|
|
463
|
-
}
|
|
464
|
-
} else {
|
|
465
|
-
// runtime bindings are allowed, so resolve the values as BindingToolkit expressions
|
|
466
|
-
value = resolveBindingString(value, propertyMetadata.type);
|
|
467
|
-
}
|
|
468
|
-
} else if (propertyMetadata.type === "function") {
|
|
469
|
-
const functionIndex = propertiesAssignedToFunction.indexOf(propertyName);
|
|
470
|
-
const functionString = functionStringInOrder[functionIndex];
|
|
471
|
-
const targetFunction = functionHolder?.find((functionDef) => functionDef[0]?._sapui_handlerName === functionString);
|
|
472
|
-
// We use the _sapui_handlerName to identify which function is the one we want to bind here
|
|
473
|
-
if (targetFunction && targetFunction.length > 1) {
|
|
474
|
-
value = targetFunction[0].bind(targetFunction[1]);
|
|
475
|
-
}
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
classSettings[propertyName] = value;
|
|
479
|
-
} else if (pageModelContext.getObject() !== undefined) {
|
|
480
|
-
// get value from page model
|
|
481
|
-
classSettings[propertyName] = pageModelContext.getObject();
|
|
482
|
-
} else {
|
|
483
|
-
// bind to metamodel
|
|
484
|
-
classSettings[propertyName] = metaModel.createBindingContext(feCustomData[propertyName]);
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
for (const eventName in MyClass.metadata.events) {
|
|
488
|
-
if (feCustomData[eventName] !== undefined && feCustomData[eventName].startsWith(".")) {
|
|
489
|
-
classSettings[eventName] = ObjectPath.get(feCustomData[eventName].substring(1), containingView.getController());
|
|
490
|
-
} else {
|
|
491
|
-
classSettings[eventName] = ""; // For now, might need to resolve more stuff
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
|
-
return (ManagedObject as unknown as ManagedObjectEx).runWithPreprocessors(
|
|
495
|
-
() => {
|
|
496
|
-
const renderedControl = jsx.withContext({ view: containingView, appComponent: appComponent }, () => {
|
|
497
|
-
return (
|
|
498
|
-
new MyClass!(
|
|
499
|
-
classSettings,
|
|
500
|
-
{},
|
|
501
|
-
{ isRuntimeInstantiation: true, isPublic: false, appComponent: appComponent }
|
|
502
|
-
) as RuntimeBuildingBlock
|
|
503
|
-
).getContent(containingView, appComponent);
|
|
504
|
-
});
|
|
505
|
-
if (!this._bAsync) {
|
|
506
|
-
this._aContent = renderedControl;
|
|
507
|
-
}
|
|
508
|
-
return renderedControl;
|
|
509
|
-
},
|
|
510
|
-
{
|
|
511
|
-
id: function (sId: string) {
|
|
512
|
-
return containingView.createId(sId);
|
|
513
|
-
},
|
|
514
|
-
settings: function (controlSettings: Record<string, string | ManagedObject | (string | ManagedObject)[]>) {
|
|
515
|
-
const allAssociations = this.getMetadata().getAssociations();
|
|
516
|
-
for (const associationDetailName of Object.keys(allAssociations)) {
|
|
517
|
-
if (controlSettings[associationDetailName] !== undefined) {
|
|
518
|
-
// The associated elements are indicated via local IDs; we need to change the references to global ones
|
|
519
|
-
const associations = (
|
|
520
|
-
Array.isArray(controlSettings[associationDetailName])
|
|
521
|
-
? controlSettings[associationDetailName]
|
|
522
|
-
: [controlSettings[associationDetailName]]
|
|
523
|
-
) as (string | ManagedObject)[];
|
|
524
|
-
|
|
525
|
-
// Create global IDs for associations given as strings, not for already resolved ManagedObjects
|
|
526
|
-
controlSettings[associationDetailName] = associations.map((association: string | ManagedObject) =>
|
|
527
|
-
typeof association === "string" ? mSettings.containingView.createId(association) : association
|
|
528
|
-
);
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
return controlSettings;
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
);
|
|
535
|
-
}
|
|
536
|
-
});
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
-
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
|
-
*/
|
|
5
|
-
sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/ui/core/Fragment"], function (ClassSupport, Fragment) {
|
|
6
|
-
"use strict";
|
|
7
|
-
|
|
8
|
-
var _dec, _dec2, _class, _class2, _descriptor;
|
|
9
|
-
var _exports = {};
|
|
10
|
-
var event = ClassSupport.event;
|
|
11
|
-
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
12
|
-
function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
|
|
13
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
14
|
-
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
15
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
16
|
-
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
|
17
|
-
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
|
|
18
|
-
let BuildingBlockFragment = (
|
|
19
|
-
/**
|
|
20
|
-
* Internal extension to the Fragment class in order to add some place to hold functions for runtime building blocks
|
|
21
|
-
*/
|
|
22
|
-
_dec = defineUI5Class("sap.fe.core.buildingBlocks.BuildingBlockFragment"), _dec2 = event(), _dec(_class = (_class2 = /*#__PURE__*/function (_Fragment) {
|
|
23
|
-
_inheritsLoose(BuildingBlockFragment, _Fragment);
|
|
24
|
-
function BuildingBlockFragment() {
|
|
25
|
-
var _this;
|
|
26
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
27
|
-
args[_key] = arguments[_key];
|
|
28
|
-
}
|
|
29
|
-
_this = _Fragment.call(this, ...args) || this;
|
|
30
|
-
_initializerDefineProperty(_this, "functionHolder", _descriptor, _assertThisInitialized(_this));
|
|
31
|
-
return _this;
|
|
32
|
-
}
|
|
33
|
-
_exports = BuildingBlockFragment;
|
|
34
|
-
return BuildingBlockFragment;
|
|
35
|
-
}(Fragment), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "functionHolder", [_dec2], {
|
|
36
|
-
configurable: true,
|
|
37
|
-
enumerable: true,
|
|
38
|
-
writable: true,
|
|
39
|
-
initializer: null
|
|
40
|
-
})), _class2)) || _class);
|
|
41
|
-
_exports = BuildingBlockFragment;
|
|
42
|
-
return _exports;
|
|
43
|
-
}, false);
|
|
44
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrRnJhZ21lbnQiLCJkZWZpbmVVSTVDbGFzcyIsImV2ZW50IiwiRnJhZ21lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkJ1aWxkaW5nQmxvY2tGcmFnbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBGcmFnbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRnJhZ21lbnRcIjtcblxuLyoqXG4gKiBJbnRlcm5hbCBleHRlbnNpb24gdG8gdGhlIEZyYWdtZW50IGNsYXNzIGluIG9yZGVyIHRvIGFkZCBzb21lIHBsYWNlIHRvIGhvbGQgZnVuY3Rpb25zIGZvciBydW50aW1lIGJ1aWxkaW5nIGJsb2Nrc1xuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5idWlsZGluZ0Jsb2Nrcy5CdWlsZGluZ0Jsb2NrRnJhZ21lbnRcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJ1aWxkaW5nQmxvY2tGcmFnbWVudCBleHRlbmRzIEZyYWdtZW50IHtcblx0Lypcblx0ICogRXZlbnQgdG8gaG9sZCBhbmQgcmVzb2x2ZSBmdW5jdGlvbnMgZm9yIHJ1bnRpbWUgYnVpbGRpbmcgYmxvY2tzXG5cdCAqL1xuXHRAZXZlbnQoKVxuXHRmdW5jdGlvbkhvbGRlciE6IEZ1bmN0aW9uO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7OztNQU9xQkEscUJBQXFCO0VBSjFDO0FBQ0E7QUFDQTtFQUZBLE9BR0NDLGNBQWMsQ0FBQyxrREFBa0QsQ0FBQyxVQUtqRUMsS0FBSyxFQUFFO0lBQUE7SUFBQTtNQUFBO01BQUE7UUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUEsRUFKMENDLFFBQVE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBIn0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
-
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
|
-
*/
|
|
5
|
-
sap.ui.define(["sap/fe/core/helpers/ClassSupport","sap/ui/core/Fragment"],function(e,r){"use strict";var i,t,n,a,o;var l={};var u=e.event;var c=e.defineUI5Class;function f(e,r,i,t){if(!i)return;Object.defineProperty(e,r,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(t):void 0})}function s(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function p(e,r){e.prototype=Object.create(r.prototype);e.prototype.constructor=e;b(e,r)}function b(e,r){b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(r,i){r.__proto__=i;return r};return b(e,r)}function d(e,r,i,t,n){var a={};Object.keys(t).forEach(function(e){a[e]=t[e]});a.enumerable=!!a.enumerable;a.configurable=!!a.configurable;if("value"in a||a.initializer){a.writable=true}a=i.slice().reverse().reduce(function(i,t){return t(e,r,i)||i},a);if(n&&a.initializer!==void 0){a.value=a.initializer?a.initializer.call(n):void 0;a.initializer=undefined}if(a.initializer===void 0){Object.defineProperty(e,r,a);a=null}return a}function v(e,r){throw new Error("Decorating class property failed. Please ensure that "+"proposal-class-properties is enabled and runs after the decorators transform.")}let h=(i=c("sap.fe.core.buildingBlocks.BuildingBlockFragment"),t=u(),i(n=(a=function(e){p(r,e);function r(){var r;for(var i=arguments.length,t=new Array(i),n=0;n<i;n++){t[n]=arguments[n]}r=e.call(this,...t)||this;f(r,"functionHolder",o,s(r));return r}l=r;return r}(r),o=d(a.prototype,"functionHolder",[t],{configurable:true,enumerable:true,writable:true,initializer:null}),a))||n);l=h;return l},false);
|
|
6
|
-
//# sourceMappingURL=BuildingBlockFragment.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BuildingBlockFragment.js","names":["sap","ui","define","ClassSupport","Fragment","_dec","_dec2","_class","_class2","_descriptor","_exports","event","defineUI5Class","_initializerDefineProperty","target","property","descriptor","context","Object","defineProperty","enumerable","configurable","writable","value","initializer","call","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_applyDecoratedDescriptor","decorators","desc","keys","forEach","key","slice","reverse","reduce","decorator","undefined","_initializerWarningHelper","Error","BuildingBlockFragment","_Fragment","_this","_len","arguments","length","args","Array","_key","this"],"sources":["BuildingBlockFragment-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,mCAAoC,wBAAyB,SAAUC,EAAcC,GAClG,aAEA,IAAIC,EAAMC,EAAOC,EAAQC,EAASC,EAClC,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAAQR,EAAaQ,MACzB,IAAIC,EAAiBT,EAAaS,eAClC,SAASC,EAA2BC,EAAQC,EAAUC,EAAYC,GAAW,IAAKD,EAAY,OAAQE,OAAOC,eAAeL,EAAQC,EAAU,CAAEK,WAAYJ,EAAWI,WAAYC,aAAcL,EAAWK,aAAcC,SAAUN,EAAWM,SAAUC,MAAOP,EAAWQ,YAAcR,EAAWQ,YAAYC,KAAKR,QAAgB,GAAM,CAC3U,SAASS,EAAuBC,GAAQ,GAAIA,SAAc,EAAG,CAAE,MAAM,IAAIC,eAAe,4DAA8D,CAAE,OAAOD,CAAM,CACrK,SAASE,EAAeC,EAAUC,GAAcD,EAASE,UAAYd,OAAOe,OAAOF,EAAWC,WAAYF,EAASE,UAAUE,YAAcJ,EAAUK,EAAgBL,EAAUC,EAAa,CAC5L,SAASI,EAAgBC,EAAGC,GAAKF,EAAkBjB,OAAOoB,eAAiBpB,OAAOoB,eAAeC,OAAS,SAASJ,EAAgBC,EAAGC,GAAKD,EAAEI,UAAYH,EAAG,OAAOD,CAAG,EAAG,OAAOD,EAAgBC,EAAGC,EAAI,CACvM,SAASI,EAA0B3B,EAAQC,EAAU2B,EAAY1B,EAAYC,GAAW,IAAI0B,EAAO,CAAC,EAAGzB,OAAO0B,KAAK5B,GAAY6B,QAAQ,SAAUC,GAAOH,EAAKG,GAAO9B,EAAW8B,EAAM,GAAIH,EAAKvB,aAAeuB,EAAKvB,WAAYuB,EAAKtB,eAAiBsB,EAAKtB,aAAc,GAAI,UAAWsB,GAAQA,EAAKnB,YAAa,CAAEmB,EAAKrB,SAAW,IAAM,CAAEqB,EAAOD,EAAWK,QAAQC,UAAUC,OAAO,SAAUN,EAAMO,GAAa,OAAOA,EAAUpC,EAAQC,EAAU4B,IAASA,CAAM,EAAGA,GAAO,GAAI1B,GAAW0B,EAAKnB,mBAAqB,EAAG,CAAEmB,EAAKpB,MAAQoB,EAAKnB,YAAcmB,EAAKnB,YAAYC,KAAKR,QAAgB,EAAG0B,EAAKnB,YAAc2B,SAAW,CAAE,GAAIR,EAAKnB,mBAAqB,EAAG,CAAEN,OAAOC,eAAeL,EAAQC,EAAU4B,GAAOA,EAAO,IAAM,CAAE,OAAOA,CAAM,CACntB,SAASS,EAA0BpC,EAAYC,GAAW,MAAM,IAAIoC,MAAM,wDAA0D,gFAAkF,CACtN,IAAIC,GAIJjD,EAAOO,EAAe,oDAAqDN,EAAQK,IAASN,EAAKE,GAAUC,EAAuB,SAAU+C,GAC1I1B,EAAeyB,EAAuBC,GACtC,SAASD,IACP,IAAIE,EACJ,IAAK,IAAIC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAAQ,CACvFF,EAAKE,GAAQJ,UAAUI,EACzB,CACAN,EAAQD,EAAU9B,KAAKsC,QAASH,IAASG,KACzClD,EAA2B2C,EAAO,iBAAkB/C,EAAaiB,EAAuB8B,IACxF,OAAOA,CACT,CACA9C,EAAW4C,EACX,OAAOA,CACT,CAbkI,CAahIlD,GAAYK,EAAcgC,EAA0BjC,EAAQwB,UAAW,iBAAkB,CAAC1B,GAAQ,CAClGe,aAAc,KACdD,WAAY,KACZE,SAAU,KACVE,YAAa,OACVhB,KAAaD,GAClBG,EAAW4C,EACX,OAAO5C,CACT,EAAG"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { defineUI5Class, event } from "sap/fe/core/helpers/ClassSupport";
|
|
2
|
-
import Fragment from "sap/ui/core/Fragment";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Internal extension to the Fragment class in order to add some place to hold functions for runtime building blocks
|
|
6
|
-
*/
|
|
7
|
-
@defineUI5Class("sap.fe.core.buildingBlocks.BuildingBlockFragment")
|
|
8
|
-
export default class BuildingBlockFragment extends Fragment {
|
|
9
|
-
/*
|
|
10
|
-
* Event to hold and resolve functions for runtime building blocks
|
|
11
|
-
*/
|
|
12
|
-
@event()
|
|
13
|
-
functionHolder!: Function;
|
|
14
|
-
}
|