@sapui5/sap.fe.core 1.102.0 → 1.103.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 +5 -5
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/AppComponent.js +62 -26
- package/src/sap/fe/core/AppComponent.ts +56 -40
- package/src/sap/fe/core/AppStateHandler.js +10 -10
- package/src/sap/fe/core/AppStateHandler.ts +9 -9
- package/src/sap/fe/core/BaseController.js +11 -9
- package/src/sap/fe/core/BaseController.ts +15 -13
- package/src/sap/fe/core/CommonUtils.js +236 -109
- package/src/sap/fe/core/CommonUtils.ts +252 -136
- package/src/sap/fe/core/ExtensionAPI.js +24 -27
- package/src/sap/fe/core/ExtensionAPI.ts +36 -38
- package/src/sap/fe/core/PageController.js +4 -4
- package/src/sap/fe/core/PageController.ts +4 -5
- package/src/sap/fe/core/TemplateComponent.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +6 -6
- package/src/sap/fe/core/TemplateModel.js +1 -1
- package/src/sap/fe/core/TemplateModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +8 -8
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +11 -10
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +27 -27
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +28 -26
- package/src/sap/fe/core/controllerextensions/EditFlow.js +129 -118
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +154 -141
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +31 -26
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +34 -35
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +70 -70
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +77 -77
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +84 -78
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +105 -101
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
- package/src/sap/fe/core/controllerextensions/MassEdit.js +8 -8
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +19 -26
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +29 -14
- package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
- package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -34
- package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
- package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
- package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
- package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
- package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
- package/src/sap/fe/core/controllerextensions/Share.js +22 -22
- package/src/sap/fe/core/controllerextensions/Share.ts +30 -29
- package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
- package/src/sap/fe/core/controllerextensions/ViewState.js +65 -62
- package/src/sap/fe/core/controllerextensions/ViewState.ts +68 -63
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +6 -6
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +12 -17
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +184 -137
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +253 -206
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +113 -121
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +148 -158
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +198 -148
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +223 -159
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -44
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +90 -60
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +52 -55
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -58
- package/src/sap/fe/core/controls/Any.js +9 -5
- package/src/sap/fe/core/controls/Any.ts +10 -4
- package/src/sap/fe/core/controls/CommandExecution.js +11 -25
- package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
- package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
- package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
- package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
- package/src/sap/fe/core/controls/FileWrapper.js +2 -2
- package/src/sap/fe/core/controls/FileWrapper.ts +11 -11
- package/src/sap/fe/core/controls/FilterBar.js +6 -2
- package/src/sap/fe/core/controls/FilterBar.ts +13 -9
- package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
- package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
- package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
- package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +47 -47
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +52 -52
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
- package/src/sap/fe/core/converters/ConverterContext.js +26 -33
- package/src/sap/fe/core/converters/ConverterContext.ts +51 -60
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +14 -14
- package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
- package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
- package/src/sap/fe/core/converters/MetaModelConverter.js +50 -32
- package/src/sap/fe/core/converters/MetaModelConverter.ts +145 -127
- package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
- package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
- package/src/sap/fe/core/converters/annotations/DataField.js +54 -34
- package/src/sap/fe/core/converters/annotations/DataField.ts +97 -75
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
- package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
- package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
- package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +23 -26
- package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
- package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +28 -28
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
- package/src/sap/fe/core/converters/controls/Common/Form.js +25 -27
- package/src/sap/fe/core/converters/controls/Common/Form.ts +37 -45
- package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
- package/src/sap/fe/core/converters/controls/Common/Table.js +174 -183
- package/src/sap/fe/core/converters/controls/Common/Table.ts +237 -250
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +64 -57
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +73 -72
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +98 -96
- package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +10 -13
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
- package/src/sap/fe/core/converters/helpers/ID.js +46 -46
- package/src/sap/fe/core/converters/helpers/ID.ts +25 -25
- package/src/sap/fe/core/converters/helpers/Key.js +7 -7
- package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -4
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +30 -29
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
- package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
- package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
- package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/StandardFormatter.js +89 -0
- package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -0
- package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
- package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
- package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
- package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
- package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
- package/src/sap/fe/core/helpers/BindingToolkit.js +1809 -0
- package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +365 -264
- package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
- package/src/sap/fe/core/helpers/ClassSupport.ts +14 -10
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
- package/src/sap/fe/core/helpers/EditState.js +1 -6
- package/src/sap/fe/core/helpers/EditState.ts +5 -10
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
- package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
- package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
- package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
- package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
- package/src/sap/fe/core/helpers/MassEditHelper.js +281 -254
- package/src/sap/fe/core/helpers/MassEditHelper.ts +337 -289
- package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
- package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
- package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
- package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
- package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
- package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
- package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
- package/src/sap/fe/core/library.js +42 -3
- package/src/sap/fe/core/library.ts +38 -0
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
- package/src/sap/fe/core/messagebundle.properties +49 -35
- package/src/sap/fe/core/messagebundle_ar.properties +13 -5
- package/src/sap/fe/core/messagebundle_bg.properties +13 -5
- package/src/sap/fe/core/messagebundle_ca.properties +13 -5
- package/src/sap/fe/core/messagebundle_cs.properties +13 -5
- package/src/sap/fe/core/messagebundle_cy.properties +14 -6
- package/src/sap/fe/core/messagebundle_da.properties +13 -5
- package/src/sap/fe/core/messagebundle_de.properties +15 -7
- package/src/sap/fe/core/messagebundle_el.properties +14 -6
- package/src/sap/fe/core/messagebundle_en.properties +9 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +11 -3
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -1
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -1
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +44 -85
- package/src/sap/fe/core/messagebundle_es.properties +13 -5
- package/src/sap/fe/core/messagebundle_es_MX.properties +13 -5
- package/src/sap/fe/core/messagebundle_et.properties +13 -5
- package/src/sap/fe/core/messagebundle_fi.properties +14 -6
- package/src/sap/fe/core/messagebundle_fr.properties +14 -6
- package/src/sap/fe/core/messagebundle_fr_CA.properties +14 -6
- package/src/sap/fe/core/messagebundle_hi.properties +14 -6
- package/src/sap/fe/core/messagebundle_hr.properties +14 -6
- package/src/sap/fe/core/messagebundle_hu.properties +13 -5
- package/src/sap/fe/core/messagebundle_id.properties +13 -5
- package/src/sap/fe/core/messagebundle_it.properties +33 -25
- package/src/sap/fe/core/messagebundle_iw.properties +13 -5
- package/src/sap/fe/core/messagebundle_ja.properties +14 -6
- package/src/sap/fe/core/messagebundle_kk.properties +13 -5
- package/src/sap/fe/core/messagebundle_ko.properties +13 -5
- package/src/sap/fe/core/messagebundle_lt.properties +13 -5
- package/src/sap/fe/core/messagebundle_lv.properties +14 -6
- package/src/sap/fe/core/messagebundle_ms.properties +13 -5
- package/src/sap/fe/core/messagebundle_nl.properties +13 -5
- package/src/sap/fe/core/messagebundle_no.properties +13 -5
- package/src/sap/fe/core/messagebundle_pl.properties +13 -5
- package/src/sap/fe/core/messagebundle_pt.properties +13 -5
- package/src/sap/fe/core/messagebundle_pt_PT.properties +14 -6
- package/src/sap/fe/core/messagebundle_ro.properties +13 -5
- package/src/sap/fe/core/messagebundle_ru.properties +13 -5
- package/src/sap/fe/core/messagebundle_sh.properties +13 -5
- package/src/sap/fe/core/messagebundle_sk.properties +13 -5
- package/src/sap/fe/core/messagebundle_sl.properties +17 -9
- package/src/sap/fe/core/messagebundle_sv.properties +14 -6
- package/src/sap/fe/core/messagebundle_th.properties +13 -5
- package/src/sap/fe/core/messagebundle_tr.properties +13 -5
- package/src/sap/fe/core/messagebundle_uk.properties +13 -5
- package/src/sap/fe/core/messagebundle_vi.properties +13 -5
- package/src/sap/fe/core/messagebundle_zh_CN.properties +14 -6
- package/src/sap/fe/core/messagebundle_zh_TW.properties +13 -5
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -2
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
- package/src/sap/fe/core/services/NavigationServiceFactory.js +53 -44
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +54 -46
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
- package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
- package/src/sap/fe/core/services/ShellServicesFactory.js +72 -76
- package/src/sap/fe/core/services/ShellServicesFactory.ts +76 -82
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +20 -15
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +26 -21
- package/src/sap/fe/core/support/CommonHelper.js +3 -2
- package/src/sap/fe/core/support/CommonHelper.ts +9 -13
- package/src/sap/fe/core/support/Diagnostics.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -5
- package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
- package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
- package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
- package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
- package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
- package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
- package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
- package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
- package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
- package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
- package/src/sap/fe/core/templating/FilterHelper.js +10 -9
- package/src/sap/fe/core/templating/FilterHelper.ts +13 -13
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
- package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
- package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
- package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
- package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
- package/src/sap/fe/core/templating/UIFormatters.js +148 -93
- package/src/sap/fe/core/templating/UIFormatters.ts +196 -124
- package/src/sap/fe/core/type/Email.js +2 -2
- package/src/sap/fe/core/type/Email.ts +2 -2
- package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
|
@@ -1,37 +1,31 @@
|
|
|
1
1
|
import Log from "sap/base/Log";
|
|
2
|
-
import AppComponent from "sap/fe/core/AppComponent";
|
|
2
|
+
import type AppComponent from "sap/fe/core/AppComponent";
|
|
3
3
|
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
4
4
|
import BusyLocker from "sap/fe/core/controllerextensions/BusyLocker";
|
|
5
5
|
import ActivitySync from "sap/fe/core/controllerextensions/collaboration/ActivitySync";
|
|
6
6
|
import draft from "sap/fe/core/controllerextensions/editFlow/draft";
|
|
7
|
-
import RouterProxy from "sap/fe/core/controllerextensions/routing/RouterProxy";
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
EnhanceWithUI5,
|
|
11
|
-
extensible,
|
|
12
|
-
finalExtension,
|
|
13
|
-
methodOverride,
|
|
14
|
-
publicExtension
|
|
15
|
-
} from "sap/fe/core/helpers/ClassSupport";
|
|
7
|
+
import type RouterProxy from "sap/fe/core/controllerextensions/routing/RouterProxy";
|
|
8
|
+
import type { EnhanceWithUI5 } from "sap/fe/core/helpers/ClassSupport";
|
|
9
|
+
import { defineUI5Class, extensible, finalExtension, methodOverride, publicExtension } from "sap/fe/core/helpers/ClassSupport";
|
|
16
10
|
import EditState from "sap/fe/core/helpers/EditState";
|
|
17
11
|
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
18
12
|
import SemanticKeyHelper from "sap/fe/core/helpers/SemanticKeyHelper";
|
|
19
13
|
import FELibrary from "sap/fe/core/library";
|
|
20
|
-
import PageController from "sap/fe/core/PageController";
|
|
21
|
-
import { RoutingService } from "sap/fe/core/services/RoutingServiceFactory";
|
|
22
|
-
import TemplateComponent from "sap/fe/core/TemplateComponent";
|
|
23
|
-
import Event from "sap/ui/base/Event";
|
|
14
|
+
import type PageController from "sap/fe/core/PageController";
|
|
15
|
+
import type { RoutingService } from "sap/fe/core/services/RoutingServiceFactory";
|
|
16
|
+
import type TemplateComponent from "sap/fe/core/TemplateComponent";
|
|
17
|
+
import type Event from "sap/ui/base/Event";
|
|
24
18
|
import Component from "sap/ui/core/Component";
|
|
25
19
|
import Core from "sap/ui/core/Core";
|
|
26
20
|
import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
|
|
27
21
|
import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
|
|
28
|
-
import View from "sap/ui/core/mvc/View";
|
|
29
|
-
import Router from "sap/ui/core/routing/Router";
|
|
22
|
+
import type View from "sap/ui/core/mvc/View";
|
|
23
|
+
import type Router from "sap/ui/core/routing/Router";
|
|
30
24
|
import Filter from "sap/ui/model/Filter";
|
|
31
25
|
import FilterOperator from "sap/ui/model/FilterOperator";
|
|
32
|
-
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
33
|
-
import Context from "sap/ui/model/odata/v4/Context";
|
|
34
|
-
import { CoreEx } from "types/extension_types";
|
|
26
|
+
import type JSONModel from "sap/ui/model/json/JSONModel";
|
|
27
|
+
import type Context from "sap/ui/model/odata/v4/Context";
|
|
28
|
+
import type { CoreEx } from "types/extension_types";
|
|
35
29
|
|
|
36
30
|
/**
|
|
37
31
|
* {@link sap.ui.core.mvc.ControllerExtension Controller extension}
|
|
@@ -55,7 +49,9 @@ class InternalRouting extends ControllerExtension {
|
|
|
55
49
|
|
|
56
50
|
@methodOverride()
|
|
57
51
|
onExit() {
|
|
58
|
-
|
|
52
|
+
if (this._oRoutingService) {
|
|
53
|
+
this._oRoutingService.detachRouteMatched(this._fnRouteMatchedBound);
|
|
54
|
+
}
|
|
59
55
|
}
|
|
60
56
|
|
|
61
57
|
@methodOverride()
|
|
@@ -133,10 +129,10 @@ class InternalRouting extends ControllerExtension {
|
|
|
133
129
|
/**
|
|
134
130
|
* Navigates to the specified navigation target.
|
|
135
131
|
*
|
|
136
|
-
* @param
|
|
137
|
-
* @param
|
|
138
|
-
* @param
|
|
139
|
-
* @param
|
|
132
|
+
* @param oContext Context instance
|
|
133
|
+
* @param sNavigationTargetName Navigation target name
|
|
134
|
+
* @param oSemanticObject Semantic object
|
|
135
|
+
* @param bPreserveHistory True to force the new URL to be added at the end of the browser history (no replace)
|
|
140
136
|
* @ui5-restricted
|
|
141
137
|
*/
|
|
142
138
|
@publicExtension()
|
|
@@ -159,9 +155,9 @@ class InternalRouting extends ControllerExtension {
|
|
|
159
155
|
/**
|
|
160
156
|
* Navigates to the specified navigation target route.
|
|
161
157
|
*
|
|
162
|
-
* @param
|
|
163
|
-
* @param
|
|
164
|
-
* @returns
|
|
158
|
+
* @param sTargetRouteName Name of the target route
|
|
159
|
+
* @param [oParameters] Parameters to be used with route to create the target hash
|
|
160
|
+
* @returns Promise that is resolved when the navigation is finalized
|
|
165
161
|
* @ui5-restricted
|
|
166
162
|
*/
|
|
167
163
|
@publicExtension()
|
|
@@ -172,9 +168,9 @@ class InternalRouting extends ControllerExtension {
|
|
|
172
168
|
/**
|
|
173
169
|
* Navigates to a specific context.
|
|
174
170
|
*
|
|
175
|
-
* @param
|
|
176
|
-
* @param
|
|
177
|
-
* @returns
|
|
171
|
+
* @param oContext The context to be navigated to
|
|
172
|
+
* @param [mParameters] Optional navigation parameters
|
|
173
|
+
* @returns Promise resolved when the navigation has been triggered
|
|
178
174
|
* @ui5-restricted
|
|
179
175
|
*/
|
|
180
176
|
@publicExtension()
|
|
@@ -191,9 +187,9 @@ class InternalRouting extends ControllerExtension {
|
|
|
191
187
|
this._oRouterProxy.activateRouteMatchSynchronization();
|
|
192
188
|
|
|
193
189
|
mParameters.asyncContext
|
|
194
|
-
.then((
|
|
190
|
+
.then((asyncContext: any) => {
|
|
195
191
|
// once the context is returned we navigate into it
|
|
196
|
-
this.navigateToContext(
|
|
192
|
+
this.navigateToContext(asyncContext, {
|
|
197
193
|
checkNoHashChange: mParameters.checkNoHashChange,
|
|
198
194
|
editable: mParameters.editable,
|
|
199
195
|
bPersistOPScroll: mParameters.bPersistOPScroll,
|
|
@@ -235,9 +231,9 @@ class InternalRouting extends ControllerExtension {
|
|
|
235
231
|
/**
|
|
236
232
|
* Navigates backwards from a context.
|
|
237
233
|
*
|
|
238
|
-
* @param
|
|
239
|
-
* @param
|
|
240
|
-
* @returns
|
|
234
|
+
* @param oContext Context to be navigated from
|
|
235
|
+
* @param [mParameters] Optional navigation parameters
|
|
236
|
+
* @returns Promise resolved when the navigation has been triggered
|
|
241
237
|
* @ui5-restricted
|
|
242
238
|
*/
|
|
243
239
|
@publicExtension()
|
|
@@ -252,9 +248,9 @@ class InternalRouting extends ControllerExtension {
|
|
|
252
248
|
/**
|
|
253
249
|
* Navigates forwards to a context.
|
|
254
250
|
*
|
|
255
|
-
* @param
|
|
256
|
-
* @param
|
|
257
|
-
* @returns
|
|
251
|
+
* @param oContext Context to be navigated to
|
|
252
|
+
* @param mParameters Optional navigation parameters
|
|
253
|
+
* @returns Promise resolved when the navigation has been triggered
|
|
258
254
|
* @ui5-restricted
|
|
259
255
|
*/
|
|
260
256
|
@publicExtension()
|
|
@@ -299,8 +295,8 @@ class InternalRouting extends ControllerExtension {
|
|
|
299
295
|
/**
|
|
300
296
|
* Checks if one of the current views on the screen is bound to a given context.
|
|
301
297
|
*
|
|
302
|
-
* @param
|
|
303
|
-
* @returns
|
|
298
|
+
* @param oContext
|
|
299
|
+
* @returns `true` if the state is impacted by the context
|
|
304
300
|
* @ui5-restricted
|
|
305
301
|
*/
|
|
306
302
|
@publicExtension()
|
|
@@ -317,7 +313,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
317
313
|
* Called when a route is matched.
|
|
318
314
|
* Builds the binding context from the navigation parameters, and bind the page accordingly.
|
|
319
315
|
*
|
|
320
|
-
* @param
|
|
316
|
+
* @param oEvent
|
|
321
317
|
* @ui5-restricted
|
|
322
318
|
*/
|
|
323
319
|
_onRouteMatched(oEvent: Event) {
|
|
@@ -347,14 +343,14 @@ class InternalRouting extends ControllerExtension {
|
|
|
347
343
|
|
|
348
344
|
for (const sKey in mArguments) {
|
|
349
345
|
const sValue = mArguments[sKey];
|
|
350
|
-
if (sValue === "..." && sTarget.indexOf(
|
|
346
|
+
if (sValue === "..." && sTarget.indexOf(`{${sKey}}`) >= 0) {
|
|
351
347
|
bDeferred = true;
|
|
352
348
|
// Sometimes in preferredMode = create, the edit button is shown in background when the
|
|
353
349
|
// action parameter dialog shows up, setting bTargetEditable passes editable as true
|
|
354
350
|
// to onBeforeBinding in _bindTargetPage function
|
|
355
351
|
oNavigationParameters.bTargetEditable = true;
|
|
356
352
|
}
|
|
357
|
-
sTarget = sTarget.replace(
|
|
353
|
+
sTarget = sTarget.replace(`{${sKey}}`, sValue);
|
|
358
354
|
}
|
|
359
355
|
if (mArguments["?query"] && mArguments["?query"].hasOwnProperty("i-action")) {
|
|
360
356
|
oNavigationParameters.bActionCreate = true;
|
|
@@ -362,7 +358,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
362
358
|
|
|
363
359
|
// the binding target is always absolute
|
|
364
360
|
if (sTarget && sTarget[0] !== "/") {
|
|
365
|
-
sTarget =
|
|
361
|
+
sTarget = `/${sTarget}`;
|
|
366
362
|
}
|
|
367
363
|
|
|
368
364
|
this.onRouteMatched();
|
|
@@ -385,9 +381,9 @@ class InternalRouting extends ControllerExtension {
|
|
|
385
381
|
/**
|
|
386
382
|
* Deferred binding (during object creation).
|
|
387
383
|
*
|
|
388
|
-
* @param
|
|
389
|
-
* @param
|
|
390
|
-
* @returns
|
|
384
|
+
* @param sTargetPath The path to the deffered context
|
|
385
|
+
* @param oNavigationParameters Navigation parameters
|
|
386
|
+
* @returns A Promise
|
|
391
387
|
* @ui5-restricted
|
|
392
388
|
*/
|
|
393
389
|
_bindDeferred(sTargetPath: string, oNavigationParameters: any) {
|
|
@@ -423,10 +419,10 @@ class InternalRouting extends ControllerExtension {
|
|
|
423
419
|
/**
|
|
424
420
|
* Sets the binding context of the page from a path.
|
|
425
421
|
*
|
|
426
|
-
* @param
|
|
427
|
-
* @param
|
|
428
|
-
* @param
|
|
429
|
-
* @returns
|
|
422
|
+
* @param sTargetPath The path to the context
|
|
423
|
+
* @param oModel The OData model
|
|
424
|
+
* @param oNavigationParameters Navigation parameters
|
|
425
|
+
* @returns A Promise resolved once the binding has been set on the page
|
|
430
426
|
* @ui5-restricted
|
|
431
427
|
*/
|
|
432
428
|
_bindPage(sTargetPath: string, oModel: any, oNavigationParameters: object) {
|
|
@@ -452,10 +448,10 @@ class InternalRouting extends ControllerExtension {
|
|
|
452
448
|
/**
|
|
453
449
|
* Creates the filter to retrieve a context corresponding to a semantic path.
|
|
454
450
|
*
|
|
455
|
-
* @param
|
|
456
|
-
* @param
|
|
457
|
-
* @param
|
|
458
|
-
* @returns
|
|
451
|
+
* @param sSemanticPath The semantic path
|
|
452
|
+
* @param aSemanticKeys The semantic keys for the path
|
|
453
|
+
* @param oMetaModel The instance of the meta model
|
|
454
|
+
* @returns The filter
|
|
459
455
|
* @ui5-restricted
|
|
460
456
|
*/
|
|
461
457
|
_createFilterFromSemanticPath(sSemanticPath: string, aSemanticKeys: any[], oMetaModel: object) {
|
|
@@ -529,17 +525,16 @@ class InternalRouting extends ControllerExtension {
|
|
|
529
525
|
});
|
|
530
526
|
aFilters.push(oDraftFilter);
|
|
531
527
|
|
|
532
|
-
|
|
533
|
-
return oCombinedFilter;
|
|
528
|
+
return new Filter(aFilters, true);
|
|
534
529
|
}
|
|
535
530
|
|
|
536
531
|
/**
|
|
537
532
|
* Converts a path with semantic keys to a path with technical keys.
|
|
538
533
|
*
|
|
539
|
-
* @param
|
|
540
|
-
* @param
|
|
541
|
-
* @param
|
|
542
|
-
* @returns
|
|
534
|
+
* @param sSemanticPath The path with semantic keys
|
|
535
|
+
* @param oModel The model for the path
|
|
536
|
+
* @param aSemanticKeys The semantic keys for the path
|
|
537
|
+
* @returns A Promise containing the path with technical keys if sSemanticPath could be interpreted as a semantic path, null otherwise
|
|
543
538
|
* @ui5-restricted
|
|
544
539
|
*/
|
|
545
540
|
_getTechnicalPathFromSemanticPath(sSemanticPath: string, oModel: any, aSemanticKeys: any[]) {
|
|
@@ -560,7 +555,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
560
555
|
|
|
561
556
|
// Load the corresponding object
|
|
562
557
|
if (!sEntitySetPath?.startsWith("/")) {
|
|
563
|
-
sEntitySetPath =
|
|
558
|
+
sEntitySetPath = `/${sEntitySetPath}`;
|
|
564
559
|
}
|
|
565
560
|
const oListBinding = oModel.bindList(sEntitySetPath, undefined, undefined, oFilter, {
|
|
566
561
|
"$$groupId": "$auto.Heroes"
|
|
@@ -579,9 +574,9 @@ class InternalRouting extends ControllerExtension {
|
|
|
579
574
|
/**
|
|
580
575
|
* Checks if a path is eligible for semantic bookmarking.
|
|
581
576
|
*
|
|
582
|
-
* @param
|
|
583
|
-
* @param
|
|
584
|
-
* @returns
|
|
577
|
+
* @param sPath The path to test
|
|
578
|
+
* @param oMetaModel The associated metadata model
|
|
579
|
+
* @returns `true` if the path is eligible
|
|
585
580
|
* @ui5-restricted
|
|
586
581
|
*/
|
|
587
582
|
_checkPathForSemanticBookmarking(sPath: string, oMetaModel: any) {
|
|
@@ -591,19 +586,19 @@ class InternalRouting extends ControllerExtension {
|
|
|
591
586
|
return false;
|
|
592
587
|
}
|
|
593
588
|
// Get the entitySet name
|
|
594
|
-
const sEntitySetPath =
|
|
589
|
+
const sEntitySetPath = `/${aMatches[1]}`;
|
|
595
590
|
// Check the entity set supports draft (otherwise we don't support semantic bookmarking)
|
|
596
|
-
const oDraftRoot = oMetaModel.getObject(sEntitySetPath
|
|
597
|
-
const oDraftNode = oMetaModel.getObject(sEntitySetPath
|
|
591
|
+
const oDraftRoot = oMetaModel.getObject(`${sEntitySetPath}@com.sap.vocabularies.Common.v1.DraftRoot`);
|
|
592
|
+
const oDraftNode = oMetaModel.getObject(`${sEntitySetPath}@com.sap.vocabularies.Common.v1.DraftNode`);
|
|
598
593
|
return oDraftRoot || oDraftNode ? true : false;
|
|
599
594
|
}
|
|
600
595
|
|
|
601
596
|
/**
|
|
602
597
|
* Builds a path with semantic keys from a path with technical keys.
|
|
603
598
|
*
|
|
604
|
-
* @param
|
|
599
|
+
* @param sPathToResolve The path to be transformed
|
|
605
600
|
* @param oModel The OData model
|
|
606
|
-
* @returns
|
|
601
|
+
* @returns String promise for the new path. If sPathToResolved couldn't be interpreted as a semantic path, it is returned as is.
|
|
607
602
|
* @ui5-restricted
|
|
608
603
|
*/
|
|
609
604
|
_resolveSemanticPath(sPathToResolve: string, oModel: any): Promise<string> {
|
|
@@ -648,9 +643,9 @@ class InternalRouting extends ControllerExtension {
|
|
|
648
643
|
/**
|
|
649
644
|
* Sets the binding context of the page from a path.
|
|
650
645
|
*
|
|
651
|
-
* @param
|
|
652
|
-
* @param
|
|
653
|
-
* @param
|
|
646
|
+
* @param sTargetPath The path to build the context. Needs to contain technical keys only.
|
|
647
|
+
* @param oModel The OData model
|
|
648
|
+
* @param oNavigationParameters Navigation parameters
|
|
654
649
|
* @ui5-restricted
|
|
655
650
|
*/
|
|
656
651
|
_bindPageToPath(sTargetPath: string, oModel: any, oNavigationParameters: any) {
|
|
@@ -680,9 +675,9 @@ class InternalRouting extends ControllerExtension {
|
|
|
680
675
|
/**
|
|
681
676
|
* Binds the page to a context.
|
|
682
677
|
*
|
|
683
|
-
* @param
|
|
684
|
-
* @param
|
|
685
|
-
* @param
|
|
678
|
+
* @param oContext Context to be bound
|
|
679
|
+
* @param oModel The OData model
|
|
680
|
+
* @param oNavigationParameters Navigation parameters
|
|
686
681
|
* @ui5-restricted
|
|
687
682
|
*/
|
|
688
683
|
_bindPageToContext(oContext: any, oModel: any, oNavigationParameters: any) {
|
|
@@ -701,12 +696,16 @@ class InternalRouting extends ControllerExtension {
|
|
|
701
696
|
// if the parentBinding is not a listBinding or the transient one from the create, we create a new context
|
|
702
697
|
oContext = this._createContext(oContext.getPath(), oModel);
|
|
703
698
|
}
|
|
704
|
-
oContext.setKeepAlive(
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
699
|
+
oContext.setKeepAlive(
|
|
700
|
+
true,
|
|
701
|
+
() => {
|
|
702
|
+
// it is possible that the context is no longer kept alive
|
|
703
|
+
if (oContext.isKeepAlive() && oRootViewController.isContextUsedInPages(oContext)) {
|
|
704
|
+
this.navigateBackFromContext(oContext);
|
|
705
|
+
}
|
|
706
|
+
},
|
|
707
|
+
true
|
|
708
|
+
);
|
|
710
709
|
} else if (!oParentListBinding || oParentListBinding.isA("sap.ui.model.odata.v4.ODataListBinding")) {
|
|
711
710
|
// We need to recreate the context otherwise we get errors
|
|
712
711
|
oContext = this._createContext(oContext.getPath(), oModel, oNavigationParameters.bNavigateToSiblingEntity);
|
|
@@ -729,10 +728,10 @@ class InternalRouting extends ControllerExtension {
|
|
|
729
728
|
/**
|
|
730
729
|
* Creates a context from a path.
|
|
731
730
|
*
|
|
732
|
-
* @param
|
|
733
|
-
* @param
|
|
734
|
-
* @param
|
|
735
|
-
* @returns
|
|
731
|
+
* @param sPath The path
|
|
732
|
+
* @param oModel The OData model
|
|
733
|
+
* @param navigateToSiblingEntity A parameter that determines whether to navigate to the context on data received
|
|
734
|
+
* @returns The created context
|
|
736
735
|
* @ui5-restricted
|
|
737
736
|
*/
|
|
738
737
|
@publicExtension()
|
|
@@ -740,7 +739,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
740
739
|
const oPageComponent = this._oPageComponent,
|
|
741
740
|
sEntitySet = oPageComponent && oPageComponent.getEntitySet && oPageComponent.getEntitySet(),
|
|
742
741
|
sContextPath =
|
|
743
|
-
(oPageComponent && oPageComponent.getContextPath && oPageComponent.getContextPath()) || (sEntitySet &&
|
|
742
|
+
(oPageComponent && oPageComponent.getContextPath && oPageComponent.getContextPath()) || (sEntitySet && `/${sEntitySet}`),
|
|
744
743
|
oMetaModel = oModel.getMetaModel(),
|
|
745
744
|
mParameters: any = {
|
|
746
745
|
$$groupId: "$auto.Heroes",
|
|
@@ -748,21 +747,26 @@ class InternalRouting extends ControllerExtension {
|
|
|
748
747
|
$$patchWithoutSideEffects: true
|
|
749
748
|
};
|
|
750
749
|
// In case of draft: $select the state flags (HasActiveEntity, HasDraftEntity, and IsActiveEntity)
|
|
751
|
-
const oDraftRoot = oMetaModel.getObject(sContextPath
|
|
752
|
-
const oDraftNode = oMetaModel.getObject(sContextPath
|
|
750
|
+
const oDraftRoot = oMetaModel.getObject(`${sContextPath}@com.sap.vocabularies.Common.v1.DraftRoot`);
|
|
751
|
+
const oDraftNode = oMetaModel.getObject(`${sContextPath}@com.sap.vocabularies.Common.v1.DraftNode`);
|
|
753
752
|
const oRootViewController = (this._oAppComponent as any).getRootViewController();
|
|
754
753
|
if (oRootViewController.isFclEnabled()) {
|
|
755
754
|
const oContext = oModel.getKeepAliveContext(sPath, false, mParameters);
|
|
756
755
|
if (oDraftRoot || oDraftNode) {
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
756
|
+
if (!oContext.getBinding().oCache) {
|
|
757
|
+
oContext.requestProperty(["HasActiveEntity", "HasDraftEntity", "IsActiveEntity"]);
|
|
758
|
+
oContext.requestObject("DraftAdministrativeData");
|
|
759
|
+
} else {
|
|
760
|
+
// when switching between draft and edit we need to ensure those properties are requested again even if they are in the binding's cache
|
|
761
|
+
// otherwise when you edit and go to the saved version you have no way of switching back to the edit version
|
|
762
|
+
oContext.requestSideEffects(["HasActiveEntity", "HasDraftEntity", "IsActiveEntity", "DraftAdministrativeData"]);
|
|
763
|
+
}
|
|
760
764
|
}
|
|
761
765
|
|
|
762
766
|
return oContext;
|
|
763
767
|
} else {
|
|
764
768
|
if (sEntitySet) {
|
|
765
|
-
const sMessagesPath = oMetaModel.getObject(sContextPath
|
|
769
|
+
const sMessagesPath = oMetaModel.getObject(`${sContextPath}/@com.sap.vocabularies.Common.v1.Messages/$Path`);
|
|
766
770
|
if (sMessagesPath) {
|
|
767
771
|
mParameters.$select = sMessagesPath;
|
|
768
772
|
}
|
|
@@ -820,7 +824,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
820
824
|
};
|
|
821
825
|
} else {
|
|
822
826
|
mParams = {
|
|
823
|
-
title: oResourceBundle.getText("
|
|
827
|
+
title: oResourceBundle.getText("C_COMMON_SAPFE_ERROR"),
|
|
824
828
|
description: sErrorDescription,
|
|
825
829
|
isDataReceivedError: true,
|
|
826
830
|
shellBack: true
|
|
@@ -841,7 +845,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
841
845
|
* therefore we get all dependent bindings (via private model method) to determine all paths and then
|
|
842
846
|
* request them.
|
|
843
847
|
*
|
|
844
|
-
* @param
|
|
848
|
+
* @param oBindingContext Context to be refreshed
|
|
845
849
|
* @ui5-restricted
|
|
846
850
|
*/
|
|
847
851
|
_refreshBindingContext(oBindingContext: any) {
|
|
@@ -850,7 +854,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
850
854
|
const sRootContextPath = oBindingContext.getPath();
|
|
851
855
|
const sEntitySet = oPageComponent && oPageComponent.getEntitySet && oPageComponent.getEntitySet();
|
|
852
856
|
const sContextPath =
|
|
853
|
-
(oPageComponent && oPageComponent.getContextPath && oPageComponent.getContextPath()) || (sEntitySet &&
|
|
857
|
+
(oPageComponent && oPageComponent.getContextPath && oPageComponent.getContextPath()) || (sEntitySet && `/${sEntitySet}`);
|
|
854
858
|
const oMetaModel = this._oView.getModel().getMetaModel();
|
|
855
859
|
let sMessagesPath;
|
|
856
860
|
const aNavigationPropertyPaths: any[] = [];
|
|
@@ -863,7 +867,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
863
867
|
function getBindingPaths(oBinding: any) {
|
|
864
868
|
let aDependentBindings;
|
|
865
869
|
const sRelativePath = ((oBinding.getContext() && oBinding.getContext().getPath()) || "").replace(sRootContextPath, ""); // If no context, this is an absolute binding so no relative path
|
|
866
|
-
const sPath = (sRelativePath ? sRelativePath.slice(1)
|
|
870
|
+
const sPath = (sRelativePath ? `${sRelativePath.slice(1)}/` : sRelativePath) + oBinding.getPath();
|
|
867
871
|
|
|
868
872
|
if (oBinding.isA("sap.ui.model.odata.v4.ODataContextBinding")) {
|
|
869
873
|
// if (sPath === "") {
|
|
@@ -890,7 +894,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
890
894
|
}
|
|
891
895
|
|
|
892
896
|
if (sContextPath) {
|
|
893
|
-
sMessagesPath = oMetaModel.getObject(sContextPath
|
|
897
|
+
sMessagesPath = oMetaModel.getObject(`${sContextPath}/@com.sap.vocabularies.Common.v1.Messages/$Path`);
|
|
894
898
|
}
|
|
895
899
|
|
|
896
900
|
// binding of the context must have $$PatchWithoutSideEffects true, this bound context may be needed to be fetched from the dependent binding
|
|
@@ -914,7 +918,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
914
918
|
/**
|
|
915
919
|
* Gets the binding context of the page or the component.
|
|
916
920
|
*
|
|
917
|
-
* @returns
|
|
921
|
+
* @returns The binding context
|
|
918
922
|
* @ui5-restricted
|
|
919
923
|
*/
|
|
920
924
|
_getBindingContext(): Context {
|
|
@@ -928,7 +932,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
928
932
|
/**
|
|
929
933
|
* Sets the binding context of the page or the component.
|
|
930
934
|
*
|
|
931
|
-
* @param
|
|
935
|
+
* @param oContext The binding context
|
|
932
936
|
* @ui5-restricted
|
|
933
937
|
*/
|
|
934
938
|
_setBindingContext(oContext: any) {
|
|
@@ -951,7 +955,7 @@ class InternalRouting extends ControllerExtension {
|
|
|
951
955
|
/**
|
|
952
956
|
* Gets the flexible column layout (FCL) level corresponding to the view (-1 if the app is not FCL).
|
|
953
957
|
*
|
|
954
|
-
* @returns
|
|
958
|
+
* @returns The level
|
|
955
959
|
* @ui5-restricted
|
|
956
960
|
*/
|
|
957
961
|
_getFCLLevel() {
|