@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
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
import { Property } from "@sap-ux/
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { PrimitiveType, Property } from "@sap-ux/vocabularies-types";
|
|
2
|
+
import type { Contact } from "@sap-ux/vocabularies-types/vocabularies/Communication";
|
|
3
|
+
import { CommunicationAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/Communication";
|
|
4
|
+
import type {
|
|
5
5
|
DataField,
|
|
6
6
|
DataFieldAbstractTypes,
|
|
7
7
|
DataFieldForActionAbstractTypes,
|
|
8
8
|
DataFieldForAnnotation,
|
|
9
9
|
DataFieldTypes,
|
|
10
|
-
DataPoint
|
|
11
|
-
|
|
12
|
-
} from "@sap-ux/vocabularies-types";
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import { getDisplayMode, PropertyOrPath } from "sap/fe/core/templating/DisplayModeFormatter";
|
|
10
|
+
DataPoint
|
|
11
|
+
} from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
12
|
+
import { UIAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
13
|
+
import type { TableType } from "sap/fe/core/converters/controls/Common/Table";
|
|
14
|
+
import { getDisplayMode } from "sap/fe/core/templating/DisplayModeFormatter";
|
|
16
15
|
import {
|
|
17
16
|
getAssociatedCurrencyProperty,
|
|
18
17
|
getAssociatedTimezoneProperty,
|
|
19
18
|
getAssociatedUnitProperty,
|
|
20
19
|
isProperty
|
|
21
20
|
} from "sap/fe/core/templating/PropertyHelper";
|
|
22
|
-
import ConverterContext from "../ConverterContext";
|
|
21
|
+
import type ConverterContext from "../ConverterContext";
|
|
23
22
|
|
|
24
23
|
export type ComplexPropertyInfo = {
|
|
25
24
|
properties: Record<string, Property>;
|
|
@@ -38,8 +37,8 @@ export type ComplexPropertyInfo = {
|
|
|
38
37
|
* Identifies if the given dataFieldAbstract that is passed is a "DataFieldForActionAbstract".
|
|
39
38
|
* DataFieldForActionAbstract has an inline action defined.
|
|
40
39
|
*
|
|
41
|
-
* @param
|
|
42
|
-
* @returns
|
|
40
|
+
* @param dataField DataField to be evaluated
|
|
41
|
+
* @returns Validates that dataField is a DataFieldForActionAbstractType
|
|
43
42
|
*/
|
|
44
43
|
export function isDataFieldForActionAbstract(dataField: DataFieldAbstractTypes): dataField is DataFieldForActionAbstractTypes {
|
|
45
44
|
return (dataField as DataFieldForActionAbstractTypes).hasOwnProperty("Action");
|
|
@@ -49,8 +48,8 @@ export function isDataFieldForActionAbstract(dataField: DataFieldAbstractTypes):
|
|
|
49
48
|
* Identifies if the given dataFieldAbstract that is passed is a "DataField".
|
|
50
49
|
* DataField has a value defined.
|
|
51
50
|
*
|
|
52
|
-
* @param
|
|
53
|
-
* @returns
|
|
51
|
+
* @param dataField DataField to be evaluated
|
|
52
|
+
* @returns Validate that dataField is a DataFieldTypes
|
|
54
53
|
*/
|
|
55
54
|
export function isDataFieldTypes(dataField: DataFieldAbstractTypes): dataField is DataFieldTypes {
|
|
56
55
|
return (dataField as DataFieldTypes).hasOwnProperty("Value");
|
|
@@ -59,8 +58,8 @@ export function isDataFieldTypes(dataField: DataFieldAbstractTypes): dataField i
|
|
|
59
58
|
/**
|
|
60
59
|
* Returns whether given DataField has a static hidden annotation.
|
|
61
60
|
*
|
|
62
|
-
* @param
|
|
63
|
-
* @returns
|
|
61
|
+
* @param dataField The DataField to check
|
|
62
|
+
* @returns `true` if DataField or referenced property has a static Hidden annotation, false else
|
|
64
63
|
* @private
|
|
65
64
|
*/
|
|
66
65
|
export function isDataFieldAlwaysHidden(dataField: DataFieldAbstractTypes): boolean {
|
|
@@ -90,7 +89,7 @@ export function getSemanticObjectPath(converterContext: ConverterContext, object
|
|
|
90
89
|
* Returns the navigation path prefix for a property path.
|
|
91
90
|
*
|
|
92
91
|
* @param path The property path For e.g. /EntityType/Navigation/Property
|
|
93
|
-
* @returns
|
|
92
|
+
* @returns The navigation path prefix For e.g. /EntityType/Navigation/
|
|
94
93
|
*/
|
|
95
94
|
function _getNavigationPathPrefix(path: string): string {
|
|
96
95
|
return path.indexOf("/") > -1 ? path.substring(0, path.lastIndexOf("/") + 1) : "";
|
|
@@ -105,10 +104,10 @@ function _getNavigationPathPrefix(path: string): string {
|
|
|
105
104
|
* @param navigationPathPrefix Navigation path prefix, applicable in case of navigation properties.
|
|
106
105
|
* @param tableType Table type.
|
|
107
106
|
* @param relatedProperties The related properties identified so far.
|
|
108
|
-
* @returns
|
|
107
|
+
* @returns The related properties identified.
|
|
109
108
|
*/
|
|
110
109
|
function _collectAdditionalPropertiesForAnalyticalTable(
|
|
111
|
-
target:
|
|
110
|
+
target: PrimitiveType,
|
|
112
111
|
navigationPathPrefix: string,
|
|
113
112
|
tableType: TableType,
|
|
114
113
|
relatedProperties: ComplexPropertyInfo
|
|
@@ -134,11 +133,11 @@ function _collectAdditionalPropertiesForAnalyticalTable(
|
|
|
134
133
|
* @param tableType The table type.
|
|
135
134
|
* @param relatedProperties The related properties identified so far.
|
|
136
135
|
* @param addUnitInTemplate True if the unit/currency property needs to be added in the export template
|
|
137
|
-
* @returns
|
|
136
|
+
* @returns The related properties identified.
|
|
138
137
|
*/
|
|
139
138
|
export function collectRelatedProperties(
|
|
140
139
|
path: string,
|
|
141
|
-
property:
|
|
140
|
+
property: PrimitiveType,
|
|
142
141
|
converterContext: ConverterContext,
|
|
143
142
|
ignoreSelf: boolean,
|
|
144
143
|
tableType: TableType,
|
|
@@ -190,7 +189,7 @@ export function collectRelatedProperties(
|
|
|
190
189
|
// Check for Text Arrangement.
|
|
191
190
|
const dataModelObjectPath = converterContext.getDataModelObjectPath();
|
|
192
191
|
const textAnnotationPropertyPath = navigationPathPrefix + textAnnotation.path;
|
|
193
|
-
const displayMode = getDisplayMode(property
|
|
192
|
+
const displayMode = getDisplayMode(property, dataModelObjectPath);
|
|
194
193
|
let descriptionIndex: number;
|
|
195
194
|
switch (displayMode) {
|
|
196
195
|
case "Value":
|
|
@@ -217,6 +216,7 @@ export function collectRelatedProperties(
|
|
|
217
216
|
descriptionIndex = _pushUnique(textAnnotationPropertyPath, textAnnotation.$target);
|
|
218
217
|
_appendTemplate(`{${descriptionIndex}} ({${valueIndex}})`);
|
|
219
218
|
break;
|
|
219
|
+
// no default
|
|
220
220
|
}
|
|
221
221
|
} else {
|
|
222
222
|
// Check for field containing Currency Or Unit Properties or Timezone
|
|
@@ -242,7 +242,7 @@ export function collectRelatedProperties(
|
|
|
242
242
|
relatedProperties.exportTimezoneName = timezoneProperty.name;
|
|
243
243
|
}
|
|
244
244
|
} else if (property.Target?.$target?.Visualization) {
|
|
245
|
-
const dataPointProperty:
|
|
245
|
+
const dataPointProperty: PrimitiveType = property.Target.$target.Value.$target;
|
|
246
246
|
valueIndex = _pushUnique(path, dataPointProperty);
|
|
247
247
|
// New fake property created for the Rating/Progress Target Value. It'll be used for the export on split mode.
|
|
248
248
|
_pushUnique(property.Target.value, property.Target.$target);
|
|
@@ -250,7 +250,7 @@ export function collectRelatedProperties(
|
|
|
250
250
|
_appendTemplate(`{${valueIndex}}/${targetValue}`);
|
|
251
251
|
} else if (property.annotations?.UI?.DataFieldDefault?.Target?.$target?.$Type === UIAnnotationTypes.DataPointType) {
|
|
252
252
|
// DataPoint use-case using DataFieldDefault.
|
|
253
|
-
const dataPointDefaultProperty:
|
|
253
|
+
const dataPointDefaultProperty: PrimitiveType = property.annotations.UI.DataFieldDefault;
|
|
254
254
|
valueIndex = _pushUnique(path, property);
|
|
255
255
|
// New fake property created for the Rating/Progress Target Value. It'll be used for the export on split mode.
|
|
256
256
|
_pushUnique(dataPointDefaultProperty.Target.value, property);
|
|
@@ -291,12 +291,12 @@ export function collectRelatedProperties(
|
|
|
291
291
|
* Collect properties consumed by a DataField.
|
|
292
292
|
* This is for populating the ComplexPropertyInfos of the table delegate.
|
|
293
293
|
*
|
|
294
|
-
* @param
|
|
294
|
+
* @param dataField The DataField for which the properties need to be identified.
|
|
295
295
|
* @param converterContext The converter context.
|
|
296
|
-
* @param
|
|
297
|
-
* @param
|
|
298
|
-
* @param
|
|
299
|
-
* @returns
|
|
296
|
+
* @param tableType The table type.
|
|
297
|
+
* @param relatedProperties The properties identified so far.
|
|
298
|
+
* @param isEmbedded True if the DataField is embedded in another annotation (e.g. FieldGroup).
|
|
299
|
+
* @returns The properties related to the DataField.
|
|
300
300
|
*/
|
|
301
301
|
export function collectRelatedPropertiesRecursively(
|
|
302
302
|
dataField: DataFieldAbstractTypes,
|
|
@@ -305,57 +305,79 @@ export function collectRelatedPropertiesRecursively(
|
|
|
305
305
|
relatedProperties: ComplexPropertyInfo = { properties: {}, additionalProperties: {} },
|
|
306
306
|
isEmbedded: boolean = false
|
|
307
307
|
): ComplexPropertyInfo {
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
308
|
+
switch (dataField?.$Type) {
|
|
309
|
+
case UIAnnotationTypes.DataField:
|
|
310
|
+
case UIAnnotationTypes.DataFieldWithUrl:
|
|
311
|
+
case UIAnnotationTypes.DataFieldWithNavigationPath:
|
|
312
|
+
case UIAnnotationTypes.DataFieldWithIntentBasedNavigation:
|
|
313
|
+
case UIAnnotationTypes.DataFieldWithAction:
|
|
314
|
+
const property = dataField.Value;
|
|
315
|
+
relatedProperties = collectRelatedProperties(
|
|
316
|
+
property.path,
|
|
317
|
+
property.$target,
|
|
318
|
+
converterContext,
|
|
319
|
+
false,
|
|
320
|
+
tableType,
|
|
321
|
+
relatedProperties,
|
|
322
|
+
isEmbedded
|
|
323
|
+
);
|
|
324
|
+
const navigationPathPrefix = _getNavigationPathPrefix(property.path);
|
|
325
|
+
relatedProperties = _collectAdditionalPropertiesForAnalyticalTable(
|
|
326
|
+
dataField,
|
|
327
|
+
navigationPathPrefix,
|
|
328
|
+
tableType,
|
|
329
|
+
relatedProperties
|
|
330
|
+
);
|
|
331
|
+
break;
|
|
332
|
+
|
|
333
|
+
case UIAnnotationTypes.DataFieldForAction:
|
|
334
|
+
case UIAnnotationTypes.DataFieldForIntentBasedNavigation:
|
|
335
|
+
break;
|
|
336
|
+
|
|
337
|
+
case UIAnnotationTypes.DataFieldForAnnotation:
|
|
338
|
+
switch (dataField.Target?.$target?.$Type) {
|
|
339
|
+
case UIAnnotationTypes.FieldGroupType:
|
|
340
|
+
dataField.Target.$target.Data?.forEach((innerDataField: DataFieldAbstractTypes) => {
|
|
341
|
+
relatedProperties = collectRelatedPropertiesRecursively(
|
|
342
|
+
innerDataField,
|
|
343
|
+
converterContext,
|
|
344
|
+
tableType,
|
|
345
|
+
relatedProperties,
|
|
346
|
+
true
|
|
347
|
+
);
|
|
348
|
+
});
|
|
349
|
+
break;
|
|
350
|
+
|
|
351
|
+
case UIAnnotationTypes.DataPointType:
|
|
352
|
+
relatedProperties = collectRelatedProperties(
|
|
353
|
+
dataField.Target.$target.Value.path,
|
|
354
|
+
dataField,
|
|
327
355
|
converterContext,
|
|
356
|
+
false,
|
|
328
357
|
tableType,
|
|
329
358
|
relatedProperties,
|
|
330
|
-
|
|
359
|
+
isEmbedded
|
|
331
360
|
);
|
|
332
|
-
|
|
333
|
-
break;
|
|
361
|
+
break;
|
|
334
362
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
363
|
+
case "com.sap.vocabularies.Communication.v1.ContactType":
|
|
364
|
+
relatedProperties = collectRelatedProperties(
|
|
365
|
+
dataField.Target.value,
|
|
366
|
+
dataField,
|
|
367
|
+
converterContext,
|
|
368
|
+
false,
|
|
369
|
+
tableType,
|
|
370
|
+
relatedProperties,
|
|
371
|
+
isEmbedded
|
|
372
|
+
);
|
|
373
|
+
break;
|
|
374
|
+
default:
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
377
|
+
break;
|
|
346
378
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
dataField.Target.value,
|
|
350
|
-
dataField,
|
|
351
|
-
converterContext,
|
|
352
|
-
false,
|
|
353
|
-
tableType,
|
|
354
|
-
relatedProperties,
|
|
355
|
-
isEmbedded
|
|
356
|
-
);
|
|
357
|
-
break;
|
|
358
|
-
}
|
|
379
|
+
default:
|
|
380
|
+
break;
|
|
359
381
|
}
|
|
360
382
|
|
|
361
383
|
return relatedProperties;
|
|
@@ -389,7 +411,11 @@ export const getDataFieldDataType = function (oDataField: DataFieldAbstractTypes
|
|
|
389
411
|
((oDataField as DataFieldForAnnotation).Target?.$target as DataPoint)?.Value?.$target.type;
|
|
390
412
|
} else {
|
|
391
413
|
// e.g. FieldGroup or Chart
|
|
392
|
-
|
|
414
|
+
// FieldGroup Properties have no type, so we define it as a boolean type to prevent exceptions during the calculation of the width
|
|
415
|
+
sDataType =
|
|
416
|
+
(oDataField as DataFieldForAnnotation).Target?.$target.$Type === "com.sap.vocabularies.UI.v1.ChartDefinitionType"
|
|
417
|
+
? undefined
|
|
418
|
+
: "Edm.Boolean";
|
|
393
419
|
}
|
|
394
420
|
} else {
|
|
395
421
|
sDataType = undefined;
|