@sapui5/sap.fe.core 1.102.2 → 1.104.1
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/AppComponent.js +73 -30
- package/src/sap/fe/core/AppComponent.ts +65 -43
- 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 +11 -9
- package/src/sap/fe/core/BaseController.ts +15 -13
- package/src/sap/fe/core/CommonUtils.js +227 -126
- package/src/sap/fe/core/CommonUtils.ts +240 -163
- 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/BuildingBlock.js +181 -43
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +150 -24
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +585 -210
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +246 -96
- 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/EditFlow.js +379 -330
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +253 -245
- 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 +101 -74
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +69 -79
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +67 -67
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +76 -76
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +85 -77
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +103 -99
- 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 +9 -9
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +20 -27
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -14
- package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
- package/src/sap/fe/core/controllerextensions/PageReady.ts +98 -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 +170 -139
- package/src/sap/fe/core/controllerextensions/Share.ts +117 -118
- 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 +200 -131
- 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 +11 -10
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +17 -20
- 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 +190 -141
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +258 -210
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +183 -125
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +213 -156
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +164 -140
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +180 -150
- 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 +71 -41
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +102 -82
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +61 -71
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +56 -64
- 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 +7 -2
- package/src/sap/fe/core/controls/FileWrapper.ts +15 -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 +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 +26 -33
- package/src/sap/fe/core/converters/ConverterContext.ts +52 -61
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +17 -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 +64 -35
- package/src/sap/fe/core/converters/MetaModelConverter.ts +154 -129
- 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 +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 +26 -33
- 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 +30 -28
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +60 -61
- package/src/sap/fe/core/converters/controls/Common/Form.js +27 -28
- package/src/sap/fe/core/converters/controls/Common/Form.ts +44 -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 +181 -197
- package/src/sap/fe/core/converters/controls/Common/Table.ts +251 -280
- 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 +65 -59
- 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 +77 -73
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +101 -97
- 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 +4 -4
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
- 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/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 +46 -62
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +55 -42
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +81 -66
- 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 +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/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 +1832 -0
- package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +396 -269
- 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/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/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/jsx-control.js +99 -0
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +82 -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/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 +39 -63
- package/src/sap/fe/core/messagebundle_ar.properties +25 -39
- package/src/sap/fe/core/messagebundle_bg.properties +25 -39
- package/src/sap/fe/core/messagebundle_ca.properties +25 -39
- package/src/sap/fe/core/messagebundle_cs.properties +25 -39
- package/src/sap/fe/core/messagebundle_cy.properties +25 -39
- package/src/sap/fe/core/messagebundle_da.properties +25 -39
- package/src/sap/fe/core/messagebundle_de.properties +25 -39
- package/src/sap/fe/core/messagebundle_el.properties +26 -40
- package/src/sap/fe/core/messagebundle_en.properties +25 -39
- package/src/sap/fe/core/messagebundle_en_GB.properties +25 -39
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +25 -39
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +25 -39
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +26 -18
- package/src/sap/fe/core/messagebundle_es.properties +27 -41
- package/src/sap/fe/core/messagebundle_es_MX.properties +25 -39
- package/src/sap/fe/core/messagebundle_et.properties +25 -39
- package/src/sap/fe/core/messagebundle_fi.properties +25 -39
- package/src/sap/fe/core/messagebundle_fr.properties +26 -40
- package/src/sap/fe/core/messagebundle_fr_CA.properties +25 -39
- package/src/sap/fe/core/messagebundle_hi.properties +25 -39
- package/src/sap/fe/core/messagebundle_hr.properties +25 -39
- package/src/sap/fe/core/messagebundle_hu.properties +25 -39
- package/src/sap/fe/core/messagebundle_id.properties +25 -39
- package/src/sap/fe/core/messagebundle_it.properties +41 -55
- package/src/sap/fe/core/messagebundle_iw.properties +25 -39
- package/src/sap/fe/core/messagebundle_ja.properties +25 -39
- package/src/sap/fe/core/messagebundle_kk.properties +25 -39
- package/src/sap/fe/core/messagebundle_ko.properties +30 -44
- package/src/sap/fe/core/messagebundle_lt.properties +25 -39
- package/src/sap/fe/core/messagebundle_lv.properties +25 -39
- package/src/sap/fe/core/messagebundle_ms.properties +25 -39
- package/src/sap/fe/core/messagebundle_nl.properties +27 -41
- package/src/sap/fe/core/messagebundle_no.properties +25 -39
- package/src/sap/fe/core/messagebundle_pl.properties +26 -40
- package/src/sap/fe/core/messagebundle_pt.properties +26 -40
- package/src/sap/fe/core/messagebundle_pt_PT.properties +25 -39
- package/src/sap/fe/core/messagebundle_ro.properties +25 -39
- package/src/sap/fe/core/messagebundle_ru.properties +25 -39
- package/src/sap/fe/core/messagebundle_sh.properties +25 -39
- package/src/sap/fe/core/messagebundle_sk.properties +25 -39
- package/src/sap/fe/core/messagebundle_sl.properties +25 -39
- package/src/sap/fe/core/messagebundle_sv.properties +25 -39
- package/src/sap/fe/core/messagebundle_th.properties +25 -39
- package/src/sap/fe/core/messagebundle_tr.properties +25 -39
- package/src/sap/fe/core/messagebundle_uk.properties +25 -39
- package/src/sap/fe/core/messagebundle_vi.properties +25 -39
- package/src/sap/fe/core/messagebundle_zh_CN.properties +25 -39
- package/src/sap/fe/core/messagebundle_zh_TW.properties +25 -39
- 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 +97 -69
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +68 -69
- 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 +61 -49
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +63 -52
- 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 +92 -76
- package/src/sap/fe/core/services/ShellServicesFactory.ts +95 -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 +224 -198
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +138 -139
- 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 +16 -15
- 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/Email.js +2 -2
- package/src/sap/fe/core/type/Email.ts +2 -2
- package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
|
@@ -2,10 +2,10 @@ import Log from "sap/base/Log";
|
|
|
2
2
|
import extend from "sap/base/util/extend";
|
|
3
3
|
import ObjectPath from "sap/base/util/ObjectPath";
|
|
4
4
|
import { defineUI5Class, extensible, finalExtension, publicExtension } from "sap/fe/core/helpers/ClassSupport";
|
|
5
|
-
import ActionSheet from "sap/m/ActionSheet";
|
|
6
|
-
import Dialog from "sap/m/Dialog";
|
|
5
|
+
import type ActionSheet from "sap/m/ActionSheet";
|
|
6
|
+
import type Dialog from "sap/m/Dialog";
|
|
7
7
|
import library from "sap/m/library";
|
|
8
|
-
import Control from "sap/ui/core/Control";
|
|
8
|
+
import type Control from "sap/ui/core/Control";
|
|
9
9
|
import Core from "sap/ui/core/Core";
|
|
10
10
|
import Fragment from "sap/ui/core/Fragment";
|
|
11
11
|
import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
|
|
@@ -14,8 +14,8 @@ import HashChanger from "sap/ui/core/routing/HashChanger";
|
|
|
14
14
|
import XMLPreprocessor from "sap/ui/core/util/XMLPreprocessor";
|
|
15
15
|
import XMLTemplateProcessor from "sap/ui/core/XMLTemplateProcessor";
|
|
16
16
|
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
17
|
-
import { CoreEx } from "types/extension_types";
|
|
18
|
-
import PageController from "../PageController";
|
|
17
|
+
import type { CoreEx } from "types/extension_types";
|
|
18
|
+
import type PageController from "../PageController";
|
|
19
19
|
|
|
20
20
|
let oLastFocusedControl: Control;
|
|
21
21
|
|
|
@@ -34,7 +34,7 @@ class ShareUtils extends ControllerExtension {
|
|
|
34
34
|
* Opens the share sheet.
|
|
35
35
|
*
|
|
36
36
|
* @function
|
|
37
|
-
* @param
|
|
37
|
+
* @param oControl The control to which the ActionSheet is opened.
|
|
38
38
|
* @alias sap.fe.core.controllerextensions.Share#openShareSheet
|
|
39
39
|
* @public
|
|
40
40
|
* @since 1.93.0
|
|
@@ -48,22 +48,22 @@ class ShareUtils extends ControllerExtension {
|
|
|
48
48
|
* Adapts the metadata used while sharing the page URL via 'Send Email', 'Share in SAP Jam', and 'Save as Tile'.
|
|
49
49
|
*
|
|
50
50
|
* @function
|
|
51
|
-
* @param
|
|
52
|
-
* @param
|
|
53
|
-
* @param
|
|
54
|
-
* @param
|
|
55
|
-
* @param
|
|
56
|
-
* @param
|
|
57
|
-
* @param
|
|
58
|
-
* @param
|
|
59
|
-
* @param
|
|
60
|
-
* @param
|
|
61
|
-
* @param
|
|
62
|
-
* @param
|
|
63
|
-
* @param
|
|
64
|
-
* @param
|
|
65
|
-
* @param
|
|
66
|
-
* @returns
|
|
51
|
+
* @param oShareMetadata Object containing the share metadata.
|
|
52
|
+
* @param oShareMetadata.url Default URL that will be used via 'Send Email', 'Share in SAP Jam', and 'Save as Tile'
|
|
53
|
+
* @param oShareMetadata.title Default title that will be used as 'email subject' in 'Send Email', 'share text' in 'Share in SAP Jam' and 'title' in 'Save as Tile'
|
|
54
|
+
* @param oShareMetadata.email Email-specific metadata.
|
|
55
|
+
* @param oShareMetadata.email.url URL that will be used specifically for 'Send Email'. This takes precedence over oShareMetadata.url.
|
|
56
|
+
* @param oShareMetadata.email.title Title that will be used as "email subject" in 'Send Email'. This takes precedence over oShareMetadata.title.
|
|
57
|
+
* @param oShareMetadata.jam SAP Jam-specific metadata.
|
|
58
|
+
* @param oShareMetadata.jam.url URL that will be used specifically for 'Share in SAP Jam'. This takes precedence over oShareMetadata.url.
|
|
59
|
+
* @param oShareMetadata.jam.title Title that will be used as 'share text' in 'Share in SAP Jam'. This takes precedence over oShareMetadata.title.
|
|
60
|
+
* @param oShareMetadata.tile Save as Tile-specific metadata.
|
|
61
|
+
* @param oShareMetadata.tile.url URL that will be used specifically for 'Save as Tile'. This takes precedence over oShareMetadata.url.
|
|
62
|
+
* @param oShareMetadata.tile.title Title to be used for the tile. This takes precedence over oShareMetadata.title.
|
|
63
|
+
* @param oShareMetadata.tile.subtitle Subtitle to be used for the tile.
|
|
64
|
+
* @param oShareMetadata.tile.icon Icon to be used for the tile.
|
|
65
|
+
* @param oShareMetadata.tile.queryUrl Query URL of an OData service from which data for a dynamic tile is read.
|
|
66
|
+
* @returns Share Metadata or a Promise resolving the Share Metadata
|
|
67
67
|
* @alias sap.fe.core.controllerextensions.Share#adaptShareMetadata
|
|
68
68
|
* @public
|
|
69
69
|
* @since 1.93.0
|
|
@@ -79,8 +79,8 @@ class ShareUtils extends ControllerExtension {
|
|
|
79
79
|
}): object | Promise<object> {
|
|
80
80
|
return oShareMetadata;
|
|
81
81
|
}
|
|
82
|
-
_openShareSheetImpl(by: any) {
|
|
83
|
-
let oShareActionSheet: ActionSheet
|
|
82
|
+
async _openShareSheetImpl(by: any): Promise<void> {
|
|
83
|
+
let oShareActionSheet: ActionSheet;
|
|
84
84
|
const sHash = HashChanger.getInstance().getHash(),
|
|
85
85
|
sBasePath = (HashChanger.getInstance() as any).hrefForAppSpecificHash
|
|
86
86
|
? (HashChanger.getInstance() as any).hrefForAppSpecificHash("")
|
|
@@ -106,114 +106,113 @@ class ShareUtils extends ControllerExtension {
|
|
|
106
106
|
};
|
|
107
107
|
oLastFocusedControl = by;
|
|
108
108
|
|
|
109
|
-
const setShareEmailData = function (
|
|
110
|
-
const oShareMailModel =
|
|
109
|
+
const setShareEmailData = function (shareActionSheet: any, oModelData: any) {
|
|
110
|
+
const oShareMailModel = shareActionSheet.getModel("shareData");
|
|
111
111
|
const oNewMailData = extend(oShareMailModel.getData(), oModelData);
|
|
112
112
|
oShareMailModel.setData(oNewMailData);
|
|
113
113
|
};
|
|
114
|
-
return Promise.resolve(this.adaptShareMetadata(oShareMetadata))
|
|
115
|
-
.then((oModelData: any) => {
|
|
116
|
-
fragmentController = {
|
|
117
|
-
shareEmailPressed: function () {
|
|
118
|
-
const oMailModel = oShareActionSheet.getModel("shareData") as JSONModel;
|
|
119
|
-
const oMailData = oMailModel.getData() as any;
|
|
120
|
-
const oResource = (Core as CoreEx).getLibraryResourceBundle("sap.fe.core");
|
|
121
|
-
const sEmailSubject = oMailData.email.title
|
|
122
|
-
? oMailData.email.title
|
|
123
|
-
: oResource.getText("T_SHARE_UTIL_HELPER_SAPFE_EMAIL_SUBJECT", [oMailData.title]);
|
|
124
|
-
library.URLHelper.triggerEmail(undefined, sEmailSubject, oMailData.email.url ? oMailData.email.url : oMailData.url);
|
|
125
|
-
},
|
|
126
|
-
shareMSTeamsPressed: function () {
|
|
127
|
-
const msTeamsModel = oShareActionSheet.getModel("shareData") as JSONModel;
|
|
128
|
-
const msTeamsData = msTeamsModel.getData() as any;
|
|
129
|
-
const message = msTeamsData.email.title ? msTeamsData.email.title : msTeamsData.title;
|
|
130
|
-
const url = msTeamsData.email.url ? msTeamsData.email.url : msTeamsData.url;
|
|
131
|
-
const newWindowOpen = window.open("", "ms-teams-share-popup", "width=700,height=600");
|
|
132
|
-
newWindowOpen!.opener = null;
|
|
133
|
-
newWindowOpen!.location =
|
|
134
|
-
"https://teams.microsoft.com/share?msgText=" + encodeURIComponent(message) + "&href=" + encodeURIComponent(url);
|
|
135
|
-
},
|
|
136
|
-
onSaveTilePress: function () {
|
|
137
|
-
// TODO it seems that the press event is executed before the dialog is available - adding a timeout is a cheap workaround
|
|
138
|
-
setTimeout(function () {
|
|
139
|
-
((Core as CoreEx).byId("bookmarkDialog") as Dialog)?.attachAfterClose(function () {
|
|
140
|
-
oLastFocusedControl.focus();
|
|
141
|
-
});
|
|
142
|
-
}, 0);
|
|
143
|
-
},
|
|
144
|
-
shareJamPressed() {
|
|
145
|
-
this._doOpenJamShareDialog(
|
|
146
|
-
oModelData.jam.title ? oModelData.jam.title : oModelData.title,
|
|
147
|
-
oModelData.jam.url ? oModelData.jam.url : window.location.origin + window.location.pathname + oModelData.url
|
|
148
|
-
);
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
114
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
115
|
+
try {
|
|
116
|
+
const oModelData: any = await Promise.resolve(this.adaptShareMetadata(oShareMetadata));
|
|
117
|
+
const fragmentController: any = {
|
|
118
|
+
shareEmailPressed: function () {
|
|
119
|
+
const oMailModel = oShareActionSheet.getModel("shareData") as JSONModel;
|
|
120
|
+
const oMailData = oMailModel.getData();
|
|
121
|
+
const oResource = (Core as CoreEx).getLibraryResourceBundle("sap.fe.core");
|
|
122
|
+
const sEmailSubject = oMailData.email.title
|
|
123
|
+
? oMailData.email.title
|
|
124
|
+
: oResource.getText("T_SHARE_UTIL_HELPER_SAPFE_EMAIL_SUBJECT", [oMailData.title]);
|
|
125
|
+
library.URLHelper.triggerEmail(undefined, sEmailSubject, oMailData.email.url ? oMailData.email.url : oMailData.url);
|
|
126
|
+
},
|
|
127
|
+
shareMSTeamsPressed: function () {
|
|
128
|
+
const msTeamsModel = oShareActionSheet.getModel("shareData") as JSONModel;
|
|
129
|
+
const msTeamsData = msTeamsModel.getData();
|
|
130
|
+
const message = msTeamsData.email.title ? msTeamsData.email.title : msTeamsData.title;
|
|
131
|
+
const url = msTeamsData.email.url ? msTeamsData.email.url : msTeamsData.url;
|
|
132
|
+
const newWindowOpen = window.open("", "ms-teams-share-popup", "width=700,height=600");
|
|
133
|
+
newWindowOpen!.opener = null;
|
|
134
|
+
newWindowOpen!.location = `https://teams.microsoft.com/share?msgText=${encodeURIComponent(
|
|
135
|
+
message
|
|
136
|
+
)}&href=${encodeURIComponent(url)}`;
|
|
137
|
+
},
|
|
138
|
+
onSaveTilePress: function () {
|
|
139
|
+
// TODO it seems that the press event is executed before the dialog is available - adding a timeout is a cheap workaround
|
|
140
|
+
setTimeout(function () {
|
|
141
|
+
((Core as CoreEx).byId("bookmarkDialog") as Dialog)?.attachAfterClose(function () {
|
|
142
|
+
oLastFocusedControl.focus();
|
|
143
|
+
});
|
|
144
|
+
}, 0);
|
|
145
|
+
},
|
|
146
|
+
shareJamPressed: () => {
|
|
147
|
+
this._doOpenJamShareDialog(
|
|
148
|
+
oModelData.jam.title ? oModelData.jam.title : oModelData.title,
|
|
149
|
+
oModelData.jam.url ? oModelData.jam.url : window.location.origin + window.location.pathname + oModelData.url
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
fragmentController.onCancelPressed = function () {
|
|
155
|
+
oShareActionSheet.close();
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
fragmentController.setShareSheet = function (oShareSheet: any) {
|
|
159
|
+
by.shareSheet = oShareSheet;
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
const oThis = new JSONModel({});
|
|
163
|
+
const oPreprocessorSettings = {
|
|
164
|
+
bindingContexts: {
|
|
165
|
+
"this": oThis.createBindingContext("/")
|
|
166
|
+
},
|
|
167
|
+
models: {
|
|
168
|
+
"this": oThis
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
const oTileData = {
|
|
172
|
+
title: oModelData.tile.title ? oModelData.tile.title : oModelData.title,
|
|
173
|
+
subtitle: oModelData.tile.subtitle,
|
|
174
|
+
icon: oModelData.tile.icon,
|
|
175
|
+
url: oModelData.tile.url ? oModelData.tile.url : oModelData.url,
|
|
176
|
+
queryUrl: oModelData.tile.queryUrl
|
|
177
|
+
};
|
|
178
|
+
if (by.shareSheet) {
|
|
179
|
+
oShareActionSheet = by.shareSheet;
|
|
155
180
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
181
|
+
const oShareModel = oShareActionSheet.getModel("share") as JSONModel;
|
|
182
|
+
this._setStaticShareData(oShareModel);
|
|
183
|
+
const oNewData = extend(oShareModel.getData(), oTileData);
|
|
184
|
+
oShareModel.setData(oNewData);
|
|
185
|
+
setShareEmailData(oShareActionSheet, oModelData);
|
|
186
|
+
oShareActionSheet.openBy(by);
|
|
187
|
+
} else {
|
|
188
|
+
const sFragmentName = "sap.fe.macros.share.ShareSheet";
|
|
189
|
+
const oPopoverFragment = XMLTemplateProcessor.loadTemplate(sFragmentName, "fragment");
|
|
159
190
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
models: {
|
|
166
|
-
"this": oThis
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
const oTileData = {
|
|
170
|
-
title: oModelData.tile.title ? oModelData.tile.title : oModelData.title,
|
|
171
|
-
subtitle: oModelData.tile.subtitle,
|
|
172
|
-
icon: oModelData.tile.icon,
|
|
173
|
-
url: oModelData.tile.url ? oModelData.tile.url : oModelData.url,
|
|
174
|
-
queryUrl: oModelData.tile.queryUrl
|
|
175
|
-
};
|
|
176
|
-
if (by.shareSheet) {
|
|
177
|
-
oShareActionSheet = by.shareSheet;
|
|
191
|
+
try {
|
|
192
|
+
const oFragment = await Promise.resolve(
|
|
193
|
+
XMLPreprocessor.process(oPopoverFragment, { name: sFragmentName }, oPreprocessorSettings)
|
|
194
|
+
);
|
|
195
|
+
oShareActionSheet = (await Fragment.load({ definition: oFragment, controller: fragmentController })) as any;
|
|
178
196
|
|
|
197
|
+
oShareActionSheet.setModel(new JSONModel(oTileData || {}), "share");
|
|
179
198
|
const oShareModel = oShareActionSheet.getModel("share") as JSONModel;
|
|
180
199
|
this._setStaticShareData(oShareModel);
|
|
181
200
|
const oNewData = extend(oShareModel.getData(), oTileData);
|
|
182
201
|
oShareModel.setData(oNewData);
|
|
183
|
-
setShareEmailData(oShareActionSheet, oModelData);
|
|
184
|
-
oShareActionSheet.openBy(by);
|
|
185
|
-
} else {
|
|
186
|
-
const sFragmentName = "sap.fe.macros.share.ShareSheet",
|
|
187
|
-
oPopoverFragment = XMLTemplateProcessor.loadTemplate(sFragmentName, "fragment");
|
|
188
|
-
|
|
189
|
-
Promise.resolve(XMLPreprocessor.process(oPopoverFragment, { name: sFragmentName }, oPreprocessorSettings))
|
|
190
|
-
.then(function (oFragment: any) {
|
|
191
|
-
return Fragment.load({ definition: oFragment, controller: fragmentController });
|
|
192
|
-
})
|
|
193
|
-
.then((oActionSheet: any) => {
|
|
194
|
-
oShareActionSheet = oActionSheet;
|
|
195
202
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
this._setStaticShareData(oShareModel);
|
|
199
|
-
const oNewData = extend(oShareModel.getData(), oTileData);
|
|
200
|
-
oShareModel.setData(oNewData);
|
|
201
|
-
|
|
202
|
-
oShareActionSheet.setModel(new JSONModel(oModelData || {}), "shareData");
|
|
203
|
-
setShareEmailData(oShareActionSheet, oModelData);
|
|
203
|
+
oShareActionSheet.setModel(new JSONModel(oModelData || {}), "shareData");
|
|
204
|
+
setShareEmailData(oShareActionSheet, oModelData);
|
|
204
205
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
Log.error("Error while opening the share fragment", oError);
|
|
211
|
-
});
|
|
206
|
+
by.addDependent(oShareActionSheet);
|
|
207
|
+
oShareActionSheet.openBy(by);
|
|
208
|
+
fragmentController.setShareSheet(oShareActionSheet);
|
|
209
|
+
} catch (oError: any) {
|
|
210
|
+
Log.error("Error while opening the share fragment", oError);
|
|
212
211
|
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
212
|
+
}
|
|
213
|
+
} catch (oError: any) {
|
|
214
|
+
Log.error("Error while fetching the share model data", oError);
|
|
215
|
+
}
|
|
217
216
|
}
|
|
218
217
|
_setStaticShareData(shareModel: any) {
|
|
219
218
|
const oResource = (Core as CoreEx).getLibraryResourceBundle("sap.fe.core");
|