@sapui5/sap.fe.core 1.111.1 → 1.112.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 +4 -4
- 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 +11 -11
- package/src/sap/fe/core/AppComponent-dbg.js +27 -5
- 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 +58 -3
- 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 +152 -365
- 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 +201 -478
- package/src/sap/fe/core/ExtensionAPI-dbg.js +2 -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 +9 -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 +163 -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 +169 -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 +147 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +905 -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} +290 -362
- 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 +181 -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 +890 -220
- 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 +974 -239
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +24 -34
- 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 +71 -61
- 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 +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +24 -0
- 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 +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -3
- 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/TransactionHelper-dbg.js +45 -31
- 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 +52 -42
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +44 -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 +43 -63
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +77 -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 +114 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1505 -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 +1985 -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 -11
- 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 -13
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +43 -41
- 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 +44 -47
- 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 +12 -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 +32 -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 +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +2 -1
- 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 +17 -1
- 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 +16 -0
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +61 -49
- 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 +65 -51
- 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 +65 -16
- 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 +62 -18
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1010 -957
- 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 +8 -8
- 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 +28 -26
- 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 +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +3 -3
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +6 -6
- 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 +15 -15
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +97 -69
- 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 +161 -137
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +3 -3
- 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 +10 -9
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +48 -44
- 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 +130 -86
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +34 -26
- 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 +62 -45
- 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 +34 -13
- 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 +54 -20
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +3 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +8 -0
- 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 +9 -8
- 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 +8 -7
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +8 -7
- 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 +9 -6
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +25 -33
- 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 +35 -35
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +11 -4
- 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 +7 -1
- 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 +2 -2
- 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 +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +5 -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 +6 -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 +6 -6
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +8 -8
- 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 +20 -18
- 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 +22 -23
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +4 -5
- 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 +4 -4
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +354 -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 +408 -0
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +13 -13
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +13 -13
- 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 +26 -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 +19 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +93 -18
- 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 +70 -17
- 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/Synchronization-dbg.js +1 -1
- package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +5 -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 +12 -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 +127 -125
- 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/messagebundle.properties +33 -0
- package/src/sap/fe/core/messagebundle_ar.properties +12 -10
- package/src/sap/fe/core/messagebundle_bg.properties +11 -9
- package/src/sap/fe/core/messagebundle_ca.properties +11 -9
- package/src/sap/fe/core/messagebundle_cs.properties +11 -9
- package/src/sap/fe/core/messagebundle_cy.properties +11 -9
- package/src/sap/fe/core/messagebundle_da.properties +11 -9
- package/src/sap/fe/core/messagebundle_de.properties +3 -1
- package/src/sap/fe/core/messagebundle_el.properties +11 -9
- package/src/sap/fe/core/messagebundle_en.properties +3 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +20 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +21 -3
- package/src/sap/fe/core/messagebundle_es.properties +11 -9
- package/src/sap/fe/core/messagebundle_es_MX.properties +11 -9
- package/src/sap/fe/core/messagebundle_et.properties +11 -9
- package/src/sap/fe/core/messagebundle_fi.properties +11 -9
- package/src/sap/fe/core/messagebundle_fr.properties +11 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +3 -1
- package/src/sap/fe/core/messagebundle_hi.properties +2 -0
- package/src/sap/fe/core/messagebundle_hr.properties +11 -9
- package/src/sap/fe/core/messagebundle_hu.properties +11 -9
- package/src/sap/fe/core/messagebundle_id.properties +3 -1
- package/src/sap/fe/core/messagebundle_it.properties +11 -9
- package/src/sap/fe/core/messagebundle_iw.properties +11 -9
- package/src/sap/fe/core/messagebundle_ja.properties +11 -9
- package/src/sap/fe/core/messagebundle_kk.properties +11 -9
- package/src/sap/fe/core/messagebundle_ko.properties +2 -0
- package/src/sap/fe/core/messagebundle_lt.properties +11 -9
- package/src/sap/fe/core/messagebundle_lv.properties +2 -0
- package/src/sap/fe/core/messagebundle_ms.properties +12 -10
- package/src/sap/fe/core/messagebundle_nl.properties +12 -10
- package/src/sap/fe/core/messagebundle_no.properties +11 -9
- package/src/sap/fe/core/messagebundle_pl.properties +2 -0
- package/src/sap/fe/core/messagebundle_pt.properties +11 -9
- package/src/sap/fe/core/messagebundle_pt_PT.properties +11 -9
- package/src/sap/fe/core/messagebundle_ro.properties +3 -1
- package/src/sap/fe/core/messagebundle_ru.properties +3 -1
- package/src/sap/fe/core/messagebundle_sh.properties +11 -9
- package/src/sap/fe/core/messagebundle_sk.properties +11 -9
- package/src/sap/fe/core/messagebundle_sl.properties +11 -9
- package/src/sap/fe/core/messagebundle_sv.properties +2 -0
- package/src/sap/fe/core/messagebundle_th.properties +11 -9
- package/src/sap/fe/core/messagebundle_tr.properties +11 -9
- package/src/sap/fe/core/messagebundle_uk.properties +11 -9
- package/src/sap/fe/core/messagebundle_vi.properties +12 -10
- package/src/sap/fe/core/messagebundle_zh_CN.properties +2 -0
- package/src/sap/fe/core/messagebundle_zh_TW.properties +2 -0
- 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 +4 -3
- 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 +15 -5
- 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 +3 -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 +29 -3
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +14 -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 +502 -333
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +18 -5
- 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 +41 -12
- 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/DataModelPathHelper-dbg.js +185 -86
- 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 +190 -82
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +2 -3
- 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 +1 -3
- 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/PropertyHelper-dbg.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +2 -2
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +4 -0
- 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/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,408 @@
|
|
|
1
|
+
// The goal of this file is to disappear as soon as we can.
|
|
2
|
+
// It is a temporary solution to move all metamodel related operation from CommonUtils to a separate file.
|
|
3
|
+
|
|
4
|
+
import type * as Edm from "@sap-ux/vocabularies-types/Edm";
|
|
5
|
+
import type {
|
|
6
|
+
FilterRestrictionsType,
|
|
7
|
+
NavigationPropertyRestrictionTypes,
|
|
8
|
+
NavigationRestrictionsType,
|
|
9
|
+
SearchRestrictionsType
|
|
10
|
+
} from "@sap-ux/vocabularies-types/vocabularies/Capabilities";
|
|
11
|
+
import type AppComponent from "sap/fe/core/AppComponent";
|
|
12
|
+
import { IssueCategory, IssueCategoryType, IssueSeverity } from "sap/fe/core/converters/helpers/IssueManager";
|
|
13
|
+
import type { CompiledBindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
|
|
14
|
+
import { compileExpression, not, or, pathInModel } from "sap/fe/core/helpers/BindingToolkit";
|
|
15
|
+
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
16
|
+
import type { DefaultTypeForEdmType } from "sap/fe/core/type/EDM";
|
|
17
|
+
import { isTypeFilterable } from "sap/fe/core/type/EDM";
|
|
18
|
+
import metaModelUtil from "sap/fe/macros/ODataMetaModelUtil";
|
|
19
|
+
import type Context from "sap/ui/model/Context";
|
|
20
|
+
import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
|
|
21
|
+
import type { ExpandPathType, MetaModelEntitySetAnnotation, MetaModelEntityType, MetaModelType } from "types/metamodel_types";
|
|
22
|
+
|
|
23
|
+
// From FilterBar.block.ts only
|
|
24
|
+
export function getSearchRestrictions(fullPath: string, metaModel: ODataMetaModel) {
|
|
25
|
+
let searchRestrictions;
|
|
26
|
+
let navigationSearchRestrictions;
|
|
27
|
+
const navigationText = "$NavigationPropertyBinding";
|
|
28
|
+
const searchRestrictionsTerm = "@Org.OData.Capabilities.V1.SearchRestrictions";
|
|
29
|
+
const entityTypePathParts = fullPath.replaceAll("%2F", "/").split("/").filter(ModelHelper.filterOutNavPropBinding);
|
|
30
|
+
const entitySetPath = ModelHelper.getEntitySetPath(fullPath, metaModel);
|
|
31
|
+
const entitySetPathParts = entitySetPath.split("/").filter(ModelHelper.filterOutNavPropBinding);
|
|
32
|
+
const isContainment = metaModel.getObject(`/${entityTypePathParts.join("/")}/$ContainsTarget`) ? true : false;
|
|
33
|
+
const containmentNavPath = isContainment ? entityTypePathParts[entityTypePathParts.length - 1] : "";
|
|
34
|
+
|
|
35
|
+
//LEAST PRIORITY - Search restrictions directly at Entity Set
|
|
36
|
+
//e.g. FR in "NS.EntityContainer/SalesOrderManage" ContextPath: /SalesOrderManage
|
|
37
|
+
if (!isContainment) {
|
|
38
|
+
searchRestrictions = metaModel.getObject(`${entitySetPath}${searchRestrictionsTerm}`) as
|
|
39
|
+
| MetaModelType<SearchRestrictionsType>
|
|
40
|
+
| undefined;
|
|
41
|
+
}
|
|
42
|
+
if (entityTypePathParts.length > 1) {
|
|
43
|
+
const navPath: string = isContainment ? containmentNavPath : entitySetPathParts[entitySetPathParts.length - 1];
|
|
44
|
+
// In case of containment we take entitySet provided as parent. And in case of normal we would remove the last navigation from entitySetPath.
|
|
45
|
+
const parentEntitySetPath = isContainment ? entitySetPath : `/${entitySetPathParts.slice(0, -1).join(`/${navigationText}/`)}`;
|
|
46
|
+
|
|
47
|
+
//HIGHEST priority - Navigation restrictions
|
|
48
|
+
//e.g. Parent "/Customer" with NavigationPropertyPath="Set" ContextPath: Customer/Set
|
|
49
|
+
const navigationRestrictions = METAMODEL_FUNCTIONS.getNavigationRestrictions(
|
|
50
|
+
metaModel,
|
|
51
|
+
parentEntitySetPath,
|
|
52
|
+
navPath.replaceAll("%2F", "/")
|
|
53
|
+
);
|
|
54
|
+
navigationSearchRestrictions = navigationRestrictions?.SearchRestrictions;
|
|
55
|
+
}
|
|
56
|
+
return navigationSearchRestrictions ?? searchRestrictions;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// From CommonUtils
|
|
60
|
+
export function getNavigationRestrictions(metaModelContext: ODataMetaModel, entitySetPath: string, navigationPath: string) {
|
|
61
|
+
const navigationRestrictions = metaModelContext.getObject(`${entitySetPath}@Org.OData.Capabilities.V1.NavigationRestrictions`) as
|
|
62
|
+
| MetaModelType<NavigationRestrictionsType>
|
|
63
|
+
| undefined;
|
|
64
|
+
const restrictedProperties = navigationRestrictions?.RestrictedProperties;
|
|
65
|
+
return restrictedProperties?.find(function (restrictedProperty) {
|
|
66
|
+
return restrictedProperty.NavigationProperty?.$NavigationPropertyPath === navigationPath;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Internal usage only
|
|
71
|
+
function isInNonFilterableProperties(metamodelContext: ODataMetaModel, entitySetPath: string, contextPath: string) {
|
|
72
|
+
let isNotFilterable = false;
|
|
73
|
+
const filterRestrictionsAnnotation = metamodelContext.getObject(`${entitySetPath}@Org.OData.Capabilities.V1.FilterRestrictions`) as
|
|
74
|
+
| MetaModelType<FilterRestrictionsType>
|
|
75
|
+
| undefined;
|
|
76
|
+
if (filterRestrictionsAnnotation?.NonFilterableProperties) {
|
|
77
|
+
isNotFilterable = filterRestrictionsAnnotation.NonFilterableProperties.some(function (property) {
|
|
78
|
+
return (
|
|
79
|
+
(property as unknown as ExpandPathType<Edm.NavigationPropertyPath>).$NavigationPropertyPath === contextPath ||
|
|
80
|
+
property.$PropertyPath === contextPath
|
|
81
|
+
);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return isNotFilterable;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Internal usage only
|
|
88
|
+
export function isCustomAggregate(metamodelContext: ODataMetaModel, entitySetPath: string, contextPath: string) {
|
|
89
|
+
let interanlIsCustomAggregate = false;
|
|
90
|
+
// eslint-disable-next-line regex/invalid-warn
|
|
91
|
+
const isApplySupported = metamodelContext.getObject(entitySetPath + "@Org.OData.Aggregation.V1.ApplySupported") ? true : false;
|
|
92
|
+
if (isApplySupported) {
|
|
93
|
+
const entitySetAnnotations = metamodelContext.getObject(`${entitySetPath}@`) as MetaModelEntitySetAnnotation;
|
|
94
|
+
const customAggregatesAnnotations = metaModelUtil.getAllCustomAggregates(entitySetAnnotations) as object | undefined;
|
|
95
|
+
const customAggregates = customAggregatesAnnotations ? Object.keys(customAggregatesAnnotations) : undefined;
|
|
96
|
+
if (customAggregates?.includes(contextPath)) {
|
|
97
|
+
interanlIsCustomAggregate = true;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return interanlIsCustomAggregate;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Internal usage only
|
|
104
|
+
|
|
105
|
+
function checkEntitySetIsFilterable(
|
|
106
|
+
entitySetPath: string,
|
|
107
|
+
metaModelContext: ODataMetaModel,
|
|
108
|
+
property: string,
|
|
109
|
+
navigationContext: Context | null
|
|
110
|
+
) {
|
|
111
|
+
let isFilterable =
|
|
112
|
+
entitySetPath.split("/").length === 2 && !property.includes("/")
|
|
113
|
+
? !isInNonFilterableProperties(metaModelContext, entitySetPath, property) &&
|
|
114
|
+
!isCustomAggregate(metaModelContext, entitySetPath, property)
|
|
115
|
+
: !isContextPathFilterable(metaModelContext, entitySetPath, property);
|
|
116
|
+
// check if type can be used for filtering
|
|
117
|
+
if (isFilterable && navigationContext) {
|
|
118
|
+
const propertyDataType = getPropertyDataType(navigationContext);
|
|
119
|
+
if (propertyDataType) {
|
|
120
|
+
isFilterable = propertyDataType ? isTypeFilterable(propertyDataType as keyof typeof DefaultTypeForEdmType) : false;
|
|
121
|
+
} else {
|
|
122
|
+
isFilterable = false;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return isFilterable;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// Internal usage only
|
|
129
|
+
function isContextPathFilterable(metaModelContext: ODataMetaModel, entitySetPath: string, contextPath: string) {
|
|
130
|
+
const fullPath = `${entitySetPath}/${contextPath}`,
|
|
131
|
+
esParts = fullPath.split("/").splice(0, 2),
|
|
132
|
+
contexts = fullPath.split("/").splice(2);
|
|
133
|
+
let isNoFilterable = false,
|
|
134
|
+
context = "";
|
|
135
|
+
|
|
136
|
+
entitySetPath = esParts.join("/");
|
|
137
|
+
|
|
138
|
+
isNoFilterable = contexts.some(function (item: string, index: number, array: string[]) {
|
|
139
|
+
if (context.length > 0) {
|
|
140
|
+
context += `/${item}`;
|
|
141
|
+
} else {
|
|
142
|
+
context = item;
|
|
143
|
+
}
|
|
144
|
+
if (index === array.length - 2) {
|
|
145
|
+
// In case of "/Customer/Set/Property" this is to check navigation restrictions of "Customer" for non-filterable properties in "Set"
|
|
146
|
+
const navigationRestrictions = METAMODEL_FUNCTIONS.getNavigationRestrictions(metaModelContext, entitySetPath, item);
|
|
147
|
+
const filterRestrictions = navigationRestrictions?.FilterRestrictions;
|
|
148
|
+
const nonFilterableProperties = filterRestrictions?.NonFilterableProperties;
|
|
149
|
+
const targetPropertyPath = array[array.length - 1];
|
|
150
|
+
if (
|
|
151
|
+
nonFilterableProperties?.find(function (propertyPath) {
|
|
152
|
+
return propertyPath.$PropertyPath === targetPropertyPath;
|
|
153
|
+
})
|
|
154
|
+
) {
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (index === array.length - 1) {
|
|
159
|
+
//last path segment
|
|
160
|
+
isNoFilterable = isInNonFilterableProperties(metaModelContext, entitySetPath, context);
|
|
161
|
+
} else if (metaModelContext.getObject(`${entitySetPath}/$NavigationPropertyBinding/${item}`)) {
|
|
162
|
+
//check existing context path and initialize it
|
|
163
|
+
isNoFilterable = isInNonFilterableProperties(metaModelContext, entitySetPath, context);
|
|
164
|
+
context = "";
|
|
165
|
+
//set the new EntitySet
|
|
166
|
+
entitySetPath = `/${metaModelContext.getObject(`${entitySetPath}/$NavigationPropertyBinding/${item}`) as string}`;
|
|
167
|
+
}
|
|
168
|
+
return isNoFilterable;
|
|
169
|
+
});
|
|
170
|
+
return isNoFilterable;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Internal usage only
|
|
174
|
+
|
|
175
|
+
function getPropertyDataType(navigationContext: Context) {
|
|
176
|
+
let dataType = navigationContext.getProperty("$Type") as string | undefined;
|
|
177
|
+
// if $kind exists, it's not a DataField and we have the final type already
|
|
178
|
+
if (!navigationContext.getProperty("$kind")) {
|
|
179
|
+
switch (dataType) {
|
|
180
|
+
case "com.sap.vocabularies.UI.v1.DataFieldForAction":
|
|
181
|
+
case "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation":
|
|
182
|
+
dataType = undefined;
|
|
183
|
+
break;
|
|
184
|
+
|
|
185
|
+
case "com.sap.vocabularies.UI.v1.DataField":
|
|
186
|
+
case "com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath":
|
|
187
|
+
case "com.sap.vocabularies.UI.v1.DataFieldWithUrl":
|
|
188
|
+
case "com.sap.vocabularies.UI.v1.DataFieldWithIntentBasedNavigation":
|
|
189
|
+
case "com.sap.vocabularies.UI.v1.DataFieldWithAction":
|
|
190
|
+
dataType = navigationContext.getProperty("Value/$Path/$Type") as string | undefined;
|
|
191
|
+
break;
|
|
192
|
+
|
|
193
|
+
case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation":
|
|
194
|
+
default:
|
|
195
|
+
const annotationPath = navigationContext.getProperty("Target/$AnnotationPath") as string | undefined;
|
|
196
|
+
if (annotationPath) {
|
|
197
|
+
if (annotationPath.includes("com.sap.vocabularies.Communication.v1.Contact")) {
|
|
198
|
+
dataType = navigationContext.getProperty("Target/$AnnotationPath/fn/$Path/$Type") as string | undefined;
|
|
199
|
+
} else if (annotationPath.includes("com.sap.vocabularies.UI.v1.DataPoint")) {
|
|
200
|
+
dataType = navigationContext.getProperty("Value/$Path/$Type") as string | undefined;
|
|
201
|
+
} else {
|
|
202
|
+
// e.g. FieldGroup or Chart
|
|
203
|
+
dataType = undefined;
|
|
204
|
+
}
|
|
205
|
+
} else {
|
|
206
|
+
dataType = undefined;
|
|
207
|
+
}
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
return dataType;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
// From CommonUtils, CommonHelper, FilterBarDelegate, FilterField, ValueListHelper, TableDelegate
|
|
216
|
+
// TODO check used places and rework this
|
|
217
|
+
export function isPropertyFilterable(
|
|
218
|
+
metaModelContext: ODataMetaModel,
|
|
219
|
+
entitySetPath: string,
|
|
220
|
+
property: string,
|
|
221
|
+
skipHiddenFilters?: boolean
|
|
222
|
+
): boolean | CompiledBindingToolkitExpression {
|
|
223
|
+
if (typeof property !== "string") {
|
|
224
|
+
throw new Error("sProperty parameter must be a string");
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// Parameters should be rendered as filterfields
|
|
228
|
+
if (metaModelContext.getObject(`${entitySetPath}/@com.sap.vocabularies.Common.v1.ResultContext`) === true) {
|
|
229
|
+
return true;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
const navigationContext = metaModelContext.createBindingContext(`${entitySetPath}/${property}`);
|
|
233
|
+
|
|
234
|
+
if (navigationContext && !skipHiddenFilters) {
|
|
235
|
+
if (
|
|
236
|
+
navigationContext.getProperty("@com.sap.vocabularies.UI.v1.Hidden") === true ||
|
|
237
|
+
navigationContext.getProperty("@com.sap.vocabularies.UI.v1.HiddenFilter") === true
|
|
238
|
+
) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
const hiddenPath = navigationContext.getProperty("@com.sap.vocabularies.UI.v1.Hidden/$Path") as string | undefined;
|
|
242
|
+
const hiddenFilterPath = navigationContext.getProperty("@com.sap.vocabularies.UI.v1.HiddenFilter/$Path") as string | undefined;
|
|
243
|
+
|
|
244
|
+
if (hiddenPath && hiddenFilterPath) {
|
|
245
|
+
return compileExpression(not(or(pathInModel(hiddenPath), pathInModel(hiddenFilterPath))));
|
|
246
|
+
} else if (hiddenPath) {
|
|
247
|
+
return compileExpression(not(pathInModel(hiddenPath)));
|
|
248
|
+
} else if (hiddenFilterPath) {
|
|
249
|
+
return compileExpression(not(pathInModel(hiddenFilterPath)));
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return checkEntitySetIsFilterable(entitySetPath, metaModelContext, property, navigationContext);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// From TransactionHelper / EditFlow
|
|
256
|
+
export function getNonComputedVisibleFields(metaModelContext: ODataMetaModel, path: string, appComponent?: AppComponent) {
|
|
257
|
+
const technicalKeys: string[] = (metaModelContext.getObject(`${path}/`) as MetaModelEntityType).$Key;
|
|
258
|
+
const nonComputedVisibleKeys: unknown[] = [];
|
|
259
|
+
const immutableVisibleFields: unknown[] = [];
|
|
260
|
+
const entityType = metaModelContext.getObject(`${path}/`) as MetaModelEntityType;
|
|
261
|
+
for (const item in entityType) {
|
|
262
|
+
if (entityType[item].$kind && entityType[item].$kind === "Property") {
|
|
263
|
+
const annotations = (metaModelContext.getObject(`${path}/${item}@`) || {}) as Record<string, unknown>,
|
|
264
|
+
isKey = technicalKeys.includes(item),
|
|
265
|
+
isImmutable = annotations["@Org.OData.Core.V1.Immutable"],
|
|
266
|
+
isNonComputed = !annotations["@Org.OData.Core.V1.Computed"],
|
|
267
|
+
isVisible = !annotations["@com.sap.vocabularies.UI.v1.Hidden"],
|
|
268
|
+
isComputedDefaultValue = annotations["@Org.OData.Core.V1.ComputedDefaultValue"],
|
|
269
|
+
isKeyComputedDefaultValueWithText =
|
|
270
|
+
isKey && entityType[item].$Type === "Edm.Guid"
|
|
271
|
+
? isComputedDefaultValue && annotations["@com.sap.vocabularies.Common.v1.Text"]
|
|
272
|
+
: false;
|
|
273
|
+
if ((isKeyComputedDefaultValueWithText || (isKey && entityType[item].$Type !== "Edm.Guid")) && isNonComputed && isVisible) {
|
|
274
|
+
nonComputedVisibleKeys.push(item);
|
|
275
|
+
} else if (isImmutable && isNonComputed && isVisible) {
|
|
276
|
+
immutableVisibleFields.push(item);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
if (!isNonComputed && isComputedDefaultValue && appComponent) {
|
|
280
|
+
const diagnostics = appComponent.getDiagnostics();
|
|
281
|
+
const message = "Core.ComputedDefaultValue is ignored as Core.Computed is already set to true";
|
|
282
|
+
diagnostics.addIssue(
|
|
283
|
+
IssueCategory.Annotation,
|
|
284
|
+
IssueSeverity.Medium,
|
|
285
|
+
message,
|
|
286
|
+
IssueCategoryType,
|
|
287
|
+
IssueCategoryType.Annotations.IgnoredAnnotation
|
|
288
|
+
);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
const requiredProperties = METAMODEL_FUNCTIONS.getRequiredPropertiesFromInsertRestrictions(path, metaModelContext);
|
|
293
|
+
if (requiredProperties.length) {
|
|
294
|
+
requiredProperties.forEach(function (property: string) {
|
|
295
|
+
const annotations = metaModelContext.getObject(`${path}/${property}@`) as Record<string, unknown> | undefined,
|
|
296
|
+
isVisible = !annotations?.["@com.sap.vocabularies.UI.v1.Hidden"];
|
|
297
|
+
if (isVisible && !nonComputedVisibleKeys.includes(property) && !immutableVisibleFields.includes(property)) {
|
|
298
|
+
nonComputedVisibleKeys.push(property);
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
return nonComputedVisibleKeys.concat(immutableVisibleFields);
|
|
303
|
+
}
|
|
304
|
+
// Internal only, exposed for tests
|
|
305
|
+
function getRequiredProperties(path: string, metaModelContext: ODataMetaModel, checkUpdateRestrictions = false) {
|
|
306
|
+
const requiredProperties: string[] = [];
|
|
307
|
+
let requiredPropertiesWithPath: { $PropertyPath: string }[] = [];
|
|
308
|
+
const navigationText = "$NavigationPropertyBinding";
|
|
309
|
+
let entitySetAnnotation: MetaModelEntitySetAnnotation | null = null;
|
|
310
|
+
if (path.endsWith("$")) {
|
|
311
|
+
// if sPath comes with a $ in the end, removing it as it is of no significance
|
|
312
|
+
path = path.replace("/$", "");
|
|
313
|
+
}
|
|
314
|
+
const entityTypePathParts = path.replaceAll("%2F", "/").split("/").filter(ModelHelper.filterOutNavPropBinding);
|
|
315
|
+
const entitySetPath = ModelHelper.getEntitySetPath(path, metaModelContext);
|
|
316
|
+
const entitySetPathParts = entitySetPath.split("/").filter(ModelHelper.filterOutNavPropBinding);
|
|
317
|
+
const isContainment = metaModelContext.getObject(`/${entityTypePathParts.join("/")}/$ContainsTarget`) ? true : false;
|
|
318
|
+
const containmentNavPath = isContainment ? entityTypePathParts[entityTypePathParts.length - 1] : "";
|
|
319
|
+
|
|
320
|
+
//Restrictions directly at Entity Set
|
|
321
|
+
//e.g. FR in "NS.EntityContainer/SalesOrderManage" ContextPath: /SalesOrderManage
|
|
322
|
+
if (!isContainment) {
|
|
323
|
+
entitySetAnnotation = metaModelContext.getObject(`${entitySetPath}@`) as MetaModelEntitySetAnnotation;
|
|
324
|
+
}
|
|
325
|
+
if (entityTypePathParts.length > 1) {
|
|
326
|
+
const navPath = isContainment ? containmentNavPath : entitySetPathParts[entitySetPathParts.length - 1];
|
|
327
|
+
const parentEntitySetPath = isContainment ? entitySetPath : `/${entitySetPathParts.slice(0, -1).join(`/${navigationText}/`)}`;
|
|
328
|
+
//Navigation restrictions
|
|
329
|
+
//e.g. Parent "/Customer" with NavigationPropertyPath="Set" ContextPath: Customer/Set
|
|
330
|
+
const navigationRestrictions = METAMODEL_FUNCTIONS.getNavigationRestrictions(
|
|
331
|
+
metaModelContext,
|
|
332
|
+
parentEntitySetPath,
|
|
333
|
+
navPath.replaceAll("%2F", "/")
|
|
334
|
+
);
|
|
335
|
+
|
|
336
|
+
if (
|
|
337
|
+
navigationRestrictions !== undefined &&
|
|
338
|
+
METAMODEL_FUNCTIONS.hasRestrictedPropertiesInAnnotations(navigationRestrictions, true, checkUpdateRestrictions)
|
|
339
|
+
) {
|
|
340
|
+
requiredPropertiesWithPath = checkUpdateRestrictions
|
|
341
|
+
? navigationRestrictions.UpdateRestrictions?.RequiredProperties ?? []
|
|
342
|
+
: navigationRestrictions.InsertRestrictions?.RequiredProperties ?? [];
|
|
343
|
+
}
|
|
344
|
+
if (
|
|
345
|
+
!requiredPropertiesWithPath.length &&
|
|
346
|
+
METAMODEL_FUNCTIONS.hasRestrictedPropertiesInAnnotations(entitySetAnnotation, false, checkUpdateRestrictions)
|
|
347
|
+
) {
|
|
348
|
+
requiredPropertiesWithPath = METAMODEL_FUNCTIONS.getRequiredPropertiesFromAnnotations(
|
|
349
|
+
entitySetAnnotation,
|
|
350
|
+
checkUpdateRestrictions
|
|
351
|
+
);
|
|
352
|
+
}
|
|
353
|
+
} else if (METAMODEL_FUNCTIONS.hasRestrictedPropertiesInAnnotations(entitySetAnnotation, false, checkUpdateRestrictions)) {
|
|
354
|
+
requiredPropertiesWithPath = METAMODEL_FUNCTIONS.getRequiredPropertiesFromAnnotations(entitySetAnnotation, checkUpdateRestrictions);
|
|
355
|
+
}
|
|
356
|
+
requiredPropertiesWithPath.forEach(function (requiredProperty) {
|
|
357
|
+
const propertyPath = requiredProperty.$PropertyPath;
|
|
358
|
+
requiredProperties.push(propertyPath);
|
|
359
|
+
});
|
|
360
|
+
return requiredProperties;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
// TransactionHelper // InternalField
|
|
364
|
+
export function getRequiredPropertiesFromInsertRestrictions(path: string, metamodelContext: ODataMetaModel) {
|
|
365
|
+
return METAMODEL_FUNCTIONS.getRequiredProperties(path, metamodelContext);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// InternalField
|
|
369
|
+
export function getRequiredPropertiesFromUpdateRestrictions(path: string, metamodelContext: ODataMetaModel) {
|
|
370
|
+
return METAMODEL_FUNCTIONS.getRequiredProperties(path, metamodelContext, true);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
// Internal only, exposed for tests
|
|
374
|
+
function getRequiredPropertiesFromAnnotations(annotations: MetaModelEntitySetAnnotation | null, checkUpdateRestrictions = false) {
|
|
375
|
+
if (checkUpdateRestrictions) {
|
|
376
|
+
return annotations?.["@Org.OData.Capabilities.V1.UpdateRestrictions"]?.RequiredProperties ?? [];
|
|
377
|
+
}
|
|
378
|
+
return annotations?.["@Org.OData.Capabilities.V1.InsertRestrictions"]?.RequiredProperties ?? [];
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
// Internal only, exposed for tests
|
|
382
|
+
function hasRestrictedPropertiesInAnnotations(
|
|
383
|
+
annotations: MetaModelType<NavigationPropertyRestrictionTypes> | MetaModelEntitySetAnnotation | null,
|
|
384
|
+
isNavigationRestrictions = false,
|
|
385
|
+
checkUpdateRestrictions = false
|
|
386
|
+
) {
|
|
387
|
+
if (isNavigationRestrictions) {
|
|
388
|
+
const navAnnotations = annotations as MetaModelType<NavigationPropertyRestrictionTypes> | undefined;
|
|
389
|
+
if (checkUpdateRestrictions) {
|
|
390
|
+
return navAnnotations?.UpdateRestrictions?.RequiredProperties ? true : false;
|
|
391
|
+
}
|
|
392
|
+
return navAnnotations?.InsertRestrictions?.RequiredProperties ? true : false;
|
|
393
|
+
} else if (checkUpdateRestrictions) {
|
|
394
|
+
const entityAnnotations = annotations as MetaModelEntitySetAnnotation | undefined;
|
|
395
|
+
return entityAnnotations?.["@Org.OData.Capabilities.V1.UpdateRestrictions"]?.RequiredProperties ? true : false;
|
|
396
|
+
}
|
|
397
|
+
const entitytSetAnnotations = annotations as MetaModelEntitySetAnnotation | undefined;
|
|
398
|
+
return entitytSetAnnotations?.["@Org.OData.Capabilities.V1.InsertRestrictions"]?.RequiredProperties ? true : false;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
// DO NOT USE, only for tests and internally in this file
|
|
402
|
+
export const METAMODEL_FUNCTIONS = {
|
|
403
|
+
getRequiredProperties,
|
|
404
|
+
getRequiredPropertiesFromAnnotations,
|
|
405
|
+
hasRestrictedPropertiesInAnnotations,
|
|
406
|
+
getRequiredPropertiesFromInsertRestrictions,
|
|
407
|
+
getNavigationRestrictions
|
|
408
|
+
};
|