@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
|
@@ -0,0 +1,164 @@
|
|
|
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/base/util/deepClone", "sap/base/util/merge", "sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor", "sap/fe/core/converters/ConverterContext", "sap/fe/core/helpers/BindingToolkit", "sap/fe/core/helpers/StableIdHelper"], function (deepClone, merge, BuildingBlockTemplateProcessor, ConverterContext, BindingToolkit, StableIdHelper) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _exports = {};
|
|
9
|
+
var generate = StableIdHelper.generate;
|
|
10
|
+
var isUndefinedExpression = BindingToolkit.isUndefinedExpression;
|
|
11
|
+
var xml = BuildingBlockTemplateProcessor.xml;
|
|
12
|
+
var unregisterBuildingBlock = BuildingBlockTemplateProcessor.unregisterBuildingBlock;
|
|
13
|
+
var registerBuildingBlock = BuildingBlockTemplateProcessor.registerBuildingBlock;
|
|
14
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
15
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
16
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
17
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
18
|
+
/**
|
|
19
|
+
* Base class for building blocks
|
|
20
|
+
*/
|
|
21
|
+
let BuildingBlockBase = /*#__PURE__*/function () {
|
|
22
|
+
function BuildingBlockBase(props, _controlConfiguration, _visitorSettings) {
|
|
23
|
+
var _visitorSettings$mode;
|
|
24
|
+
this.isPublic = false;
|
|
25
|
+
this.getConverterContext = function (dataModelObjectPath, contextPath, settings, extraParams) {
|
|
26
|
+
var _settings$models$view;
|
|
27
|
+
const appComponent = settings.appComponent;
|
|
28
|
+
const originalViewData = (_settings$models$view = settings.models.viewData) === null || _settings$models$view === void 0 ? void 0 : _settings$models$view.getData();
|
|
29
|
+
let viewData = Object.assign({}, originalViewData);
|
|
30
|
+
delete viewData.resourceModel;
|
|
31
|
+
delete viewData.appComponent;
|
|
32
|
+
viewData = deepClone(viewData);
|
|
33
|
+
viewData.controlConfiguration = merge(viewData.controlConfiguration, extraParams || {});
|
|
34
|
+
return ConverterContext.createConverterContextForMacro(dataModelObjectPath.startingEntitySet.name, settings.models.metaModel, appComponent === null || appComponent === void 0 ? void 0 : appComponent.getDiagnostics(), merge, dataModelObjectPath.contextLocation, viewData);
|
|
35
|
+
};
|
|
36
|
+
Object.keys(props).forEach(propName => {
|
|
37
|
+
this[propName] = props[propName];
|
|
38
|
+
});
|
|
39
|
+
this.resourceModel = _visitorSettings === null || _visitorSettings === void 0 ? void 0 : (_visitorSettings$mode = _visitorSettings.models) === null || _visitorSettings$mode === void 0 ? void 0 : _visitorSettings$mode["sap.fe.i18n"];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Only used internally
|
|
44
|
+
*
|
|
45
|
+
* @private
|
|
46
|
+
*/
|
|
47
|
+
_exports = BuildingBlockBase;
|
|
48
|
+
var _proto = BuildingBlockBase.prototype;
|
|
49
|
+
/**
|
|
50
|
+
* Convert the given local element ID to a globally unique ID by prefixing with the Building Block ID.
|
|
51
|
+
*
|
|
52
|
+
* @param stringParts
|
|
53
|
+
* @returns Either the global ID or undefined if the Building Block doesn't have an ID
|
|
54
|
+
* @private
|
|
55
|
+
*/
|
|
56
|
+
_proto.createId = function createId() {
|
|
57
|
+
// If the child instance has an ID property use it otherwise return undefined
|
|
58
|
+
if (this.id) {
|
|
59
|
+
for (var _len = arguments.length, stringParts = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
60
|
+
stringParts[_key] = arguments[_key];
|
|
61
|
+
}
|
|
62
|
+
return generate([this.id, ...stringParts]);
|
|
63
|
+
}
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Get the ID of the content control.
|
|
69
|
+
*
|
|
70
|
+
* @param buildingBlockId
|
|
71
|
+
* @returns Return the ID
|
|
72
|
+
* @private
|
|
73
|
+
*/;
|
|
74
|
+
_proto.getContentId = function getContentId(buildingBlockId) {
|
|
75
|
+
return `${buildingBlockId}-content`;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Returns translated text for a given resource key.
|
|
80
|
+
*
|
|
81
|
+
* @param textID ID of the Text
|
|
82
|
+
* @param parameters Array of parameters that are used to create the text
|
|
83
|
+
* @param metaPath Entity set name or action name to overload a text
|
|
84
|
+
* @returns Determined text
|
|
85
|
+
*/;
|
|
86
|
+
_proto.getTranslatedText = function getTranslatedText(textID, parameters, metaPath) {
|
|
87
|
+
var _this$resourceModel;
|
|
88
|
+
return ((_this$resourceModel = this.resourceModel) === null || _this$resourceModel === void 0 ? void 0 : _this$resourceModel.getText(textID, parameters, metaPath)) || textID;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Only used internally.
|
|
92
|
+
*
|
|
93
|
+
* @returns All the properties defined on the object with their values
|
|
94
|
+
* @private
|
|
95
|
+
*/
|
|
96
|
+
_proto.getProperties = function getProperties() {
|
|
97
|
+
const allProperties = {};
|
|
98
|
+
for (const oInstanceKey in this) {
|
|
99
|
+
if (this.hasOwnProperty(oInstanceKey)) {
|
|
100
|
+
allProperties[oInstanceKey] = this[oInstanceKey];
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return allProperties;
|
|
104
|
+
};
|
|
105
|
+
BuildingBlockBase.register = function register() {
|
|
106
|
+
registerBuildingBlock(this);
|
|
107
|
+
};
|
|
108
|
+
BuildingBlockBase.unregister = function unregister() {
|
|
109
|
+
unregisterBuildingBlock(this);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Add a part of string based on the condition.
|
|
114
|
+
*
|
|
115
|
+
* @param condition
|
|
116
|
+
* @param partToAdd
|
|
117
|
+
* @returns The part to add if the condition is true, otherwise an empty string
|
|
118
|
+
* @private
|
|
119
|
+
*/;
|
|
120
|
+
_proto.addConditionally = function addConditionally(condition, partToAdd) {
|
|
121
|
+
if (condition) {
|
|
122
|
+
return partToAdd;
|
|
123
|
+
} else {
|
|
124
|
+
return "";
|
|
125
|
+
}
|
|
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
|
+
_proto.attr = function attr(attributeName, value) {
|
|
138
|
+
if (value !== undefined && !isUndefinedExpression(value)) {
|
|
139
|
+
return () => xml`${attributeName}="${value}"`;
|
|
140
|
+
} else {
|
|
141
|
+
return () => "";
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
_createClass(BuildingBlockBase, null, [{
|
|
145
|
+
key: "metadata",
|
|
146
|
+
get: function () {
|
|
147
|
+
// We need to store the metadata on the actual subclass, not on BuildingBlockBase
|
|
148
|
+
this.internalMetadata ??= {
|
|
149
|
+
namespace: "",
|
|
150
|
+
name: "",
|
|
151
|
+
properties: {},
|
|
152
|
+
aggregations: {},
|
|
153
|
+
stereotype: "xmlmacro"
|
|
154
|
+
};
|
|
155
|
+
return this.internalMetadata;
|
|
156
|
+
}
|
|
157
|
+
}]);
|
|
158
|
+
return BuildingBlockBase;
|
|
159
|
+
}();
|
|
160
|
+
BuildingBlockBase.isRuntime = false;
|
|
161
|
+
_exports = BuildingBlockBase;
|
|
162
|
+
return _exports;
|
|
163
|
+
}, false);
|
|
164
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrQmFzZSIsInByb3BzIiwiX2NvbnRyb2xDb25maWd1cmF0aW9uIiwiX3Zpc2l0b3JTZXR0aW5ncyIsImlzUHVibGljIiwiZ2V0Q29udmVydGVyQ29udGV4dCIsImRhdGFNb2RlbE9iamVjdFBhdGgiLCJjb250ZXh0UGF0aCIsInNldHRpbmdzIiwiZXh0cmFQYXJhbXMiLCJhcHBDb21wb25lbnQiLCJvcmlnaW5hbFZpZXdEYXRhIiwibW9kZWxzIiwidmlld0RhdGEiLCJnZXREYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwicmVzb3VyY2VNb2RlbCIsImRlZXBDbG9uZSIsImNvbnRyb2xDb25maWd1cmF0aW9uIiwibWVyZ2UiLCJDb252ZXJ0ZXJDb250ZXh0IiwiY3JlYXRlQ29udmVydGVyQ29udGV4dEZvck1hY3JvIiwic3RhcnRpbmdFbnRpdHlTZXQiLCJuYW1lIiwibWV0YU1vZGVsIiwiZ2V0RGlhZ25vc3RpY3MiLCJjb250ZXh0TG9jYXRpb24iLCJrZXlzIiwiZm9yRWFjaCIsInByb3BOYW1lIiwiY3JlYXRlSWQiLCJpZCIsInN0cmluZ1BhcnRzIiwiZ2VuZXJhdGUiLCJ1bmRlZmluZWQiLCJnZXRDb250ZW50SWQiLCJidWlsZGluZ0Jsb2NrSWQiLCJnZXRUcmFuc2xhdGVkVGV4dCIsInRleHRJRCIsInBhcmFtZXRlcnMiLCJtZXRhUGF0aCIsImdldFRleHQiLCJnZXRQcm9wZXJ0aWVzIiwiYWxsUHJvcGVydGllcyIsIm9JbnN0YW5jZUtleSIsImhhc093blByb3BlcnR5IiwicmVnaXN0ZXIiLCJyZWdpc3RlckJ1aWxkaW5nQmxvY2siLCJ1bnJlZ2lzdGVyIiwidW5yZWdpc3RlckJ1aWxkaW5nQmxvY2siLCJhZGRDb25kaXRpb25hbGx5IiwiY29uZGl0aW9uIiwicGFydFRvQWRkIiwiYXR0ciIsImF0dHJpYnV0ZU5hbWUiLCJ2YWx1ZSIsImlzVW5kZWZpbmVkRXhwcmVzc2lvbiIsInhtbCIsImludGVybmFsTWV0YWRhdGEiLCJuYW1lc3BhY2UiLCJwcm9wZXJ0aWVzIiwiYWdncmVnYXRpb25zIiwic3RlcmVvdHlwZSIsImlzUnVudGltZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQnVpbGRpbmdCbG9ja0Jhc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlZXBDbG9uZSBmcm9tIFwic2FwL2Jhc2UvdXRpbC9kZWVwQ2xvbmVcIjtcbmltcG9ydCBtZXJnZSBmcm9tIFwic2FwL2Jhc2UvdXRpbC9tZXJnZVwiO1xuaW1wb3J0IHR5cGUgeyBCdWlsZGluZ0Jsb2NrTWV0YWRhdGEsIE9iamVjdFZhbHVlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MsIFhNTFByb2Nlc3NvclR5cGVWYWx1ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCB7IHJlZ2lzdGVyQnVpbGRpbmdCbG9jaywgdW5yZWdpc3RlckJ1aWxkaW5nQmxvY2ssIHhtbCB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB7IGlzVW5kZWZpbmVkRXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1N0YWJsZUlkSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvZmUvY29yZS9SZXNvdXJjZU1vZGVsXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFNb2RlbE9iamVjdFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYnVpbGRpbmcgYmxvY2tzXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJ1aWxkaW5nQmxvY2tCYXNlIHtcblx0cHJpdmF0ZSBzdGF0aWMgaW50ZXJuYWxNZXRhZGF0YTogQnVpbGRpbmdCbG9ja01ldGFkYXRhO1xuXG5cdHB1YmxpYyBzdGF0aWMgZ2V0IG1ldGFkYXRhKCk6IEJ1aWxkaW5nQmxvY2tNZXRhZGF0YSB7XG5cdFx0Ly8gV2UgbmVlZCB0byBzdG9yZSB0aGUgbWV0YWRhdGEgb24gdGhlIGFjdHVhbCBzdWJjbGFzcywgbm90IG9uIEJ1aWxkaW5nQmxvY2tCYXNlXG5cdFx0dGhpcy5pbnRlcm5hbE1ldGFkYXRhID8/PSB7XG5cdFx0XHRuYW1lc3BhY2U6IFwiXCIsXG5cdFx0XHRuYW1lOiBcIlwiLFxuXHRcdFx0cHJvcGVydGllczoge30sXG5cdFx0XHRhZ2dyZWdhdGlvbnM6IHt9LFxuXHRcdFx0c3RlcmVvdHlwZTogXCJ4bWxtYWNyb1wiXG5cdFx0fTtcblx0XHRyZXR1cm4gdGhpcy5pbnRlcm5hbE1ldGFkYXRhO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBpc1J1bnRpbWU6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRwcm90ZWN0ZWQgaXNQdWJsaWMgPSBmYWxzZTtcblxuXHRwcml2YXRlIHJlc291cmNlTW9kZWw/OiBSZXNvdXJjZU1vZGVsO1xuXG5cdHByb3RlY3RlZCBpZD86IHN0cmluZztcblxuXHRjb25zdHJ1Y3Rvcihwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIF9jb250cm9sQ29uZmlndXJhdGlvbj86IHVua25vd24sIF92aXNpdG9yU2V0dGluZ3M/OiBUZW1wbGF0ZVByb2Nlc3NvclNldHRpbmdzKSB7XG5cdFx0T2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2goKHByb3BOYW1lKSA9PiB7XG5cdFx0XHR0aGlzW3Byb3BOYW1lIGFzIGtleW9mIHRoaXNdID0gcHJvcHNbcHJvcE5hbWVdIGFzIG5ldmVyO1xuXHRcdH0pO1xuXG5cdFx0dGhpcy5yZXNvdXJjZU1vZGVsID0gX3Zpc2l0b3JTZXR0aW5ncz8ubW9kZWxzPy5bXCJzYXAuZmUuaTE4blwiXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBPbmx5IHVzZWQgaW50ZXJuYWxseVxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHVibGljIGdldFRlbXBsYXRlPyhvTm9kZT86IEVsZW1lbnQpOiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIENvbnZlcnQgdGhlIGdpdmVuIGxvY2FsIGVsZW1lbnQgSUQgdG8gYSBnbG9iYWxseSB1bmlxdWUgSUQgYnkgcHJlZml4aW5nIHdpdGggdGhlIEJ1aWxkaW5nIEJsb2NrIElELlxuXHQgKlxuXHQgKiBAcGFyYW0gc3RyaW5nUGFydHNcblx0ICogQHJldHVybnMgRWl0aGVyIHRoZSBnbG9iYWwgSUQgb3IgdW5kZWZpbmVkIGlmIHRoZSBCdWlsZGluZyBCbG9jayBkb2Vzbid0IGhhdmUgYW4gSURcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHByb3RlY3RlZCBjcmVhdGVJZCguLi5zdHJpbmdQYXJ0czogc3RyaW5nW10pIHtcblx0XHQvLyBJZiB0aGUgY2hpbGQgaW5zdGFuY2UgaGFzIGFuIElEIHByb3BlcnR5IHVzZSBpdCBvdGhlcndpc2UgcmV0dXJuIHVuZGVmaW5lZFxuXHRcdGlmICh0aGlzLmlkKSB7XG5cdFx0XHRyZXR1cm4gZ2VuZXJhdGUoW3RoaXMuaWQsIC4uLnN0cmluZ1BhcnRzXSk7XG5cdFx0fVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBJRCBvZiB0aGUgY29udGVudCBjb250cm9sLlxuXHQgKlxuXHQgKiBAcGFyYW0gYnVpbGRpbmdCbG9ja0lkXG5cdCAqIEByZXR1cm5zIFJldHVybiB0aGUgSURcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHByb3RlY3RlZCBnZXRDb250ZW50SWQoYnVpbGRpbmdCbG9ja0lkOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gYCR7YnVpbGRpbmdCbG9ja0lkfS1jb250ZW50YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRyYW5zbGF0ZWQgdGV4dCBmb3IgYSBnaXZlbiByZXNvdXJjZSBrZXkuXG5cdCAqXG5cdCAqIEBwYXJhbSB0ZXh0SUQgSUQgb2YgdGhlIFRleHRcblx0ICogQHBhcmFtIHBhcmFtZXRlcnMgQXJyYXkgb2YgcGFyYW1ldGVycyB0aGF0IGFyZSB1c2VkIHRvIGNyZWF0ZSB0aGUgdGV4dFxuXHQgKiBAcGFyYW0gbWV0YVBhdGggRW50aXR5IHNldCBuYW1lIG9yIGFjdGlvbiBuYW1lIHRvIG92ZXJsb2FkIGEgdGV4dFxuXHQgKiBAcmV0dXJucyBEZXRlcm1pbmVkIHRleHRcblx0ICovXG5cdGdldFRyYW5zbGF0ZWRUZXh0KHRleHRJRDogc3RyaW5nLCBwYXJhbWV0ZXJzPzogdW5rbm93bltdLCBtZXRhUGF0aD86IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMucmVzb3VyY2VNb2RlbD8uZ2V0VGV4dCh0ZXh0SUQsIHBhcmFtZXRlcnMsIG1ldGFQYXRoKSB8fCB0ZXh0SUQ7XG5cdH1cblxuXHRwcm90ZWN0ZWQgZ2V0Q29udmVydGVyQ29udGV4dCA9IGZ1bmN0aW9uIChcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdFx0c2V0dGluZ3M6IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MsXG5cdFx0ZXh0cmFQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXHQpIHtcblx0XHRjb25zdCBhcHBDb21wb25lbnQgPSBzZXR0aW5ncy5hcHBDb21wb25lbnQ7XG5cdFx0Y29uc3Qgb3JpZ2luYWxWaWV3RGF0YSA9IHNldHRpbmdzLm1vZGVscy52aWV3RGF0YT8uZ2V0RGF0YSgpO1xuXHRcdGxldCB2aWV3RGF0YSA9IE9iamVjdC5hc3NpZ24oe30sIG9yaWdpbmFsVmlld0RhdGEpO1xuXHRcdGRlbGV0ZSB2aWV3RGF0YS5yZXNvdXJjZU1vZGVsO1xuXHRcdGRlbGV0ZSB2aWV3RGF0YS5hcHBDb21wb25lbnQ7XG5cdFx0dmlld0RhdGEgPSBkZWVwQ2xvbmUodmlld0RhdGEpO1xuXHRcdHZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uID0gbWVyZ2Uodmlld0RhdGEuY29udHJvbENvbmZpZ3VyYXRpb24sIGV4dHJhUGFyYW1zIHx8IHt9KTtcblx0XHRyZXR1cm4gQ29udmVydGVyQ29udGV4dC5jcmVhdGVDb252ZXJ0ZXJDb250ZXh0Rm9yTWFjcm8oXG5cdFx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0Lm5hbWUsXG5cdFx0XHRzZXR0aW5ncy5tb2RlbHMubWV0YU1vZGVsLFxuXHRcdFx0YXBwQ29tcG9uZW50Py5nZXREaWFnbm9zdGljcygpLFxuXHRcdFx0bWVyZ2UsXG5cdFx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLmNvbnRleHRMb2NhdGlvbixcblx0XHRcdHZpZXdEYXRhXG5cdFx0KTtcblx0fTtcblxuXHQvKipcblx0ICogT25seSB1c2VkIGludGVybmFsbHkuXG5cdCAqXG5cdCAqIEByZXR1cm5zIEFsbCB0aGUgcHJvcGVydGllcyBkZWZpbmVkIG9uIHRoZSBvYmplY3Qgd2l0aCB0aGVpciB2YWx1ZXNcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHB1YmxpYyBnZXRQcm9wZXJ0aWVzKCkge1xuXHRcdGNvbnN0IGFsbFByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIE9iamVjdFZhbHVlPiA9IHt9O1xuXHRcdGZvciAoY29uc3Qgb0luc3RhbmNlS2V5IGluIHRoaXMpIHtcblx0XHRcdGlmICh0aGlzLmhhc093blByb3BlcnR5KG9JbnN0YW5jZUtleSkpIHtcblx0XHRcdFx0YWxsUHJvcGVydGllc1tvSW5zdGFuY2VLZXldID0gdGhpc1tvSW5zdGFuY2VLZXldIGFzIHVua25vd24gYXMgT2JqZWN0VmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBhbGxQcm9wZXJ0aWVzO1xuXHR9XG5cblx0c3RhdGljIHJlZ2lzdGVyKCkge1xuXHRcdHJlZ2lzdGVyQnVpbGRpbmdCbG9jayh0aGlzKTtcblx0fVxuXG5cdHN0YXRpYyB1bnJlZ2lzdGVyKCkge1xuXHRcdHVucmVnaXN0ZXJCdWlsZGluZ0Jsb2NrKHRoaXMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhIHBhcnQgb2Ygc3RyaW5nIGJhc2VkIG9uIHRoZSBjb25kaXRpb24uXG5cdCAqXG5cdCAqIEBwYXJhbSBjb25kaXRpb25cblx0ICogQHBhcmFtIHBhcnRUb0FkZFxuXHQgKiBAcmV0dXJucyBUaGUgcGFydCB0byBhZGQgaWYgdGhlIGNvbmRpdGlvbiBpcyB0cnVlLCBvdGhlcndpc2UgYW4gZW1wdHkgc3RyaW5nXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYWRkQ29uZGl0aW9uYWxseShjb25kaXRpb246IGJvb2xlYW4sIHBhcnRUb0FkZDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRpZiAoY29uZGl0aW9uKSB7XG5cdFx0XHRyZXR1cm4gcGFydFRvQWRkO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gXCJcIjtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQWRkIGFuIGF0dHJpYnV0ZSBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHByb3BlcnR5LlxuXHQgKiBJZiBpdCdzIHVuZGVmaW5lZCB0aGUgYXR0cmlidXRlIGlzIG5vdCBhZGRlZC5cblx0ICpcblx0ICogQHBhcmFtIGF0dHJpYnV0ZU5hbWVcblx0ICogQHBhcmFtIHZhbHVlXG5cdCAqIEByZXR1cm5zIFRoZSBhdHRyaWJ1dGUgdG8gYWRkIGlmIHRoZSB2YWx1ZSBpcyBub3QgdW5kZWZpbmVkLCBvdGhlcndpc2UgYW4gZW1wdHkgc3RyaW5nXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYXR0cihhdHRyaWJ1dGVOYW1lOiBzdHJpbmcsIHZhbHVlPzogWE1MUHJvY2Vzc29yVHlwZVZhbHVlKTogKCkgPT4gc3RyaW5nIHtcblx0XHRpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhaXNVbmRlZmluZWRFeHByZXNzaW9uKHZhbHVlKSkge1xuXHRcdFx0cmV0dXJuICgpID0+IHhtbGAke2F0dHJpYnV0ZU5hbWV9PVwiJHt2YWx1ZX1cImA7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiAoKSA9PiBcIlwiO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7OztFQVdBO0FBQ0E7QUFDQTtFQUZBLElBR3FCQSxpQkFBaUI7SUF1QnJDLDJCQUFZQyxLQUE4QixFQUFFQyxxQkFBK0IsRUFBRUMsZ0JBQTRDLEVBQUU7TUFBQTtNQUFBLEtBTmpIQyxRQUFRLEdBQUcsS0FBSztNQUFBLEtBMkRoQkMsbUJBQW1CLEdBQUcsVUFDL0JDLG1CQUF3QyxFQUN4Q0MsV0FBK0IsRUFDL0JDLFFBQW1DLEVBQ25DQyxXQUFxQyxFQUNwQztRQUFBO1FBQ0QsTUFBTUMsWUFBWSxHQUFHRixRQUFRLENBQUNFLFlBQVk7UUFDMUMsTUFBTUMsZ0JBQWdCLDRCQUFHSCxRQUFRLENBQUNJLE1BQU0sQ0FBQ0MsUUFBUSwwREFBeEIsc0JBQTBCQyxPQUFPLEVBQUU7UUFDNUQsSUFBSUQsUUFBUSxHQUFHRSxNQUFNLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRUwsZ0JBQWdCLENBQUM7UUFDbEQsT0FBT0UsUUFBUSxDQUFDSSxhQUFhO1FBQzdCLE9BQU9KLFFBQVEsQ0FBQ0gsWUFBWTtRQUM1QkcsUUFBUSxHQUFHSyxTQUFTLENBQUNMLFFBQVEsQ0FBQztRQUM5QkEsUUFBUSxDQUFDTSxvQkFBb0IsR0FBR0MsS0FBSyxDQUFDUCxR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
|
|
@@ -0,0 +1,6 @@
|
|
|
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/base/util/deepClone","sap/base/util/merge","sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor","sap/fe/core/converters/ConverterContext","sap/fe/core/helpers/BindingToolkit","sap/fe/core/helpers/StableIdHelper"],function(e,t,r,n,i,o){"use strict";var a={};var s=o.generate;var l=i.isUndefinedExpression;var u=r.xml;var c=r.unregisterBuildingBlock;var f=r.registerBuildingBlock;function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,v(n.key),n)}}function p(e,t,r){if(t)d(e.prototype,t);if(r)d(e,r);Object.defineProperty(e,"prototype",{writable:false});return e}function v(e){var t=g(e,"string");return typeof t==="symbol"?t:String(t)}function g(e,t){if(typeof e!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==undefined){var n=r.call(e,t||"default");if(typeof n!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}let m=function(){function r(r,i,o){var a;this.isPublic=false;this.getConverterContext=function(r,i,o,a){var s;const l=o.appComponent;const u=(s=o.models.viewData)===null||s===void 0?void 0:s.getData();let c=Object.assign({},u);delete c.resourceModel;delete c.appComponent;c=e(c);c.controlConfiguration=t(c.controlConfiguration,a||{});return n.createConverterContextForMacro(r.startingEntitySet.name,o.models.metaModel,l===null||l===void 0?void 0:l.getDiagnostics(),t,r.contextLocation,c)};Object.keys(r).forEach(e=>{this[e]=r[e]});this.resourceModel=o===null||o===void 0?void 0:(a=o.models)===null||a===void 0?void 0:a["sap.fe.i18n"]}a=r;var i=r.prototype;i.createId=function e(){if(this.id){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++){r[n]=arguments[n]}return s([this.id,...r])}return undefined};i.getContentId=function e(t){return`${t}-content`};i.getTranslatedText=function e(t,r,n){var i;return((i=this.resourceModel)===null||i===void 0?void 0:i.getText(t,r,n))||t};i.getProperties=function e(){const t={};for(const e in this){if(this.hasOwnProperty(e)){t[e]=this[e]}}return t};r.register=function e(){f(this)};r.unregister=function e(){c(this)};i.addConditionally=function e(t,r){if(t){return r}else{return""}};i.attr=function e(t,r){if(r!==undefined&&!l(r)){return()=>u`${t}="${r}"`}else{return()=>""}};p(r,null,[{key:"metadata",get:function(){this.internalMetadata??={namespace:"",name:"",properties:{},aggregations:{},stereotype:"xmlmacro"};return this.internalMetadata}}]);return r}();m.isRuntime=false;a=m;return a},false);
|
|
6
|
+
//# sourceMappingURL=BuildingBlockBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuildingBlockBase.js","names":["sap","ui","define","deepClone","merge","BuildingBlockTemplateProcessor","ConverterContext","BindingToolkit","StableIdHelper","_exports","generate","isUndefinedExpression","xml","unregisterBuildingBlock","registerBuildingBlock","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","Constructor","protoProps","staticProps","prototype","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","BuildingBlockBase","_controlConfiguration","_visitorSettings","_visitorSettings$mode","this","isPublic","getConverterContext","dataModelObjectPath","contextPath","settings","extraParams","_settings$models$view","appComponent","originalViewData","models","viewData","getData","assign","resourceModel","controlConfiguration","createConverterContextForMacro","startingEntitySet","name","metaModel","getDiagnostics","contextLocation","keys","forEach","propName","_proto","createId","id","_len","arguments","stringParts","Array","_key","getContentId","buildingBlockId","getTranslatedText","textID","parameters","metaPath","_this$resourceModel","getText","getProperties","allProperties","oInstanceKey","hasOwnProperty","register","unregister","addConditionally","condition","partToAdd","attr","attributeName","value","get","internalMetadata","namespace","properties","aggregations","stereotype","isRuntime"],"sources":["BuildingBlockBase-dbg.js"],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import deepClone from "sap/base/util/deepClone";
|
|
2
|
+
import merge from "sap/base/util/merge";
|
|
3
|
+
import type { BuildingBlockMetadata, ObjectValue } from "sap/fe/core/buildingBlocks/BuildingBlockSupport";
|
|
4
|
+
import type { TemplateProcessorSettings, XMLProcessorTypeValue } from "sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor";
|
|
5
|
+
import { registerBuildingBlock, unregisterBuildingBlock, xml } from "sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor";
|
|
6
|
+
import ConverterContext from "sap/fe/core/converters/ConverterContext";
|
|
7
|
+
import { isUndefinedExpression } from "sap/fe/core/helpers/BindingToolkit";
|
|
8
|
+
import { generate } from "sap/fe/core/helpers/StableIdHelper";
|
|
9
|
+
import type ResourceModel from "sap/fe/core/ResourceModel";
|
|
10
|
+
import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Base class for building blocks
|
|
14
|
+
*/
|
|
15
|
+
export default class BuildingBlockBase {
|
|
16
|
+
private static internalMetadata: BuildingBlockMetadata;
|
|
17
|
+
|
|
18
|
+
public static get metadata(): BuildingBlockMetadata {
|
|
19
|
+
// We need to store the metadata on the actual subclass, not on BuildingBlockBase
|
|
20
|
+
this.internalMetadata ??= {
|
|
21
|
+
namespace: "",
|
|
22
|
+
name: "",
|
|
23
|
+
properties: {},
|
|
24
|
+
aggregations: {},
|
|
25
|
+
stereotype: "xmlmacro"
|
|
26
|
+
};
|
|
27
|
+
return this.internalMetadata;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public static readonly isRuntime: boolean = false;
|
|
31
|
+
|
|
32
|
+
protected isPublic = false;
|
|
33
|
+
|
|
34
|
+
private resourceModel?: ResourceModel;
|
|
35
|
+
|
|
36
|
+
protected id?: string;
|
|
37
|
+
|
|
38
|
+
constructor(props: Record<string, unknown>, _controlConfiguration?: unknown, _visitorSettings?: TemplateProcessorSettings) {
|
|
39
|
+
Object.keys(props).forEach((propName) => {
|
|
40
|
+
this[propName as keyof this] = props[propName] as never;
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
this.resourceModel = _visitorSettings?.models?.["sap.fe.i18n"];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Only used internally
|
|
48
|
+
*
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
public getTemplate?(oNode?: Element): string | Promise<string | undefined> | undefined;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Convert the given local element ID to a globally unique ID by prefixing with the Building Block ID.
|
|
55
|
+
*
|
|
56
|
+
* @param stringParts
|
|
57
|
+
* @returns Either the global ID or undefined if the Building Block doesn't have an ID
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
protected createId(...stringParts: string[]) {
|
|
61
|
+
// If the child instance has an ID property use it otherwise return undefined
|
|
62
|
+
if (this.id) {
|
|
63
|
+
return generate([this.id, ...stringParts]);
|
|
64
|
+
}
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Get the ID of the content control.
|
|
70
|
+
*
|
|
71
|
+
* @param buildingBlockId
|
|
72
|
+
* @returns Return the ID
|
|
73
|
+
* @private
|
|
74
|
+
*/
|
|
75
|
+
protected getContentId(buildingBlockId: string) {
|
|
76
|
+
return `${buildingBlockId}-content`;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Returns translated text for a given resource key.
|
|
81
|
+
*
|
|
82
|
+
* @param textID ID of the Text
|
|
83
|
+
* @param parameters Array of parameters that are used to create the text
|
|
84
|
+
* @param metaPath Entity set name or action name to overload a text
|
|
85
|
+
* @returns Determined text
|
|
86
|
+
*/
|
|
87
|
+
getTranslatedText(textID: string, parameters?: unknown[], metaPath?: string): string {
|
|
88
|
+
return this.resourceModel?.getText(textID, parameters, metaPath) || textID;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
protected getConverterContext = function (
|
|
92
|
+
dataModelObjectPath: DataModelObjectPath,
|
|
93
|
+
contextPath: string | undefined,
|
|
94
|
+
settings: TemplateProcessorSettings,
|
|
95
|
+
extraParams?: Record<string, unknown>
|
|
96
|
+
) {
|
|
97
|
+
const appComponent = settings.appComponent;
|
|
98
|
+
const originalViewData = settings.models.viewData?.getData();
|
|
99
|
+
let viewData = Object.assign({}, originalViewData);
|
|
100
|
+
delete viewData.resourceModel;
|
|
101
|
+
delete viewData.appComponent;
|
|
102
|
+
viewData = deepClone(viewData);
|
|
103
|
+
viewData.controlConfiguration = merge(viewData.controlConfiguration, extraParams || {});
|
|
104
|
+
return ConverterContext.createConverterContextForMacro(
|
|
105
|
+
dataModelObjectPath.startingEntitySet.name,
|
|
106
|
+
settings.models.metaModel,
|
|
107
|
+
appComponent?.getDiagnostics(),
|
|
108
|
+
merge,
|
|
109
|
+
dataModelObjectPath.contextLocation,
|
|
110
|
+
viewData
|
|
111
|
+
);
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Only used internally.
|
|
116
|
+
*
|
|
117
|
+
* @returns All the properties defined on the object with their values
|
|
118
|
+
* @private
|
|
119
|
+
*/
|
|
120
|
+
public getProperties() {
|
|
121
|
+
const allProperties: Record<string, ObjectValue> = {};
|
|
122
|
+
for (const oInstanceKey in this) {
|
|
123
|
+
if (this.hasOwnProperty(oInstanceKey)) {
|
|
124
|
+
allProperties[oInstanceKey] = this[oInstanceKey] as unknown as ObjectValue;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return allProperties;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
static register() {
|
|
131
|
+
registerBuildingBlock(this);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
static unregister() {
|
|
135
|
+
unregisterBuildingBlock(this);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Add a part of string based on the condition.
|
|
140
|
+
*
|
|
141
|
+
* @param condition
|
|
142
|
+
* @param partToAdd
|
|
143
|
+
* @returns The part to add if the condition is true, otherwise an empty string
|
|
144
|
+
* @private
|
|
145
|
+
*/
|
|
146
|
+
protected addConditionally(condition: boolean, partToAdd: string): string {
|
|
147
|
+
if (condition) {
|
|
148
|
+
return partToAdd;
|
|
149
|
+
} else {
|
|
150
|
+
return "";
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Add an attribute depending on the current value of the property.
|
|
156
|
+
* If it's undefined the attribute is not added.
|
|
157
|
+
*
|
|
158
|
+
* @param attributeName
|
|
159
|
+
* @param value
|
|
160
|
+
* @returns The attribute to add if the value is not undefined, otherwise an empty string
|
|
161
|
+
* @private
|
|
162
|
+
*/
|
|
163
|
+
protected attr(attributeName: string, value?: XMLProcessorTypeValue): () => string {
|
|
164
|
+
if (value !== undefined && !isUndefinedExpression(value)) {
|
|
165
|
+
return () => xml`${attributeName}="${value}"`;
|
|
166
|
+
} else {
|
|
167
|
+
return () => "";
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define([], function () {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _exports = {};
|
|
9
|
+
/**
|
|
10
|
+
* Indicates that the property shall be declared as an xml attribute that can be used from the outside of the building block.
|
|
11
|
+
*
|
|
12
|
+
* If defining a runtime Building Block, please make sure to use the correct typings: Depending on its metadata,
|
|
13
|
+
* a property can either be a {@link sap.ui.model.Context} (<code>type: 'sap.ui.model.Context'</code>),
|
|
14
|
+
* a constant (<code>bindable: false</code>), or a {@link BindingToolkitExpression} (<code>bindable: true</code>).
|
|
15
|
+
*
|
|
16
|
+
* This decorator should only be used for properties that are to be set from outside or are used in inner XML templating.
|
|
17
|
+
* If you just need simple computed properties, use undecorated, private TypeScript properties.
|
|
18
|
+
*
|
|
19
|
+
* @param attributeDefinition
|
|
20
|
+
* @returns The decorated property
|
|
21
|
+
*/
|
|
22
|
+
function blockAttribute(attributeDefinition) {
|
|
23
|
+
return function (target, propertyKey, propertyDescriptor) {
|
|
24
|
+
const metadata = target.constructor.metadata;
|
|
25
|
+
if (attributeDefinition.defaultValue === undefined) {
|
|
26
|
+
var _propertyDescriptor$i;
|
|
27
|
+
// If there is no defaultValue we can take the value from the initializer (natural way of defining defaults)
|
|
28
|
+
attributeDefinition.defaultValue = (_propertyDescriptor$i = propertyDescriptor.initializer) === null || _propertyDescriptor$i === void 0 ? void 0 : _propertyDescriptor$i.call(propertyDescriptor);
|
|
29
|
+
}
|
|
30
|
+
delete propertyDescriptor.initializer;
|
|
31
|
+
if (metadata.properties[propertyKey.toString()] === undefined) {
|
|
32
|
+
metadata.properties[propertyKey.toString()] = attributeDefinition;
|
|
33
|
+
}
|
|
34
|
+
return propertyDescriptor;
|
|
35
|
+
}; // Needed to make TS happy with those decorators;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Decorator for building blocks.
|
|
40
|
+
*
|
|
41
|
+
* This is an alias for @blockAttribute({ type: "function" }).
|
|
42
|
+
*
|
|
43
|
+
* @returns The decorated property
|
|
44
|
+
*/
|
|
45
|
+
_exports.blockAttribute = blockAttribute;
|
|
46
|
+
function blockEvent() {
|
|
47
|
+
return blockAttribute({
|
|
48
|
+
type: "function"
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Indicates that the property shall be declared as an xml aggregation that can be used from the outside of the building block.
|
|
54
|
+
*
|
|
55
|
+
* @param aggregationDefinition
|
|
56
|
+
* @returns The decorated property
|
|
57
|
+
*/
|
|
58
|
+
_exports.blockEvent = blockEvent;
|
|
59
|
+
function blockAggregation(aggregationDefinition) {
|
|
60
|
+
return function (target, propertyKey, propertyDescriptor) {
|
|
61
|
+
const metadata = target.constructor.metadata;
|
|
62
|
+
delete propertyDescriptor.initializer;
|
|
63
|
+
if (metadata.aggregations[propertyKey] === undefined) {
|
|
64
|
+
metadata.aggregations[propertyKey] = aggregationDefinition;
|
|
65
|
+
}
|
|
66
|
+
if (aggregationDefinition.isDefault === true) {
|
|
67
|
+
metadata.defaultAggregation = propertyKey;
|
|
68
|
+
}
|
|
69
|
+
return propertyDescriptor;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
_exports.blockAggregation = blockAggregation;
|
|
73
|
+
function defineBuildingBlock(oBuildingBlockDefinition) {
|
|
74
|
+
return function (classDefinition) {
|
|
75
|
+
const metadata = classDefinition.metadata;
|
|
76
|
+
metadata.namespace = oBuildingBlockDefinition.namespace;
|
|
77
|
+
metadata.publicNamespace = oBuildingBlockDefinition.publicNamespace;
|
|
78
|
+
metadata.name = oBuildingBlockDefinition.name;
|
|
79
|
+
metadata.xmlTag = oBuildingBlockDefinition.xmlTag;
|
|
80
|
+
metadata.fragment = oBuildingBlockDefinition.fragment;
|
|
81
|
+
metadata.designtime = oBuildingBlockDefinition.designtime;
|
|
82
|
+
metadata.isOpen = oBuildingBlockDefinition.isOpen;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
_exports.defineBuildingBlock = defineBuildingBlock;
|
|
86
|
+
return _exports;
|
|
87
|
+
}, false);
|
|
88
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJibG9ja0F0dHJpYnV0ZSIsImF0dHJpYnV0ZURlZmluaXRpb24iLCJ0YXJnZXQiLCJwcm9wZXJ0eUtleSIsInByb3BlcnR5RGVzY3JpcHRvciIsIm1ldGFkYXRhIiwiY29uc3RydWN0b3IiLCJkZWZhdWx0VmFsdWUiLCJ1bmRlZmluZWQiLCJpbml0aWFsaXplciIsInByb3BlcnRpZXMiLCJ0b1N0cmluZyIsImJsb2NrRXZlbnQiLCJ0eXBlIiwiYmxvY2tBZ2dyZWdhdGlvbiIsImFnZ3JlZ2F0aW9uRGVmaW5pdGlvbiIsImFnZ3JlZ2F0aW9ucyIsImlzRGVmYXVsdCIsImRlZmF1bHRBZ2dyZWdhdGlvbiIsImRlZmluZUJ1aWxkaW5nQmxvY2siLCJvQnVpbGRpbmdCbG9ja0RlZmluaXRpb24iLCJjbGFzc0RlZmluaXRpb24iLCJuYW1lc3BhY2UiLCJwdWJsaWNOYW1lc3BhY2UiLCJuYW1lIiwieG1sVGFnIiwiZnJhZ21lbnQiLCJkZXNpZ250aW1lIiwiaXNPcGVuIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJCdWlsZGluZ0Jsb2NrU3VwcG9ydC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrQmFzZSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja0Jhc2VcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIE9iamVjdFZhbHVlMiA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBDb250ZXh0IHwgdW5kZWZpbmVkIHwgb2JqZWN0IHwgbnVsbDtcbnR5cGUgT2JqZWN0VmFsdWUzPFQ+ID0gVCB8IFJlY29yZDxzdHJpbmcsIFQ+IHwgVFtdO1xuZXhwb3J0IHR5cGUgT2JqZWN0VmFsdWUgPSBPYmplY3RWYWx1ZTM8T2JqZWN0VmFsdWUyIHwgUmVjb3JkPHN0cmluZywgT2JqZWN0VmFsdWUyPiB8IE9iamVjdFZhbHVlMltdPjtcblxuLyoqXG4gKiBUeXBlIGZvciB0aGUgYWNjZXNzb3IgZGVjb3JhdG9yIHRoYXQgd2UgZW5kIHVwIHdpdGggaW4gYmFiZWwuXG4gKi9cbnR5cGUgQWNjZXNzb3JEZXNjcmlwdG9yPFQ+ID0gVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4gJiB7IGluaXRpYWxpemVyPzogKCkgPT4gVCB9O1xudHlwZSBCYXNlQnVpbGRpbmdCbG9ja1Byb3BlcnR5RGVmaW5pdGlvbiA9IHtcblx0dHlwZTogc3RyaW5nO1xuXHRpc1B1YmxpYz86IGJvb2xlYW47XG5cdC8qKiBAZGVwcmVjYXRlZCBQcmVmZXIgdGhlIG5hdGl2ZSBUeXBlU2NyaXB0IGluaXRpYWxpemVyICovXG5cdGRlZmF1bHRWYWx1ZT86IHVua25vd247XG5cdC8qKiBNYWtlIHN1cmUgdG8gdHlwZSB0aGUgb3B0aW9uYWxpdHkgb2YgeW91ciBUeXBlU2NyaXB0IHByb3BlcnR5IGNvcnJlY3RseSAqL1xuXHRyZXF1aXJlZD86IGJvb2xlYW47XG5cdC8qKiBUaGlzIHByb3BlcnR5IGlzIG9ubHkgY29uc2lkZXJlZCBmb3IgcnVudGltZSBidWlsZGluZyBibG9ja3MgKi9cblx0YmluZGFibGU/OiBib29sZWFuO1xuXHQvKiogRnVuY3Rpb24gdGhhdCBhbGxvd3MgdG8gdmFsaWRhdGUgb3IgdHJhbnNmb3JtIHRoZSBnaXZlbiBpbnB1dCAqL1xuXHR2YWxpZGF0ZT86IEZ1bmN0aW9uO1xufTtcbmV4cG9ydCB0eXBlIEJ1aWxkaW5nQmxvY2tNZXRhZGF0YUNvbnRleHREZWZpbml0aW9uID0gQmFzZUJ1aWxkaW5nQmxvY2tQcm9wZXJ0eURlZmluaXRpb24gJiB7XG5cdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIjtcblx0ZXhwZWN0ZWRUeXBlczogc3RyaW5nW107XG5cdGV4cGVjdGVkQW5ub3RhdGlvblR5cGVzOiBzdHJpbmdbXTtcbn07XG4vKipcbiAqIEF2YWlsYWJsZSBwcm9wZXJ0aWVzIHRvIGRlZmluZSBhIGJ1aWxkaW5nIGJsb2NrIHByb3BlcnR5XG4gKi9cbmV4cG9ydCB0eXBlIEJ1aWxkaW5nQmxvY2tQcm9wZXJ0eURlZmluaXRpb24gPSBCYXNlQnVpbGRpbmdCbG9ja1Byb3BlcnR5RGVmaW5pdGlvbiB8IEJ1aWxkaW5nQmxvY2tNZXRhZGF0YUNvbnRleHREZWZpbml0aW9uO1xuXG4vKipcbiAqIEF2YWlsYWJsZSBwcm9wZXJ0aWVzIHRvIGRlZmluZSBhIGJ1aWxkaW5nIGJsb2NrIGFnZ3JlZ2F0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIEJ1aWxkaW5nQmxvY2tBZ2dyZWdhdGlvbkRlZmluaXRpb24gPSB7XG5cdGlzUHVibGljPzogYm9vbGVhbjtcblx0dHlwZTogc3RyaW5nO1xuXHRzbG90Pzogc3RyaW5nO1xuXHRpc0RlZmF1bHQ/OiBib29sZWFuO1xuXHQvKiogRGVmaW5lcyB3aGV0aGVyIHRoZSBlbGVtZW50IGlzIGJhc2VkIG9uIGFuIGFjdHVhbCBub2RlIHRoYXQgd2lsbCBiZSByZW5kZXJlZCBvciBvbmx5IG9uIFhNTCB0aGF0IHdpbGwgYmUgaW50ZXJwcmV0ZWQgKi9cblx0aGFzVmlydHVhbE5vZGU/OiBib29sZWFuO1xuXHRwcm9jZXNzQWdncmVnYXRpb25zPzogRnVuY3Rpb247XG59O1xuXG4vKipcbiAqIEF2YWlsYWJsZSBwcm9wZXJ0aWVzIHRvIGRlZmluZSBhIGJ1aWxkaW5nIGJsb2NrIGNsYXNzXG4gKi9cbmV4cG9ydCB0eXBlIEJ1aWxkaW5nQmxvY2tEZWZpbml0aW9uID0ge1xuXHRuYW1lOiBzdHJpbmc7XG5cdG5hbWVzcGFjZT86IHN0cmluZztcblx0cHVibGljTmFtZXNwYWNlPzogc3RyaW5nO1xuXHR4bWxUYWc/OiBzdHJpbmc7XG5cdGZyYWdtZW50Pzogc3RyaW5nO1xuXHRkZXNpZ250aW1lPzogc3RyaW5nO1xuXHRpc09wZW4/OiBib29sZWFuO1xufSAmICh7IG5hbWVzcGFjZTogc3RyaW5nIH0gfCB7IHB1YmxpY05hbWVzcGFjZTogc3RyaW5nIH0pO1xuXG4vKipcbiAqIE1ldGFkYXRhIGF0dGFjaGVkIHRvIGVhY2ggYnVpbGRpbmcgYmxvY2sgY2xhc3NcbiAqL1xuZXhwb3J0IHR5cGUgQnVpbGRpbmdCbG9ja01ldGFkYXRhID0gQnVpbGRpbmdCbG9ja0RlZmluaXRpb24gJiB7XG5cdHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIEJ1aWxkaW5nQmxvY2tQcm9wZXJ0eURlZmluaXRpb24+O1xuXHRhZ2dyZWdhdGlvbnM6IFJlY29yZDxzdHJpbmcsIEJ1aWxkaW5nQmxvY2tBZ2dyZWdhdGlvbkRlZmluaXRpb24+O1xuXHRzdGVyZW90eXBlOiBzdHJpbmc7XG5cdGRlZmF1bHRBZ2dyZWdhdGlvbj86IHN0cmluZztcbn07XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHByb3BlcnR5IHNoYWxsIGJlIGRlY2xhcmVkIGFzIGFuIHhtbCBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgdXNlZCBmcm9tIHRoZSBvdXRzaWRlIG9mIHRoZSBidWlsZGluZyBibG9jay5cbiAqXG4gKiBJZiBkZWZpbmluZyBhIHJ1bnRpbWUgQnVpbGRpbmcgQmxvY2ssIHBsZWFzZSBtYWtlIHN1cmUgdG8gdXNlIHRoZSBjb3JyZWN0IHR5cGluZ3M6IERlcGVuZGluZyBvbiBpdHMgbWV0YWRhdGEsXG4gKiBhIHByb3BlcnR5IGNhbiBlaXRoZXIgYmUgYSB7QGxpbmsgc2FwLnVpLm1vZGVsLkNvbnRleHR9ICg8Y29kZT50eXBlOiAnc2FwLnVpLm1vZGVsLkNvbnRleHQnPC9jb2RlPiksXG4gKiBhIGNvbnN0YW50ICg8Y29kZT5iaW5kYWJsZTogZmFsc2U8L2NvZGU+KSwgb3IgYSB7QGxpbmsgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9ufSAoPGNvZGU+YmluZGFibGU6IHRydWU8L2NvZGU+KS5cbiAqXG4gKiBUaGlzIGRlY29yYXRvciBzaG91bGQgb25seSBiZSB1c2VkIGZvciBwcm9wZXJ0aWVzIHRoYXQgYXJlIHRvIGJlIHNldCBmcm9tIG91dHNpZGUgb3IgYXJlIHVzZWQgaW4gaW5uZXIgWE1MIHRlbXBsYXRpbmcuXG4gKiBJZiB5b3UganVzdCBuZWVkIHNpbXBsZSBjb21wdXRlZCBwcm9wZXJ0aWVzLCB1c2UgdW5kZWNvcmF0ZWQsIHByaXZhdGUgVHlwZVNjcmlwdCBwcm9wZXJ0aWVzLlxuICpcbiAqIEBwYXJhbSBhdHRyaWJ1dGVEZWZpbml0aW9uXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBibG9ja0F0dHJpYnV0ZShhdHRyaWJ1dGVEZWZpbml0aW9uOiBCdWlsZGluZ0Jsb2NrUHJvcGVydHlEZWZpbml0aW9uKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogQnVpbGRpbmdCbG9ja0Jhc2UsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBTeW1ib2wsIHByb3BlcnR5RGVzY3JpcHRvcjogQWNjZXNzb3JEZXNjcmlwdG9yPHVua25vd24+KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSAodGFyZ2V0LmNvbnN0cnVjdG9yIGFzIHR5cGVvZiBCdWlsZGluZ0Jsb2NrQmFzZSkubWV0YWRhdGE7XG5cdFx0aWYgKGF0dHJpYnV0ZURlZmluaXRpb24uZGVmYXVsdFZhbHVlID09PSB1bmRlZmluZWQpIHtcblx0XHRcdC8vIElmIHRoZXJlIGlzIG5vIGRlZmF1bHRWYWx1ZSB3ZSBjYW4gdGFrZSB0aGUgdmFsdWUgZnJvbSB0aGUgaW5pdGlhbGl6ZXIgKG5hdHVyYWwgd2F5IG9mIGRlZmluaW5nIGRlZmF1bHRzKVxuXHRcdFx0YXR0cmlidXRlRGVmaW5pdGlvbi5kZWZhdWx0VmFsdWUgPSBwcm9wZXJ0eURlc2NyaXB0b3IuaW5pdGlhbGl6ZXI/LigpO1xuXHRcdH1cblx0XHRkZWxldGUgcHJvcGVydHlEZXNjcmlwdG9yLmluaXRpYWxpemVyO1xuXHRcdGlmIChtZXRhZGF0YS5wcm9wZXJ0aWVzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID09PSB1bmRlZmluZWQpIHtcblx0XHRcdG1ldGFkYXRhLnByb3BlcnRpZXNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0gPSBhdHRyaWJ1dGVEZWZpbml0aW9uO1xuXHRcdH1cblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgdW5rbm93biBhcyBQcm9wZXJ0eURlY29yYXRvcjsgLy8gTmVlZGVkIHRvIG1ha2UgVFMgaGFwcHkgd2l0aCB0aG9zZSBkZWNvcmF0b3JzO1xufVxuXG4vKipcbiAqIERlY29yYXRvciBmb3IgYnVpbGRpbmcgYmxvY2tzLlxuICpcbiAqIFRoaXMgaXMgYW4gYWxpYXMgZm9yIEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwiZnVuY3Rpb25cIiB9KS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBibG9ja0V2ZW50KCk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJmdW5jdGlvblwiIH0pO1xufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSBwcm9wZXJ0eSBzaGFsbCBiZSBkZWNsYXJlZCBhcyBhbiB4bWwgYWdncmVnYXRpb24gdGhhdCBjYW4gYmUgdXNlZCBmcm9tIHRoZSBvdXRzaWRlIG9mIHRoZSBidWlsZGluZyBibG9jay5cbiAqXG4gKiBAcGFyYW0gYWdncmVnYXRpb25EZWZpbml0aW9uXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBibG9ja0FnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uRGVmaW5pdGlvbjogQnVpbGRpbmdCbG9ja0FnZ3JlZ2F0aW9uRGVmaW5pdGlvbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IEJ1aWxkaW5nQmxvY2tCYXNlLCBwcm9wZXJ0eUtleTogc3RyaW5nLCBwcm9wZXJ0eURlc2NyaXB0b3I6IEFjY2Vzc29yRGVzY3JpcHRvcjx1bmtub3duPikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gKHRhcmdldC5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgQnVpbGRpbmdCbG9ja0Jhc2UpLm1ldGFkYXRhO1xuXHRcdGRlbGV0ZSBwcm9wZXJ0eURlc2NyaXB0b3IuaW5pdGlhbGl6ZXI7XG5cdFx0aWYgKG1ldGFkYXRhLmFnZ3JlZ2F0aW9uc1twcm9wZXJ0eUtleV0gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0bWV0YWRhdGEuYWdncmVnYXRpb25zW3Byb3BlcnR5S2V5XSA9IGFnZ3JlZ2F0aW9uRGVmaW5pdGlvbjtcblx0XHR9XG5cdFx0aWYgKGFnZ3JlZ2F0aW9uRGVmaW5pdGlvbi5pc0RlZmF1bHQgPT09IHRydWUpIHtcblx0XHRcdG1ldGFkYXRhLmRlZmF1bHRBZ2dyZWdhdGlvbiA9IHByb3BlcnR5S2V5O1xuXHRcdH1cblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgdW5rbm93biBhcyBQcm9wZXJ0eURlY29yYXRvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUJ1aWxkaW5nQmxvY2sob0J1aWxkaW5nQmxvY2tEZWZpbml0aW9uOiBCdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbik6IENsYXNzRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChjbGFzc0RlZmluaXRpb246IFBhcnRpYWw8dHlwZW9mIEJ1aWxkaW5nQmxvY2tCYXNlPikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gY2xhc3NEZWZpbml0aW9uLm1ldGFkYXRhITtcblx0XHRtZXRhZGF0YS5uYW1lc3BhY2UgPSBvQnVpbGRpbmdCbG9ja0RlZmluaXRpb24ubmFtZXNwYWNlO1xuXHRcdG1ldGFkYXRhLnB1YmxpY05hbWVzcGFjZSA9IG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5wdWJsaWNOYW1lc3BhY2U7XG5cdFx0bWV0YWRhdGEubmFtZSA9IG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5uYW1lO1xuXHRcdG1ldGFkYXRhLnhtbFRhZyA9IG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi54bWxUYWc7XG5cdFx0bWV0YWRhdGEuZnJhZ21lbnQgPSBvQnVpbGRpbmdCbG9ja0RlZmluaXRpb24uZnJhZ21lbnQ7XG5cdFx0bWV0YWRhdGEuZGVzaWdudGltZSA9IG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5kZXNpZ250aW1lO1xuXHRcdG1ldGFkYXRhLmlzT3BlbiA9IG9CdWlsZGluZ0Jsb2NrRGVmaW5pdGlvbi5pc09wZW47XG5cdH07XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7O0VBcUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ08sU0FBU0EsY0FBYyxDQUFDQyxtQkFBb0QsRUFBcUI7SUFDdkcsT0FBTyxVQUFVQyxNQUF5QixFQUFFQyxXQUE0QixFQUFFQyxrQkFBK0MsRUFBRTtNQUMxSCxNQUFNQyxRQUFRLEdBQUlILE1BQU0sQ0FBQ0ksV0FBVyxDQUE4QkQsUUFBUTtNQUMxRSxJQUFJSixtQkFBbUIsQ0FBQ00sWUFBWSxLQUFLQyxTQUFTLEVBQUU7UUFBQTtRQUNuRDtRQUNBUCxtQkFBbUIsQ0FBQ00sWUFBWSw0QkFBR0gsa0JBQWtCLENBQUNLLFdBQVcsMERBQTlCLDJCQUFBTCxrQkFBa0IsQ0FBZ0I7TUFDdEU7TUFDQSxPQUFPQSxrQkFBa0IsQ0FBQ0ssV0FBVztNQUNyQyxJQUFJSixRQUFRLENBQUNLLFVBQVUsQ0FBQ1AsV0FBVyxDQUFDUSxRQUFRLEVBQUUsQ0FBQyxLQUFLSCxTQUFTLEVBQUU7UUFDOURILFFBQVEsQ0FBQ0ssVUFBVSxDQUFDUCxXQUFXLENBQUNRLFFBQVEsRUFBRSxDQUFDLEdBQUdWLG1CQUFtQjtNQUNsRTtNQUVBLE9BQU9HLGtCQUFrQjtJQUMxQixDQUFDLENBQWlDLENBQUM7RUFDcEM7O0VBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFOQTtFQU9PLFNBQVNRLFVBQVUsR0FBc0I7SUFDL0MsT0FBT1osY0FBYyxDQUFDO01BQUVhLElBQUksRUFBRTtJQUFXLENBQUMsQ0FBQztFQUM1Qzs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQTtFQU1PLFNBQVNDLGdCQUFnQixDQUFDQyxxQkFBeUQsRUFBcUI7SUFDOUcsT0FBTyxVQUFVYixNQUF5QixFQUFFQyxXQUFtQixFQUFFQyxrQkFBK0MsRUFBRTtNQUNqSCxNQUFNQyxRQUFRLEdBQUlILE1BQU0sQ0FBQ0ksV0FBVyxDQUE4QkQsUUFBUTtNQUMxRSxPQUFPRCxrQkFBa0IsQ0FBQ0ssV0FBVztNQUNyQyxJQUFJSixRQUFRLENBQUNXLFlBQVksQ0FBQ2IsV0FBVyxDQUFDLEtBQUtLLFNBQVMsRUFBRTtRQUNyREgsUUFBUSxDQUFDVyxZQUFZLENBQUNiLFdBQVcsQ0FBQyxHQUFHWSxxQkFBcUI7TUFDM0Q7TUFDQSxJQUFJQSxxQkFBcUIsQ0FBQ0UsU0FBUyxLQUFLLElBQUksRUFBRTtRQUM3Q1osUUFBUSxDQUFDYSxrQkFBa0IsR0FBR2YsV0FBVztNQUMxQztNQUVBLE9BQU9DLGtCQUFrQjtJQUMxQixDQUFDO0VBQ0Y7RUFBQztFQUVNLFNBQVNlLG1CQUFtQixDQUFDQyx3QkFBaUQsRUFBa0I7SUFDdEcsT0FBTyxVQUFVQyxlQUFrRCxFQUFFO01BQ3BFLE1BQU1oQixRQUFRLEdBQUdnQixlQUFlLENBQUNoQixRQUFTO01BQzFDQSxRQUFRLENBQUNpQixTQUFTLEdBQUdGLHdCQUF3QixDQUFDRSxTQUFTO01BQ3ZEakIsUUFBUSxDQUFDa0IsZUFBZSxHQUFHSCx3QkFBd0IsQ0FBQ0csZUFBZTtNQUNuRWxCLFFBQVEsQ0FBQ21CLElBQUksR0FBR0osd0JBQXdCLENBQUNJLElBQUk7TUFDN0NuQixRQUFRLENBQUNvQixNQUFNLEdBQUdMLHdCQUF3QixDQUFDSyxNQUFNO01BQ2pEcEIsUUFBUSxDQUFDcUIsUUFBUSxHQUFHTix3QkFBd0IsQ0FBQ00sUUFBUTtNQUNyRHJCLFFBQVEsQ0FBQ3NCLFVBQVUsR0FBR1Asd0JBQXdCLENBQUNPLFVBQVU7TUFDekR0QixRQUFRLENBQUN1QixNQUFNLEdBQUdSLHdCQUF3QixDQUFDUSxNQUFNO0lBQ2xELENBQUM7RUFDRjtFQUFDO0VBQUE7QUFBQSJ9
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define([],function(){"use strict";var e={};function n(e){return function(n,t,i){const a=n.constructor.metadata;if(e.defaultValue===undefined){var r;e.defaultValue=(r=i.initializer)===null||r===void 0?void 0:r.call(i)}delete i.initializer;if(a.properties[t.toString()]===undefined){a.properties[t.toString()]=e}return i}}e.blockAttribute=n;function t(){return n({type:"function"})}e.blockEvent=t;function i(e){return function(n,t,i){const a=n.constructor.metadata;delete i.initializer;if(a.aggregations[t]===undefined){a.aggregations[t]=e}if(e.isDefault===true){a.defaultAggregation=t}return i}}e.blockAggregation=i;function a(e){return function(n){const t=n.metadata;t.namespace=e.namespace;t.publicNamespace=e.publicNamespace;t.name=e.name;t.xmlTag=e.xmlTag;t.fragment=e.fragment;t.designtime=e.designtime;t.isOpen=e.isOpen}}e.defineBuildingBlock=a;return e},false);
|
|
6
|
+
//# sourceMappingURL=BuildingBlockSupport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuildingBlockSupport.js","names":["sap","ui","define","_exports","blockAttribute","attributeDefinition","target","propertyKey","propertyDescriptor","metadata","constructor","defaultValue","undefined","_propertyDescriptor$i","initializer","call","properties","toString","blockEvent","type","blockAggregation","aggregationDefinition","aggregations","isDefault","defaultAggregation","defineBuildingBlock","oBuildingBlockDefinition","classDefinition","namespace","publicNamespace","name","xmlTag","fragment","designtime","isOpen"],"sources":["BuildingBlockSupport-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,GAAI,WAChB,aAEA,IAAIC,EAAW,CAAC,EAchB,SAASC,EAAeC,GACtB,OAAO,SAAUC,EAAQC,EAAaC,GACpC,MAAMC,EAAWH,EAAOI,YAAYD,SACpC,GAAIJ,EAAoBM,eAAiBC,UAAW,CAClD,IAAIC,EAEJR,EAAoBM,cAAgBE,EAAwBL,EAAmBM,eAAiB,MAAQD,SAA+B,OAAS,EAAIA,EAAsBE,KAAKP,EACjL,QACOA,EAAmBM,YAC1B,GAAIL,EAASO,WAAWT,EAAYU,cAAgBL,UAAW,CAC7DH,EAASO,WAAWT,EAAYU,YAAcZ,CAChD,CACA,OAAOG,CACT,CACF,CASAL,EAASC,eAAiBA,EAC1B,SAASc,IACP,OAAOd,EAAe,CACpBe,KAAM,YAEV,CAQAhB,EAASe,WAAaA,EACtB,SAASE,EAAiBC,GACxB,OAAO,SAAUf,EAAQC,EAAaC,GACpC,MAAMC,EAAWH,EAAOI,YAAYD,gBAC7BD,EAAmBM,YAC1B,GAAIL,EAASa,aAAaf,KAAiBK,UAAW,CACpDH,EAASa,aAAaf,GAAec,CACvC,CACA,GAAIA,EAAsBE,YAAc,KAAM,CAC5Cd,EAASe,mBAAqBjB,CAChC,CACA,OAAOC,CACT,CACF,CACAL,EAASiB,iBAAmBA,EAC5B,SAASK,EAAoBC,GAC3B,OAAO,SAAUC,GACf,MAAMlB,EAAWkB,EAAgBlB,SACjCA,EAASmB,UAAYF,EAAyBE,UAC9CnB,EAASoB,gBAAkBH,EAAyBG,gBACpDpB,EAASqB,KAAOJ,EAAyBI,KACzCrB,EAASsB,OAASL,EAAyBK,OAC3CtB,EAASuB,SAAWN,EAAyBM,SAC7CvB,EAASwB,WAAaP,EAAyBO,WAC/CxB,EAASyB,OAASR,EAAyBQ,MAC7C,CACF,CACA/B,EAASsB,oBAAsBA,EAC/B,OAAOtB,CACT,EAAG"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import type BuildingBlockBase from "sap/fe/core/buildingBlocks/BuildingBlockBase";
|
|
2
|
+
import type Context from "sap/ui/model/Context";
|
|
3
|
+
|
|
4
|
+
export type ObjectValue2 = string | boolean | number | Context | undefined | object | null;
|
|
5
|
+
type ObjectValue3<T> = T | Record<string, T> | T[];
|
|
6
|
+
export type ObjectValue = ObjectValue3<ObjectValue2 | Record<string, ObjectValue2> | ObjectValue2[]>;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Type for the accessor decorator that we end up with in babel.
|
|
10
|
+
*/
|
|
11
|
+
type AccessorDescriptor<T> = TypedPropertyDescriptor<T> & { initializer?: () => T };
|
|
12
|
+
type BaseBuildingBlockPropertyDefinition = {
|
|
13
|
+
type: string;
|
|
14
|
+
isPublic?: boolean;
|
|
15
|
+
/** @deprecated Prefer the native TypeScript initializer */
|
|
16
|
+
defaultValue?: unknown;
|
|
17
|
+
/** Make sure to type the optionality of your TypeScript property correctly */
|
|
18
|
+
required?: boolean;
|
|
19
|
+
/** This property is only considered for runtime building blocks */
|
|
20
|
+
bindable?: boolean;
|
|
21
|
+
/** Function that allows to validate or transform the given input */
|
|
22
|
+
validate?: Function;
|
|
23
|
+
};
|
|
24
|
+
export type BuildingBlockMetadataContextDefinition = BaseBuildingBlockPropertyDefinition & {
|
|
25
|
+
type: "sap.ui.model.Context";
|
|
26
|
+
expectedTypes: string[];
|
|
27
|
+
expectedAnnotationTypes: string[];
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Available properties to define a building block property
|
|
31
|
+
*/
|
|
32
|
+
export type BuildingBlockPropertyDefinition = BaseBuildingBlockPropertyDefinition | BuildingBlockMetadataContextDefinition;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Available properties to define a building block aggregation
|
|
36
|
+
*/
|
|
37
|
+
export type BuildingBlockAggregationDefinition = {
|
|
38
|
+
isPublic?: boolean;
|
|
39
|
+
type: string;
|
|
40
|
+
slot?: string;
|
|
41
|
+
isDefault?: boolean;
|
|
42
|
+
/** Defines whether the element is based on an actual node that will be rendered or only on XML that will be interpreted */
|
|
43
|
+
hasVirtualNode?: boolean;
|
|
44
|
+
processAggregations?: Function;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Available properties to define a building block class
|
|
49
|
+
*/
|
|
50
|
+
export type BuildingBlockDefinition = {
|
|
51
|
+
name: string;
|
|
52
|
+
namespace?: string;
|
|
53
|
+
publicNamespace?: string;
|
|
54
|
+
xmlTag?: string;
|
|
55
|
+
fragment?: string;
|
|
56
|
+
designtime?: string;
|
|
57
|
+
isOpen?: boolean;
|
|
58
|
+
} & ({ namespace: string } | { publicNamespace: string });
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Metadata attached to each building block class
|
|
62
|
+
*/
|
|
63
|
+
export type BuildingBlockMetadata = BuildingBlockDefinition & {
|
|
64
|
+
properties: Record<string, BuildingBlockPropertyDefinition>;
|
|
65
|
+
aggregations: Record<string, BuildingBlockAggregationDefinition>;
|
|
66
|
+
stereotype: string;
|
|
67
|
+
defaultAggregation?: string;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Indicates that the property shall be declared as an xml attribute that can be used from the outside of the building block.
|
|
72
|
+
*
|
|
73
|
+
* If defining a runtime Building Block, please make sure to use the correct typings: Depending on its metadata,
|
|
74
|
+
* a property can either be a {@link sap.ui.model.Context} (<code>type: 'sap.ui.model.Context'</code>),
|
|
75
|
+
* a constant (<code>bindable: false</code>), or a {@link BindingToolkitExpression} (<code>bindable: true</code>).
|
|
76
|
+
*
|
|
77
|
+
* This decorator should only be used for properties that are to be set from outside or are used in inner XML templating.
|
|
78
|
+
* If you just need simple computed properties, use undecorated, private TypeScript properties.
|
|
79
|
+
*
|
|
80
|
+
* @param attributeDefinition
|
|
81
|
+
* @returns The decorated property
|
|
82
|
+
*/
|
|
83
|
+
export function blockAttribute(attributeDefinition: BuildingBlockPropertyDefinition): PropertyDecorator {
|
|
84
|
+
return function (target: BuildingBlockBase, propertyKey: string | Symbol, propertyDescriptor: AccessorDescriptor<unknown>) {
|
|
85
|
+
const metadata = (target.constructor as typeof BuildingBlockBase).metadata;
|
|
86
|
+
if (attributeDefinition.defaultValue === undefined) {
|
|
87
|
+
// If there is no defaultValue we can take the value from the initializer (natural way of defining defaults)
|
|
88
|
+
attributeDefinition.defaultValue = propertyDescriptor.initializer?.();
|
|
89
|
+
}
|
|
90
|
+
delete propertyDescriptor.initializer;
|
|
91
|
+
if (metadata.properties[propertyKey.toString()] === undefined) {
|
|
92
|
+
metadata.properties[propertyKey.toString()] = attributeDefinition;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return propertyDescriptor;
|
|
96
|
+
} as unknown as PropertyDecorator; // Needed to make TS happy with those decorators;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Decorator for building blocks.
|
|
101
|
+
*
|
|
102
|
+
* This is an alias for @blockAttribute({ type: "function" }).
|
|
103
|
+
*
|
|
104
|
+
* @returns The decorated property
|
|
105
|
+
*/
|
|
106
|
+
export function blockEvent(): PropertyDecorator {
|
|
107
|
+
return blockAttribute({ type: "function" });
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Indicates that the property shall be declared as an xml aggregation that can be used from the outside of the building block.
|
|
112
|
+
*
|
|
113
|
+
* @param aggregationDefinition
|
|
114
|
+
* @returns The decorated property
|
|
115
|
+
*/
|
|
116
|
+
export function blockAggregation(aggregationDefinition: BuildingBlockAggregationDefinition): PropertyDecorator {
|
|
117
|
+
return function (target: BuildingBlockBase, propertyKey: string, propertyDescriptor: AccessorDescriptor<unknown>) {
|
|
118
|
+
const metadata = (target.constructor as typeof BuildingBlockBase).metadata;
|
|
119
|
+
delete propertyDescriptor.initializer;
|
|
120
|
+
if (metadata.aggregations[propertyKey] === undefined) {
|
|
121
|
+
metadata.aggregations[propertyKey] = aggregationDefinition;
|
|
122
|
+
}
|
|
123
|
+
if (aggregationDefinition.isDefault === true) {
|
|
124
|
+
metadata.defaultAggregation = propertyKey;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return propertyDescriptor;
|
|
128
|
+
} as unknown as PropertyDecorator;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export function defineBuildingBlock(oBuildingBlockDefinition: BuildingBlockDefinition): ClassDecorator {
|
|
132
|
+
return function (classDefinition: Partial<typeof BuildingBlockBase>) {
|
|
133
|
+
const metadata = classDefinition.metadata!;
|
|
134
|
+
metadata.namespace = oBuildingBlockDefinition.namespace;
|
|
135
|
+
metadata.publicNamespace = oBuildingBlockDefinition.publicNamespace;
|
|
136
|
+
metadata.name = oBuildingBlockDefinition.name;
|
|
137
|
+
metadata.xmlTag = oBuildingBlockDefinition.xmlTag;
|
|
138
|
+
metadata.fragment = oBuildingBlockDefinition.fragment;
|
|
139
|
+
metadata.designtime = oBuildingBlockDefinition.designtime;
|
|
140
|
+
metadata.isOpen = oBuildingBlockDefinition.isOpen;
|
|
141
|
+
};
|
|
142
|
+
}
|