@sapui5/sap.fe.core 1.102.0 → 1.103.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -5
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/AppComponent.js +62 -26
- package/src/sap/fe/core/AppComponent.ts +56 -40
- package/src/sap/fe/core/AppStateHandler.js +10 -10
- package/src/sap/fe/core/AppStateHandler.ts +9 -9
- 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 +236 -109
- package/src/sap/fe/core/CommonUtils.ts +252 -136
- 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/BuildingBlockRuntime.js +8 -8
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +11 -10
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +27 -27
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +28 -26
- package/src/sap/fe/core/controllerextensions/EditFlow.js +129 -118
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +154 -141
- 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 +31 -26
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +34 -35
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +70 -70
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +77 -77
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +84 -78
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +105 -101
- 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 +8 -8
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +19 -26
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +29 -14
- package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
- package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -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 +22 -22
- package/src/sap/fe/core/controllerextensions/Share.ts +30 -29
- 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 +65 -62
- package/src/sap/fe/core/controllerextensions/ViewState.ts +68 -63
- 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 +6 -6
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +12 -17
- 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 +184 -137
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +253 -206
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +113 -121
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +148 -158
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +198 -148
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +223 -159
- 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 +78 -44
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +90 -60
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +52 -55
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -58
- 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 +2 -2
- package/src/sap/fe/core/controls/FileWrapper.ts +11 -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 +47 -47
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +52 -52
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
- 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 +51 -60
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +14 -14
- 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 +50 -32
- package/src/sap/fe/core/converters/MetaModelConverter.ts +145 -127
- 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 +54 -34
- package/src/sap/fe/core/converters/annotations/DataField.ts +97 -75
- 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 +23 -26
- 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 +28 -28
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
- package/src/sap/fe/core/converters/controls/Common/Form.js +25 -27
- package/src/sap/fe/core/converters/controls/Common/Form.ts +37 -45
- package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
- package/src/sap/fe/core/converters/controls/Common/Table.js +174 -183
- package/src/sap/fe/core/converters/controls/Common/Table.ts +237 -250
- 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 +64 -57
- 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 +73 -72
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +98 -96
- package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +10 -13
- 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 +46 -46
- package/src/sap/fe/core/converters/helpers/ID.ts +25 -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 -4
- 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 +30 -29
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
- 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 +89 -0
- package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -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 +1809 -0
- package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +365 -264
- package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
- package/src/sap/fe/core/helpers/ClassSupport.ts +14 -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 +281 -254
- package/src/sap/fe/core/helpers/MassEditHelper.ts +337 -289
- 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/jsx-runtime/jsx.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
- 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 +49 -35
- package/src/sap/fe/core/messagebundle_ar.properties +13 -5
- package/src/sap/fe/core/messagebundle_bg.properties +13 -5
- package/src/sap/fe/core/messagebundle_ca.properties +13 -5
- package/src/sap/fe/core/messagebundle_cs.properties +13 -5
- package/src/sap/fe/core/messagebundle_cy.properties +14 -6
- package/src/sap/fe/core/messagebundle_da.properties +13 -5
- package/src/sap/fe/core/messagebundle_de.properties +15 -7
- package/src/sap/fe/core/messagebundle_el.properties +14 -6
- package/src/sap/fe/core/messagebundle_en.properties +9 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +11 -3
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -1
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -1
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +44 -85
- package/src/sap/fe/core/messagebundle_es.properties +13 -5
- package/src/sap/fe/core/messagebundle_es_MX.properties +13 -5
- package/src/sap/fe/core/messagebundle_et.properties +13 -5
- package/src/sap/fe/core/messagebundle_fi.properties +14 -6
- package/src/sap/fe/core/messagebundle_fr.properties +14 -6
- package/src/sap/fe/core/messagebundle_fr_CA.properties +14 -6
- package/src/sap/fe/core/messagebundle_hi.properties +14 -6
- package/src/sap/fe/core/messagebundle_hr.properties +14 -6
- package/src/sap/fe/core/messagebundle_hu.properties +13 -5
- package/src/sap/fe/core/messagebundle_id.properties +13 -5
- package/src/sap/fe/core/messagebundle_it.properties +33 -25
- package/src/sap/fe/core/messagebundle_iw.properties +13 -5
- package/src/sap/fe/core/messagebundle_ja.properties +14 -6
- package/src/sap/fe/core/messagebundle_kk.properties +13 -5
- package/src/sap/fe/core/messagebundle_ko.properties +13 -5
- package/src/sap/fe/core/messagebundle_lt.properties +13 -5
- package/src/sap/fe/core/messagebundle_lv.properties +14 -6
- package/src/sap/fe/core/messagebundle_ms.properties +13 -5
- package/src/sap/fe/core/messagebundle_nl.properties +13 -5
- package/src/sap/fe/core/messagebundle_no.properties +13 -5
- package/src/sap/fe/core/messagebundle_pl.properties +13 -5
- package/src/sap/fe/core/messagebundle_pt.properties +13 -5
- package/src/sap/fe/core/messagebundle_pt_PT.properties +14 -6
- package/src/sap/fe/core/messagebundle_ro.properties +13 -5
- package/src/sap/fe/core/messagebundle_ru.properties +13 -5
- package/src/sap/fe/core/messagebundle_sh.properties +13 -5
- package/src/sap/fe/core/messagebundle_sk.properties +13 -5
- package/src/sap/fe/core/messagebundle_sl.properties +17 -9
- package/src/sap/fe/core/messagebundle_sv.properties +14 -6
- package/src/sap/fe/core/messagebundle_th.properties +13 -5
- package/src/sap/fe/core/messagebundle_tr.properties +13 -5
- package/src/sap/fe/core/messagebundle_uk.properties +13 -5
- package/src/sap/fe/core/messagebundle_vi.properties +13 -5
- package/src/sap/fe/core/messagebundle_zh_CN.properties +14 -6
- package/src/sap/fe/core/messagebundle_zh_TW.properties +13 -5
- 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 +2 -2
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
- 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 +53 -44
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +54 -46
- 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 +72 -76
- package/src/sap/fe/core/services/ShellServicesFactory.ts +76 -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 +20 -15
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +26 -21
- 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 +10 -9
- package/src/sap/fe/core/templating/FilterHelper.ts +13 -13
- 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 +148 -93
- package/src/sap/fe/core/templating/UIFormatters.ts +196 -124
- 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,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
2
|
DataFieldAbstractTypes,
|
|
3
3
|
DataPoint,
|
|
4
4
|
FacetTypes,
|
|
5
5
|
FieldGroup,
|
|
6
|
-
ReferenceFacetTypes
|
|
7
|
-
|
|
8
|
-
} from "@sap-ux/vocabularies-types";
|
|
6
|
+
ReferenceFacetTypes
|
|
7
|
+
} from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
8
|
+
import { UIAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
9
9
|
import { getSemanticObjectPath } from "sap/fe/core/converters/annotations/DataField";
|
|
10
|
+
import type { ConfigurableObject, ConfigurableRecord, CustomElement, Position } from "sap/fe/core/converters/helpers/ConfigurableObject";
|
|
11
|
+
import { insertCustomElements, Placement } from "sap/fe/core/converters/helpers/ConfigurableObject";
|
|
10
12
|
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
Position
|
|
17
|
-
} from "sap/fe/core/converters/helpers/ConfigurableObject";
|
|
18
|
-
import { CustomHeaderFacetID, HeaderFacetContainerID, HeaderFacetFormID, HeaderFacetID } from "sap/fe/core/converters/helpers/ID";
|
|
13
|
+
getCustomHeaderFacetID,
|
|
14
|
+
getHeaderFacetContainerID,
|
|
15
|
+
getHeaderFacetFormID,
|
|
16
|
+
getHeaderFacetID
|
|
17
|
+
} from "sap/fe/core/converters/helpers/ID";
|
|
19
18
|
import { KeyHelper } from "sap/fe/core/converters/helpers/Key";
|
|
20
|
-
import { ManifestHeaderFacet } from "sap/fe/core/converters/ManifestSettings";
|
|
21
|
-
import {
|
|
19
|
+
import type { ManifestHeaderFacet } from "sap/fe/core/converters/ManifestSettings";
|
|
20
|
+
import type { CompiledBindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
|
|
21
|
+
import { compileExpression, equal, getExpressionFromAnnotation, not } from "sap/fe/core/helpers/BindingToolkit";
|
|
22
22
|
import { generate } from "../../../helpers/StableIdHelper";
|
|
23
|
-
import ConverterContext from "../../ConverterContext";
|
|
24
|
-
import { AnnotationFormElement, FormElement
|
|
23
|
+
import type ConverterContext from "../../ConverterContext";
|
|
24
|
+
import type { AnnotationFormElement, FormElement } from "../Common/Form";
|
|
25
|
+
import { FormElementType, getFormElementsFromManifest } from "../Common/Form";
|
|
25
26
|
|
|
26
27
|
// region definitions
|
|
27
28
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -82,7 +83,7 @@ type BaseHeaderFacet = ConfigurableObject & {
|
|
|
82
83
|
annotationPath?: string;
|
|
83
84
|
flexSettings: FlexSettings;
|
|
84
85
|
stashed: boolean;
|
|
85
|
-
visible:
|
|
86
|
+
visible: CompiledBindingToolkitExpression;
|
|
86
87
|
targetAnnotationValue?: string;
|
|
87
88
|
targetAnnotationType?: TargetAnnotationType;
|
|
88
89
|
};
|
|
@@ -126,9 +127,8 @@ export type CustomObjectPageHeaderFacet = CustomElement<ObjectPageHeaderFacet> &
|
|
|
126
127
|
/**
|
|
127
128
|
* Retrieve header facets from annotations.
|
|
128
129
|
*
|
|
129
|
-
* @param
|
|
130
|
-
*
|
|
131
|
-
* @returns {ObjectPageHeaderFacet} Header facets from annotations
|
|
130
|
+
* @param converterContext
|
|
131
|
+
* @returns Header facets from annotations
|
|
132
132
|
*/
|
|
133
133
|
export function getHeaderFacetsFromAnnotations(converterContext: ConverterContext): ObjectPageHeaderFacet[] {
|
|
134
134
|
const headerFacets: ObjectPageHeaderFacet[] = [];
|
|
@@ -145,9 +145,8 @@ export function getHeaderFacetsFromAnnotations(converterContext: ConverterContex
|
|
|
145
145
|
/**
|
|
146
146
|
* Retrieve custom header facets from manifest.
|
|
147
147
|
*
|
|
148
|
-
* @param
|
|
149
|
-
*
|
|
150
|
-
* @returns {Record<string, CustomObjectPageHeaderFacet>} HeaderFacets from manifest
|
|
148
|
+
* @param manifestCustomHeaderFacets
|
|
149
|
+
* @returns HeaderFacets from manifest
|
|
151
150
|
*/
|
|
152
151
|
export function getHeaderFacetsFromManifest(
|
|
153
152
|
manifestCustomHeaderFacets: ConfigurableRecord<ManifestHeaderFacet>
|
|
@@ -165,11 +164,10 @@ export function getHeaderFacetsFromManifest(
|
|
|
165
164
|
/**
|
|
166
165
|
* Retrieve stashed settings for header facets from manifest.
|
|
167
166
|
*
|
|
168
|
-
* @param
|
|
169
|
-
* @param
|
|
170
|
-
* @param
|
|
171
|
-
*
|
|
172
|
-
* @returns {boolean} Stashed setting for header facet or false
|
|
167
|
+
* @param facetDefinition
|
|
168
|
+
* @param collectionFacetDefinition
|
|
169
|
+
* @param converterContext
|
|
170
|
+
* @returns Stashed setting for header facet or false
|
|
173
171
|
*/
|
|
174
172
|
export function getStashedSettingsForHeaderFacet(
|
|
175
173
|
facetDefinition: FacetTypes,
|
|
@@ -192,11 +190,10 @@ export function getStashedSettingsForHeaderFacet(
|
|
|
192
190
|
/**
|
|
193
191
|
* Retrieve flexibility designtime settings from manifest.
|
|
194
192
|
*
|
|
195
|
-
* @param
|
|
196
|
-
* @param
|
|
197
|
-
* @param
|
|
198
|
-
*
|
|
199
|
-
* @returns {FlexDesignTimeType} Designtime setting or default
|
|
193
|
+
* @param facetDefinition
|
|
194
|
+
* @param collectionFacetDefinition
|
|
195
|
+
* @param converterContext
|
|
196
|
+
* @returns Designtime setting or default
|
|
200
197
|
*/
|
|
201
198
|
export function getDesignTimeMetadataSettingsForHeaderFacet(
|
|
202
199
|
facetDefinition: FacetTypes,
|
|
@@ -221,6 +218,9 @@ export function getDesignTimeMetadataSettingsForHeaderFacet(
|
|
|
221
218
|
case FlexDesignTimeType.NotAdaptableTree:
|
|
222
219
|
case FlexDesignTimeType.NotAdaptableVisibility:
|
|
223
220
|
designTimeMetadata = designTime;
|
|
221
|
+
break;
|
|
222
|
+
default:
|
|
223
|
+
break;
|
|
224
224
|
}
|
|
225
225
|
}
|
|
226
226
|
}
|
|
@@ -236,9 +236,9 @@ function createReferenceHeaderFacet(
|
|
|
236
236
|
converterContext: ConverterContext
|
|
237
237
|
): ReferenceFacet | undefined {
|
|
238
238
|
if (facetDefinition.$Type === UIAnnotationTypes.ReferenceFacet && !(facetDefinition.annotations?.UI?.Hidden?.valueOf() === true)) {
|
|
239
|
-
const headerFacetID =
|
|
240
|
-
getHeaderFacetKey = (
|
|
241
|
-
return
|
|
239
|
+
const headerFacetID = getHeaderFacetID({ Facet: facetDefinition }),
|
|
240
|
+
getHeaderFacetKey = (facetDefinitionToCheck: FacetTypes, fallback: string): string => {
|
|
241
|
+
return facetDefinitionToCheck.ID?.toString() || facetDefinitionToCheck.Label?.toString() || fallback;
|
|
242
242
|
},
|
|
243
243
|
targetAnnotationValue = facetDefinition.Target.value,
|
|
244
244
|
targetAnnotationType = getTargetAnnotationType(facetDefinition);
|
|
@@ -255,6 +255,8 @@ function createReferenceHeaderFacet(
|
|
|
255
255
|
headerDataPointData = getDataPointData(facetDefinition);
|
|
256
256
|
break;
|
|
257
257
|
// ToDo: Handle other cases
|
|
258
|
+
default:
|
|
259
|
+
break;
|
|
258
260
|
}
|
|
259
261
|
|
|
260
262
|
const { annotations } = facetDefinition;
|
|
@@ -262,14 +264,14 @@ function createReferenceHeaderFacet(
|
|
|
262
264
|
type: HeaderFacetType.Annotation,
|
|
263
265
|
facetType: FacetType.Reference,
|
|
264
266
|
id: headerFacetID,
|
|
265
|
-
containerId:
|
|
267
|
+
containerId: getHeaderFacetContainerID({ Facet: facetDefinition }),
|
|
266
268
|
key: getHeaderFacetKey(facetDefinition, headerFacetID),
|
|
267
269
|
flexSettings: {
|
|
268
270
|
designtime: getDesignTimeMetadataSettingsForHeaderFacet(facetDefinition, collectionFacetDefinition, converterContext)
|
|
269
271
|
},
|
|
270
272
|
stashed: getStashedSettingsForHeaderFacet(facetDefinition, collectionFacetDefinition, converterContext),
|
|
271
|
-
visible:
|
|
272
|
-
annotationPath: converterContext.getEntitySetBasedAnnotationPath(facetDefinition.fullyQualifiedName)
|
|
273
|
+
visible: compileExpression(not(equal(getExpressionFromAnnotation(annotations?.UI?.Hidden?.valueOf()), true))),
|
|
274
|
+
annotationPath: `${converterContext.getEntitySetBasedAnnotationPath(facetDefinition.fullyQualifiedName)}/`,
|
|
273
275
|
targetAnnotationValue,
|
|
274
276
|
targetAnnotationType,
|
|
275
277
|
headerFormData,
|
|
@@ -286,7 +288,7 @@ function createCollectionHeaderFacet(
|
|
|
286
288
|
): CollectionFacet | undefined {
|
|
287
289
|
if (collectionFacetDefinition.$Type === UIAnnotationTypes.CollectionFacet) {
|
|
288
290
|
const facets: ReferenceFacet[] = [],
|
|
289
|
-
headerFacetID =
|
|
291
|
+
headerFacetID = getHeaderFacetID({ Facet: collectionFacetDefinition }),
|
|
290
292
|
getHeaderFacetKey = (facetDefinition: FacetTypes, fallback: string): string => {
|
|
291
293
|
return facetDefinition.ID?.toString() || facetDefinition.Label?.toString() || fallback;
|
|
292
294
|
};
|
|
@@ -306,7 +308,7 @@ function createCollectionHeaderFacet(
|
|
|
306
308
|
type: HeaderFacetType.Annotation,
|
|
307
309
|
facetType: FacetType.Collection,
|
|
308
310
|
id: headerFacetID,
|
|
309
|
-
containerId:
|
|
311
|
+
containerId: getHeaderFacetContainerID({ Facet: collectionFacetDefinition }),
|
|
310
312
|
key: getHeaderFacetKey(collectionFacetDefinition, headerFacetID),
|
|
311
313
|
flexSettings: {
|
|
312
314
|
designtime: getDesignTimeMetadataSettingsForHeaderFacet(
|
|
@@ -316,8 +318,10 @@ function createCollectionHeaderFacet(
|
|
|
316
318
|
)
|
|
317
319
|
},
|
|
318
320
|
stashed: getStashedSettingsForHeaderFacet(collectionFacetDefinition, collectionFacetDefinition, converterContext),
|
|
319
|
-
visible:
|
|
320
|
-
|
|
321
|
+
visible: compileExpression(
|
|
322
|
+
not(equal(getExpressionFromAnnotation(collectionFacetDefinition.annotations?.UI?.Hidden?.valueOf()), true))
|
|
323
|
+
),
|
|
324
|
+
annotationPath: `${converterContext.getEntitySetBasedAnnotationPath(collectionFacetDefinition.fullyQualifiedName)}/`,
|
|
321
325
|
facets
|
|
322
326
|
};
|
|
323
327
|
}
|
|
@@ -355,7 +359,7 @@ function getFieldGroupFormData(facetDefinition: ReferenceFacetTypes, converterCo
|
|
|
355
359
|
);
|
|
356
360
|
|
|
357
361
|
return {
|
|
358
|
-
id:
|
|
362
|
+
id: getHeaderFacetFormID({ Facet: facetDefinition }),
|
|
359
363
|
label: facetDefinition.Label?.toString(),
|
|
360
364
|
formElements
|
|
361
365
|
};
|
|
@@ -364,10 +368,9 @@ function getFieldGroupFormData(facetDefinition: ReferenceFacetTypes, converterCo
|
|
|
364
368
|
/**
|
|
365
369
|
* Creates an array of manifest-based FormElements.
|
|
366
370
|
*
|
|
367
|
-
* @param
|
|
368
|
-
* @param
|
|
369
|
-
*
|
|
370
|
-
* @returns {Array} Annotation-based FormElements
|
|
371
|
+
* @param facetDefinition The definition of the facet
|
|
372
|
+
* @param converterContext The converter context for the facet
|
|
373
|
+
* @returns Annotation-based FormElements
|
|
371
374
|
*/
|
|
372
375
|
function getFormElementsFromAnnotations(facetDefinition: FacetTypes, converterContext: ConverterContext): AnnotationFormElement[] {
|
|
373
376
|
const annotationBasedFormElements: AnnotationFormElement[] = [];
|
|
@@ -389,23 +392,23 @@ function getFormElementsFromAnnotations(facetDefinition: FacetTypes, converterCo
|
|
|
389
392
|
isValueMultilineText: dataField.Value?.$target?.annotations?.UI?.MultiLineText?.valueOf() === true,
|
|
390
393
|
type: FormElementType.Annotation,
|
|
391
394
|
key: KeyHelper.generateKeyFromDataField(dataField),
|
|
392
|
-
visible:
|
|
395
|
+
visible: compileExpression(not(equal(getExpressionFromAnnotation(annotations?.UI?.Hidden?.valueOf()), true))),
|
|
393
396
|
label: dataField.Value?.$target?.annotations?.Common?.Label || dataField.Label,
|
|
394
|
-
idPrefix:
|
|
395
|
-
annotationPath: converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName)
|
|
397
|
+
idPrefix: getHeaderFacetFormID({ Facet: facetDefinition }, dataField),
|
|
398
|
+
annotationPath: `${converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName)}/`,
|
|
396
399
|
semanticObjectPath: semanticObjectAnnotationPath
|
|
397
400
|
});
|
|
398
401
|
} else if (dataField.$Type === UIAnnotationTypes.DataFieldForAnnotation) {
|
|
399
402
|
const { annotations } = dataField;
|
|
400
403
|
annotationBasedFormElements.push({
|
|
401
|
-
// FIXME this is wrong
|
|
404
|
+
// FIXME this is wrong, the annotation should exist, so the target is not properly identified
|
|
402
405
|
isValueMultilineText: (dataField.Target?.$target?.annotations?.UI as any)?.MultiLineText?.valueOf() === true,
|
|
403
406
|
type: FormElementType.Annotation,
|
|
404
407
|
key: KeyHelper.generateKeyFromDataField(dataField),
|
|
405
|
-
visible:
|
|
408
|
+
visible: compileExpression(not(equal(getExpressionFromAnnotation(annotations?.UI?.Hidden?.valueOf()), true))),
|
|
406
409
|
label: dataField.Target?.$target?.annotations?.Common?.Label?.toString() || dataField.Label?.toString(),
|
|
407
|
-
idPrefix:
|
|
408
|
-
annotationPath: converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName)
|
|
410
|
+
idPrefix: getHeaderFacetFormID({ Facet: facetDefinition }, dataField),
|
|
411
|
+
annotationPath: `${converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName)}/`,
|
|
409
412
|
semanticObjectPath: semanticObjectAnnotationPath
|
|
410
413
|
});
|
|
411
414
|
}
|
|
@@ -432,10 +435,9 @@ function getDataPointData(facetDefinition: FacetTypes): HeaderDataPointData {
|
|
|
432
435
|
/**
|
|
433
436
|
* Creates an annotation-based header facet.
|
|
434
437
|
*
|
|
435
|
-
* @param
|
|
436
|
-
* @param
|
|
437
|
-
*
|
|
438
|
-
* @returns {ObjectPageHeaderFacet} The created annotation-based header facet
|
|
438
|
+
* @param facetDefinition The definition of the facet
|
|
439
|
+
* @param converterContext The converter context
|
|
440
|
+
* @returns The created annotation-based header facet
|
|
439
441
|
*/
|
|
440
442
|
function createHeaderFacet(facetDefinition: FacetTypes, converterContext: ConverterContext): ObjectPageHeaderFacet | undefined {
|
|
441
443
|
let headerFacet: ObjectPageHeaderFacet | undefined;
|
|
@@ -447,6 +449,8 @@ function createHeaderFacet(facetDefinition: FacetTypes, converterContext: Conver
|
|
|
447
449
|
case UIAnnotationTypes.CollectionFacet:
|
|
448
450
|
headerFacet = createCollectionHeaderFacet(facetDefinition, converterContext);
|
|
449
451
|
break;
|
|
452
|
+
default:
|
|
453
|
+
break;
|
|
450
454
|
}
|
|
451
455
|
|
|
452
456
|
return headerFacet;
|
|
@@ -461,21 +465,20 @@ function generateBinding(requestGroupId?: string): string | undefined {
|
|
|
461
465
|
return undefined;
|
|
462
466
|
}
|
|
463
467
|
const groupId =
|
|
464
|
-
["Heroes", "Decoration", "Workers", "LongRunners"].indexOf(requestGroupId) !== -1 ?
|
|
468
|
+
["Heroes", "Decoration", "Workers", "LongRunners"].indexOf(requestGroupId) !== -1 ? `$auto.${requestGroupId}` : requestGroupId;
|
|
465
469
|
|
|
466
|
-
return
|
|
470
|
+
return `{ path : '', parameters : { $$groupId : '${groupId}' } }`;
|
|
467
471
|
}
|
|
468
472
|
|
|
469
473
|
/**
|
|
470
474
|
* Create a manifest based custom header facet.
|
|
471
475
|
*
|
|
472
|
-
* @param
|
|
473
|
-
* @param
|
|
474
|
-
*
|
|
475
|
-
* @returns {CustomObjectPageHeaderFacet} The manifest based custom header facet created
|
|
476
|
+
* @param customHeaderFacetDefinition
|
|
477
|
+
* @param headerFacetKey
|
|
478
|
+
* @returns The manifest based custom header facet created
|
|
476
479
|
*/
|
|
477
480
|
function createCustomHeaderFacet(customHeaderFacetDefinition: ManifestHeaderFacet, headerFacetKey: string): CustomObjectPageHeaderFacet {
|
|
478
|
-
const customHeaderFacetID =
|
|
481
|
+
const customHeaderFacetID = getCustomHeaderFacetID(headerFacetKey);
|
|
479
482
|
|
|
480
483
|
let position: Position | undefined = customHeaderFacetDefinition.position;
|
|
481
484
|
if (!position) {
|