@sapui5/sap.fe.core 1.100.0 → 1.102.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 +4 -4
- package/src/sap/fe/core/.library +2 -3
- package/src/sap/fe/core/AppComponent.js +23 -30
- package/src/sap/fe/core/AppComponent.ts +35 -40
- package/src/sap/fe/core/AppStateHandler.js +8 -8
- package/src/sap/fe/core/AppStateHandler.ts +11 -11
- package/src/sap/fe/core/BaseController.js +9 -9
- package/src/sap/fe/core/BaseController.ts +3 -4
- package/src/sap/fe/core/CommonUtils.js +122 -101
- package/src/sap/fe/core/CommonUtils.ts +239 -193
- package/src/sap/fe/core/ExtensionAPI.js +12 -13
- package/src/sap/fe/core/ExtensionAPI.ts +21 -31
- package/src/sap/fe/core/PageController.js +19 -13
- package/src/sap/fe/core/PageController.ts +40 -34
- package/src/sap/fe/core/TemplateComponent.js +198 -123
- package/src/sap/fe/core/TemplateComponent.ts +109 -121
- package/src/sap/fe/core/TemplateModel.js +7 -9
- package/src/sap/fe/core/TemplateModel.ts +3 -3
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +60 -0
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +37 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +165 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +178 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +935 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +837 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +436 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +431 -0
- package/src/sap/fe/core/{BusyLocker.js → controllerextensions/BusyLocker.js} +1 -1
- package/src/sap/fe/core/{BusyLocker.ts → controllerextensions/BusyLocker.ts} +7 -7
- package/src/sap/fe/core/controllerextensions/EditFlow.js +660 -288
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +513 -331
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +11 -11
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +6 -7
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +43 -25
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +132 -103
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +16 -16
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +64 -55
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +166 -99
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +187 -149
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +14 -14
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +12 -11
- package/src/sap/fe/core/controllerextensions/MassEdit.js +13 -12
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +22 -22
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +14 -26
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +20 -30
- package/src/sap/fe/core/controllerextensions/PageReady.js +25 -23
- package/src/sap/fe/core/controllerextensions/PageReady.ts +49 -47
- package/src/sap/fe/core/controllerextensions/Paginator.js +24 -15
- package/src/sap/fe/core/controllerextensions/Paginator.ts +35 -20
- package/src/sap/fe/core/controllerextensions/Placeholder.js +10 -10
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
- package/src/sap/fe/core/controllerextensions/Routing.js +11 -11
- package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
- package/src/sap/fe/core/controllerextensions/Share.js +34 -16
- package/src/sap/fe/core/controllerextensions/Share.ts +50 -32
- package/src/sap/fe/core/controllerextensions/SideEffects.js +15 -15
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +64 -65
- package/src/sap/fe/core/controllerextensions/ViewState.js +27 -31
- package/src/sap/fe/core/controllerextensions/ViewState.ts +103 -102
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +105 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +98 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +360 -0
- package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ActivitySync.ts +90 -132
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +146 -0
- package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.ts +18 -8
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +264 -0
- package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.ts +35 -33
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +100 -0
- package/src/sap/fe/core/{actions → controllerextensions}/collaboration/UserDetails.fragment.xml +5 -7
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1584 -0
- package/src/sap/fe/core/{TransactionHelper.ts → controllerextensions/editFlow/TransactionHelper.ts} +190 -159
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +780 -0
- package/src/sap/fe/core/{actions → controllerextensions/editFlow}/draft.ts +329 -76
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1149 -0
- package/src/sap/fe/core/{actions → controllerextensions/editFlow}/operations.ts +169 -97
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +190 -0
- package/src/sap/fe/core/{actions → controllerextensions/editFlow}/sticky.ts +76 -12
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +592 -0
- package/src/sap/fe/core/{actions → controllerextensions/messageHandler}/messageHandling.ts +83 -60
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +940 -0
- package/src/sap/fe/core/{RouterProxy.ts → controllerextensions/routing/RouterProxy.ts} +52 -36
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +21 -18
- package/src/sap/fe/core/controls/Any.js +28 -0
- package/src/sap/fe/core/controls/Any.ts +30 -0
- package/src/sap/fe/core/controls/CommandExecution.js +50 -16
- package/src/sap/fe/core/controls/CommandExecution.ts +31 -22
- package/src/sap/fe/core/controls/ConditionalWrapper.js +136 -65
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +49 -58
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +371 -0
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +282 -0
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +74 -36
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +23 -32
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +52 -5
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +127 -67
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +127 -67
- package/src/sap/fe/core/controls/FieldWrapper.js +171 -87
- package/src/sap/fe/core/controls/FieldWrapper.ts +69 -80
- package/src/sap/fe/core/controls/FileWrapper.js +360 -0
- package/src/sap/fe/core/controls/FileWrapper.ts +202 -0
- package/src/sap/fe/core/controls/FilterBar.js +154 -119
- package/src/sap/fe/core/controls/FilterBar.ts +128 -123
- package/src/sap/fe/core/controls/FormElementWrapper.js +102 -37
- package/src/sap/fe/core/controls/FormElementWrapper.ts +43 -35
- package/src/sap/fe/core/controls/MassEditSelect.js +33 -0
- package/src/sap/fe/core/controls/MassEditSelect.ts +45 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +111 -89
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +86 -82
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +242 -193
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +211 -204
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +152 -116
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +105 -105
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +2 -2
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +23 -28
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +41 -81
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +107 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +550 -35
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +604 -35
- package/src/sap/fe/core/converters/ManifestSettings.js +3 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +9 -2
- package/src/sap/fe/core/converters/MetaModelConverter.js +11 -40
- package/src/sap/fe/core/converters/MetaModelConverter.ts +56 -84
- package/src/sap/fe/core/converters/annotations/DataField.js +20 -5
- package/src/sap/fe/core/converters/annotations/DataField.ts +27 -6
- package/src/sap/fe/core/converters/controls/Common/Action.js +14 -21
- package/src/sap/fe/core/converters/controls/Common/Action.ts +23 -28
- package/src/sap/fe/core/converters/controls/Common/Chart.js +17 -10
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +20 -14
- package/src/sap/fe/core/converters/controls/Common/Form.js +16 -18
- package/src/sap/fe/core/converters/controls/Common/Form.ts +20 -20
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +2 -3
- package/src/sap/fe/core/converters/controls/Common/Table.js +389 -173
- package/src/sap/fe/core/converters/controls/Common/Table.ts +440 -244
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +26 -16
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +27 -19
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +78 -47
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +146 -107
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +6 -6
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +20 -18
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +30 -25
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +39 -34
- package/src/sap/fe/core/converters/helpers/Aggregation.js +10 -2
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +18 -13
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +3 -2
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +6 -5
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +0 -4
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +27 -24
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +49 -40
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +33 -22
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +77 -62
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +28 -28
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +38 -45
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -3
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +8 -6
- package/src/sap/fe/core/formatters/KPIFormatter.js +3 -12
- package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -2
- package/src/sap/fe/core/formatters/TableFormatter.js +74 -13
- package/src/sap/fe/core/formatters/TableFormatter.ts +71 -16
- package/src/sap/fe/core/formatters/ValueFormatter.js +4 -4
- package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -7
- package/src/sap/fe/core/fpm/Component.js +46 -17
- package/src/sap/fe/core/fpm/Component.ts +11 -16
- package/src/sap/fe/core/helpers/AppStartupHelper.js +4 -4
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +3 -3
- package/src/sap/fe/core/helpers/BindingExpression.js +10 -7
- package/src/sap/fe/core/helpers/BindingExpression.ts +37 -35
- package/src/sap/fe/core/helpers/ClassSupport.js +273 -256
- package/src/sap/fe/core/helpers/ClassSupport.ts +315 -237
- package/src/sap/fe/core/helpers/FPMHelper.js +3 -2
- package/src/sap/fe/core/helpers/FPMHelper.ts +9 -8
- package/src/sap/fe/core/helpers/MassEditHelper.js +522 -147
- package/src/sap/fe/core/helpers/MassEditHelper.ts +563 -236
- package/src/sap/fe/core/helpers/ModelHelper.js +29 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +39 -26
- package/src/sap/fe/core/helpers/PasteHelper.js +4 -4
- package/src/sap/fe/core/helpers/PasteHelper.ts +4 -3
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +3 -3
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +3 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.js +5 -7
- package/src/sap/fe/core/helpers/StableIdHelper.ts +8 -8
- package/src/sap/fe/core/{Synchronization.js → helpers/Synchronization.js} +1 -1
- package/src/sap/fe/core/{Synchronization.ts → helpers/Synchronization.ts} +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.js +35 -5
- package/src/sap/fe/core/jsx-runtime/jsx.ts +22 -8
- package/src/sap/fe/core/library.js +13 -5
- package/src/sap/fe/core/library.ts +26 -17
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +0 -3
- package/src/sap/fe/core/messagebundle.properties +135 -180
- package/src/sap/fe/core/messagebundle_ar.properties +31 -64
- package/src/sap/fe/core/messagebundle_bg.properties +31 -64
- package/src/sap/fe/core/messagebundle_ca.properties +31 -64
- package/src/sap/fe/core/messagebundle_cs.properties +31 -64
- package/src/sap/fe/core/messagebundle_cy.properties +32 -65
- package/src/sap/fe/core/messagebundle_da.properties +31 -64
- package/src/sap/fe/core/messagebundle_de.properties +29 -62
- package/src/sap/fe/core/messagebundle_el.properties +32 -65
- package/src/sap/fe/core/messagebundle_en.properties +32 -65
- package/src/sap/fe/core/messagebundle_en_GB.properties +29 -62
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +41 -74
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +32 -65
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +20 -6
- package/src/sap/fe/core/messagebundle_es.properties +31 -64
- package/src/sap/fe/core/messagebundle_es_MX.properties +31 -64
- package/src/sap/fe/core/messagebundle_et.properties +31 -64
- package/src/sap/fe/core/messagebundle_fi.properties +29 -62
- package/src/sap/fe/core/messagebundle_fr.properties +36 -69
- package/src/sap/fe/core/messagebundle_fr_CA.properties +33 -66
- package/src/sap/fe/core/messagebundle_hi.properties +29 -62
- package/src/sap/fe/core/messagebundle_hr.properties +32 -65
- package/src/sap/fe/core/messagebundle_hu.properties +30 -63
- package/src/sap/fe/core/messagebundle_id.properties +32 -65
- package/src/sap/fe/core/messagebundle_it.properties +31 -64
- package/src/sap/fe/core/messagebundle_iw.properties +31 -64
- package/src/sap/fe/core/messagebundle_ja.properties +29 -62
- package/src/sap/fe/core/messagebundle_kk.properties +31 -64
- package/src/sap/fe/core/messagebundle_ko.properties +31 -64
- package/src/sap/fe/core/messagebundle_lt.properties +31 -64
- package/src/sap/fe/core/messagebundle_lv.properties +32 -65
- package/src/sap/fe/core/messagebundle_ms.properties +31 -64
- package/src/sap/fe/core/messagebundle_nl.properties +31 -64
- package/src/sap/fe/core/messagebundle_no.properties +31 -64
- package/src/sap/fe/core/messagebundle_pl.properties +34 -67
- package/src/sap/fe/core/messagebundle_pt.properties +32 -65
- package/src/sap/fe/core/messagebundle_pt_PT.properties +31 -64
- package/src/sap/fe/core/messagebundle_ro.properties +33 -66
- package/src/sap/fe/core/messagebundle_ru.properties +33 -66
- package/src/sap/fe/core/messagebundle_sh.properties +31 -64
- package/src/sap/fe/core/messagebundle_sk.properties +31 -64
- package/src/sap/fe/core/messagebundle_sl.properties +29 -62
- package/src/sap/fe/core/messagebundle_sv.properties +30 -63
- package/src/sap/fe/core/messagebundle_th.properties +31 -64
- package/src/sap/fe/core/messagebundle_tr.properties +31 -64
- package/src/sap/fe/core/messagebundle_uk.properties +32 -65
- package/src/sap/fe/core/messagebundle_vi.properties +31 -64
- package/src/sap/fe/core/messagebundle_zh_CN.properties +32 -65
- package/src/sap/fe/core/messagebundle_zh_TW.properties +34 -67
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +4 -4
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +5 -5
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +1 -2
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +11 -8
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +15 -13
- package/src/sap/fe/core/services/NavigationServiceFactory.js +5 -5
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +9 -5
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +4 -4
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js +105 -66
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +59 -49
- package/src/sap/fe/core/services/ShellServicesFactory.js +104 -29
- package/src/sap/fe/core/services/ShellServicesFactory.ts +64 -30
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +4 -4
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +11 -10
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +38 -51
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +43 -5
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +6 -3
- package/src/sap/fe/core/support/CommonHelper.js +1 -1
- package/src/sap/fe/core/support/CommonHelper.ts +0 -3
- package/src/sap/fe/core/templating/DataModelPathHelper.js +2 -9
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +32 -38
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +23 -3
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +27 -6
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -9
- package/src/sap/fe/core/templating/EntitySetHelper.ts +11 -13
- package/src/sap/fe/core/templating/FilterHelper.js +4 -4
- package/src/sap/fe/core/templating/FilterHelper.ts +6 -5
- package/src/sap/fe/core/templating/PropertyHelper.js +70 -33
- package/src/sap/fe/core/templating/PropertyHelper.ts +49 -27
- package/src/sap/fe/core/templating/UIFormatters.js +133 -22
- package/src/sap/fe/core/templating/UIFormatters.ts +144 -50
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +47 -0
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +23 -0
- package/src/sap/fe/core/type/Email.js +26 -8
- package/src/sap/fe/core/type/Email.ts +8 -7
- package/src/sap/fe/core/AnnotationHelper.js +0 -312
- package/src/sap/fe/core/AnnotationHelper.ts +0 -315
- package/src/sap/fe/core/RouterProxy.js +0 -926
- package/src/sap/fe/core/TransactionHelper.js +0 -1562
- package/src/sap/fe/core/actions/collaboration/ActivitySync.js +0 -392
- package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +0 -136
- package/src/sap/fe/core/actions/collaboration/Manage.js +0 -262
- package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +0 -103
- package/src/sap/fe/core/actions/draft.js +0 -523
- package/src/sap/fe/core/actions/messageHandling.js +0 -567
- package/src/sap/fe/core/actions/nonDraft.js +0 -20
- package/src/sap/fe/core/actions/nonDraft.ts +0 -12
- package/src/sap/fe/core/actions/operations.js +0 -1096
- package/src/sap/fe/core/actions/sticky.js +0 -130
- package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +0 -78
- package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +0 -65
- package/src/sap/fe/core/formatters/CriticalityFormatter.js +0 -77
- package/src/sap/fe/core/formatters/CriticalityFormatter.ts +0 -58
|
@@ -1,33 +1,38 @@
|
|
|
1
|
-
import Event from "sap/ui/base/Event";
|
|
2
|
-
import Service from "sap/ui/core/service/Service";
|
|
3
|
-
import ServiceFactory from "sap/ui/core/service/ServiceFactory";
|
|
4
|
-
import BindingParser from "sap/ui/base/BindingParser";
|
|
5
|
-
import SemanticKeyHelper from "sap/fe/core/helpers/SemanticKeyHelper";
|
|
6
1
|
import Log from "sap/base/Log";
|
|
7
|
-
import
|
|
8
|
-
import BusyLocker from "sap/fe/core/BusyLocker";
|
|
9
|
-
import
|
|
10
|
-
import EditState from "sap/fe/core/helpers/EditState";
|
|
11
|
-
import messageHandling from "sap/fe/core/actions/messageHandling";
|
|
2
|
+
import AppComponent from "sap/fe/core/AppComponent";
|
|
3
|
+
import BusyLocker from "sap/fe/core/controllerextensions/BusyLocker";
|
|
4
|
+
import messageHandling from "sap/fe/core/controllerextensions/messageHandler/messageHandling";
|
|
12
5
|
import Placeholder from "sap/fe/core/controllerextensions/Placeholder";
|
|
6
|
+
import RouterProxy from "sap/fe/core/controllerextensions/routing/RouterProxy";
|
|
13
7
|
import AppStartupHelper from "sap/fe/core/helpers/AppStartupHelper";
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
8
|
+
import { defineUI5Class, event } from "sap/fe/core/helpers/ClassSupport";
|
|
9
|
+
import EditState from "sap/fe/core/helpers/EditState";
|
|
10
|
+
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
11
|
+
import SemanticKeyHelper from "sap/fe/core/helpers/SemanticKeyHelper";
|
|
12
|
+
import BindingParser from "sap/ui/base/BindingParser";
|
|
13
|
+
import Event from "sap/ui/base/Event";
|
|
14
|
+
import EventProvider from "sap/ui/base/EventProvider";
|
|
19
15
|
import Router from "sap/ui/core/routing/Router";
|
|
20
|
-
import
|
|
16
|
+
import Service from "sap/ui/core/service/Service";
|
|
17
|
+
import ServiceFactory from "sap/ui/core/service/ServiceFactory";
|
|
21
18
|
import Context from "sap/ui/model/odata/v4/Context";
|
|
19
|
+
import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
|
|
20
|
+
import ODataModel from "sap/ui/model/odata/v4/ODataModel";
|
|
21
|
+
import ODataUtils from "sap/ui/model/odata/v4/ODataUtils";
|
|
22
|
+
import { ServiceContext } from "types/extension_types";
|
|
22
23
|
type RoutingServiceSettings = {};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
@defineUI5Class("sap.fe.core.services.RoutingServiceEventing")
|
|
25
|
+
class RoutingServiceEventing extends EventProvider {
|
|
26
|
+
@event()
|
|
27
|
+
routeMatched!: Function;
|
|
28
|
+
@event()
|
|
29
|
+
afterRouteMatched!: Function;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export type SemanticMapping = {
|
|
33
|
+
semanticPath: string;
|
|
34
|
+
technicalPath: string;
|
|
35
|
+
};
|
|
31
36
|
export class RoutingService extends Service<RoutingServiceSettings> {
|
|
32
37
|
oAppComponent!: AppComponent;
|
|
33
38
|
oModel!: ODataModel;
|
|
@@ -39,7 +44,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
39
44
|
outbounds: any;
|
|
40
45
|
_mTargets: any;
|
|
41
46
|
_mRoutes: any;
|
|
42
|
-
oLastSemanticMapping
|
|
47
|
+
oLastSemanticMapping?: SemanticMapping;
|
|
43
48
|
bExitOnNavigateBackToRoot?: boolean;
|
|
44
49
|
sCurrentRouteName?: string;
|
|
45
50
|
sCurrentRoutePattern?: string;
|
|
@@ -236,7 +241,8 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
236
241
|
!this._mTargets[sTargetName].options.settings.fullContextPath
|
|
237
242
|
) {
|
|
238
243
|
if (target.viewLevel === 0) {
|
|
239
|
-
this._mTargets[sTargetName].options.settings.fullContextPath =
|
|
244
|
+
this._mTargets[sTargetName].options.settings.fullContextPath =
|
|
245
|
+
(sNavName.startsWith("/") ? "" : "/") + sNavName + "/";
|
|
240
246
|
} else {
|
|
241
247
|
this._mTargets[sTargetName].options.settings.fullContextPath =
|
|
242
248
|
settings.fullContextPath + sNavName + "/";
|
|
@@ -306,17 +312,17 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
306
312
|
return this._getTargetInformation(sCorrectTargetName);
|
|
307
313
|
}
|
|
308
314
|
|
|
309
|
-
getLastSemanticMapping() {
|
|
315
|
+
getLastSemanticMapping(): SemanticMapping | undefined {
|
|
310
316
|
return this.oLastSemanticMapping;
|
|
311
317
|
}
|
|
312
318
|
|
|
313
|
-
setLastSemanticMapping(oMapping
|
|
319
|
+
setLastSemanticMapping(oMapping?: SemanticMapping) {
|
|
314
320
|
this.oLastSemanticMapping = oMapping;
|
|
315
321
|
}
|
|
316
322
|
|
|
317
323
|
navigateTo(oContext: any, sRouteName: any, mParameterMapping: any, bPreserveHistory: any) {
|
|
318
324
|
let sTargetURLPromise, bIsStickyMode: boolean;
|
|
319
|
-
if (oContext.getModel() && oContext.getModel().getMetaModel) {
|
|
325
|
+
if (oContext.getModel() && oContext.getModel().getMetaModel && oContext.getModel().getMetaModel()) {
|
|
320
326
|
bIsStickyMode = ModelHelper.isStickySessionSupported(oContext.getModel().getMetaModel());
|
|
321
327
|
}
|
|
322
328
|
if (!mParameterMapping) {
|
|
@@ -351,7 +357,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
351
357
|
// We assume the defined parameters will be compatible with a binding expression
|
|
352
358
|
const oParsedExpression = BindingParser.complexParser(sParameterMappingExpression);
|
|
353
359
|
const aParts = oParsedExpression.parts || [oParsedExpression];
|
|
354
|
-
const aResolvedParameterPromises = aParts.map(function(oPathPart: any) {
|
|
360
|
+
const aResolvedParameterPromises = aParts.map(function (oPathPart: any) {
|
|
355
361
|
const aRelativeParts = oPathPart.path.split("../");
|
|
356
362
|
// We go up the current context path as many times as necessary
|
|
357
363
|
const aLocalParts = aContextPathParts.slice(0, aContextPathParts.length - aRelativeParts.length + 1);
|
|
@@ -359,7 +365,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
359
365
|
|
|
360
366
|
const sPropertyPath = aLocalParts.join("/");
|
|
361
367
|
const oMetaContext = (oMetaModel as any).getMetaContext(sPropertyPath);
|
|
362
|
-
return oContext.requestProperty(sPropertyPath).then(function(oValue: any) {
|
|
368
|
+
return oContext.requestProperty(sPropertyPath).then(function (oValue: any) {
|
|
363
369
|
const oPropertyInfo = oMetaContext.getObject();
|
|
364
370
|
const sEdmType = oPropertyInfo.$Type;
|
|
365
371
|
return ODataUtils.formatLiteral(oValue, sEdmType);
|
|
@@ -374,11 +380,11 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
374
380
|
});
|
|
375
381
|
});
|
|
376
382
|
|
|
377
|
-
oParametersPromise = Promise.all(aAllResolvedParameterPromises).then(function(
|
|
383
|
+
oParametersPromise = Promise.all(aAllResolvedParameterPromises).then(function (
|
|
378
384
|
aAllResolvedParameters: { key: any; value: any }[]
|
|
379
385
|
) {
|
|
380
386
|
const oParameters: any = {};
|
|
381
|
-
aAllResolvedParameters.forEach(function(oResolvedParameter: { key: any; value: any }) {
|
|
387
|
+
aAllResolvedParameters.forEach(function (oResolvedParameter: { key: any; value: any }) {
|
|
382
388
|
oParameters[oResolvedParameter.key] = oResolvedParameter.value;
|
|
383
389
|
});
|
|
384
390
|
return oParameters;
|
|
@@ -436,11 +442,12 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
436
442
|
targetPath?: string;
|
|
437
443
|
showPlaceholder?: boolean;
|
|
438
444
|
bDraftNavigation?: boolean;
|
|
445
|
+
bNavigateToSiblingEntity?: boolean;
|
|
439
446
|
}
|
|
440
447
|
| undefined,
|
|
441
448
|
oViewData: any | undefined,
|
|
442
449
|
oCurrentTargetInfo: any | undefined
|
|
443
|
-
): Promise<
|
|
450
|
+
): Promise<boolean> {
|
|
444
451
|
let sTargetRoute: string = "",
|
|
445
452
|
oRouteParametersPromise,
|
|
446
453
|
bIsStickyMode: boolean = false;
|
|
@@ -462,7 +469,8 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
462
469
|
// If the path is empty, we're supposed to navigate to the first page of the app
|
|
463
470
|
// Check if we need to exit from the app instead
|
|
464
471
|
if (sTargetPath.length === 0 && this.bExitOnNavigateBackToRoot) {
|
|
465
|
-
|
|
472
|
+
this.oRouterProxy.exitFromApp();
|
|
473
|
+
return Promise.resolve(true);
|
|
466
474
|
}
|
|
467
475
|
|
|
468
476
|
// If the context is deferred or async, we add (...) to the path
|
|
@@ -484,7 +492,8 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
484
492
|
bPersistOPScroll: mParameters?.bPersistOPScroll,
|
|
485
493
|
useContext: mParameters?.updateFCLLevel === -1 || mParameters?.bRecreateContext ? undefined : oContext,
|
|
486
494
|
bDraftNavigation: mParameters?.bDraftNavigation,
|
|
487
|
-
bShowPlaceholder: mParameters?.showPlaceholder !== undefined ? mParameters?.showPlaceholder : true
|
|
495
|
+
bShowPlaceholder: mParameters?.showPlaceholder !== undefined ? mParameters?.showPlaceholder : true,
|
|
496
|
+
bNavigateToSiblingEntity: mParameters?.bNavigateToSiblingEntity
|
|
488
497
|
};
|
|
489
498
|
|
|
490
499
|
if (mParameters?.checkNoHashChange) {
|
|
@@ -504,7 +513,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
504
513
|
|
|
505
514
|
this._fireRouteMatchEvents(mEventParameters);
|
|
506
515
|
|
|
507
|
-
return Promise.resolve();
|
|
516
|
+
return Promise.resolve(true);
|
|
508
517
|
}
|
|
509
518
|
}
|
|
510
519
|
|
|
@@ -539,10 +548,9 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
539
548
|
return oRouteParametersPromise.then((oRouteParameters: any) => {
|
|
540
549
|
oRouteParameters.bIsStickyMode = bIsStickyMode;
|
|
541
550
|
this.oRouter.navTo(sTargetRoute, oRouteParameters);
|
|
542
|
-
return Promise.resolve();
|
|
551
|
+
return Promise.resolve(true);
|
|
543
552
|
});
|
|
544
553
|
}
|
|
545
|
-
|
|
546
554
|
return this.oRouterProxy
|
|
547
555
|
.navToHash(sTargetPath, false, mParameters?.noPreservationCache, mParameters?.bForceFocus, !bIsStickyMode)
|
|
548
556
|
.then((bNavigated: any) => {
|
|
@@ -550,6 +558,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
550
558
|
// The navigation did not happen --> remove the navigation parameters from the queue as they shouldn't be used
|
|
551
559
|
this.navigationInfoQueue.pop();
|
|
552
560
|
}
|
|
561
|
+
return bNavigated;
|
|
553
562
|
});
|
|
554
563
|
}
|
|
555
564
|
|
|
@@ -682,7 +691,12 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
682
691
|
}
|
|
683
692
|
}
|
|
684
693
|
|
|
685
|
-
return (this.oAppComponent.getRootViewController() as any).calculateLayout(
|
|
694
|
+
return (this.oAppComponent.getRootViewController() as any).calculateLayout(
|
|
695
|
+
FCLLevel,
|
|
696
|
+
sPath,
|
|
697
|
+
mParameters.sLayout,
|
|
698
|
+
mParameters.keepCurrentLayout
|
|
699
|
+
);
|
|
686
700
|
}
|
|
687
701
|
|
|
688
702
|
/**
|
|
@@ -740,7 +754,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
740
754
|
.then(() => {
|
|
741
755
|
this.oRouterProxy.resolveRouteMatch();
|
|
742
756
|
})
|
|
743
|
-
.catch(function(oError: any) {
|
|
757
|
+
.catch(function (oError: any) {
|
|
744
758
|
Log.error("Error while restoring history", oError);
|
|
745
759
|
});
|
|
746
760
|
} else {
|
|
@@ -754,7 +768,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
754
768
|
detachRouteMatched(fnFunction: any, oListener?: any) {
|
|
755
769
|
this.eventProvider.detachEvent("routeMatched", fnFunction, oListener);
|
|
756
770
|
}
|
|
757
|
-
attachAfterRouteMatched(oData: any, fnFunction: any, oListener
|
|
771
|
+
attachAfterRouteMatched(oData: any, fnFunction: any, oListener?: any) {
|
|
758
772
|
this.eventProvider.attachEvent("afterRouteMatched", oData, fnFunction, oListener);
|
|
759
773
|
}
|
|
760
774
|
detachAfterRouteMatched(fnFunction: any, oListener: any) {
|
|
@@ -767,7 +781,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
767
781
|
return oAppComponent
|
|
768
782
|
.getMetadata()
|
|
769
783
|
.getManifestEntry("/sap.ui5/routing/routes")
|
|
770
|
-
.filter(function(oRoute: any) {
|
|
784
|
+
.filter(function (oRoute: any) {
|
|
771
785
|
return oRoute.name === oRouteInfo.name;
|
|
772
786
|
})[0];
|
|
773
787
|
}
|
|
@@ -797,11 +811,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
797
811
|
EditState.resetEditState();
|
|
798
812
|
this.bExitOnNavigateBackToRoot = !this.oRouter.match("");
|
|
799
813
|
|
|
800
|
-
const bIsIappState =
|
|
801
|
-
this.oRouter
|
|
802
|
-
.getHashChanger()
|
|
803
|
-
.getHash()
|
|
804
|
-
.indexOf("sap-iapp-state") !== -1;
|
|
814
|
+
const bIsIappState = this.oRouter.getHashChanger().getHash().indexOf("sap-iapp-state") !== -1;
|
|
805
815
|
const initPromise = this.oAppComponent
|
|
806
816
|
.getStartupParameters()
|
|
807
817
|
.then((oStartupParameters: any) => {
|
|
@@ -818,7 +828,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
|
|
|
818
828
|
}
|
|
819
829
|
}
|
|
820
830
|
})
|
|
821
|
-
.catch(function(oError: any) {
|
|
831
|
+
.catch(function (oError: any) {
|
|
822
832
|
Log.error("Error during routing initialization", oError);
|
|
823
833
|
});
|
|
824
834
|
|