@sapui5/sap.fe.core 1.102.3 → 1.105.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 +6 -6
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime.js +120 -0
- package/src/sap/fe/core/ActionRuntime.ts +108 -0
- package/src/sap/fe/core/AppComponent.js +81 -35
- package/src/sap/fe/core/AppComponent.ts +68 -44
- package/src/sap/fe/core/AppStateHandler.js +82 -70
- package/src/sap/fe/core/AppStateHandler.ts +32 -37
- package/src/sap/fe/core/BaseController.js +12 -10
- package/src/sap/fe/core/BaseController.ts +15 -13
- package/src/sap/fe/core/CommonUtils.js +291 -218
- package/src/sap/fe/core/CommonUtils.ts +315 -251
- package/src/sap/fe/core/ExtensionAPI.js +25 -28
- package/src/sap/fe/core/ExtensionAPI.ts +36 -38
- package/src/sap/fe/core/PageController.js +5 -5
- package/src/sap/fe/core/PageController.ts +4 -5
- package/src/sap/fe/core/TemplateComponent.js +21 -10
- package/src/sap/fe/core/TemplateComponent.ts +9 -6
- package/src/sap/fe/core/TemplateModel.js +2 -2
- package/src/sap/fe/core/TemplateModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +11 -3
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +8 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +197 -43
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +164 -24
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +14 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.ts +5 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +609 -230
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +275 -128
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +30 -30
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +32 -29
- package/src/sap/fe/core/controllerextensions/BusyLocker.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js +761 -700
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +478 -514
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +10 -10
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +104 -75
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +71 -79
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +68 -68
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +76 -76
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +162 -102
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +177 -121
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +67 -69
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
- package/src/sap/fe/core/controllerextensions/MassEdit.js +10 -10
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +20 -27
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +21 -13
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -14
- package/src/sap/fe/core/controllerextensions/PageReady.js +98 -26
- package/src/sap/fe/core/controllerextensions/PageReady.ts +98 -34
- package/src/sap/fe/core/controllerextensions/Paginator.js +31 -32
- package/src/sap/fe/core/controllerextensions/Paginator.ts +33 -34
- package/src/sap/fe/core/controllerextensions/Placeholder.js +5 -7
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
- package/src/sap/fe/core/controllerextensions/Routing.js +11 -12
- package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
- package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
- package/src/sap/fe/core/controllerextensions/Share.js +171 -140
- package/src/sap/fe/core/controllerextensions/Share.ts +117 -118
- package/src/sap/fe/core/controllerextensions/SideEffects.js +47 -51
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
- package/src/sap/fe/core/controllerextensions/ViewState.js +201 -132
- package/src/sap/fe/core/controllerextensions/ViewState.ts +141 -148
- 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 +13 -12
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +17 -20
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +13 -12
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +15 -15
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +57 -18
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +60 -28
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +29 -21
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1424 -940
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +799 -836
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +410 -377
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +275 -358
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +309 -0
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +320 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +752 -579
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +631 -599
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +92 -74
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +49 -52
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -41
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +110 -84
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +69 -81
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +64 -73
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +18 -2
- package/src/sap/fe/core/controls/ActionParameterDialogFieldValueHelp.fragment.xml +35 -0
- package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +25 -24
- 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 +12 -26
- package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
- package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -3
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +26 -26
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -3
- 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 +3 -3
- package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
- package/src/sap/fe/core/controls/FileWrapper.js +9 -4
- package/src/sap/fe/core/controls/FileWrapper.ts +16 -12
- package/src/sap/fe/core/controls/FilterBar.js +7 -3
- package/src/sap/fe/core/controls/FilterBar.ts +13 -9
- package/src/sap/fe/core/controls/FormElementWrapper.js +2 -2
- 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/MultiValueParameterDelegate.js +1 -1
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +44 -19
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +2 -2
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +17 -13
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +4 -4
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +49 -49
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +54 -54
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
- 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 +48 -34
- package/src/sap/fe/core/converters/ConverterContext.ts +81 -67
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +18 -15
- 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 +74 -40
- package/src/sap/fe/core/converters/MetaModelConverter.ts +176 -140
- 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 +58 -35
- package/src/sap/fe/core/converters/annotations/DataField.ts +102 -76
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1956 -1494
- package/src/sap/fe/core/converters/controls/Common/Action.js +78 -51
- package/src/sap/fe/core/converters/controls/Common/Action.ts +87 -52
- package/src/sap/fe/core/converters/controls/Common/Chart.js +22 -16
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +42 -43
- 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 +65 -29
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +93 -62
- package/src/sap/fe/core/converters/controls/Common/Form.js +31 -31
- package/src/sap/fe/core/converters/controls/Common/Form.ts +46 -57
- package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +49 -52
- package/src/sap/fe/core/converters/controls/Common/Table.js +251 -264
- package/src/sap/fe/core/converters/controls/Common/Table.ts +344 -370
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +147 -144
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +89 -59
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +118 -71
- 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 +131 -95
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +123 -87
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +98 -87
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +121 -117
- package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +12 -15
- 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 +8 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +18 -10
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +136 -0
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +139 -0
- package/src/sap/fe/core/converters/helpers/ID.js +48 -46
- package/src/sap/fe/core/converters/helpers/ID.ts +26 -25
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- 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 -5
- 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 +53 -75
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +59 -90
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +58 -57
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +93 -86
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +58 -44
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +87 -80
- 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 +96 -0
- package/src/sap/fe/core/formatters/StandardFormatter.ts +70 -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/TableFormatterTypes.js +1 -1
- 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/fpm/Component.js +33 -7
- package/src/sap/fe/core/fpm/Component.ts +14 -0
- package/src/sap/fe/core/helpers/AnnotationEnum.js +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js +19 -18
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +41 -43
- package/src/sap/fe/core/helpers/BindingToolkit.js +1836 -0
- package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +397 -270
- package/src/sap/fe/core/helpers/ClassSupport.js +49 -12
- package/src/sap/fe/core/helpers/ClassSupport.ts +37 -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/KeepAliveRefreshTypes.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js +306 -280
- package/src/sap/fe/core/helpers/MassEditHelper.ts +380 -360
- package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
- package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
- 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/helpers/Synchronization.js +1 -1
- package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
- package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
- package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
- package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js +109 -0
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +47 -0
- package/src/sap/fe/core/jsx-runtime/jsx-control.js +110 -0
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +92 -0
- package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
- package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
- package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
- package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
- package/src/sap/fe/core/jsx-runtime/jsxs.js +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +179 -0
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +150 -0
- package/src/sap/fe/core/library.js +42 -3
- package/src/sap/fe/core/library.support.js +1 -1
- 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 +39 -67
- package/src/sap/fe/core/messagebundle_ar.properties +27 -44
- package/src/sap/fe/core/messagebundle_bg.properties +27 -44
- package/src/sap/fe/core/messagebundle_ca.properties +27 -44
- package/src/sap/fe/core/messagebundle_cs.properties +27 -44
- package/src/sap/fe/core/messagebundle_cy.properties +26 -43
- package/src/sap/fe/core/messagebundle_da.properties +27 -44
- package/src/sap/fe/core/messagebundle_de.properties +25 -42
- package/src/sap/fe/core/messagebundle_el.properties +28 -45
- package/src/sap/fe/core/messagebundle_en.properties +27 -44
- package/src/sap/fe/core/messagebundle_en_GB.properties +27 -44
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +25 -42
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +26 -40
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +25 -42
- package/src/sap/fe/core/messagebundle_es.properties +27 -44
- package/src/sap/fe/core/messagebundle_es_MX.properties +27 -44
- package/src/sap/fe/core/messagebundle_et.properties +27 -44
- package/src/sap/fe/core/messagebundle_fi.properties +27 -44
- package/src/sap/fe/core/messagebundle_fr.properties +26 -43
- package/src/sap/fe/core/messagebundle_fr_CA.properties +25 -42
- package/src/sap/fe/core/messagebundle_hi.properties +27 -44
- package/src/sap/fe/core/messagebundle_hr.properties +27 -44
- package/src/sap/fe/core/messagebundle_hu.properties +27 -44
- package/src/sap/fe/core/messagebundle_id.properties +27 -44
- package/src/sap/fe/core/messagebundle_it.properties +43 -60
- package/src/sap/fe/core/messagebundle_iw.properties +27 -44
- package/src/sap/fe/core/messagebundle_ja.properties +27 -44
- package/src/sap/fe/core/messagebundle_kk.properties +27 -44
- package/src/sap/fe/core/messagebundle_ko.properties +30 -47
- package/src/sap/fe/core/messagebundle_lt.properties +27 -44
- package/src/sap/fe/core/messagebundle_lv.properties +27 -44
- package/src/sap/fe/core/messagebundle_ms.properties +27 -44
- package/src/sap/fe/core/messagebundle_nl.properties +29 -46
- package/src/sap/fe/core/messagebundle_no.properties +27 -44
- package/src/sap/fe/core/messagebundle_pl.properties +28 -45
- package/src/sap/fe/core/messagebundle_pt.properties +28 -45
- package/src/sap/fe/core/messagebundle_pt_PT.properties +27 -44
- package/src/sap/fe/core/messagebundle_ro.properties +27 -44
- package/src/sap/fe/core/messagebundle_ru.properties +27 -44
- package/src/sap/fe/core/messagebundle_sh.properties +27 -44
- package/src/sap/fe/core/messagebundle_sk.properties +27 -44
- package/src/sap/fe/core/messagebundle_sl.properties +27 -44
- package/src/sap/fe/core/messagebundle_sv.properties +27 -44
- package/src/sap/fe/core/messagebundle_th.properties +25 -42
- package/src/sap/fe/core/messagebundle_tr.properties +27 -44
- package/src/sap/fe/core/messagebundle_uk.properties +27 -44
- package/src/sap/fe/core/messagebundle_vi.properties +27 -44
- package/src/sap/fe/core/messagebundle_zh_CN.properties +27 -44
- package/src/sap/fe/core/messagebundle_zh_TW.properties +27 -44
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +3 -3
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +103 -75
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +72 -73
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +2 -2
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
- package/src/sap/fe/core/services/NavigationServiceFactory.js +62 -50
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +63 -52
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +3 -3
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
- package/src/sap/fe/core/services/RoutingServiceFactory.js +56 -56
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
- package/src/sap/fe/core/services/ShellServicesFactory.js +93 -77
- package/src/sap/fe/core/services/ShellServicesFactory.ts +95 -82
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +64 -64
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +232 -200
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +145 -142
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
- package/src/sap/fe/core/support/AnnotationIssue.support.js +1 -1
- package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +1 -1
- package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +1 -1
- 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/support/InvalidAnnotationColumnKey.support.js +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.js +85 -0
- package/src/sap/fe/core/templating/CommonFormatters.ts +90 -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 +23 -15
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +47 -34
- 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 +18 -17
- package/src/sap/fe/core/templating/FilterHelper.ts +18 -18
- 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 +152 -95
- package/src/sap/fe/core/templating/UIFormatters.ts +202 -128
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
- package/src/sap/fe/core/type/Email.js +3 -3
- package/src/sap/fe/core/type/Email.ts +2 -2
- package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import ResourceBundle from "sap/base/i18n/ResourceBundle";
|
|
1
|
+
import type ResourceBundle from "sap/base/i18n/ResourceBundle";
|
|
2
2
|
import Log from "sap/base/Log";
|
|
3
3
|
import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
|
|
4
4
|
import Synchronization from "sap/fe/core/helpers/Synchronization";
|
|
5
|
-
import { IShellServices } from "sap/fe/core/services/ShellServicesFactory";
|
|
5
|
+
import type { IShellServices } from "sap/fe/core/services/ShellServicesFactory";
|
|
6
6
|
import BaseObject from "sap/ui/base/Object";
|
|
7
7
|
import Core from "sap/ui/core/Core";
|
|
8
|
-
import Router from "sap/ui/core/routing/Router";
|
|
8
|
+
import type Router from "sap/ui/core/routing/Router";
|
|
9
9
|
import URI from "sap/ui/thirdparty/URI";
|
|
10
|
-
import { CoreEx } from "types/extension_types";
|
|
10
|
+
import type { CoreEx } from "types/extension_types";
|
|
11
11
|
|
|
12
12
|
const enumState = {
|
|
13
13
|
EQUAL: 0,
|
|
@@ -23,8 +23,8 @@ const enumURLParams = {
|
|
|
23
23
|
/**
|
|
24
24
|
* Creates a HashGuard object.
|
|
25
25
|
*
|
|
26
|
-
* @param
|
|
27
|
-
* @returns
|
|
26
|
+
* @param sGuardHash The hash used for the guard
|
|
27
|
+
* @returns The created hash guard
|
|
28
28
|
*/
|
|
29
29
|
function createGuardFromHash(sGuardHash: string) {
|
|
30
30
|
return {
|
|
@@ -37,43 +37,43 @@ function createGuardFromHash(sGuardHash: string) {
|
|
|
37
37
|
/**
|
|
38
38
|
* Returns the iAppState part from a hash (or null if not found).
|
|
39
39
|
*
|
|
40
|
-
* @param
|
|
41
|
-
* @returns
|
|
40
|
+
* @param sHash The hash
|
|
41
|
+
* @returns The iAppState part of the hash
|
|
42
42
|
*/
|
|
43
43
|
function findAppStateInHash(sHash: string): string | null {
|
|
44
|
-
const aAppState = sHash.match(new RegExp(
|
|
44
|
+
const aAppState = sHash.match(new RegExp(`\\?.*${enumURLParams.IAPPSTATEPARAM}=([^&]*)`));
|
|
45
45
|
return aAppState && aAppState.length > 1 ? aAppState[1] : null;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* Returns a hash without its iAppState part.
|
|
49
49
|
*
|
|
50
|
-
* @param
|
|
51
|
-
* @returns
|
|
50
|
+
* @param sHash The hash
|
|
51
|
+
* @returns The hash without the iAppState
|
|
52
52
|
*/
|
|
53
53
|
function removeAppStateInHash(sHash: string) {
|
|
54
|
-
return sHash.replace(new RegExp(
|
|
54
|
+
return sHash.replace(new RegExp(`[&?]*${enumURLParams.IAPPSTATEPARAM}=[^&]*`), "");
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* Adds an iAppState inside a hash (or replaces an existing one).
|
|
58
58
|
*
|
|
59
|
-
* @param
|
|
60
|
-
* @param
|
|
61
|
-
* @returns
|
|
59
|
+
* @param sHash The hash
|
|
60
|
+
* @param sAppStateKey The iAppState to add
|
|
61
|
+
* @returns The hash with the app state
|
|
62
62
|
*/
|
|
63
63
|
function setAppStateInHash(sHash: any, sAppStateKey: any) {
|
|
64
64
|
let sNewHash;
|
|
65
65
|
|
|
66
66
|
if (sHash.indexOf(enumURLParams.IAPPSTATEPARAM) >= 0) {
|
|
67
67
|
// If there's already an iAppState parameter in the hash, replace it
|
|
68
|
-
sNewHash = sHash.replace(new RegExp(enumURLParams.IAPPSTATEPARAM
|
|
68
|
+
sNewHash = sHash.replace(new RegExp(`${enumURLParams.IAPPSTATEPARAM}=[^&]*`), `${enumURLParams.IAPPSTATEPARAM}=${sAppStateKey}`);
|
|
69
69
|
} else {
|
|
70
70
|
// Add the iAppState parameter in the hash
|
|
71
71
|
if (sHash.indexOf("?") < 0) {
|
|
72
|
-
sNewHash = sHash
|
|
72
|
+
sNewHash = `${sHash}?`;
|
|
73
73
|
} else {
|
|
74
|
-
sNewHash = sHash
|
|
74
|
+
sNewHash = `${sHash}&`;
|
|
75
75
|
}
|
|
76
|
-
sNewHash += enumURLParams.IAPPSTATEPARAM
|
|
76
|
+
sNewHash += `${enumURLParams.IAPPSTATEPARAM}=${sAppStateKey}`;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
return sNewHash;
|
|
@@ -149,7 +149,7 @@ class RouterProxy extends BaseObject {
|
|
|
149
149
|
/**
|
|
150
150
|
* Raw initialization (for unit tests).
|
|
151
151
|
*
|
|
152
|
-
* @param
|
|
152
|
+
* @param oRouter The router used by this proxy
|
|
153
153
|
*/
|
|
154
154
|
initRaw(oRouter: Router) {
|
|
155
155
|
this._oRouter = oRouter;
|
|
@@ -180,7 +180,6 @@ class RouterProxy extends BaseObject {
|
|
|
180
180
|
*
|
|
181
181
|
* @function
|
|
182
182
|
* @name sap.fe.core.RouterProxy#removeIAppStateKey
|
|
183
|
-
*
|
|
184
183
|
* @ui5-restricted
|
|
185
184
|
*/
|
|
186
185
|
removeIAppStateKey() {
|
|
@@ -194,12 +193,12 @@ class RouterProxy extends BaseObject {
|
|
|
194
193
|
* @name sap.fe.core.RouterProxy#navToHash
|
|
195
194
|
* @memberof sap.fe.core.RouterProxy
|
|
196
195
|
* @static
|
|
197
|
-
* @param
|
|
198
|
-
* @param
|
|
199
|
-
* @param
|
|
200
|
-
* @param
|
|
201
|
-
* @param
|
|
202
|
-
* @returns
|
|
196
|
+
* @param sHash Hash to be navigated to
|
|
197
|
+
* @param bPreserveHistory If set to true, non-ancestor entries in history will be retained
|
|
198
|
+
* @param bDisablePreservationCache If set to true, cache preservation mechanism is disabled for the current navigation
|
|
199
|
+
* @param bForceFocus If set to true, the logic to set the focus once the navigation is finalized will be triggered (onPageReady)
|
|
200
|
+
* @param bPreserveShellBackNavigationHandler If not set to false, the back navigation is set to undefined
|
|
201
|
+
* @returns Promise (resolved when the navigation is finalized) that returns 'true' if a navigation took place, 'false' if the navigation didn't happen
|
|
203
202
|
* @ui5-restricted
|
|
204
203
|
*/
|
|
205
204
|
navToHash(
|
|
@@ -251,7 +250,7 @@ class RouterProxy extends BaseObject {
|
|
|
251
250
|
const oNewState = this._extractStateFromHash(sHash);
|
|
252
251
|
if (!this._bForceFocus) {
|
|
253
252
|
// If the focus was already forced, keep it
|
|
254
|
-
const aCurrentHashKeys = this.
|
|
253
|
+
const aCurrentHashKeys = this._extractEntitySetsFromHash(this.getHash());
|
|
255
254
|
this._bForceFocus =
|
|
256
255
|
bForceFocus ||
|
|
257
256
|
(aCurrentHashKeys.length < oNewState.keys.length &&
|
|
@@ -269,7 +268,7 @@ class RouterProxy extends BaseObject {
|
|
|
269
268
|
* Clears browser history if entries have been added without using the RouterProxy.
|
|
270
269
|
* Updates the internal history accordingly.
|
|
271
270
|
*
|
|
272
|
-
* @returns
|
|
271
|
+
* @returns Promise that is resolved once the history is rebuilt
|
|
273
272
|
*/
|
|
274
273
|
restoreHistory() {
|
|
275
274
|
if (this._bApplyRestore) {
|
|
@@ -289,7 +288,7 @@ class RouterProxy extends BaseObject {
|
|
|
289
288
|
/**
|
|
290
289
|
* Navigates back in the history.
|
|
291
290
|
*
|
|
292
|
-
* @returns
|
|
291
|
+
* @returns Promise that is resolved when the navigation is finalized
|
|
293
292
|
*/
|
|
294
293
|
navBack() {
|
|
295
294
|
const sCurrentHash = this.getHash();
|
|
@@ -316,9 +315,10 @@ class RouterProxy extends BaseObject {
|
|
|
316
315
|
|
|
317
316
|
/**
|
|
318
317
|
* Navigates to a route with parameters.
|
|
319
|
-
*
|
|
320
|
-
* @param
|
|
321
|
-
* @
|
|
318
|
+
*
|
|
319
|
+
* @param sRouteName The route name to be navigated to
|
|
320
|
+
* @param oParameters Parameters for the navigation
|
|
321
|
+
* @returns Promise that is resolved when the navigation is finalized
|
|
322
322
|
* @ui5-restricted
|
|
323
323
|
*/
|
|
324
324
|
navTo(sRouteName: string, oParameters: any) {
|
|
@@ -330,7 +330,7 @@ class RouterProxy extends BaseObject {
|
|
|
330
330
|
* Exits the current app by navigating back
|
|
331
331
|
* to the previous app (if any) or the FLP.
|
|
332
332
|
*
|
|
333
|
-
* @returns
|
|
333
|
+
* @returns Promise that is resolved when we exit the app
|
|
334
334
|
*/
|
|
335
335
|
exitFromApp() {
|
|
336
336
|
return this._oShellServices.backToPreviousApp();
|
|
@@ -340,8 +340,8 @@ class RouterProxy extends BaseObject {
|
|
|
340
340
|
* Checks whether a given hash can have an impact on the current state
|
|
341
341
|
* i.e. if the hash is equal, compatible or an ancestor of the current state.
|
|
342
342
|
*
|
|
343
|
-
* @param
|
|
344
|
-
* @returns
|
|
343
|
+
* @param sHash `true` if there is an impact
|
|
344
|
+
* @returns If there is an impact
|
|
345
345
|
*/
|
|
346
346
|
isCurrentStateImpactedBy(sHash: any) {
|
|
347
347
|
if (sHash[0] === "/") {
|
|
@@ -354,7 +354,7 @@ class RouterProxy extends BaseObject {
|
|
|
354
354
|
/**
|
|
355
355
|
* Checks if a navigation is currently being processed.
|
|
356
356
|
*
|
|
357
|
-
* @returns
|
|
357
|
+
* @returns `false` if a navigation has been triggered in the RouterProxy and is not yet finalized
|
|
358
358
|
*/
|
|
359
359
|
isNavigationFinalized() {
|
|
360
360
|
return !this.bIsRebuildHistoryRunning && !this._bDelayedRebuild;
|
|
@@ -382,7 +382,7 @@ class RouterProxy extends BaseObject {
|
|
|
382
382
|
/**
|
|
383
383
|
* Checks for the availability of the navigation guard.
|
|
384
384
|
*
|
|
385
|
-
* @returns
|
|
385
|
+
* @returns `true` if navigating guard is available
|
|
386
386
|
*/
|
|
387
387
|
hasNavigationGuard() {
|
|
388
388
|
return this._oNavigationGuard !== null;
|
|
@@ -391,8 +391,8 @@ class RouterProxy extends BaseObject {
|
|
|
391
391
|
/**
|
|
392
392
|
* Tests a hash against the navigation guard.
|
|
393
393
|
*
|
|
394
|
-
* @param
|
|
395
|
-
* @returns
|
|
394
|
+
* @param sHash The hash to be tested
|
|
395
|
+
* @returns `true` if navigating to the hash doesn't cross the guard
|
|
396
396
|
*/
|
|
397
397
|
checkHashWithGuard(sHash: string) {
|
|
398
398
|
return this._oNavigationGuard === null || this._oNavigationGuard.check(sHash);
|
|
@@ -401,7 +401,7 @@ class RouterProxy extends BaseObject {
|
|
|
401
401
|
/**
|
|
402
402
|
* Checks if the user allowed the navigation guard to be crossed.
|
|
403
403
|
*
|
|
404
|
-
* @returns
|
|
404
|
+
* @returns `true` if crossing the guard has been allowed by the user
|
|
405
405
|
*/
|
|
406
406
|
isGuardCrossAllowedByUser() {
|
|
407
407
|
return this.bIsGuardCrossAllowed;
|
|
@@ -433,30 +433,28 @@ class RouterProxy extends BaseObject {
|
|
|
433
433
|
this._bActivateRouteMatchSynchro = false;
|
|
434
434
|
}
|
|
435
435
|
|
|
436
|
-
|
|
436
|
+
_extractEntitySetsFromHash(sHash: string | undefined): string[] {
|
|
437
437
|
if (sHash === undefined) {
|
|
438
438
|
sHash = "";
|
|
439
439
|
}
|
|
440
440
|
const sHashNoParams = sHash.split("?")[0]; // remove params
|
|
441
441
|
const aTokens = sHashNoParams.split("/");
|
|
442
|
-
const
|
|
442
|
+
const names: string[] = [];
|
|
443
443
|
|
|
444
|
-
aTokens.forEach(
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
aKeys.push(sToken.split("(")[0]);
|
|
444
|
+
aTokens.forEach((sToken) => {
|
|
445
|
+
if (sToken.length) {
|
|
446
|
+
names.push(sToken.split("(")[0]);
|
|
448
447
|
}
|
|
449
448
|
});
|
|
450
449
|
|
|
451
|
-
return
|
|
450
|
+
return names;
|
|
452
451
|
}
|
|
453
452
|
|
|
454
453
|
/**
|
|
455
454
|
* Builds a state from a hash.
|
|
456
455
|
*
|
|
457
|
-
* @param
|
|
458
|
-
* @returns
|
|
459
|
-
*
|
|
456
|
+
* @param sHash The hash to be used as entry
|
|
457
|
+
* @returns The state
|
|
460
458
|
* @ui5-restricted
|
|
461
459
|
*/
|
|
462
460
|
_extractStateFromHash(sHash: string) {
|
|
@@ -465,11 +463,11 @@ class RouterProxy extends BaseObject {
|
|
|
465
463
|
}
|
|
466
464
|
|
|
467
465
|
const oState: any = {
|
|
468
|
-
keys: this.
|
|
466
|
+
keys: this._extractEntitySetsFromHash(sHash)
|
|
469
467
|
};
|
|
470
468
|
|
|
471
469
|
// Retrieve layout (if any)
|
|
472
|
-
const aLayout = sHash.match(new RegExp(
|
|
470
|
+
const aLayout = sHash.match(new RegExp(`\\?.*${enumURLParams.LAYOUTPARAM}=([^&]*)`));
|
|
473
471
|
oState.sLayout = aLayout && aLayout.length > 1 ? aLayout[1] : null;
|
|
474
472
|
if (oState.sLayout === "MidColumnFullScreen") {
|
|
475
473
|
oState.screenMode = 1;
|
|
@@ -489,11 +487,11 @@ class RouterProxy extends BaseObject {
|
|
|
489
487
|
* Also sets the iAppState key in the whole history.
|
|
490
488
|
*
|
|
491
489
|
* @memberof sap.fe.core.RouterProxy
|
|
492
|
-
* @param
|
|
493
|
-
* @param
|
|
494
|
-
* @param
|
|
495
|
-
* @param
|
|
496
|
-
* @returns
|
|
490
|
+
* @param oNewState The new state to be added
|
|
491
|
+
* @param bRebuildOnly `true` if we're rebuilding the history after a shell menu navigation
|
|
492
|
+
* @param bPreserveHistory If set to true, non-ancestor entries in history will be retained
|
|
493
|
+
* @param bDisableHistoryPreservation Disable the mechanism to retained marked entries in cache
|
|
494
|
+
* @returns The new state
|
|
497
495
|
* @ui5-restricted
|
|
498
496
|
* @final
|
|
499
497
|
*/
|
|
@@ -551,12 +549,7 @@ class RouterProxy extends BaseObject {
|
|
|
551
549
|
|
|
552
550
|
// 4. iAppState management
|
|
553
551
|
this.sIAppStateKey = findAppStateInHash(oNewState.hash);
|
|
554
|
-
if (this.fclEnabled &&
|
|
555
|
-
// In case of FCL, the new app state needs to be applied to the whole history
|
|
556
|
-
this._oManagedHistory.forEach((oManagedState: any) => {
|
|
557
|
-
oManagedState.hash = setAppStateInHash(oManagedState.hash, this.sIAppStateKey);
|
|
558
|
-
});
|
|
559
|
-
} else if (!this.fclEnabled && oLastRemovedItem) {
|
|
552
|
+
if (!this.fclEnabled && oLastRemovedItem) {
|
|
560
553
|
const sPreviousIAppStateKey = findAppStateInHash(oLastRemovedItem.hash);
|
|
561
554
|
const oComparisonStateResult = this._compareCacheStates(oLastRemovedItem, oNewState);
|
|
562
555
|
// if current state doesn't contain a i-appstate and this state should replace a state containing a iAppState
|
|
@@ -598,7 +591,6 @@ class RouterProxy extends BaseObject {
|
|
|
598
591
|
*
|
|
599
592
|
* @function
|
|
600
593
|
* @memberof sap.fe.core.RouterProxy
|
|
601
|
-
*
|
|
602
594
|
* @ui5-restricted
|
|
603
595
|
* @final
|
|
604
596
|
*/
|
|
@@ -613,8 +605,7 @@ class RouterProxy extends BaseObject {
|
|
|
613
605
|
* @function
|
|
614
606
|
* @name sap.fe.core.RouterProxy#_enableEventOnHashChange
|
|
615
607
|
* @memberof sap.fe.core.RouterProxy
|
|
616
|
-
* @param
|
|
617
|
-
*
|
|
608
|
+
* @param [bIgnoreCurrentHash] Ignore the last hash event triggered before the router has initialized
|
|
618
609
|
* @ui5-restricted
|
|
619
610
|
* @final
|
|
620
611
|
*/
|
|
@@ -627,9 +618,9 @@ class RouterProxy extends BaseObject {
|
|
|
627
618
|
* Synchronizes the browser history with the internal history of the routerProxy, and triggers a navigation if needed.
|
|
628
619
|
*
|
|
629
620
|
* @memberof sap.fe.core.RouterProxy
|
|
630
|
-
* @param
|
|
631
|
-
* @param
|
|
632
|
-
* @returns
|
|
621
|
+
* @param oHistoryAction Specifies the navigation action to be performed
|
|
622
|
+
* @param bRebuildOnly `true` if internal history is currently being rebuilt
|
|
623
|
+
* @returns Promise (resolved when the navigation is finalized) that returns 'true' if a navigation took place, 'false' if the navigation didn't happen
|
|
633
624
|
* @ui5-restricted
|
|
634
625
|
* @final
|
|
635
626
|
*/
|
|
@@ -797,8 +788,8 @@ class RouterProxy extends BaseObject {
|
|
|
797
788
|
/**
|
|
798
789
|
* Checks if back exits the present guard set.
|
|
799
790
|
*
|
|
800
|
-
* @param
|
|
801
|
-
* @returns
|
|
791
|
+
* @param sPresentHash The current hash. Only used for unit tests.
|
|
792
|
+
* @returns `true` if back exits there is a guard exit on back
|
|
802
793
|
*/
|
|
803
794
|
checkIfBackIsOutOfGuard(sPresentHash?: string) {
|
|
804
795
|
let sPrevHash;
|
|
@@ -839,7 +830,7 @@ class RouterProxy extends BaseObject {
|
|
|
839
830
|
/**
|
|
840
831
|
* Checks if the last 2 entries in the history share the same context.
|
|
841
832
|
*
|
|
842
|
-
* @returns
|
|
833
|
+
* @returns `true` if they share the same context.
|
|
843
834
|
*/
|
|
844
835
|
checkIfBackHasSameContext() {
|
|
845
836
|
if (this._oManagedHistory.length < 2) {
|
|
@@ -53,7 +53,15 @@
|
|
|
53
53
|
fieldHelp="{= FIELD.getActionParameterDialogFieldHelp(${actionParameter>@}, ${actionName>@sapui.name}, ${parameter>$Name}) }"
|
|
54
54
|
visible="{= (${actionParameter>$Name} === 'ResultIsActiveEntity') ? false : ${actionParameter>@com.sap.vocabularies.UI.v1.Hidden@@FIELD.getActionParameterVisibility} }"
|
|
55
55
|
>
|
|
56
|
-
|
|
56
|
+
<!-- *** Switch from (new) mdc:ValueHelp to (old) mdcField:FieldValueHelp *** -->
|
|
57
|
+
<template:if test="{= COMMON.useFieldValueHelp() }">
|
|
58
|
+
<template:then>
|
|
59
|
+
<core:Fragment fragmentName="sap.fe.core.controls.ActionParameterDialogFieldValueHelp" type="XML" />
|
|
60
|
+
</template:then>
|
|
61
|
+
<template:else>
|
|
62
|
+
<core:Fragment fragmentName="sap.fe.core.controls.ActionParameterDialogValueHelp" type="XML" />
|
|
63
|
+
</template:else>
|
|
64
|
+
</template:if>
|
|
57
65
|
</mdc:Field>
|
|
58
66
|
</template:then>
|
|
59
67
|
<template:else>
|
|
@@ -74,7 +82,15 @@
|
|
|
74
82
|
key="{path: 'mvfview>Key', type:'sap.ui.model.type.String'}"
|
|
75
83
|
description="{mvfview>Desc}"
|
|
76
84
|
/>
|
|
77
|
-
|
|
85
|
+
<!-- *** Switch from (new) mdc:ValueHelp to (old) mdcField:FieldValueHelp *** -->
|
|
86
|
+
<template:if test="{= COMMON.useFieldValueHelp() }">
|
|
87
|
+
<template:then>
|
|
88
|
+
<core:Fragment fragmentName="sap.fe.core.controls.ActionParameterDialogFieldValueHelp" type="XML" />
|
|
89
|
+
</template:then>
|
|
90
|
+
<template:else>
|
|
91
|
+
<core:Fragment fragmentName="sap.fe.core.controls.ActionParameterDialogValueHelp" type="XML" />
|
|
92
|
+
</template:else>
|
|
93
|
+
</template:if>
|
|
78
94
|
</mdc:MultiValueField>
|
|
79
95
|
</template:else>
|
|
80
96
|
</template:if>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<core:FragmentDefinition
|
|
2
|
+
xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
|
|
3
|
+
xmlns="sap.m"
|
|
4
|
+
xmlns:core="sap.ui.core"
|
|
5
|
+
xmlns:mdc="sap.ui.mdc"
|
|
6
|
+
xmlns:mdcField="sap.ui.mdc.field"
|
|
7
|
+
xmlns:unittest="http://schemas.sap.com/sapui5/preprocessorextension/sap.fe.unittesting/1"
|
|
8
|
+
template:require="{
|
|
9
|
+
COMMON: 'sap/fe/macros/CommonHelper',
|
|
10
|
+
FIELD: 'sap/fe/macros/field/FieldHelper',
|
|
11
|
+
ID: 'sap/fe/core/helpers/StableIdHelper',
|
|
12
|
+
ValueHelpTemplating: 'sap/fe/macros/internal/valuehelp/ValueHelpTemplating',
|
|
13
|
+
Property: 'sap/fe/core/templating/PropertyFormatters'
|
|
14
|
+
}"
|
|
15
|
+
>
|
|
16
|
+
<template:if test="{= FIELD.hasValueHelpAnnotation(${actionParameter>@}) }">
|
|
17
|
+
<mdc:dependents>
|
|
18
|
+
<mdcField:FieldValueHelp
|
|
19
|
+
unittest:id="ActionParameterDialogValuehelpExpressionTest"
|
|
20
|
+
id="{= ID.generate([${actionName>@sapui.name},${parameter>$Name}]) }"
|
|
21
|
+
delegate="{= FIELD.getFieldValueHelpDelegate(${action>$IsBound}, ${entitySet>@@COMMON.getContextPath}, ${actionName>@sapui.name}, ${parameter>$Name}) }"
|
|
22
|
+
noDialog="{= ${actionParameter>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} ? (${actionParameter>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} !== false) : false}"
|
|
23
|
+
validateInput="{= ValueHelpTemplating.requiresValidation(${actionParameter>@@Property.getProperty})}"
|
|
24
|
+
caseSensitive="{= ValueHelpTemplating.useCaseSensitiveFilterRequests(${actionParameter>@@Property.getPropertyObjectPath}, ${actionParameter>/@Org.OData.Capabilities.V1.FilterFunctions})}"
|
|
25
|
+
>
|
|
26
|
+
<mdcField:dialogContent>
|
|
27
|
+
<mdcField:FieldValueHelpMdcTableWrapper />
|
|
28
|
+
</mdcField:dialogContent>
|
|
29
|
+
<mdcField:suggestContent>
|
|
30
|
+
<mdcField:FieldValueHelpMTableWrapper />
|
|
31
|
+
</mdcField:suggestContent>
|
|
32
|
+
</mdcField:FieldValueHelp>
|
|
33
|
+
</mdc:dependents>
|
|
34
|
+
</template:if>
|
|
35
|
+
</core:FragmentDefinition>
|
|
@@ -1,35 +1,36 @@
|
|
|
1
|
-
<core:FragmentDefinition
|
|
2
|
-
xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
|
|
1
|
+
<core:FragmentDefinition xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
|
|
3
2
|
xmlns="sap.m"
|
|
4
3
|
xmlns:core="sap.ui.core"
|
|
5
4
|
xmlns:mdc="sap.ui.mdc"
|
|
6
|
-
xmlns:
|
|
5
|
+
xmlns:mdcv="sap.ui.mdc.valuehelp"
|
|
6
|
+
xmlns:mdcvc="sap.ui.mdc.valuehelp.content"
|
|
7
7
|
xmlns:unittest="http://schemas.sap.com/sapui5/preprocessorextension/sap.fe.unittesting/1"
|
|
8
|
+
xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
|
|
8
9
|
template:require="{
|
|
9
10
|
COMMON: 'sap/fe/macros/CommonHelper',
|
|
10
11
|
FIELD: 'sap/fe/macros/field/FieldHelper',
|
|
11
12
|
ID: 'sap/fe/core/helpers/StableIdHelper',
|
|
12
13
|
ValueHelpTemplating: 'sap/fe/macros/internal/valuehelp/ValueHelpTemplating',
|
|
13
14
|
Property: 'sap/fe/core/templating/PropertyFormatters'
|
|
14
|
-
}"
|
|
15
|
-
>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
15
|
+
}">
|
|
16
|
+
<template:if test="{= FIELD.hasValueHelpAnnotation(${actionParameter>@}) }">
|
|
17
|
+
<mdc:dependents>
|
|
18
|
+
<mdc:ValueHelp
|
|
19
|
+
unittest:id="ActionParameterDialogValuehelpExpressionTest"
|
|
20
|
+
id="{= ID.generate([${actionName>@sapui.name},${parameter>$Name}]) }"
|
|
21
|
+
delegate="{= FIELD.getValueHelpDelegate(${action>$IsBound}, ${entitySet>@@COMMON.getContextPath}, ${actionName>@sapui.name}, ${parameter>$Name}) }"
|
|
22
|
+
validateInput="{= ValueHelpTemplating.requiresValidation(${actionParameter>@@Property.getProperty})}">
|
|
23
|
+
<mdc:typeahead>
|
|
24
|
+
<mdcv:Popover>
|
|
25
|
+
<mdcvc:MTable caseSensitive="{= ValueHelpTemplating.useCaseSensitiveFilterRequests(${actionParameter>@@Property.getPropertyObjectPath}, ${actionParameter>/@Org.OData.Capabilities.V1.FilterFunctions})}" />
|
|
26
|
+
</mdcv:Popover>
|
|
27
|
+
</mdc:typeahead>
|
|
28
|
+
<template:if test="{= ${actionParameter>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} ? (${actionParameter>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} === 'true') : true}">
|
|
29
|
+
<mdc:dialog>
|
|
30
|
+
<mdcv:Dialog />
|
|
31
|
+
</mdc:dialog>
|
|
32
|
+
</template:if>
|
|
33
|
+
</mdc:ValueHelp>
|
|
34
|
+
</mdc:dependents>
|
|
35
|
+
</template:if>
|
|
35
36
|
</core:FragmentDefinition>
|
|
@@ -8,21 +8,25 @@ sap.ui.define(["sap/ui/base/ManagedObject"], function (ManagedObject) {
|
|
|
8
8
|
/**
|
|
9
9
|
* @class
|
|
10
10
|
* A custom element to evaluate the value of Binding.
|
|
11
|
-
*
|
|
12
11
|
* @name sap.fe.core.controls.Any
|
|
13
12
|
* @hideconstructor
|
|
14
13
|
*/
|
|
15
14
|
var Any = ManagedObject.extend("sap.fe.core.controls.Any", {
|
|
16
15
|
metadata: {
|
|
17
16
|
properties: {
|
|
18
|
-
any: "any"
|
|
17
|
+
any: "any",
|
|
18
|
+
anyText: "string"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
|
-
updateProperty: function () {
|
|
21
|
+
updateProperty: function (sName) {
|
|
22
22
|
// Avoid Promise processing in ManagedObject and set Promise as value directly
|
|
23
|
-
|
|
23
|
+
if (sName === "any") {
|
|
24
|
+
this.setAny(this.getBindingInfo(sName).binding.getExternalValue());
|
|
25
|
+
} else {
|
|
26
|
+
this.setAnyText(this.getBindingInfo(sName).binding.getExternalValue());
|
|
27
|
+
}
|
|
24
28
|
}
|
|
25
29
|
});
|
|
26
30
|
return Any;
|
|
27
31
|
}, false);
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBbnkiLCJNYW5hZ2VkT2JqZWN0IiwiZXh0ZW5kIiwibWV0YWRhdGEiLCJwcm9wZXJ0aWVzIiwiYW55IiwiYW55VGV4dCIsInVwZGF0ZVByb3BlcnR5Iiwic05hbWUiLCJzZXRBbnkiLCJnZXRCaW5kaW5nSW5mbyIsImJpbmRpbmciLCJnZXRFeHRlcm5hbFZhbHVlIiwic2V0QW55VGV4dCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQW55LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5cbmV4cG9ydCB0eXBlIEFueVR5cGUgPSBNYW5hZ2VkT2JqZWN0ICYge1xuXHRtQmluZGluZ0luZm9zOiBvYmplY3Q7XG5cdGdldEFueSgpOiBhbnk7XG5cdGdldEFueVRleHQoKTogYW55O1xuXHRzZXRBbnkodmFsdWU6IGFueSk6IHZvaWQ7XG5cdHNldEFueVRleHQodmFsdWU6IGFueSk6IHZvaWQ7XG5cdGdldEJpbmRpbmdJbmZvKHByb3BlcnR5OiBzdHJpbmcpOiBvYmplY3Q7XG5cdGV4dGVuZChzTmFtZTogc3RyaW5nLCBzRXh0ZW5zaW9uOiBhbnkpOiBBbnlUeXBlO1xufTtcblxuLyoqXG4gKiBAY2xhc3NcbiAqIEEgY3VzdG9tIGVsZW1lbnQgdG8gZXZhbHVhdGUgdGhlIHZhbHVlIG9mIEJpbmRpbmcuXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5jb250cm9scy5BbnlcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqL1xuY29uc3QgQW55ID0gTWFuYWdlZE9iamVjdC5leHRlbmQoXCJzYXAuZmUuY29yZS5jb250cm9scy5BbnlcIiwge1xuXHRtZXRhZGF0YToge1xuXHRcdHByb3BlcnRpZXM6IHtcblx0XHRcdGFueTogXCJhbnlcIixcblx0XHRcdGFueVRleHQ6IFwic3RyaW5nXCJcblx0XHR9XG5cdH0sXG5cdHVwZGF0ZVByb3BlcnR5OiBmdW5jdGlvbiAodGhpczogQW55VHlwZSwgc05hbWU6IHN0cmluZykge1xuXHRcdC8vIEF2b2lkIFByb21pc2UgcHJvY2Vzc2luZyBpbiBNYW5hZ2VkT2JqZWN0IGFuZCBzZXQgUHJvbWlzZSBhcyB2YWx1ZSBkaXJlY3RseVxuXHRcdGlmIChzTmFtZSA9PT0gXCJhbnlcIikge1xuXHRcdFx0dGhpcy5zZXRBbnkoKHRoaXMuZ2V0QmluZGluZ0luZm8oc05hbWUpIGFzIGFueSkuYmluZGluZy5nZXRFeHRlcm5hbFZhbHVlKCkpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnNldEFueVRleHQoKHRoaXMuZ2V0QmluZGluZ0luZm8oc05hbWUpIGFzIGFueSkuYmluZGluZy5nZXRFeHRlcm5hbFZhbHVlKCkpO1xuXHRcdH1cblx0fVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IEFueSBhcyBhbnk7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7RUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQSxJQUFNQSxHQUFHLEdBQUdDLGFBQWEsQ0FBQ0MsTUFBZCxDQUFxQiwwQkFBckIsRUFBaUQ7SUFDNURDLFFBQVEsRUFBRTtNQUNUQyxVQUFVLEVBQUU7UUFDWEMsR0FBRyxFQUFFLEtBRE07UUFFWEMsT0FBTyxFQUFFO01BRkU7SUFESCxDQURrRDtJQU81REMsY0FBYyxFQUFFLFVBQXlCQyxLQUF6QixFQUF3QztNQUN2RDtNQUNBLElBQUlBLEtBQUssS0FBSyxLQUFkLEVBQXFCO1FBQ3BCLEtBQUtDLE1BQUwsQ0FBYSxLQUFLQyxjQUFMLENBQW9CRixLQUFwQixDQUFELENBQW9DRyxPQUFwQyxDQUE0Q0MsZ0JBQTVDLEVBQVo7TUFDQSxDQUZELE1BRU87UUFDTixLQUFLQyxVQUFMLENBQWlCLEtBQUtILGNBQUwsQ0FBb0JGLEtBQXBCLENBQUQsQ0FBb0NHLE9BQXBDLENBQTRDQyxnQkFBNUMsRUFBaEI7TUFDQTtJQUNEO0VBZDJELENBQWpELENBQVo7U0FpQmVaLEcifQ==
|
|
@@ -3,7 +3,9 @@ import ManagedObject from "sap/ui/base/ManagedObject";
|
|
|
3
3
|
export type AnyType = ManagedObject & {
|
|
4
4
|
mBindingInfos: object;
|
|
5
5
|
getAny(): any;
|
|
6
|
+
getAnyText(): any;
|
|
6
7
|
setAny(value: any): void;
|
|
8
|
+
setAnyText(value: any): void;
|
|
7
9
|
getBindingInfo(property: string): object;
|
|
8
10
|
extend(sName: string, sExtension: any): AnyType;
|
|
9
11
|
};
|
|
@@ -11,19 +13,23 @@ export type AnyType = ManagedObject & {
|
|
|
11
13
|
/**
|
|
12
14
|
* @class
|
|
13
15
|
* A custom element to evaluate the value of Binding.
|
|
14
|
-
*
|
|
15
16
|
* @name sap.fe.core.controls.Any
|
|
16
17
|
* @hideconstructor
|
|
17
18
|
*/
|
|
18
19
|
const Any = ManagedObject.extend("sap.fe.core.controls.Any", {
|
|
19
20
|
metadata: {
|
|
20
21
|
properties: {
|
|
21
|
-
any: "any"
|
|
22
|
+
any: "any",
|
|
23
|
+
anyText: "string"
|
|
22
24
|
}
|
|
23
25
|
},
|
|
24
|
-
updateProperty: function (this: AnyType) {
|
|
26
|
+
updateProperty: function (this: AnyType, sName: string) {
|
|
25
27
|
// Avoid Promise processing in ManagedObject and set Promise as value directly
|
|
26
|
-
|
|
28
|
+
if (sName === "any") {
|
|
29
|
+
this.setAny((this.getBindingInfo(sName) as any).binding.getExternalValue());
|
|
30
|
+
} else {
|
|
31
|
+
this.setAnyText((this.getBindingInfo(sName) as any).binding.getExternalValue());
|
|
32
|
+
}
|
|
27
33
|
}
|
|
28
34
|
});
|
|
29
35
|
|