@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,27 +1,27 @@
|
|
|
1
|
-
import { EntityType } from "@sap-ux/
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { EntityType } from "@sap-ux/vocabularies-types";
|
|
2
|
+
import type {
|
|
4
3
|
LineItem,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
} from "@sap-ux/vocabularies-types/
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
4
|
+
PresentationVariant,
|
|
5
|
+
SelectionPresentationVariant,
|
|
6
|
+
SelectionVariant
|
|
7
|
+
} from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
8
|
+
import { UIAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
9
|
+
import type { BaseAction } from "sap/fe/core/converters/controls/Common/Action";
|
|
10
|
+
import { getActionsFromManifest } from "sap/fe/core/converters/controls/Common/Action";
|
|
11
|
+
import type { ChartVisualization } from "sap/fe/core/converters/controls/Common/Chart";
|
|
12
|
+
import type { TableVisualization } from "sap/fe/core/converters/controls/Common/Table";
|
|
13
|
+
import type { CustomElementFilterField, FilterField } from "sap/fe/core/converters/controls/ListReport/FilterBar";
|
|
12
14
|
import {
|
|
13
|
-
CustomElementFilterField,
|
|
14
|
-
FilterField,
|
|
15
15
|
getFilterBarhideBasicSearch,
|
|
16
16
|
getManifestFilterFields,
|
|
17
17
|
getSelectionFields
|
|
18
18
|
} from "sap/fe/core/converters/controls/ListReport/FilterBar";
|
|
19
|
-
import ConverterContext from "sap/fe/core/converters/ConverterContext";
|
|
20
|
-
import { ConfigurableObject
|
|
21
|
-
import {
|
|
19
|
+
import type ConverterContext from "sap/fe/core/converters/ConverterContext";
|
|
20
|
+
import type { ConfigurableObject } from "sap/fe/core/converters/helpers/ConfigurableObject";
|
|
21
|
+
import { insertCustomElements } from "sap/fe/core/converters/helpers/ConfigurableObject";
|
|
22
|
+
import { compileExpression, getExpressionFromAnnotation } from "sap/fe/core/helpers/BindingToolkit";
|
|
23
|
+
import type { DataVisualizationAnnotations, DataVisualizationDefinition } from "../controls/Common/DataVisualization";
|
|
22
24
|
import {
|
|
23
|
-
DataVisualizationAnnotations,
|
|
24
|
-
DataVisualizationDefinition,
|
|
25
25
|
getDataVisualizationConfiguration,
|
|
26
26
|
getDefaultChart,
|
|
27
27
|
getDefaultLineItem,
|
|
@@ -31,20 +31,19 @@ import {
|
|
|
31
31
|
isPresentationCompliant,
|
|
32
32
|
isSelectionPresentationCompliant
|
|
33
33
|
} from "../controls/Common/DataVisualization";
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
34
|
+
import type { KPIDefinition } from "../controls/Common/KPI";
|
|
35
|
+
import { getKPIDefinitions } from "../controls/Common/KPI";
|
|
36
|
+
import { getChartID, getCustomTabID, getFilterBarID, getFilterVariantManagementID, getIconTabBarID, getTableID } from "../helpers/ID";
|
|
37
|
+
import type {
|
|
37
38
|
CombinedViewPathConfiguration,
|
|
38
39
|
CustomViewTemplateConfiguration,
|
|
39
40
|
MultipleViewsConfiguration,
|
|
40
41
|
SingleViewPathConfiguration,
|
|
41
|
-
|
|
42
|
-
VariantManagementType,
|
|
43
|
-
ViewPathConfiguration,
|
|
44
|
-
VisualizationType
|
|
42
|
+
ViewPathConfiguration
|
|
45
43
|
} from "../ManifestSettings";
|
|
44
|
+
import { TemplateType, VariantManagementType, VisualizationType } from "../ManifestSettings";
|
|
46
45
|
|
|
47
|
-
type
|
|
46
|
+
type ViewAnnotations = SelectionPresentationVariant | SelectionVariant;
|
|
48
47
|
type VariantManagementDefinition = {
|
|
49
48
|
id: string;
|
|
50
49
|
targetControlIds: string;
|
|
@@ -73,15 +72,18 @@ type DefaultSemanticDate = ConfigurableObject & {
|
|
|
73
72
|
operator: string;
|
|
74
73
|
};
|
|
75
74
|
|
|
75
|
+
type MultiViewsControlConfiguration = {
|
|
76
|
+
id: string;
|
|
77
|
+
showTabCounts?: boolean;
|
|
78
|
+
};
|
|
79
|
+
|
|
76
80
|
export type ListReportDefinition = {
|
|
77
81
|
mainEntitySet: string;
|
|
78
82
|
mainEntityType: string; // entityType> at the start of LR templating
|
|
79
83
|
singleTableId?: string; // only with single Table mode
|
|
80
84
|
singleChartId?: string; // only with single Table mode
|
|
81
|
-
displayMultiVisualizations: boolean;
|
|
82
|
-
iconTabBarId: string;
|
|
83
85
|
stickySubheaderProvider?: string;
|
|
84
|
-
|
|
86
|
+
multiViewsControl?: MultiViewsControlConfiguration; // only with multi Table mode
|
|
85
87
|
headerActions: BaseAction[];
|
|
86
88
|
showPinnableToggle?: boolean;
|
|
87
89
|
filterBar: {
|
|
@@ -91,7 +93,6 @@ export type ListReportDefinition = {
|
|
|
91
93
|
};
|
|
92
94
|
views: ListReportViewDefinition[];
|
|
93
95
|
filterConditions: object;
|
|
94
|
-
isMultiEntitySets: boolean;
|
|
95
96
|
filterBarId: string;
|
|
96
97
|
variantManagement: VariantManagementDefinition;
|
|
97
98
|
hasMultiVisualizations: boolean;
|
|
@@ -148,8 +149,9 @@ type ContentAreaID = {
|
|
|
148
149
|
|
|
149
150
|
/**
|
|
150
151
|
* Retrieves all list report tables.
|
|
151
|
-
*
|
|
152
|
-
* @
|
|
152
|
+
*
|
|
153
|
+
* @param views The list report views configured in the manifest
|
|
154
|
+
* @returns The list report table
|
|
153
155
|
*/
|
|
154
156
|
function getTableVisualizations(views: ListReportViewDefinition[]): TableVisualization[] {
|
|
155
157
|
const tables: TableVisualization[] = [];
|
|
@@ -200,16 +202,16 @@ const getDefaultSemanticDates = function (filterFields: Record<string, CustomEle
|
|
|
200
202
|
/**
|
|
201
203
|
* Find a visualization annotation that can be used for rendering the list report.
|
|
202
204
|
*
|
|
203
|
-
* @param
|
|
205
|
+
* @param entityType The current EntityType
|
|
204
206
|
* @param converterContext
|
|
205
207
|
* @param bIsALP
|
|
206
|
-
* @returns
|
|
208
|
+
* @returns A compliant annotation for rendering the list report
|
|
207
209
|
*/
|
|
208
210
|
function getCompliantVisualizationAnnotation(
|
|
209
211
|
entityType: EntityType,
|
|
210
212
|
converterContext: ConverterContext,
|
|
211
213
|
bIsALP: Boolean
|
|
212
|
-
): LineItem |
|
|
214
|
+
): LineItem | PresentationVariant | SelectionPresentationVariant | undefined {
|
|
213
215
|
const annotationPath = converterContext.getManifestWrapper().getDefaultTemplateAnnotationPath();
|
|
214
216
|
const selectionPresentationVariant = getSelectionPresentationVariant(entityType, annotationPath, converterContext);
|
|
215
217
|
if (annotationPath && selectionPresentationVariant) {
|
|
@@ -262,12 +264,12 @@ const getView = function (viewConverterConfiguration: ViewConverterSettings): Li
|
|
|
262
264
|
let chartControlId = "";
|
|
263
265
|
let title: string | undefined = "";
|
|
264
266
|
let selectionVariantPath = "";
|
|
265
|
-
const isMultipleViewConfiguration = function (
|
|
266
|
-
return (
|
|
267
|
+
const isMultipleViewConfiguration = function (currentConfig: ViewConfiguration): currentConfig is MultipleViewConfiguration {
|
|
268
|
+
return (currentConfig as MultipleViewConfiguration).key !== undefined;
|
|
267
269
|
};
|
|
268
|
-
const createVisualization = function (
|
|
270
|
+
const createVisualization = function (currentPresentation: DataVisualizationDefinition, isPrimary?: boolean) {
|
|
269
271
|
let defaultVisualization;
|
|
270
|
-
for (const visualization of
|
|
272
|
+
for (const visualization of currentPresentation.visualizations) {
|
|
271
273
|
if (isPrimary && visualization.type === VisualizationType.Chart) {
|
|
272
274
|
defaultVisualization = visualization;
|
|
273
275
|
break;
|
|
@@ -277,7 +279,7 @@ const getView = function (viewConverterConfiguration: ViewConverterSettings): Li
|
|
|
277
279
|
break;
|
|
278
280
|
}
|
|
279
281
|
}
|
|
280
|
-
const presentationCreated = Object.assign({},
|
|
282
|
+
const presentationCreated = Object.assign({}, currentPresentation);
|
|
281
283
|
if (defaultVisualization) {
|
|
282
284
|
presentationCreated.visualizations = [defaultVisualization];
|
|
283
285
|
}
|
|
@@ -346,9 +348,9 @@ const getView = function (viewConverterConfiguration: ViewConverterSettings): Li
|
|
|
346
348
|
} else if (isMultipleViewConfiguration(config)) {
|
|
347
349
|
// key exists only on multi tables mode
|
|
348
350
|
const resolvedTarget = converterContext.getEntityTypeAnnotation((config as SingleViewPathConfiguration).annotationPath);
|
|
349
|
-
const viewAnnotation:
|
|
351
|
+
const viewAnnotation: ViewAnnotations = resolvedTarget.annotation;
|
|
350
352
|
converterContext = resolvedTarget.converterContext;
|
|
351
|
-
title =
|
|
353
|
+
title = compileExpression(getExpressionFromAnnotation(viewAnnotation.Text));
|
|
352
354
|
// Need to loop on table into views since multi table mode get specific configuration (hidden filters or Table Id)
|
|
353
355
|
presentation.visualizations.forEach((visualizationDefinition, index) => {
|
|
354
356
|
switch (visualizationDefinition.type) {
|
|
@@ -356,15 +358,13 @@ const getView = function (viewConverterConfiguration: ViewConverterSettings): Li
|
|
|
356
358
|
const tableVisualization = presentation.visualizations[index] as TableVisualization;
|
|
357
359
|
const filters = tableVisualization.control.filters || {};
|
|
358
360
|
filters.hiddenFilters = filters.hiddenFilters || { paths: [] };
|
|
359
|
-
if (!(config as SingleViewPathConfiguration).
|
|
361
|
+
if (!(config as SingleViewPathConfiguration).keepPreviousPersonalization) {
|
|
360
362
|
// Need to override Table Id to match with Tab Key (currently only table is managed in multiple view mode)
|
|
361
|
-
tableVisualization.annotation.id =
|
|
363
|
+
tableVisualization.annotation.id = getTableID((config as SingleViewPathConfiguration).key || "", "LineItem");
|
|
362
364
|
}
|
|
363
365
|
config = config as ViewAnnotationConfiguration;
|
|
364
366
|
if (config && config.annotation && config.annotation.term === UIAnnotationTerms.SelectionPresentationVariant) {
|
|
365
|
-
selectionVariantPath = (
|
|
366
|
-
config.annotation as SelectionPresentationVariantTypeTypes
|
|
367
|
-
).SelectionVariant.fullyQualifiedName.split("@")[1];
|
|
367
|
+
selectionVariantPath = config.annotation.SelectionVariant.fullyQualifiedName.split("@")[1];
|
|
368
368
|
} else {
|
|
369
369
|
selectionVariantPath = (config as SingleViewPathConfiguration).annotationPath;
|
|
370
370
|
}
|
|
@@ -378,7 +378,7 @@ const getView = function (viewConverterConfiguration: ViewConverterSettings): Li
|
|
|
378
378
|
break;
|
|
379
379
|
case VisualizationType.Chart:
|
|
380
380
|
const chartVisualization = presentation.visualizations[index] as ChartVisualization;
|
|
381
|
-
chartVisualization.id =
|
|
381
|
+
chartVisualization.id = getChartID((config as SingleViewPathConfiguration).key || "", "Chart");
|
|
382
382
|
chartVisualization.multiViews = true;
|
|
383
383
|
break;
|
|
384
384
|
default:
|
|
@@ -408,7 +408,7 @@ const getView = function (viewConverterConfiguration: ViewConverterSettings): Li
|
|
|
408
408
|
const title = config.label,
|
|
409
409
|
fragment = config.template,
|
|
410
410
|
type = config.type,
|
|
411
|
-
customTabId =
|
|
411
|
+
customTabId = getCustomTabID(config.key || ""),
|
|
412
412
|
visible = config.visible;
|
|
413
413
|
return {
|
|
414
414
|
title,
|
|
@@ -452,7 +452,7 @@ const getViews = function (
|
|
|
452
452
|
path = path as SingleViewPathConfiguration;
|
|
453
453
|
const manifestWrapper = converterContext.getManifestWrapper(),
|
|
454
454
|
viewConverterContext = converterContext.getConverterContextFor(
|
|
455
|
-
path.contextPath || (path.entitySet &&
|
|
455
|
+
path.contextPath || (path.entitySet && `/${path.entitySet}`) || converterContext.getContextPath()
|
|
456
456
|
),
|
|
457
457
|
entityType = viewConverterContext.getEntityType();
|
|
458
458
|
|
|
@@ -480,7 +480,7 @@ const getViews = function (
|
|
|
480
480
|
converterContext: viewConverterContext,
|
|
481
481
|
annotation,
|
|
482
482
|
annotationPath: path.annotationPath,
|
|
483
|
-
|
|
483
|
+
keepPreviousPersonalization: path.keepPreviousPersonalization,
|
|
484
484
|
key: path.key,
|
|
485
485
|
visible: path.visible
|
|
486
486
|
});
|
|
@@ -506,6 +506,21 @@ const getViews = function (
|
|
|
506
506
|
});
|
|
507
507
|
};
|
|
508
508
|
|
|
509
|
+
const getMultiViewsControl = function (
|
|
510
|
+
converterContext: ConverterContext,
|
|
511
|
+
views: ListReportViewDefinition[]
|
|
512
|
+
): MultiViewsControlConfiguration | undefined {
|
|
513
|
+
const manifestWrapper = converterContext.getManifestWrapper();
|
|
514
|
+
const viewsDefinition: MultipleViewsConfiguration | undefined = manifestWrapper.getViewConfiguration();
|
|
515
|
+
if (views.length > 1 && !hasMultiVisualizations(converterContext)) {
|
|
516
|
+
return {
|
|
517
|
+
showTabCounts: viewsDefinition ? viewsDefinition?.showCounts || manifestWrapper.hasMultipleEntitySets() : undefined, // with multi EntitySets, tab counts are displayed by default
|
|
518
|
+
id: getIconTabBarID()
|
|
519
|
+
};
|
|
520
|
+
}
|
|
521
|
+
return undefined;
|
|
522
|
+
};
|
|
523
|
+
|
|
509
524
|
function getAlpViewConfig(converterContext: ConverterContext, viewConfigs: ViewConverterSettings[]): ViewConverterSettings[] {
|
|
510
525
|
const entityType = converterContext.getEntityType();
|
|
511
526
|
const annotation = getCompliantVisualizationAnnotation(entityType, converterContext, true);
|
|
@@ -532,6 +547,13 @@ function getAlpViewConfig(converterContext: ConverterContext, viewConfigs: ViewC
|
|
|
532
547
|
return viewConfigs;
|
|
533
548
|
}
|
|
534
549
|
|
|
550
|
+
function hasMultiVisualizations(converterContext: ConverterContext): boolean {
|
|
551
|
+
return (
|
|
552
|
+
converterContext.getManifestWrapper().hasMultipleVisualizations() ||
|
|
553
|
+
converterContext.getTemplateType() === TemplateType.AnalyticalListPage
|
|
554
|
+
);
|
|
555
|
+
}
|
|
556
|
+
|
|
535
557
|
export const getHeaderActions = function (converterContext: ConverterContext): BaseAction[] {
|
|
536
558
|
const manifestWrapper = converterContext.getManifestWrapper();
|
|
537
559
|
return insertCustomElements([], getActionsFromManifest(manifestWrapper.getHeaderActions(), converterContext));
|
|
@@ -554,7 +576,7 @@ export const checkChartFilterBarId = function (views: ListReportViewDefinition[]
|
|
|
554
576
|
* Creates the ListReportDefinition for multiple entity sets (multiple table mode).
|
|
555
577
|
*
|
|
556
578
|
* @param converterContext The converter context
|
|
557
|
-
* @returns
|
|
579
|
+
* @returns The list report definition based on annotation + manifest
|
|
558
580
|
*/
|
|
559
581
|
export const convertPage = function (converterContext: ConverterContext): ListReportDefinition {
|
|
560
582
|
const entityType = converterContext.getEntityType();
|
|
@@ -570,14 +592,13 @@ export const convertPage = function (converterContext: ConverterContext): ListRe
|
|
|
570
592
|
const viewsDefinition: MultipleViewsConfiguration | undefined = manifestWrapper.getViewConfiguration();
|
|
571
593
|
const hasMultipleEntitySets = manifestWrapper.hasMultipleEntitySets();
|
|
572
594
|
const views: ListReportViewDefinition[] = getViews(converterContext, viewsDefinition);
|
|
573
|
-
const showTabCounts = viewsDefinition ? viewsDefinition?.showCounts || hasMultipleEntitySets : undefined; // with multi EntitySets, tab counts are displayed by default
|
|
574
595
|
const lrTableVisualizations = getTableVisualizations(views);
|
|
575
596
|
const lrChartVisualizations = getChartVisualizations(views);
|
|
576
597
|
const showPinnableToggle = lrTableVisualizations.some((table) => table.control.type === "ResponsiveTable");
|
|
577
598
|
let singleTableId = "";
|
|
578
599
|
let singleChartId = "";
|
|
579
|
-
const filterBarId =
|
|
580
|
-
const filterVariantManagementID =
|
|
600
|
+
const filterBarId = getFilterBarID(sContextPath);
|
|
601
|
+
const filterVariantManagementID = getFilterVariantManagementID(filterBarId);
|
|
581
602
|
const fbConfig = manifestWrapper.getFilterConfiguration();
|
|
582
603
|
const filterInitialLayout = fbConfig?.initialLayout !== undefined ? fbConfig?.initialLayout.toLowerCase() : "compact";
|
|
583
604
|
const filterLayout = fbConfig?.layout !== undefined ? fbConfig?.layout.toLowerCase() : "compact";
|
|
@@ -601,8 +622,7 @@ export const convertPage = function (converterContext: ConverterContext): ListRe
|
|
|
601
622
|
|
|
602
623
|
// Sort header actions according to position attributes in manifest
|
|
603
624
|
const headerActions = getHeaderActions(converterContext);
|
|
604
|
-
const
|
|
605
|
-
manifestWrapper.hasMultipleVisualizations() || converterContext.getTemplateType() === TemplateType.AnalyticalListPage;
|
|
625
|
+
const multiViewControl = getMultiViewsControl(converterContext, views);
|
|
606
626
|
if (hasMultipleEntitySets) {
|
|
607
627
|
checkChartFilterBarId(views, filterBarId);
|
|
608
628
|
}
|
|
@@ -619,23 +639,19 @@ export const convertPage = function (converterContext: ConverterContext): ListRe
|
|
|
619
639
|
const targetControlIds = [
|
|
620
640
|
...(hideFilterBar ? [] : [filterBarId]),
|
|
621
641
|
...(manifestWrapper.getVariantManagement() !== VariantManagementType.Control ? visualizationIds : []),
|
|
622
|
-
...(
|
|
642
|
+
...(multiViewControl ? [multiViewControl.id] : [])
|
|
623
643
|
];
|
|
624
644
|
|
|
625
|
-
const iconTabBarId = "fe::TabMultipleMode";
|
|
626
|
-
const displayMultiVisualizations = views.length > 1 && !hasMultiVisualizations;
|
|
627
645
|
const stickySubheaderProvider =
|
|
628
|
-
|
|
646
|
+
multiViewControl && manifestWrapper.getStickyMultiTabHeaderConfiguration() ? multiViewControl.id : undefined;
|
|
629
647
|
|
|
630
648
|
return {
|
|
631
649
|
mainEntitySet: sContextPath,
|
|
632
|
-
mainEntityType: sContextPath
|
|
633
|
-
|
|
634
|
-
iconTabBarId,
|
|
650
|
+
mainEntityType: `${sContextPath}/`,
|
|
651
|
+
multiViewsControl: multiViewControl,
|
|
635
652
|
stickySubheaderProvider,
|
|
636
653
|
singleTableId,
|
|
637
654
|
singleChartId,
|
|
638
|
-
showTabCounts,
|
|
639
655
|
headerActions,
|
|
640
656
|
showPinnableToggle: showPinnableToggle,
|
|
641
657
|
filterBar: {
|
|
@@ -653,8 +669,7 @@ export const convertPage = function (converterContext: ConverterContext): ListRe
|
|
|
653
669
|
id: filterVariantManagementID,
|
|
654
670
|
targetControlIds: targetControlIds.join(",")
|
|
655
671
|
},
|
|
656
|
-
|
|
657
|
-
hasMultiVisualizations: hasMultiVisualizations,
|
|
672
|
+
hasMultiVisualizations: hasMultiVisualizations(converterContext),
|
|
658
673
|
templateType: manifestWrapper.getTemplateType(),
|
|
659
674
|
useSemanticDateRange,
|
|
660
675
|
filterInitialLayout,
|