@sapui5/sap.fe.core 1.100.0 → 1.102.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 +4 -4
- package/src/sap/fe/core/.library +2 -3
- package/src/sap/fe/core/AppComponent.js +23 -30
- package/src/sap/fe/core/AppComponent.ts +35 -40
- package/src/sap/fe/core/AppStateHandler.js +8 -8
- package/src/sap/fe/core/AppStateHandler.ts +11 -11
- package/src/sap/fe/core/BaseController.js +9 -9
- package/src/sap/fe/core/BaseController.ts +3 -4
- package/src/sap/fe/core/CommonUtils.js +122 -101
- package/src/sap/fe/core/CommonUtils.ts +239 -193
- package/src/sap/fe/core/ExtensionAPI.js +12 -13
- package/src/sap/fe/core/ExtensionAPI.ts +21 -31
- package/src/sap/fe/core/PageController.js +19 -13
- package/src/sap/fe/core/PageController.ts +40 -34
- package/src/sap/fe/core/TemplateComponent.js +198 -123
- package/src/sap/fe/core/TemplateComponent.ts +109 -121
- package/src/sap/fe/core/TemplateModel.js +7 -9
- package/src/sap/fe/core/TemplateModel.ts +3 -3
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +60 -0
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +37 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +165 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +178 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +935 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +837 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +436 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +431 -0
- package/src/sap/fe/core/{BusyLocker.js → controllerextensions/BusyLocker.js} +1 -1
- package/src/sap/fe/core/{BusyLocker.ts → controllerextensions/BusyLocker.ts} +7 -7
- package/src/sap/fe/core/controllerextensions/EditFlow.js +660 -288
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +513 -331
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +11 -11
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +6 -7
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +43 -25
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +132 -103
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +16 -16
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +64 -55
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +166 -99
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +187 -149
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +14 -14
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +12 -11
- package/src/sap/fe/core/controllerextensions/MassEdit.js +13 -12
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +22 -22
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +14 -26
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +20 -30
- package/src/sap/fe/core/controllerextensions/PageReady.js +25 -23
- package/src/sap/fe/core/controllerextensions/PageReady.ts +49 -47
- package/src/sap/fe/core/controllerextensions/Paginator.js +24 -15
- package/src/sap/fe/core/controllerextensions/Paginator.ts +35 -20
- package/src/sap/fe/core/controllerextensions/Placeholder.js +10 -10
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
- package/src/sap/fe/core/controllerextensions/Routing.js +11 -11
- package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
- package/src/sap/fe/core/controllerextensions/Share.js +34 -16
- package/src/sap/fe/core/controllerextensions/Share.ts +50 -32
- package/src/sap/fe/core/controllerextensions/SideEffects.js +15 -15
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +64 -65
- package/src/sap/fe/core/controllerextensions/ViewState.js +27 -31
- package/src/sap/fe/core/controllerextensions/ViewState.ts +103 -102
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +105 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +98 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +360 -0
- package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ActivitySync.ts +90 -132
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +146 -0
- package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.ts +18 -8
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +264 -0
- package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.ts +35 -33
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +100 -0
- package/src/sap/fe/core/{actions → controllerextensions}/collaboration/UserDetails.fragment.xml +5 -7
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1584 -0
- package/src/sap/fe/core/{TransactionHelper.ts → controllerextensions/editFlow/TransactionHelper.ts} +190 -159
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +780 -0
- package/src/sap/fe/core/{actions → controllerextensions/editFlow}/draft.ts +329 -76
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1149 -0
- package/src/sap/fe/core/{actions → controllerextensions/editFlow}/operations.ts +169 -97
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +190 -0
- package/src/sap/fe/core/{actions → controllerextensions/editFlow}/sticky.ts +76 -12
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +592 -0
- package/src/sap/fe/core/{actions → controllerextensions/messageHandler}/messageHandling.ts +83 -60
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +940 -0
- package/src/sap/fe/core/{RouterProxy.ts → controllerextensions/routing/RouterProxy.ts} +52 -36
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +21 -18
- package/src/sap/fe/core/controls/Any.js +28 -0
- package/src/sap/fe/core/controls/Any.ts +30 -0
- package/src/sap/fe/core/controls/CommandExecution.js +50 -16
- package/src/sap/fe/core/controls/CommandExecution.ts +31 -22
- package/src/sap/fe/core/controls/ConditionalWrapper.js +136 -65
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +49 -58
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +371 -0
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +282 -0
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +74 -36
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +23 -32
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +52 -5
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +127 -67
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +127 -67
- package/src/sap/fe/core/controls/FieldWrapper.js +171 -87
- package/src/sap/fe/core/controls/FieldWrapper.ts +69 -80
- package/src/sap/fe/core/controls/FileWrapper.js +360 -0
- package/src/sap/fe/core/controls/FileWrapper.ts +202 -0
- package/src/sap/fe/core/controls/FilterBar.js +154 -119
- package/src/sap/fe/core/controls/FilterBar.ts +128 -123
- package/src/sap/fe/core/controls/FormElementWrapper.js +102 -37
- package/src/sap/fe/core/controls/FormElementWrapper.ts +43 -35
- package/src/sap/fe/core/controls/MassEditSelect.js +33 -0
- package/src/sap/fe/core/controls/MassEditSelect.ts +45 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +111 -89
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +86 -82
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +242 -193
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +211 -204
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +152 -116
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +105 -105
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +2 -2
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +23 -28
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +41 -81
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +107 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +550 -35
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +604 -35
- package/src/sap/fe/core/converters/ManifestSettings.js +3 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +9 -2
- package/src/sap/fe/core/converters/MetaModelConverter.js +11 -40
- package/src/sap/fe/core/converters/MetaModelConverter.ts +56 -84
- package/src/sap/fe/core/converters/annotations/DataField.js +20 -5
- package/src/sap/fe/core/converters/annotations/DataField.ts +27 -6
- package/src/sap/fe/core/converters/controls/Common/Action.js +14 -21
- package/src/sap/fe/core/converters/controls/Common/Action.ts +23 -28
- package/src/sap/fe/core/converters/controls/Common/Chart.js +17 -10
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +20 -14
- package/src/sap/fe/core/converters/controls/Common/Form.js +16 -18
- package/src/sap/fe/core/converters/controls/Common/Form.ts +20 -20
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +2 -3
- package/src/sap/fe/core/converters/controls/Common/Table.js +389 -173
- package/src/sap/fe/core/converters/controls/Common/Table.ts +440 -244
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +26 -16
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +27 -19
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +78 -47
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +146 -107
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +6 -6
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +20 -18
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +30 -25
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +39 -34
- package/src/sap/fe/core/converters/helpers/Aggregation.js +10 -2
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +18 -13
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +3 -2
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +6 -5
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +0 -4
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +27 -24
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +49 -40
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +33 -22
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +77 -62
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +28 -28
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +38 -45
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -3
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +8 -6
- package/src/sap/fe/core/formatters/KPIFormatter.js +3 -12
- package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -2
- package/src/sap/fe/core/formatters/TableFormatter.js +74 -13
- package/src/sap/fe/core/formatters/TableFormatter.ts +71 -16
- package/src/sap/fe/core/formatters/ValueFormatter.js +4 -4
- package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -7
- package/src/sap/fe/core/fpm/Component.js +46 -17
- package/src/sap/fe/core/fpm/Component.ts +11 -16
- package/src/sap/fe/core/helpers/AppStartupHelper.js +4 -4
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +3 -3
- package/src/sap/fe/core/helpers/BindingExpression.js +10 -7
- package/src/sap/fe/core/helpers/BindingExpression.ts +37 -35
- package/src/sap/fe/core/helpers/ClassSupport.js +273 -256
- package/src/sap/fe/core/helpers/ClassSupport.ts +315 -237
- package/src/sap/fe/core/helpers/FPMHelper.js +3 -2
- package/src/sap/fe/core/helpers/FPMHelper.ts +9 -8
- package/src/sap/fe/core/helpers/MassEditHelper.js +522 -147
- package/src/sap/fe/core/helpers/MassEditHelper.ts +563 -236
- package/src/sap/fe/core/helpers/ModelHelper.js +29 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +39 -26
- package/src/sap/fe/core/helpers/PasteHelper.js +4 -4
- package/src/sap/fe/core/helpers/PasteHelper.ts +4 -3
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +3 -3
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +3 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.js +5 -7
- package/src/sap/fe/core/helpers/StableIdHelper.ts +8 -8
- package/src/sap/fe/core/{Synchronization.js → helpers/Synchronization.js} +1 -1
- package/src/sap/fe/core/{Synchronization.ts → helpers/Synchronization.ts} +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.js +35 -5
- package/src/sap/fe/core/jsx-runtime/jsx.ts +22 -8
- package/src/sap/fe/core/library.js +13 -5
- package/src/sap/fe/core/library.ts +26 -17
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +0 -3
- package/src/sap/fe/core/messagebundle.properties +135 -180
- package/src/sap/fe/core/messagebundle_ar.properties +31 -64
- package/src/sap/fe/core/messagebundle_bg.properties +31 -64
- package/src/sap/fe/core/messagebundle_ca.properties +31 -64
- package/src/sap/fe/core/messagebundle_cs.properties +31 -64
- package/src/sap/fe/core/messagebundle_cy.properties +32 -65
- package/src/sap/fe/core/messagebundle_da.properties +31 -64
- package/src/sap/fe/core/messagebundle_de.properties +29 -62
- package/src/sap/fe/core/messagebundle_el.properties +32 -65
- package/src/sap/fe/core/messagebundle_en.properties +32 -65
- package/src/sap/fe/core/messagebundle_en_GB.properties +29 -62
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +41 -74
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +32 -65
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +20 -6
- package/src/sap/fe/core/messagebundle_es.properties +31 -64
- package/src/sap/fe/core/messagebundle_es_MX.properties +31 -64
- package/src/sap/fe/core/messagebundle_et.properties +31 -64
- package/src/sap/fe/core/messagebundle_fi.properties +29 -62
- package/src/sap/fe/core/messagebundle_fr.properties +36 -69
- package/src/sap/fe/core/messagebundle_fr_CA.properties +33 -66
- package/src/sap/fe/core/messagebundle_hi.properties +29 -62
- package/src/sap/fe/core/messagebundle_hr.properties +32 -65
- package/src/sap/fe/core/messagebundle_hu.properties +30 -63
- package/src/sap/fe/core/messagebundle_id.properties +32 -65
- package/src/sap/fe/core/messagebundle_it.properties +31 -64
- package/src/sap/fe/core/messagebundle_iw.properties +31 -64
- package/src/sap/fe/core/messagebundle_ja.properties +29 -62
- package/src/sap/fe/core/messagebundle_kk.properties +31 -64
- package/src/sap/fe/core/messagebundle_ko.properties +31 -64
- package/src/sap/fe/core/messagebundle_lt.properties +31 -64
- package/src/sap/fe/core/messagebundle_lv.properties +32 -65
- package/src/sap/fe/core/messagebundle_ms.properties +31 -64
- package/src/sap/fe/core/messagebundle_nl.properties +31 -64
- package/src/sap/fe/core/messagebundle_no.properties +31 -64
- package/src/sap/fe/core/messagebundle_pl.properties +34 -67
- package/src/sap/fe/core/messagebundle_pt.properties +32 -65
- package/src/sap/fe/core/messagebundle_pt_PT.properties +31 -64
- package/src/sap/fe/core/messagebundle_ro.properties +33 -66
- package/src/sap/fe/core/messagebundle_ru.properties +33 -66
- package/src/sap/fe/core/messagebundle_sh.properties +31 -64
- package/src/sap/fe/core/messagebundle_sk.properties +31 -64
- package/src/sap/fe/core/messagebundle_sl.properties +29 -62
- package/src/sap/fe/core/messagebundle_sv.properties +30 -63
- package/src/sap/fe/core/messagebundle_th.properties +31 -64
- package/src/sap/fe/core/messagebundle_tr.properties +31 -64
- package/src/sap/fe/core/messagebundle_uk.properties +32 -65
- package/src/sap/fe/core/messagebundle_vi.properties +31 -64
- package/src/sap/fe/core/messagebundle_zh_CN.properties +32 -65
- package/src/sap/fe/core/messagebundle_zh_TW.properties +34 -67
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +4 -4
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +5 -5
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +1 -2
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +11 -8
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +15 -13
- package/src/sap/fe/core/services/NavigationServiceFactory.js +5 -5
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +9 -5
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +4 -4
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js +105 -66
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +59 -49
- package/src/sap/fe/core/services/ShellServicesFactory.js +104 -29
- package/src/sap/fe/core/services/ShellServicesFactory.ts +64 -30
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +4 -4
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +11 -10
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +38 -51
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +43 -5
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +6 -3
- package/src/sap/fe/core/support/CommonHelper.js +1 -1
- package/src/sap/fe/core/support/CommonHelper.ts +0 -3
- package/src/sap/fe/core/templating/DataModelPathHelper.js +2 -9
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +32 -38
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +23 -3
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +27 -6
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -9
- package/src/sap/fe/core/templating/EntitySetHelper.ts +11 -13
- package/src/sap/fe/core/templating/FilterHelper.js +4 -4
- package/src/sap/fe/core/templating/FilterHelper.ts +6 -5
- package/src/sap/fe/core/templating/PropertyHelper.js +70 -33
- package/src/sap/fe/core/templating/PropertyHelper.ts +49 -27
- package/src/sap/fe/core/templating/UIFormatters.js +133 -22
- package/src/sap/fe/core/templating/UIFormatters.ts +144 -50
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +47 -0
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +23 -0
- package/src/sap/fe/core/type/Email.js +26 -8
- package/src/sap/fe/core/type/Email.ts +8 -7
- package/src/sap/fe/core/AnnotationHelper.js +0 -312
- package/src/sap/fe/core/AnnotationHelper.ts +0 -315
- package/src/sap/fe/core/RouterProxy.js +0 -926
- package/src/sap/fe/core/TransactionHelper.js +0 -1562
- package/src/sap/fe/core/actions/collaboration/ActivitySync.js +0 -392
- package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +0 -136
- package/src/sap/fe/core/actions/collaboration/Manage.js +0 -262
- package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +0 -103
- package/src/sap/fe/core/actions/draft.js +0 -523
- package/src/sap/fe/core/actions/messageHandling.js +0 -567
- package/src/sap/fe/core/actions/nonDraft.js +0 -20
- package/src/sap/fe/core/actions/nonDraft.ts +0 -12
- package/src/sap/fe/core/actions/operations.js +0 -1096
- package/src/sap/fe/core/actions/sticky.js +0 -130
- package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +0 -78
- package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +0 -65
- package/src/sap/fe/core/formatters/CriticalityFormatter.js +0 -77
- package/src/sap/fe/core/formatters/CriticalityFormatter.ts +0 -58
|
@@ -24,8 +24,8 @@ import {
|
|
|
24
24
|
PathConditionExpression,
|
|
25
25
|
PropertyAnnotationValue
|
|
26
26
|
} from "@sap-ux/vocabularies-types";
|
|
27
|
-
import { ApplyAnnotationExpression, PathAnnotationExpression } from "@sap-ux/vocabularies-types/types/Edm";
|
|
28
27
|
import { EntitySet } from "@sap-ux/vocabularies-types/dist/Converter";
|
|
28
|
+
import { ApplyAnnotationExpression, PathAnnotationExpression } from "@sap-ux/vocabularies-types/types/Edm";
|
|
29
29
|
import { resolveEnumValue } from "./AnnotationEnum";
|
|
30
30
|
|
|
31
31
|
type PrimitiveType = string | number | bigint | boolean | object | null | undefined;
|
|
@@ -185,7 +185,7 @@ function escapeXmlAttribute(inputString: string) {
|
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
export function hasUnresolveableExpression(...expressions: Expression<any>[]): boolean {
|
|
188
|
-
return expressions.find(expr => expr._type === "Unresolvable") !== undefined;
|
|
188
|
+
return expressions.find((expr) => expr._type === "Unresolvable") !== undefined;
|
|
189
189
|
}
|
|
190
190
|
/**
|
|
191
191
|
* Check two expressions for (deep) equality.
|
|
@@ -215,8 +215,8 @@ export function _checkExpressionsAreEqual<T>(a: Expression<T>, b: Expression<T>)
|
|
|
215
215
|
return (
|
|
216
216
|
a.operator === (b as SetExpression).operator &&
|
|
217
217
|
a.operands.length === (b as SetExpression).operands.length &&
|
|
218
|
-
a.operands.every(expression =>
|
|
219
|
-
(b as SetExpression).operands.some(otherExpression => _checkExpressionsAreEqual(expression, otherExpression))
|
|
218
|
+
a.operands.every((expression) =>
|
|
219
|
+
(b as SetExpression).operands.some((otherExpression) => _checkExpressionsAreEqual(expression, otherExpression))
|
|
220
220
|
)
|
|
221
221
|
);
|
|
222
222
|
|
|
@@ -304,8 +304,8 @@ function flattenSetExpression(expression: SetExpression): SetExpression {
|
|
|
304
304
|
(result: SetExpression, operand) => {
|
|
305
305
|
const candidatesForFlattening =
|
|
306
306
|
operand._type === "Set" && operand.operator === expression.operator ? operand.operands : [operand];
|
|
307
|
-
candidatesForFlattening.forEach(candidate => {
|
|
308
|
-
if (result.operands.every(e => !_checkExpressionsAreEqual(e, candidate))) {
|
|
307
|
+
candidatesForFlattening.forEach((candidate) => {
|
|
308
|
+
if (result.operands.every((e) => !_checkExpressionsAreEqual(e, candidate))) {
|
|
309
309
|
result.operands.push(candidate);
|
|
310
310
|
}
|
|
311
311
|
});
|
|
@@ -353,7 +353,7 @@ export function and(...operands: ExpressionOrPrimitive<boolean>[]): Expression<b
|
|
|
353
353
|
return unresolveableExpression;
|
|
354
354
|
}
|
|
355
355
|
let isStaticFalse = false;
|
|
356
|
-
const nonTrivialExpression = expressions.filter(expression => {
|
|
356
|
+
const nonTrivialExpression = expressions.filter((expression) => {
|
|
357
357
|
if (isFalse(expression)) {
|
|
358
358
|
isStaticFalse = true;
|
|
359
359
|
}
|
|
@@ -397,7 +397,7 @@ export function or(...operands: ExpressionOrPrimitive<boolean>[]): Expression<bo
|
|
|
397
397
|
return unresolveableExpression;
|
|
398
398
|
}
|
|
399
399
|
let isStaticTrue = false;
|
|
400
|
-
const nonTrivialExpression = expressions.filter(expression => {
|
|
400
|
+
const nonTrivialExpression = expressions.filter((expression) => {
|
|
401
401
|
if (isTrue(expression)) {
|
|
402
402
|
isStaticTrue = true;
|
|
403
403
|
}
|
|
@@ -438,16 +438,16 @@ export function not(operand: ExpressionOrPrimitive<boolean>): Expression<boolean
|
|
|
438
438
|
typeof operand === "object" &&
|
|
439
439
|
operand._type === "Set" &&
|
|
440
440
|
operand.operator === "||" &&
|
|
441
|
-
operand.operands.every(expression => isConstant(expression) || isComparison(expression))
|
|
441
|
+
operand.operands.every((expression) => isConstant(expression) || isComparison(expression))
|
|
442
442
|
) {
|
|
443
|
-
return and(...operand.operands.map(expression => not(expression)));
|
|
443
|
+
return and(...operand.operands.map((expression) => not(expression)));
|
|
444
444
|
} else if (
|
|
445
445
|
typeof operand === "object" &&
|
|
446
446
|
operand._type === "Set" &&
|
|
447
447
|
operand.operator === "&&" &&
|
|
448
|
-
operand.operands.every(expression => isConstant(expression) || isComparison(expression))
|
|
448
|
+
operand.operands.every((expression) => isConstant(expression) || isComparison(expression))
|
|
449
449
|
) {
|
|
450
|
-
return or(...operand.operands.map(expression => not(expression)));
|
|
450
|
+
return or(...operand.operands.map((expression) => not(expression)));
|
|
451
451
|
} else if (isComparison(operand)) {
|
|
452
452
|
// Create the reverse comparison
|
|
453
453
|
switch (operand.operator) {
|
|
@@ -765,13 +765,13 @@ export function annotationExpression<T extends PrimitiveType>(
|
|
|
765
765
|
) as Expression<T>;
|
|
766
766
|
case "Or":
|
|
767
767
|
return or(
|
|
768
|
-
...(annotationValue.Or.map(function(orCondition) {
|
|
768
|
+
...(annotationValue.Or.map(function (orCondition) {
|
|
769
769
|
return parseAnnotationCondition(orCondition, visitedNavigationPaths, pathVisitor);
|
|
770
770
|
}) as Expression<boolean>[])
|
|
771
771
|
) as Expression<T>;
|
|
772
772
|
case "And":
|
|
773
773
|
return and(
|
|
774
|
-
...(annotationValue.And.map(function(andCondition) {
|
|
774
|
+
...(annotationValue.And.map(function (andCondition) {
|
|
775
775
|
return parseAnnotationCondition(andCondition, visitedNavigationPaths, pathVisitor);
|
|
776
776
|
}) as Expression<boolean>[])
|
|
777
777
|
) as Expression<T>;
|
|
@@ -803,15 +803,15 @@ function parseAnnotationCondition<T extends PrimitiveType>(
|
|
|
803
803
|
return constant(annotationValue as T);
|
|
804
804
|
} else if (annotationValue.hasOwnProperty("$Or")) {
|
|
805
805
|
return or(
|
|
806
|
-
...((
|
|
806
|
+
...((annotationValue as OrConditionalExpression).$Or.map(function (orCondition) {
|
|
807
807
|
return parseAnnotationCondition(orCondition, visitedNavigationPaths, pathVisitor);
|
|
808
|
-
}) as unknown
|
|
808
|
+
}) as unknown as Expression<boolean>[])
|
|
809
809
|
) as Expression<T>;
|
|
810
810
|
} else if (annotationValue.hasOwnProperty("$And")) {
|
|
811
811
|
return and(
|
|
812
|
-
...((
|
|
812
|
+
...((annotationValue as AndConditionalExpression).$And.map(function (andCondition) {
|
|
813
813
|
return parseAnnotationCondition(andCondition, visitedNavigationPaths, pathVisitor);
|
|
814
|
-
}) as unknown
|
|
814
|
+
}) as unknown as Expression<boolean>[])
|
|
815
815
|
) as Expression<T>;
|
|
816
816
|
} else if (annotationValue.hasOwnProperty("$Not")) {
|
|
817
817
|
return not(
|
|
@@ -1277,7 +1277,7 @@ export function formatResult<T, U extends Fn<T>>(
|
|
|
1277
1277
|
if (!!contextEntityType) {
|
|
1278
1278
|
// Otherwise, if the context is required and no context is provided make sure to add the default binding
|
|
1279
1279
|
if (!parameterExpressions.some(hasReferenceToDefaultContext)) {
|
|
1280
|
-
contextEntityType.keys.forEach(key => parameterExpressions.push(bindingExpression(key.name, "")));
|
|
1280
|
+
contextEntityType.keys.forEach((key) => parameterExpressions.push(bindingExpression(key.name, "")));
|
|
1281
1281
|
}
|
|
1282
1282
|
}
|
|
1283
1283
|
|
|
@@ -1309,7 +1309,8 @@ export function formatResult<T, U extends Fn<T>>(
|
|
|
1309
1309
|
export function addTypeInformation<T, U extends Fn<T>>(
|
|
1310
1310
|
parameters: WrappedTuple<Parameters<U>>,
|
|
1311
1311
|
type: string,
|
|
1312
|
-
contextEntityType?: EntityType
|
|
1312
|
+
contextEntityType?: EntityType,
|
|
1313
|
+
oFormatOptions?: any
|
|
1313
1314
|
): Expression<T> {
|
|
1314
1315
|
const parameterExpressions = (parameters as any[]).map(wrapPrimitive);
|
|
1315
1316
|
if (hasUnresolveableExpression(...parameterExpressions)) {
|
|
@@ -1321,16 +1322,17 @@ export function addTypeInformation<T, U extends Fn<T>>(
|
|
|
1321
1322
|
} else if (!!contextEntityType) {
|
|
1322
1323
|
// Otherwise, if the context is required and no context is provided make sure to add the default binding
|
|
1323
1324
|
if (!parameterExpressions.some(hasReferenceToDefaultContext)) {
|
|
1324
|
-
contextEntityType.keys.forEach(key => parameterExpressions.push(bindingExpression(key.name, "")));
|
|
1325
|
+
contextEntityType.keys.forEach((key) => parameterExpressions.push(bindingExpression(key.name, "")));
|
|
1325
1326
|
}
|
|
1326
1327
|
}
|
|
1328
|
+
if (!oFormatOptions && (parameters[0] as any)?.type?.indexOf("sap.ui.model.odata.type.Int") === 0) {
|
|
1329
|
+
oFormatOptions = { parseAsString: false, emptyString: "" };
|
|
1330
|
+
}
|
|
1327
1331
|
|
|
1328
|
-
const oFormatOptions =
|
|
1329
|
-
(parameters[0] as any)?.type?.indexOf("sap.ui.model.odata.type.Int") === 0 ? { parseAsString: false, emptyString: "" } : {};
|
|
1330
1332
|
return {
|
|
1331
1333
|
_type: "ComplexType",
|
|
1332
1334
|
type: type,
|
|
1333
|
-
formatOptions: oFormatOptions,
|
|
1335
|
+
formatOptions: oFormatOptions || {},
|
|
1334
1336
|
parameters: {},
|
|
1335
1337
|
bindingParameters: parameterExpressions
|
|
1336
1338
|
};
|
|
@@ -1400,17 +1402,17 @@ export function transformRecursively<T extends PrimitiveType | unknown>(
|
|
|
1400
1402
|
switch (expression._type) {
|
|
1401
1403
|
case "Function":
|
|
1402
1404
|
case "Formatter":
|
|
1403
|
-
expression.parameters = expression.parameters.map(parameter =>
|
|
1405
|
+
expression.parameters = expression.parameters.map((parameter) =>
|
|
1404
1406
|
transformRecursively(parameter, expressionType, transformFunction, includeAllExpression)
|
|
1405
1407
|
);
|
|
1406
1408
|
break;
|
|
1407
1409
|
case "Concat":
|
|
1408
|
-
expression.expressions = expression.expressions.map(subExpression =>
|
|
1410
|
+
expression.expressions = expression.expressions.map((subExpression) =>
|
|
1409
1411
|
transformRecursively(subExpression, expressionType, transformFunction, includeAllExpression)
|
|
1410
1412
|
);
|
|
1411
1413
|
break;
|
|
1412
1414
|
case "ComplexType":
|
|
1413
|
-
expression.bindingParameters = expression.bindingParameters.map(bindingParameter =>
|
|
1415
|
+
expression.bindingParameters = expression.bindingParameters.map((bindingParameter) =>
|
|
1414
1416
|
transformRecursively(bindingParameter, expressionType, transformFunction, includeAllExpression)
|
|
1415
1417
|
);
|
|
1416
1418
|
break;
|
|
@@ -1433,7 +1435,7 @@ export function transformRecursively<T extends PrimitiveType | unknown>(
|
|
|
1433
1435
|
break;
|
|
1434
1436
|
case "Set":
|
|
1435
1437
|
if (includeAllExpression) {
|
|
1436
|
-
expression.operands = expression.operands.map(operand =>
|
|
1438
|
+
expression.operands = expression.operands.map((operand) =>
|
|
1437
1439
|
transformRecursively(operand, expressionType, transformFunction, includeAllExpression)
|
|
1438
1440
|
);
|
|
1439
1441
|
}
|
|
@@ -1461,7 +1463,7 @@ export function transformRecursively<T extends PrimitiveType | unknown>(
|
|
|
1461
1463
|
|
|
1462
1464
|
export type BindingExpression<T> = T | string | undefined;
|
|
1463
1465
|
|
|
1464
|
-
const needParenthesis = function<T extends PrimitiveType>(expr: ExpressionOrPrimitive<T>): boolean {
|
|
1466
|
+
const needParenthesis = function <T extends PrimitiveType>(expr: ExpressionOrPrimitive<T>): boolean {
|
|
1465
1467
|
return !isConstant(expr) && !isBinding(expr) && isExpression(expr) && expr._type !== "IfElse" && expr._type !== "Function";
|
|
1466
1468
|
};
|
|
1467
1469
|
|
|
@@ -1478,7 +1480,7 @@ function compileConstantObject<T>(expr: ConstantExpression<object>, isNullable =
|
|
|
1478
1480
|
// Objects
|
|
1479
1481
|
const o = expr.value as PlainExpressionObject;
|
|
1480
1482
|
const properties: string[] = [];
|
|
1481
|
-
Object.keys(o).forEach(key => {
|
|
1483
|
+
Object.keys(o).forEach((key) => {
|
|
1482
1484
|
const value = o[key];
|
|
1483
1485
|
const childResult = compileBinding(value, true, false, true);
|
|
1484
1486
|
if (childResult && childResult.length > 0) {
|
|
@@ -1504,7 +1506,7 @@ function compileConstant<T extends PrimitiveType>(expr: ConstantExpression<T>, e
|
|
|
1504
1506
|
}
|
|
1505
1507
|
if (typeof expr.value === "object") {
|
|
1506
1508
|
if (Array.isArray(expr.value)) {
|
|
1507
|
-
const entries = expr.value.map(expression => compileBinding(expression, true));
|
|
1509
|
+
const entries = expr.value.map((expression) => compileBinding(expression, true));
|
|
1508
1510
|
return `[${entries.join(", ")}]`;
|
|
1509
1511
|
} else {
|
|
1510
1512
|
return compileConstantObject(expr as ConstantExpression<object>, isNullable);
|
|
@@ -1646,7 +1648,7 @@ export function compileBinding<T extends PrimitiveType>(
|
|
|
1646
1648
|
return expr.ref || "null";
|
|
1647
1649
|
|
|
1648
1650
|
case "Function":
|
|
1649
|
-
const argumentString = `${expr.parameters.map(arg => compileBinding(arg, true)).join(", ")}`;
|
|
1651
|
+
const argumentString = `${expr.parameters.map((arg) => compileBinding(arg, true)).join(", ")}`;
|
|
1650
1652
|
return expr.obj === undefined
|
|
1651
1653
|
? `${expr.fn}(${argumentString})`
|
|
1652
1654
|
: `${compileBinding(expr.obj, true)}.${expr.fn}(${argumentString})`;
|
|
@@ -1673,11 +1675,11 @@ export function compileBinding<T extends PrimitiveType>(
|
|
|
1673
1675
|
return wrapBindingExpression(ifElseExpression, embeddedInBinding, true);
|
|
1674
1676
|
|
|
1675
1677
|
case "Set":
|
|
1676
|
-
const setExpression = expr.operands.map(operand => compileBinding(operand, true)).join(` ${expr.operator} `);
|
|
1678
|
+
const setExpression = expr.operands.map((operand) => compileBinding(operand, true)).join(` ${expr.operator} `);
|
|
1677
1679
|
return wrapBindingExpression(setExpression, embeddedInBinding, true);
|
|
1678
1680
|
|
|
1679
1681
|
case "Concat":
|
|
1680
|
-
const concatExpression = expr.expressions.map(nestedExpression => compileBinding(nestedExpression, true, true)).join(" + ");
|
|
1682
|
+
const concatExpression = expr.expressions.map((nestedExpression) => compileBinding(nestedExpression, true, true)).join(" + ");
|
|
1681
1683
|
return wrapBindingExpression(concatExpression, embeddedInBinding);
|
|
1682
1684
|
|
|
1683
1685
|
case "Length":
|
|
@@ -1730,7 +1732,7 @@ function compileFormatterExpression<T extends PrimitiveType>(expression: Formatt
|
|
|
1730
1732
|
if (expression.parameters.length === 1) {
|
|
1731
1733
|
return `{${compilePathParameter(expression.parameters[0], true)}, formatter: '${expression.fn}'}`;
|
|
1732
1734
|
} else {
|
|
1733
|
-
const parts = expression.parameters.map(param => compilePathParameter(param));
|
|
1735
|
+
const parts = expression.parameters.map((param) => compilePathParameter(param));
|
|
1734
1736
|
return `{parts: [${parts.join(", ")}], formatter: '${expression.fn}'}`;
|
|
1735
1737
|
}
|
|
1736
1738
|
}
|