@sap/open.fe 1.98.0 → 1.99.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 +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.library +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.theming +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +10 -8
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +2 -2
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/library.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/resources.json +4 -4
- package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.99.json +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +376 -405
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.ts +385 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +228 -181
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.ts +171 -0
- package/packages/sap.fe.core/src/sap/fe/core/BusyLocker-dbg.js +104 -121
- package/packages/sap.fe.core/src/sap/fe/core/BusyLocker.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/BusyLocker.ts +98 -0
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +2072 -2399
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.ts +2078 -0
- package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +83 -125
- package/packages/sap.fe.core/src/sap/fe/core/PageController.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/PageController.ts +101 -0
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +985 -823
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.ts +838 -0
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization-dbg.js +50 -35
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization.ts +29 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +172 -164
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.ts +166 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel-dbg.js +96 -54
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.ts +63 -0
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +1575 -1664
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.ts +1706 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +558 -608
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft.ts +593 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +544 -514
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.ts +532 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft-dbg.js +16 -19
- package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft.ts +12 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +1073 -1215
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.ts +1162 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky-dbg.js +101 -105
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.ts +102 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +51 -209
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +276 -9
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +5 -4
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +44 -43
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.ts +29 -26
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +98 -6
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +14 -6
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.ts +12 -8
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +6 -2
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.ts +18 -18
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +8 -20
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.ts +4 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +1 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +39 -26
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.ts +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +11 -8
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +16 -16
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter.ts +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +17 -13
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +5 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart.ts +11 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +4 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +16 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +250 -146
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +300 -167
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +115 -56
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +120 -74
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +467 -32
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +483 -54
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +6 -6
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +9 -15
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +13 -5
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.ts +20 -5
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +4 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.ts +3 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +4 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +13 -6
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +26 -15
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
- package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter.ts +3 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +39 -28
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +43 -28
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.ts +7 -6
- package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.ts +7 -4
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +314 -355
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.ts +317 -391
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport-dbg.js +27 -15
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.ts +31 -20
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +62 -59
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +56 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState-dbg.js +80 -84
- package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState.ts +81 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper-dbg.js +61 -48
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper-dbg.js +51 -56
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +3 -4
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +9 -9
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper-dbg.js +24 -16
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +228 -225
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.ts +227 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper-dbg.js +209 -132
- package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper.ts +196 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +331 -313
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.ts +330 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +65 -67
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper-dbg.js +1 -5
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper.ts +2 -6
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +23 -26
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +630 -649
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js +17 -5
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +23 -10
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +10 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +13 -4
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +10 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +14 -5
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +11 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/resources.json +427 -341
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +268 -202
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +212 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +7 -6
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +405 -300
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.ts +316 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +148 -81
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.ts +80 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +986 -899
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.ts +898 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +15 -10
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +35 -81
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.ts +46 -94
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +460 -487
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +453 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +9 -8
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +8 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
- package/packages/sap.fe.core/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper-dbg.js +8 -8
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +138 -72
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.ts +139 -71
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +31 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.ts +33 -2
- package/packages/sap.fe.core/src/sap/fe/core/type/Email-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/type/Email.ts +4 -6
- package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jstemplates.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controls/FileEditor.js +15 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +2 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/chartFilterBar.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/chartFilterBar.view.xml +22 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/localService/RootEntity.json +252 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/localService/service.cds +141 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/localService/status.json +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartFilterBar.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.view.xml +186 -122
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/FieldFormatOptions.cds +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/RootEntity.json +2 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/service.cds +15 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/service.cds +36 -5
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/form/formSample/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/form/formSample/FormSample.view.xml +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/form/formSample/localService/FormSample.cds +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/form/formSample/localService/RootEntity.json +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/form/formSample/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formSample.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.controller.js +72 -43
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.controller.ts +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.view.xml +12 -3
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +4 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +9 -3
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/TableFilterBar.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/TableFilterBar.view.xml +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/localService/service.cds +94 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/manifest.json +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableFilterBar.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/AnnotationHelper.spec.js +694 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/AnnotationHelper.spec.ts +819 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/AppStateHandler.spec.js +51 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/AppStateHandler.spec.ts +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.js +26 -15
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.ts +28 -15
- package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.ts +202 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/RouterProxy.spec.js +54 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/RouterProxy.spec.ts +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.js +5 -11
- package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.ts +8 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.js +736 -619
- package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.ts +703 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +89 -85
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/draft.spec.js +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/draft.spec.ts +97 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/messageHandling.spec.js +492 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/messageHandling.spec.ts +509 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/operations.spec.js +895 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/operations.spec.ts +908 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.js +209 -353
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.ts +222 -362
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalEditFlow.spec.js +508 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalEditFlow.spec.ts +440 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalRouting.spec.ts +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.ts +10 -10
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MassEdit.spec.js +286 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MassEdit.spec.ts +179 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +200 -21
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +168 -17
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Routing.spec.js +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Routing.spec.ts +26 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controls/FilterBar.spec.js +355 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controls/FilterBar.spec.ts +287 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Filter.spec.js +542 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Filter.spec.ts +588 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.js +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.ts +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +371 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +469 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageAvatar.spec.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageAvatar.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.js +12 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.ts +8 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +436 -45
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +565 -33
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.js +136 -78
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.ts +315 -199
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Filter.spec.ts.snap +307 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +49 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Table.spec.ts.snap +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService.cds +51 -4
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService2.cds +107 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/ComplexType.cds +39 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/Filter.cds +187 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/MassEditHelper.cds +226 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/SideEffects.cds +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/computedDefaultValueService.cds +99 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.js +25 -5
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.ts +18 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.ts +4 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/DynamicAnnotationPathHelper.spec.js +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/DynamicAnnotationPathHelper.spec.ts +39 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ExcelFormatHelper.spec.js +20 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ExcelFormatHelper.spec.ts +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.ts +3 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/MassEditHelper.spec.js +712 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/MassEditHelper.spec.ts +613 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.js +344 -225
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.ts +347 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/PasteHelper.spec.js +439 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/PasteHelper.spec.ts +378 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/SemanticDateOperators.spec.js +123 -0
- package/packages/sap.fe.core/test/sap/fe/core/{qunit/helpers/SemanticDateOperators.qunit.js → jest/helpers/SemanticDateOperators.spec.ts} +10 -21
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/SemanticKeyHelper.spec.js +215 -0
- package/packages/sap.fe.core/test/sap/fe/core/{qunit/helpers/SemanticKeyHelper.qunit.js → jest/helpers/SemanticKeyHelper.spec.ts} +58 -55
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/StableIdHelper.spec.js +125 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/StableIdHelper.spec.ts +142 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/__snapshots__/MassEditHelper.spec.ts.snap +263 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/CacheHandlerTest.spec.js +871 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/CacheHandlerTest.spec.ts +899 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/NavigationServiceFactory.spec.js +46 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/NavigationServiceFactory.spec.ts +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +120 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.ts +96 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/ShellServicesFactory.spec.js +86 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/ShellServicesFactory.spec.ts +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +16 -44
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +22 -60
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.js +4 -4
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.ts +9 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/type/ComplexType.spec.js +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/type/ComplexType.spec.ts +51 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +0 -105
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.98.json +0 -11
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.99.json +534 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +14 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI-dbg.js +15 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.ts +9 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +37 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +27 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.fragment.xml +4 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata-dbg.js +17 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata.ts +17 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +35 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +41 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +50 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.fragment.xml +65 -75
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +55 -51
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FormAPI-dbg.js +83 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormAPI.ts +29 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +11 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.metadata-dbg.js +2 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainerAPI-dbg.js +99 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainerAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainerAPI.ts +32 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +67 -7
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.ts +60 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +26 -34
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +6 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +38 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +78 -92
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +55 -68
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +41 -39
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +125 -31
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +16 -42
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +13 -39
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +0 -7
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper-dbg.js +142 -129
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +120 -61
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/form/AddressSection.fragment.xml +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/form/DataFieldCollection.fragment.xml +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/form/FormHelper-dbg.js +1 -14
- package/packages/sap.fe.macros/src/sap/fe/macros/form/FormHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +23 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.ts +29 -17
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +45 -54
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +16 -22
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +14 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/FilterField.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator-dbg.js +3 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.ts +4 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +4 -145
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectStatus.fragment.xml +32 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DatePicker.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DateTimePicker.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/Input.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithUnit.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithValueHelp.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TextArea.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TimePicker.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/fragments/ObjectIdentifierContent.fragment.xml +81 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +64 -30
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +58 -36
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter-dbg.js +4 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.ts +19 -20
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime-dbg.js +2 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.ts +13 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating-dbg.js +17 -7
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.ts +10 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +53 -62
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListTable.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +16 -14
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +157 -178
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +16 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartHelper-dbg.js +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/BulletMicroChart.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/ComparisonMicroChart.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +277 -209
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +5 -16
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +17 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +0 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime-dbg.js +27 -18
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +196 -139
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/InteractiveChartHelper-dbg.js +12 -14
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/VisualFilterRuntime-dbg.js +13 -15
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +113 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.js +32 -20
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.ts +24 -12
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.js +15 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.ts +18 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonHelper.spec.js +69 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonHelper.spec.ts +32 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +6 -180
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +6 -177
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.ts +1 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterFieldHelper.spec.js +51 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterFieldHelper.spec.ts +48 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterUtils.spec.js +133 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormContainerAPI.spec.js +34 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormContainerAPI.spec.ts +23 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormMacro.spec.js +49 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormMacro.spec.ts +41 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroAPI.spec.js +105 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroAPI.spec.ts +53 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroComponent.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroComponent.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MicroChart.spec.js +15 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MicroChart.spec.ts +13 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.js +2 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.ts +3 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +14 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +18 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/Table.spec.js +140 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/Table.spec.ts +144 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.js +445 -635
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.ts +528 -719
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.js +83 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.ts +101 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ValueHelpMacro.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ValueHelpMacro.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartMacro.spec.ts.snap +75 -7
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/CollectionField.spec.ts.snap +26 -11
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +42 -304
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +6 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterBarMacro.spec.ts.snap +12 -12
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +3 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FormMacro.spec.ts.snap +150 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/KPITag.spec.ts.snap +4 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/MicroChart.spec.ts.snap +39 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +4 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +125 -51
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/Table.spec.ts.snap +1455 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Chart.cds +56 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +12 -59
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Form.cds +129 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/MicroChart.cds +14 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +55 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/simpleFieldMacro.cds +10 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +15 -8
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +12 -34
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +21 -38
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/__snapshots__/columnWidth.spec.ts.snap +54 -14
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.js +17 -7
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.ts +18 -11
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/data/columnWidth.cds +26 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +145 -17
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +176 -18
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +813 -111
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/data/tabledelegate.cds +9 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +0 -56
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +0 -321
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormContainerTemplating.qunit.js +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplating.qunit.js +10 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplatingTs.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartHelperForTemplate.qunit.js +1 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableRuntime.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +130 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.99.json +343 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler-dbg.js +0 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +3 -3
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
- package/packages/sap.fe.navigation/src/sap/fe/navigation/resources.json +4 -4
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component-dbg.js +8 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +8 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +11 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +114 -29
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation-dbg.js +10 -10
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +7 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +75 -53
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +14 -23
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +8 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +3 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +8 -45
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +17 -67
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +24 -12
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +5 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +33 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeadingAvatar.fragment.xml +17 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +18 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +3 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +3 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +7 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +24 -22
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +13 -13
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle.properties +14 -30
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ar.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_bg.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ca.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cs.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cy.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_da.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_de.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_el.properties +25 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_GB.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es_MX.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_et.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fi.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr_CA.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hi.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hr.properties +25 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hu.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_id.properties +26 -8
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_it.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_iw.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_kk.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ko.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lt.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lv.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ms.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_nl.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_no.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pl.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt.properties +27 -9
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt_PT.properties +25 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ro.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ru.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sh.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sk.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sl.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sv.properties +25 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_th.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_uk.properties +25 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_vi.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_CN.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_TW.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +127 -113
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/IntentBasedNavigation.spec.js +59 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/IntentBasedNavigation.spec.ts +54 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/Share.spec.js +85 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/Share.spec.ts +89 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/ViewState.spec.js +482 -259
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/ViewState.spec.ts +442 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/AnnotationHelper.spec.js +99 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/AnnotationHelper.spec.ts +82 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Heading.spec.js +50 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Heading.spec.ts +32 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/Heading.spec.ts.snap +43 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/Sections.spec.ts.snap +9 -7
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.js +2 -2
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.ts +4 -3
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.99.json +335 -0
- package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/FeMocks-dbg.js +66 -0
- package/packages/sap.fe.test/src/sap/fe/test/FeMocks.js +5 -0
- package/packages/sap.fe.test/src/sap/fe/test/FeMocks.ts +77 -0
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +78 -22
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +66 -22
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +6 -4
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +44 -21
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +28 -8
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +1 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +14 -2
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateActions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateAssertions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageActions-dbg.js +16 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageAssertions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpActions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpAssertions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +0 -19
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions-dbg.js +3 -4
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder-dbg.js +4 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEJourneyRunner-dbg.js +6 -3
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEJourneyRunner.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +3 -2
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +39 -20
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +4 -4
- package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/resources.json +65 -28
- package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.js +0 -115
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.ts +0 -95
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/ExcelFormatHelper.qunit.js +0 -19
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/StableIdHelper.qunit.js +0 -301
- package/packages/sap.fe.core/test/sap/fe/core/qunit/services/CacheHandlerTest.qunit.js +0 -924
- package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime-dbg.js +0 -46
- package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime.js +0 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +0 -94
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +0 -70
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.js +0 -68
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.ts +0 -65
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +0 -607
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit-dbg.js +0 -96
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit.js +0 -6
|
@@ -28,7 +28,7 @@ import { ApplyAnnotationExpression, PathAnnotationExpression } from "@sap-ux/voc
|
|
|
28
28
|
import { EntitySet } from "@sap-ux/vocabularies-types/dist/Converter";
|
|
29
29
|
import { resolveEnumValue } from "./AnnotationEnum";
|
|
30
30
|
|
|
31
|
-
type PrimitiveType = string | number | boolean | object | null | undefined;
|
|
31
|
+
type PrimitiveType = string | number | bigint | boolean | object | null | undefined;
|
|
32
32
|
|
|
33
33
|
type BaseExpression<T> = {
|
|
34
34
|
_type: string;
|
|
@@ -181,14 +181,7 @@ export const unresolveableExpression: UnresolveableBindingExpression = {
|
|
|
181
181
|
};
|
|
182
182
|
|
|
183
183
|
function escapeXmlAttribute(inputString: string) {
|
|
184
|
-
return inputString.replace(/
|
|
185
|
-
switch (c) {
|
|
186
|
-
case "'":
|
|
187
|
-
return "\\'";
|
|
188
|
-
default:
|
|
189
|
-
return c;
|
|
190
|
-
}
|
|
191
|
-
});
|
|
184
|
+
return inputString.replace(/'/g, "\\'");
|
|
192
185
|
}
|
|
193
186
|
|
|
194
187
|
export function hasUnresolveableExpression(...expressions: Expression<any>[]): boolean {
|
|
@@ -236,7 +229,7 @@ export function _checkExpressionsAreEqual<T>(a: Expression<T>, b: Expression<T>)
|
|
|
236
229
|
|
|
237
230
|
case "Comparison":
|
|
238
231
|
return (
|
|
239
|
-
a.operator
|
|
232
|
+
a.operator === (b as ComparisonExpression).operator &&
|
|
240
233
|
_checkExpressionsAreEqual(a.operand1, (b as ComparisonExpression).operand1) &&
|
|
241
234
|
_checkExpressionsAreEqual(a.operand2, (b as ComparisonExpression).operand2)
|
|
242
235
|
);
|
|
@@ -297,6 +290,7 @@ export function _checkExpressionsAreEqual<T>(a: Expression<T>, b: Expression<T>)
|
|
|
297
290
|
case "Ref":
|
|
298
291
|
return a.ref === (b as ReferenceExpression).ref;
|
|
299
292
|
}
|
|
293
|
+
return false;
|
|
300
294
|
}
|
|
301
295
|
|
|
302
296
|
/**
|
|
@@ -328,21 +322,15 @@ function flattenSetExpression(expression: SetExpression): SetExpression {
|
|
|
328
322
|
* @returns {boolean} `true` if the set of expressions contains an expression and its negation
|
|
329
323
|
*/
|
|
330
324
|
function hasOppositeExpressions(expressions: Expression<boolean>[]): boolean {
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
let i = expressions.length;
|
|
336
|
-
while (i--) {
|
|
337
|
-
const expression = expressions[i];
|
|
338
|
-
const negatedExpression = not(expression);
|
|
339
|
-
for (let j = 0; j < i; j++) {
|
|
340
|
-
if (_checkExpressionsAreEqual(expressions[j], negatedExpression)) {
|
|
325
|
+
const negatedExpressions = expressions.map(not);
|
|
326
|
+
return expressions.some((expression, index) => {
|
|
327
|
+
for (let i = index + 1; i < negatedExpressions.length; i++) {
|
|
328
|
+
if (_checkExpressionsAreEqual(expression, negatedExpressions[i])) {
|
|
341
329
|
return true;
|
|
342
330
|
}
|
|
343
331
|
}
|
|
344
|
-
|
|
345
|
-
|
|
332
|
+
return false;
|
|
333
|
+
});
|
|
346
334
|
}
|
|
347
335
|
|
|
348
336
|
/**
|
|
@@ -364,9 +352,9 @@ export function and(...operands: ExpressionOrPrimitive<boolean>[]): Expression<b
|
|
|
364
352
|
if (hasUnresolveableExpression(...expressions)) {
|
|
365
353
|
return unresolveableExpression;
|
|
366
354
|
}
|
|
367
|
-
let isStaticFalse
|
|
355
|
+
let isStaticFalse = false;
|
|
368
356
|
const nonTrivialExpression = expressions.filter(expression => {
|
|
369
|
-
if (
|
|
357
|
+
if (isFalse(expression)) {
|
|
370
358
|
isStaticFalse = true;
|
|
371
359
|
}
|
|
372
360
|
return !isConstant(expression);
|
|
@@ -375,9 +363,7 @@ export function and(...operands: ExpressionOrPrimitive<boolean>[]): Expression<b
|
|
|
375
363
|
return constant(false);
|
|
376
364
|
} else if (nonTrivialExpression.length === 0) {
|
|
377
365
|
// Resolve the constant then
|
|
378
|
-
const isValid = expressions.reduce((
|
|
379
|
-
return isValid && isConstant(expression) && expression.value;
|
|
380
|
-
}, true);
|
|
366
|
+
const isValid = expressions.reduce((result, expression) => result && isTrue(expression), true);
|
|
381
367
|
return constant(isValid);
|
|
382
368
|
} else if (nonTrivialExpression.length === 1) {
|
|
383
369
|
return nonTrivialExpression[0];
|
|
@@ -410,9 +396,9 @@ export function or(...operands: ExpressionOrPrimitive<boolean>[]): Expression<bo
|
|
|
410
396
|
if (hasUnresolveableExpression(...expressions)) {
|
|
411
397
|
return unresolveableExpression;
|
|
412
398
|
}
|
|
413
|
-
let isStaticTrue
|
|
399
|
+
let isStaticTrue = false;
|
|
414
400
|
const nonTrivialExpression = expressions.filter(expression => {
|
|
415
|
-
if (
|
|
401
|
+
if (isTrue(expression)) {
|
|
416
402
|
isStaticTrue = true;
|
|
417
403
|
}
|
|
418
404
|
return !isConstant(expression) || expression.value;
|
|
@@ -421,9 +407,7 @@ export function or(...operands: ExpressionOrPrimitive<boolean>[]): Expression<bo
|
|
|
421
407
|
return constant(true);
|
|
422
408
|
} else if (nonTrivialExpression.length === 0) {
|
|
423
409
|
// Resolve the constant then
|
|
424
|
-
const isValid = expressions.reduce((
|
|
425
|
-
return isValid && isConstant(expression) && expression.value;
|
|
426
|
-
}, true);
|
|
410
|
+
const isValid = expressions.reduce((result, expression) => result && isTrue(expression), true);
|
|
427
411
|
return constant(isValid);
|
|
428
412
|
} else if (nonTrivialExpression.length === 1) {
|
|
429
413
|
return nonTrivialExpression[0];
|
|
@@ -468,26 +452,26 @@ export function not(operand: ExpressionOrPrimitive<boolean>): Expression<boolean
|
|
|
468
452
|
// Create the reverse comparison
|
|
469
453
|
switch (operand.operator) {
|
|
470
454
|
case "!==":
|
|
471
|
-
return
|
|
455
|
+
return { ...operand, operator: "===" };
|
|
472
456
|
case "<":
|
|
473
|
-
return
|
|
457
|
+
return { ...operand, operator: ">=" };
|
|
474
458
|
case "<=":
|
|
475
|
-
return
|
|
459
|
+
return { ...operand, operator: ">" };
|
|
476
460
|
case "===":
|
|
477
|
-
return
|
|
461
|
+
return { ...operand, operator: "!==" };
|
|
478
462
|
case ">":
|
|
479
|
-
return
|
|
463
|
+
return { ...operand, operator: "<=" };
|
|
480
464
|
case ">=":
|
|
481
|
-
return
|
|
465
|
+
return { ...operand, operator: "<" };
|
|
482
466
|
}
|
|
483
467
|
} else if (operand._type === "Not") {
|
|
484
468
|
return operand.operand;
|
|
485
|
-
} else {
|
|
486
|
-
return {
|
|
487
|
-
_type: "Not",
|
|
488
|
-
operand: operand
|
|
489
|
-
};
|
|
490
469
|
}
|
|
470
|
+
|
|
471
|
+
return {
|
|
472
|
+
_type: "Not",
|
|
473
|
+
operand: operand
|
|
474
|
+
};
|
|
491
475
|
}
|
|
492
476
|
|
|
493
477
|
/**
|
|
@@ -559,19 +543,16 @@ export function constant<T extends PrimitiveType>(value: T): ConstantExpression<
|
|
|
559
543
|
if (typeof value === "object" && value !== null && value !== undefined) {
|
|
560
544
|
if (Array.isArray(value)) {
|
|
561
545
|
constantValue = value.map(wrapPrimitive) as T;
|
|
562
|
-
} else if (isPrimitiveObject(value
|
|
546
|
+
} else if (isPrimitiveObject(value)) {
|
|
563
547
|
constantValue = value.valueOf() as T;
|
|
564
548
|
} else {
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
obj[key] = value;
|
|
549
|
+
constantValue = Object.entries(value).reduce((plainExpression, [key, val]) => {
|
|
550
|
+
const wrappedValue = wrapPrimitive(val);
|
|
551
|
+
if (wrappedValue._type !== "Constant" || wrappedValue.value !== undefined) {
|
|
552
|
+
plainExpression[key] = wrappedValue;
|
|
570
553
|
}
|
|
571
|
-
return
|
|
572
|
-
}, {} as PlainExpressionObject);
|
|
573
|
-
|
|
574
|
-
constantValue = obj as T;
|
|
554
|
+
return plainExpression;
|
|
555
|
+
}, {} as PlainExpressionObject) as T;
|
|
575
556
|
}
|
|
576
557
|
} else {
|
|
577
558
|
constantValue = value;
|
|
@@ -598,16 +579,10 @@ export function resolveBindingString<T extends PrimitiveType>(
|
|
|
598
579
|
value: value
|
|
599
580
|
};
|
|
600
581
|
}
|
|
582
|
+
} else if (targetType === "boolean" && typeof value === "string" && (value === "true" || value === "false")) {
|
|
583
|
+
return constant(value === "true") as ConstantExpression<T>;
|
|
601
584
|
} else {
|
|
602
|
-
|
|
603
|
-
case "boolean":
|
|
604
|
-
if (typeof value === "string" && (value === "true" || value === "false")) {
|
|
605
|
-
return constant(value === "true") as ConstantExpression<T>;
|
|
606
|
-
}
|
|
607
|
-
return constant(value) as ConstantExpression<T>;
|
|
608
|
-
default:
|
|
609
|
-
return constant(value) as ConstantExpression<T>;
|
|
610
|
-
}
|
|
585
|
+
return constant(value) as ConstantExpression<T>;
|
|
611
586
|
}
|
|
612
587
|
}
|
|
613
588
|
|
|
@@ -616,11 +591,11 @@ export function resolveBindingString<T extends PrimitiveType>(
|
|
|
616
591
|
*
|
|
617
592
|
* @see fn
|
|
618
593
|
*
|
|
619
|
-
* @param
|
|
594
|
+
* @param reference Reference
|
|
620
595
|
* @returns {ReferenceExpression} The object reference binding part
|
|
621
596
|
*/
|
|
622
|
-
export function ref(
|
|
623
|
-
return { _type: "Ref", ref };
|
|
597
|
+
export function ref(reference: string | null): ReferenceExpression {
|
|
598
|
+
return { _type: "Ref", ref: reference };
|
|
624
599
|
}
|
|
625
600
|
|
|
626
601
|
/**
|
|
@@ -662,6 +637,14 @@ export function isConstant<T extends PrimitiveType>(maybeConstant: ExpressionOrP
|
|
|
662
637
|
return typeof maybeConstant !== "object" || (maybeConstant as BaseExpression<T>)._type === "Constant";
|
|
663
638
|
}
|
|
664
639
|
|
|
640
|
+
function isTrue(expression: Expression<PrimitiveType>) {
|
|
641
|
+
return isConstant(expression) && expression.value === true;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
function isFalse(expression: Expression<PrimitiveType>) {
|
|
645
|
+
return isConstant(expression) && expression.value === false;
|
|
646
|
+
}
|
|
647
|
+
|
|
665
648
|
/**
|
|
666
649
|
* Checks if the expression or value provided is binding or not.
|
|
667
650
|
*
|
|
@@ -709,97 +692,97 @@ function isPrimitiveObject(objectType: object): boolean {
|
|
|
709
692
|
}
|
|
710
693
|
}
|
|
711
694
|
/**
|
|
712
|
-
* Check if the passed annotation
|
|
695
|
+
* Check if the passed annotation annotationValue is a ComplexAnnotationExpression.
|
|
713
696
|
*
|
|
714
697
|
* @template T The target type
|
|
715
|
-
* @param
|
|
698
|
+
* @param annotationValue The annotation annotationValue to evaluate
|
|
716
699
|
* @returns {boolean} `true` if the object is a {ComplexAnnotationExpression}
|
|
717
700
|
*/
|
|
718
|
-
function isComplexAnnotationExpression<T>(
|
|
719
|
-
|
|
720
|
-
): annotationExpression is ComplexAnnotationExpression<T> {
|
|
721
|
-
return typeof annotationExpression === "object" && !isPrimitiveObject(annotationExpression as object);
|
|
701
|
+
function isComplexAnnotationExpression<T>(annotationValue: PropertyAnnotationValue<T>): annotationValue is ComplexAnnotationExpression<T> {
|
|
702
|
+
return typeof annotationValue === "object" && !isPrimitiveObject(annotationValue as object);
|
|
722
703
|
}
|
|
723
704
|
|
|
724
705
|
/**
|
|
725
|
-
* Generate the corresponding
|
|
706
|
+
* Generate the corresponding annotationValue for a given annotation annotationValue.
|
|
726
707
|
*
|
|
727
708
|
* @template T The target type
|
|
728
|
-
* @param
|
|
709
|
+
* @param annotationValue The source annotation annotationValue
|
|
729
710
|
* @param visitedNavigationPaths The path from the root entity set
|
|
730
|
-
* @param defaultValue Default value if the
|
|
711
|
+
* @param defaultValue Default value if the annotationValue is undefined
|
|
731
712
|
* @param pathVisitor A function to modify the resulting path
|
|
732
|
-
* @returns {Expression<T>} The
|
|
713
|
+
* @returns {Expression<T>} The annotationValue equivalent to that annotation annotationValue
|
|
733
714
|
*/
|
|
734
715
|
export function annotationExpression<T extends PrimitiveType>(
|
|
735
|
-
|
|
716
|
+
annotationValue: PropertyAnnotationValue<T>,
|
|
736
717
|
visitedNavigationPaths: string[] = [],
|
|
737
718
|
defaultValue?: ExpressionOrPrimitive<T>,
|
|
738
719
|
pathVisitor?: Function
|
|
739
720
|
): Expression<T> {
|
|
740
|
-
if (
|
|
721
|
+
if (annotationValue === undefined) {
|
|
741
722
|
return wrapPrimitive(defaultValue as T);
|
|
742
723
|
}
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
switch (annotationExpression.type) {
|
|
747
|
-
case "Path":
|
|
748
|
-
return bindingExpression(annotationExpression.path, undefined, visitedNavigationPaths, pathVisitor);
|
|
749
|
-
case "If":
|
|
750
|
-
return annotationIfExpression(annotationExpression.If, visitedNavigationPaths, pathVisitor);
|
|
751
|
-
case "Not":
|
|
752
|
-
return not(parseAnnotationCondition(annotationExpression.Not, visitedNavigationPaths, pathVisitor)) as Expression<T>;
|
|
753
|
-
case "Eq":
|
|
754
|
-
return equal(
|
|
755
|
-
parseAnnotationCondition(annotationExpression.Eq[0], visitedNavigationPaths, pathVisitor),
|
|
756
|
-
parseAnnotationCondition(annotationExpression.Eq[1], visitedNavigationPaths, pathVisitor)
|
|
757
|
-
) as Expression<T>;
|
|
758
|
-
case "Ne":
|
|
759
|
-
return notEqual(
|
|
760
|
-
parseAnnotationCondition(annotationExpression.Ne[0], visitedNavigationPaths, pathVisitor),
|
|
761
|
-
parseAnnotationCondition(annotationExpression.Ne[1], visitedNavigationPaths, pathVisitor)
|
|
762
|
-
) as Expression<T>;
|
|
763
|
-
case "Gt":
|
|
764
|
-
return greaterThan(
|
|
765
|
-
parseAnnotationCondition(annotationExpression.Gt[0], visitedNavigationPaths, pathVisitor),
|
|
766
|
-
parseAnnotationCondition(annotationExpression.Gt[1], visitedNavigationPaths, pathVisitor)
|
|
767
|
-
) as Expression<T>;
|
|
768
|
-
case "Ge":
|
|
769
|
-
return greaterOrEqual(
|
|
770
|
-
parseAnnotationCondition(annotationExpression.Ge[0], visitedNavigationPaths, pathVisitor),
|
|
771
|
-
parseAnnotationCondition(annotationExpression.Ge[1], visitedNavigationPaths, pathVisitor)
|
|
772
|
-
) as Expression<T>;
|
|
773
|
-
case "Lt":
|
|
774
|
-
return lessThan(
|
|
775
|
-
parseAnnotationCondition(annotationExpression.Lt[0], visitedNavigationPaths, pathVisitor),
|
|
776
|
-
parseAnnotationCondition(annotationExpression.Lt[1], visitedNavigationPaths, pathVisitor)
|
|
777
|
-
) as Expression<T>;
|
|
778
|
-
case "Le":
|
|
779
|
-
return lessOrEqual(
|
|
780
|
-
parseAnnotationCondition(annotationExpression.Le[0], visitedNavigationPaths, pathVisitor),
|
|
781
|
-
parseAnnotationCondition(annotationExpression.Le[1], visitedNavigationPaths, pathVisitor)
|
|
782
|
-
) as Expression<T>;
|
|
783
|
-
case "Or":
|
|
784
|
-
return or(
|
|
785
|
-
...(annotationExpression.Or.map(function(orCondition) {
|
|
786
|
-
return parseAnnotationCondition(orCondition, visitedNavigationPaths, pathVisitor);
|
|
787
|
-
}) as Expression<boolean>[])
|
|
788
|
-
) as Expression<T>;
|
|
789
|
-
case "And":
|
|
790
|
-
return and(
|
|
791
|
-
...(annotationExpression.And.map(function(andCondition) {
|
|
792
|
-
return parseAnnotationCondition(andCondition, visitedNavigationPaths, pathVisitor);
|
|
793
|
-
}) as Expression<boolean>[])
|
|
794
|
-
) as Expression<T>;
|
|
795
|
-
case "Apply":
|
|
796
|
-
return annotationApplyExpression(
|
|
797
|
-
annotationExpression as ApplyAnnotationExpression<string>,
|
|
798
|
-
visitedNavigationPaths,
|
|
799
|
-
pathVisitor
|
|
800
|
-
) as Expression<T>;
|
|
801
|
-
}
|
|
724
|
+
|
|
725
|
+
if (!isComplexAnnotationExpression(annotationValue)) {
|
|
726
|
+
return constant(annotationValue);
|
|
802
727
|
}
|
|
728
|
+
|
|
729
|
+
switch (annotationValue.type) {
|
|
730
|
+
case "Path":
|
|
731
|
+
return bindingExpression(annotationValue.path, undefined, visitedNavigationPaths, pathVisitor);
|
|
732
|
+
case "If":
|
|
733
|
+
return annotationIfExpression(annotationValue.If, visitedNavigationPaths, pathVisitor);
|
|
734
|
+
case "Not":
|
|
735
|
+
return not(parseAnnotationCondition(annotationValue.Not, visitedNavigationPaths, pathVisitor)) as Expression<T>;
|
|
736
|
+
case "Eq":
|
|
737
|
+
return equal(
|
|
738
|
+
parseAnnotationCondition(annotationValue.Eq[0], visitedNavigationPaths, pathVisitor),
|
|
739
|
+
parseAnnotationCondition(annotationValue.Eq[1], visitedNavigationPaths, pathVisitor)
|
|
740
|
+
) as Expression<T>;
|
|
741
|
+
case "Ne":
|
|
742
|
+
return notEqual(
|
|
743
|
+
parseAnnotationCondition(annotationValue.Ne[0], visitedNavigationPaths, pathVisitor),
|
|
744
|
+
parseAnnotationCondition(annotationValue.Ne[1], visitedNavigationPaths, pathVisitor)
|
|
745
|
+
) as Expression<T>;
|
|
746
|
+
case "Gt":
|
|
747
|
+
return greaterThan(
|
|
748
|
+
parseAnnotationCondition(annotationValue.Gt[0], visitedNavigationPaths, pathVisitor),
|
|
749
|
+
parseAnnotationCondition(annotationValue.Gt[1], visitedNavigationPaths, pathVisitor)
|
|
750
|
+
) as Expression<T>;
|
|
751
|
+
case "Ge":
|
|
752
|
+
return greaterOrEqual(
|
|
753
|
+
parseAnnotationCondition(annotationValue.Ge[0], visitedNavigationPaths, pathVisitor),
|
|
754
|
+
parseAnnotationCondition(annotationValue.Ge[1], visitedNavigationPaths, pathVisitor)
|
|
755
|
+
) as Expression<T>;
|
|
756
|
+
case "Lt":
|
|
757
|
+
return lessThan(
|
|
758
|
+
parseAnnotationCondition(annotationValue.Lt[0], visitedNavigationPaths, pathVisitor),
|
|
759
|
+
parseAnnotationCondition(annotationValue.Lt[1], visitedNavigationPaths, pathVisitor)
|
|
760
|
+
) as Expression<T>;
|
|
761
|
+
case "Le":
|
|
762
|
+
return lessOrEqual(
|
|
763
|
+
parseAnnotationCondition(annotationValue.Le[0], visitedNavigationPaths, pathVisitor),
|
|
764
|
+
parseAnnotationCondition(annotationValue.Le[1], visitedNavigationPaths, pathVisitor)
|
|
765
|
+
) as Expression<T>;
|
|
766
|
+
case "Or":
|
|
767
|
+
return or(
|
|
768
|
+
...(annotationValue.Or.map(function(orCondition) {
|
|
769
|
+
return parseAnnotationCondition(orCondition, visitedNavigationPaths, pathVisitor);
|
|
770
|
+
}) as Expression<boolean>[])
|
|
771
|
+
) as Expression<T>;
|
|
772
|
+
case "And":
|
|
773
|
+
return and(
|
|
774
|
+
...(annotationValue.And.map(function(andCondition) {
|
|
775
|
+
return parseAnnotationCondition(andCondition, visitedNavigationPaths, pathVisitor);
|
|
776
|
+
}) as Expression<boolean>[])
|
|
777
|
+
) as Expression<T>;
|
|
778
|
+
case "Apply":
|
|
779
|
+
return annotationApplyExpression(
|
|
780
|
+
annotationValue as ApplyAnnotationExpression<string>,
|
|
781
|
+
visitedNavigationPaths,
|
|
782
|
+
pathVisitor
|
|
783
|
+
) as Expression<T>;
|
|
784
|
+
}
|
|
785
|
+
return unresolveableExpression;
|
|
803
786
|
}
|
|
804
787
|
|
|
805
788
|
/**
|
|
@@ -889,41 +872,40 @@ function parseAnnotationCondition<T extends PrimitiveType>(
|
|
|
889
872
|
);
|
|
890
873
|
} else if (annotationValue.hasOwnProperty("$EnumMember")) {
|
|
891
874
|
return constant(resolveEnumValue((annotationValue as any).$EnumMember) as T);
|
|
892
|
-
} else {
|
|
893
|
-
return constant(false as T);
|
|
894
875
|
}
|
|
876
|
+
return constant(false as T);
|
|
895
877
|
}
|
|
896
878
|
|
|
897
879
|
/**
|
|
898
880
|
* Process the {IfAnnotationExpressionValue} into an expression.
|
|
899
881
|
*
|
|
900
882
|
* @template T The target type
|
|
901
|
-
* @param
|
|
883
|
+
* @param annotationValue An If expression returning the type T
|
|
902
884
|
* @param visitedNavigationPaths The path from the root entity set
|
|
903
885
|
* @param pathVisitor A function to modify the resulting path
|
|
904
886
|
* @returns {Expression<T>} The equivalent ifElse expression
|
|
905
887
|
*/
|
|
906
888
|
export function annotationIfExpression<T extends PrimitiveType>(
|
|
907
|
-
|
|
889
|
+
annotationValue: IfAnnotationExpressionValue<T>,
|
|
908
890
|
visitedNavigationPaths: string[] = [],
|
|
909
891
|
pathVisitor?: Function
|
|
910
892
|
): Expression<T> {
|
|
911
893
|
return ifElse(
|
|
912
|
-
parseAnnotationCondition(
|
|
913
|
-
parseAnnotationCondition(
|
|
914
|
-
parseAnnotationCondition(
|
|
894
|
+
parseAnnotationCondition(annotationValue[0], visitedNavigationPaths, pathVisitor),
|
|
895
|
+
parseAnnotationCondition(annotationValue[1] as any, visitedNavigationPaths, pathVisitor),
|
|
896
|
+
parseAnnotationCondition(annotationValue[2] as any, visitedNavigationPaths, pathVisitor)
|
|
915
897
|
);
|
|
916
898
|
}
|
|
917
899
|
|
|
918
900
|
export function annotationApplyExpression(
|
|
919
|
-
|
|
901
|
+
applyExpression: ApplyAnnotationExpression<string>,
|
|
920
902
|
visitedNavigationPaths: string[] = [],
|
|
921
903
|
pathVisitor?: Function
|
|
922
904
|
): Expression<string> {
|
|
923
|
-
switch (
|
|
905
|
+
switch (applyExpression.Function) {
|
|
924
906
|
case "odata.concat":
|
|
925
907
|
return concat(
|
|
926
|
-
...
|
|
908
|
+
...applyExpression.Apply.map((applyParam: any) => {
|
|
927
909
|
let applyParamConverted = applyParam;
|
|
928
910
|
if (applyParam.hasOwnProperty("$Path")) {
|
|
929
911
|
applyParamConverted = {
|
|
@@ -945,8 +927,8 @@ export function annotationApplyExpression(
|
|
|
945
927
|
return annotationExpression(applyParamConverted, visitedNavigationPaths, undefined, pathVisitor);
|
|
946
928
|
})
|
|
947
929
|
);
|
|
948
|
-
break;
|
|
949
930
|
}
|
|
931
|
+
return unresolveableExpression;
|
|
950
932
|
}
|
|
951
933
|
|
|
952
934
|
/**
|
|
@@ -969,10 +951,6 @@ function comparison<T extends PrimitiveType>(
|
|
|
969
951
|
return unresolveableExpression;
|
|
970
952
|
}
|
|
971
953
|
if (isConstant(leftExpression) && isConstant(rightExpression)) {
|
|
972
|
-
if (leftExpression.value === undefined || rightExpression.value === undefined) {
|
|
973
|
-
return constant(leftExpression.value === rightExpression.value);
|
|
974
|
-
}
|
|
975
|
-
|
|
976
954
|
switch (operator) {
|
|
977
955
|
case "!==":
|
|
978
956
|
return constant(leftExpression.value !== rightExpression.value);
|
|
@@ -985,7 +963,6 @@ function comparison<T extends PrimitiveType>(
|
|
|
985
963
|
case ">=":
|
|
986
964
|
return constant(leftExpression.value >= rightExpression.value);
|
|
987
965
|
case "===":
|
|
988
|
-
default:
|
|
989
966
|
return constant(leftExpression.value === rightExpression.value);
|
|
990
967
|
}
|
|
991
968
|
} else {
|
|
@@ -998,13 +975,13 @@ function comparison<T extends PrimitiveType>(
|
|
|
998
975
|
}
|
|
999
976
|
}
|
|
1000
977
|
|
|
1001
|
-
export function length(
|
|
1002
|
-
if (
|
|
1003
|
-
return
|
|
978
|
+
export function length(expression: BindingExpressionExpression<any> | UnresolveableBindingExpression): Expression<number> {
|
|
979
|
+
if (expression._type === "Unresolveable") {
|
|
980
|
+
return expression;
|
|
1004
981
|
}
|
|
1005
982
|
return {
|
|
1006
983
|
_type: "Length",
|
|
1007
|
-
bindingExpression
|
|
984
|
+
bindingExpression: expression
|
|
1008
985
|
};
|
|
1009
986
|
}
|
|
1010
987
|
|
|
@@ -1029,32 +1006,35 @@ export function equal<T extends PrimitiveType>(
|
|
|
1029
1006
|
return constant(true);
|
|
1030
1007
|
}
|
|
1031
1008
|
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1009
|
+
function reduce(left: Expression<T>, right: Expression<T>) {
|
|
1010
|
+
if (left._type === "Comparison" && isTrue(right)) {
|
|
1011
|
+
// compare(a, b) === true ~~> compare(a, b)
|
|
1012
|
+
return left;
|
|
1013
|
+
} else if (left._type === "Comparison" && isFalse(right)) {
|
|
1014
|
+
// compare(a, b) === false ~~> !compare(a, b)
|
|
1015
|
+
return not(left);
|
|
1016
|
+
} else if (left._type === "IfElse" && _checkExpressionsAreEqual(left.onTrue, right)) {
|
|
1017
|
+
// (if (x) { a } else { b }) === a ~~> x || (b === a)
|
|
1018
|
+
return or(left.condition, equal(left.onFalse, right));
|
|
1019
|
+
} else if (left._type === "IfElse" && _checkExpressionsAreEqual(left.onFalse, right)) {
|
|
1020
|
+
// (if (x) { a } else { b }) === b ~~> !x || (a === b)
|
|
1021
|
+
return or(not(left.condition), equal(left.onTrue, right));
|
|
1022
|
+
} else if (
|
|
1023
|
+
left._type === "IfElse" &&
|
|
1024
|
+
isConstant(left.onTrue) &&
|
|
1025
|
+
isConstant(left.onFalse) &&
|
|
1026
|
+
isConstant(right) &&
|
|
1027
|
+
!_checkExpressionsAreEqual(left.onTrue, right) &&
|
|
1028
|
+
!_checkExpressionsAreEqual(left.onFalse, right)
|
|
1029
|
+
) {
|
|
1030
|
+
return constant(false);
|
|
1031
|
+
}
|
|
1032
|
+
return undefined;
|
|
1055
1033
|
}
|
|
1056
1034
|
|
|
1057
|
-
|
|
1035
|
+
// exploit symmetry: a === b <~> b === a
|
|
1036
|
+
const reduced = reduce(leftExpression, rightExpression) ?? reduce(rightExpression, leftExpression);
|
|
1037
|
+
return reduced ?? comparison("===", leftExpression, rightExpression);
|
|
1058
1038
|
}
|
|
1059
1039
|
|
|
1060
1040
|
/**
|
|
@@ -1069,36 +1049,7 @@ export function notEqual<T extends PrimitiveType>(
|
|
|
1069
1049
|
leftOperand: ExpressionOrPrimitive<T>,
|
|
1070
1050
|
rightOperand: ExpressionOrPrimitive<T>
|
|
1071
1051
|
): Expression<boolean> {
|
|
1072
|
-
|
|
1073
|
-
const rightExpression = wrapPrimitive(rightOperand);
|
|
1074
|
-
|
|
1075
|
-
if (_checkExpressionsAreEqual(leftExpression, rightExpression)) {
|
|
1076
|
-
return constant(false);
|
|
1077
|
-
}
|
|
1078
|
-
|
|
1079
|
-
// ((a === c) !== true) => !(a === c)
|
|
1080
|
-
if (leftExpression._type === "Comparison" && isConstant(rightExpression) && rightExpression.value === true) {
|
|
1081
|
-
return not(leftExpression);
|
|
1082
|
-
} else if (leftExpression._type === "Comparison" && isConstant(rightExpression) && rightExpression.value === true) {
|
|
1083
|
-
// ((a === c) !== false) => (a === c)
|
|
1084
|
-
return leftExpression;
|
|
1085
|
-
} else if (leftExpression._type === "IfElse" && _checkExpressionsAreEqual(leftExpression.onTrue, rightExpression)) {
|
|
1086
|
-
return and(not(leftExpression.condition), notEqual(leftExpression.onFalse, rightExpression));
|
|
1087
|
-
} else if (leftExpression._type === "IfElse" && _checkExpressionsAreEqual(leftExpression.onFalse, rightExpression)) {
|
|
1088
|
-
return and(leftExpression.condition, notEqual(leftExpression.onTrue, rightExpression));
|
|
1089
|
-
} else if (
|
|
1090
|
-
leftExpression._type === "IfElse" &&
|
|
1091
|
-
isConstant(leftExpression.onTrue) &&
|
|
1092
|
-
isConstant(rightExpression) &&
|
|
1093
|
-
isConstant(leftExpression.onFalse) &&
|
|
1094
|
-
!_checkExpressionsAreEqual(leftExpression.onTrue, rightExpression) &&
|
|
1095
|
-
!_checkExpressionsAreEqual(leftExpression.onFalse, rightExpression)
|
|
1096
|
-
) {
|
|
1097
|
-
// If the left expression is an if else where both onTrue and onFalse are not equals to the right expression -> simplify as true
|
|
1098
|
-
return constant(true);
|
|
1099
|
-
}
|
|
1100
|
-
|
|
1101
|
-
return comparison("!==", leftExpression, rightExpression);
|
|
1052
|
+
return not(equal(leftOperand, rightOperand));
|
|
1102
1053
|
}
|
|
1103
1054
|
|
|
1104
1055
|
/**
|
|
@@ -1203,61 +1154,40 @@ export function ifElse<T extends PrimitiveType>(
|
|
|
1203
1154
|
onFalseExpression = onFalseExpression.onFalse;
|
|
1204
1155
|
}
|
|
1205
1156
|
|
|
1206
|
-
//
|
|
1207
|
-
|
|
1208
|
-
if (
|
|
1209
|
-
isConstant(conditionExpression.onFalse) &&
|
|
1210
|
-
!conditionExpression.onFalse.value &&
|
|
1211
|
-
isConstant(conditionExpression.onTrue) &&
|
|
1212
|
-
conditionExpression.onTrue.value
|
|
1213
|
-
) {
|
|
1214
|
-
// ifElse(ifElse(X, true, false), a, b) ==> ifElse(X, a, b)
|
|
1215
|
-
conditionExpression = conditionExpression.condition;
|
|
1216
|
-
} else if (
|
|
1217
|
-
isConstant(conditionExpression.onFalse) &&
|
|
1218
|
-
conditionExpression.onFalse.value &&
|
|
1219
|
-
isConstant(conditionExpression.onTrue) &&
|
|
1220
|
-
!conditionExpression.onTrue.value
|
|
1221
|
-
) {
|
|
1222
|
-
// ifElse(ifElse(X, false, true), a, b) ==> ifElse(not(X), a, b)
|
|
1223
|
-
conditionExpression = not(conditionExpression.condition);
|
|
1224
|
-
} else if (
|
|
1225
|
-
isConstant(conditionExpression.onTrue) &&
|
|
1226
|
-
!conditionExpression.onTrue.value &&
|
|
1227
|
-
!isConstant(conditionExpression.onFalse)
|
|
1228
|
-
) {
|
|
1229
|
-
// ifElse(ifElse(X, false, a), b, c) ==> ifElse(and(not(X), a), b, c)
|
|
1230
|
-
conditionExpression = and(not(conditionExpression.condition), conditionExpression.onFalse);
|
|
1231
|
-
}
|
|
1232
|
-
}
|
|
1233
|
-
|
|
1234
|
-
// again swap branches if needed (in case one of the optimizations above led to a negated condition)
|
|
1235
|
-
if (conditionExpression._type === "Not") {
|
|
1236
|
-
// ifElse(not(X), a, b) --> ifElse(X, b, a)
|
|
1237
|
-
[onTrueExpression, onFalseExpression] = [onFalseExpression, onTrueExpression];
|
|
1238
|
-
conditionExpression = not(conditionExpression);
|
|
1239
|
-
}
|
|
1240
|
-
|
|
1241
|
-
// compute expression result for constant conditions
|
|
1157
|
+
// (if true then a else b) ~~> a
|
|
1158
|
+
// (if false then a else b) ~~> b
|
|
1242
1159
|
if (isConstant(conditionExpression)) {
|
|
1243
1160
|
return conditionExpression.value ? onTrueExpression : onFalseExpression;
|
|
1244
1161
|
}
|
|
1245
1162
|
|
|
1246
|
-
//
|
|
1163
|
+
// if (isConstantBoolean(onTrueExpression) || isConstantBoolean(onFalseExpression)) {
|
|
1164
|
+
// return or(and(condition, onTrueExpression as Expression<boolean>), and(not(condition), onFalseExpression as Expression<boolean>)) as Expression<T>
|
|
1165
|
+
// }
|
|
1166
|
+
// (if X then a else a) ~~> a
|
|
1247
1167
|
if (_checkExpressionsAreEqual(onTrueExpression, onFalseExpression)) {
|
|
1248
1168
|
return onTrueExpression;
|
|
1249
1169
|
}
|
|
1250
1170
|
|
|
1251
|
-
//
|
|
1252
|
-
|
|
1253
|
-
if (isConstant(onFalseExpression) && onFalseExpression.value === false) {
|
|
1171
|
+
// if X then a else false ~~> X && a
|
|
1172
|
+
if (isFalse(onFalseExpression)) {
|
|
1254
1173
|
return and(conditionExpression, onTrueExpression as Expression<boolean>) as Expression<T>;
|
|
1255
1174
|
}
|
|
1256
|
-
|
|
1257
|
-
if
|
|
1175
|
+
|
|
1176
|
+
// if X then a else true ~~> !X || a
|
|
1177
|
+
if (isTrue(onFalseExpression)) {
|
|
1178
|
+
return or(not(conditionExpression), onTrueExpression as Expression<boolean>) as Expression<T>;
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
// if X then false else a ~~> !X && a
|
|
1182
|
+
if (isFalse(onTrueExpression)) {
|
|
1258
1183
|
return and(not(conditionExpression), onFalseExpression as Expression<boolean>) as Expression<T>;
|
|
1259
1184
|
}
|
|
1260
1185
|
|
|
1186
|
+
// if X then true else a ~~> X || a
|
|
1187
|
+
if (isTrue(onTrueExpression)) {
|
|
1188
|
+
return or(conditionExpression, onFalseExpression as Expression<boolean>) as Expression<T>;
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1261
1191
|
return {
|
|
1262
1192
|
_type: "IfElse",
|
|
1263
1193
|
condition: conditionExpression,
|
|
@@ -1408,17 +1338,17 @@ export function addTypeInformation<T, U extends Fn<T>>(
|
|
|
1408
1338
|
/**
|
|
1409
1339
|
* Function call, optionally with arguments.
|
|
1410
1340
|
*
|
|
1411
|
-
* @param
|
|
1341
|
+
* @param func Function name or reference to function
|
|
1412
1342
|
* @param parameters Arguments
|
|
1413
1343
|
* @param on Object to call the function on
|
|
1414
1344
|
* @returns {FunctionExpression<T>} Expression representing the function call (not the result of the function call!)
|
|
1415
1345
|
*/
|
|
1416
1346
|
export function fn<T, U extends FunctionOrName<T>>(
|
|
1417
|
-
|
|
1347
|
+
func: U,
|
|
1418
1348
|
parameters: WrappedTuple<FunctionParameters<T, U>>,
|
|
1419
1349
|
on?: ExpressionOrPrimitive<object>
|
|
1420
1350
|
): FunctionExpression<T> {
|
|
1421
|
-
const functionName = typeof
|
|
1351
|
+
const functionName = typeof func === "string" ? func : (func as Fn<T>).__functionName;
|
|
1422
1352
|
return {
|
|
1423
1353
|
_type: "Function",
|
|
1424
1354
|
obj: on !== undefined ? wrapPrimitive(on) : undefined,
|
|
@@ -1464,31 +1394,26 @@ export function transformRecursively<T extends PrimitiveType | unknown>(
|
|
|
1464
1394
|
inExpression: Expression<T>,
|
|
1465
1395
|
expressionType: ExpressionType,
|
|
1466
1396
|
transformFunction: TransformFunction,
|
|
1467
|
-
includeAllExpression
|
|
1397
|
+
includeAllExpression = false
|
|
1468
1398
|
): Expression<T> {
|
|
1469
1399
|
let expression = inExpression;
|
|
1470
1400
|
switch (expression._type) {
|
|
1471
1401
|
case "Function":
|
|
1472
|
-
|
|
1473
|
-
|
|
1402
|
+
case "Formatter":
|
|
1403
|
+
expression.parameters = expression.parameters.map(parameter =>
|
|
1404
|
+
transformRecursively(parameter, expressionType, transformFunction, includeAllExpression)
|
|
1474
1405
|
);
|
|
1475
1406
|
break;
|
|
1476
1407
|
case "Concat":
|
|
1477
|
-
expression.expressions = expression.expressions.map(
|
|
1478
|
-
transformRecursively(
|
|
1408
|
+
expression.expressions = expression.expressions.map(subExpression =>
|
|
1409
|
+
transformRecursively(subExpression, expressionType, transformFunction, includeAllExpression)
|
|
1479
1410
|
);
|
|
1480
1411
|
break;
|
|
1481
1412
|
case "ComplexType":
|
|
1482
|
-
expression.bindingParameters = expression.bindingParameters.map(
|
|
1483
|
-
transformRecursively(
|
|
1484
|
-
);
|
|
1485
|
-
break;
|
|
1486
|
-
case "Formatter":
|
|
1487
|
-
expression.parameters = expression.parameters.map(expression =>
|
|
1488
|
-
transformRecursively(expression, expressionType, transformFunction, includeAllExpression)
|
|
1413
|
+
expression.bindingParameters = expression.bindingParameters.map(bindingParameter =>
|
|
1414
|
+
transformRecursively(bindingParameter, expressionType, transformFunction, includeAllExpression)
|
|
1489
1415
|
);
|
|
1490
1416
|
break;
|
|
1491
|
-
|
|
1492
1417
|
case "IfElse":
|
|
1493
1418
|
const onTrue = transformRecursively(expression.onTrue, expressionType, transformFunction, includeAllExpression);
|
|
1494
1419
|
const onFalse = transformRecursively(expression.onFalse, expressionType, transformFunction, includeAllExpression);
|
|
@@ -1508,8 +1433,8 @@ export function transformRecursively<T extends PrimitiveType | unknown>(
|
|
|
1508
1433
|
break;
|
|
1509
1434
|
case "Set":
|
|
1510
1435
|
if (includeAllExpression) {
|
|
1511
|
-
expression.operands = expression.operands.map(
|
|
1512
|
-
transformRecursively(
|
|
1436
|
+
expression.operands = expression.operands.map(operand =>
|
|
1437
|
+
transformRecursively(operand, expressionType, transformFunction, includeAllExpression)
|
|
1513
1438
|
);
|
|
1514
1439
|
}
|
|
1515
1440
|
break;
|
|
@@ -1624,7 +1549,7 @@ function compileBindingForBinding<T extends PrimitiveType>(
|
|
|
1624
1549
|
) {
|
|
1625
1550
|
// This is now a complex binding definition, let's prepare for it
|
|
1626
1551
|
const complexBindingDefinition = {
|
|
1627
|
-
path:
|
|
1552
|
+
path: compileBindingPath(expressionForBinding),
|
|
1628
1553
|
type: expressionForBinding.type,
|
|
1629
1554
|
targetType: expressionForBinding.targetType,
|
|
1630
1555
|
parameters: expressionForBinding.parameters,
|
|
@@ -1637,12 +1562,38 @@ function compileBindingForBinding<T extends PrimitiveType>(
|
|
|
1637
1562
|
}
|
|
1638
1563
|
return outBinding;
|
|
1639
1564
|
} else if (embeddedInBinding) {
|
|
1640
|
-
return `${embeddedSeparator}{${expressionForBinding
|
|
1641
|
-
expressionForBinding.path
|
|
1642
|
-
}}`;
|
|
1565
|
+
return `${embeddedSeparator}{${compileBindingPath(expressionForBinding)}}`;
|
|
1643
1566
|
} else {
|
|
1644
|
-
return `{${expressionForBinding
|
|
1567
|
+
return `{${compileBindingPath(expressionForBinding)}}`;
|
|
1568
|
+
}
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
function compileComplexTypeExpression<T extends PrimitiveType>(expression: ComplexTypeExpression<T>) {
|
|
1572
|
+
if (expression.bindingParameters.length === 1) {
|
|
1573
|
+
return `{${compilePathParameter(expression.bindingParameters[0], true)}, type: '${expression.type}'}`;
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
let outputEnd;
|
|
1577
|
+
// this code is based on sap.ui.model.odata.v4._AnnotationHelperExpression.fetchCurrencyOrUnit
|
|
1578
|
+
switch (expression.type) {
|
|
1579
|
+
case "sap.ui.model.odata.type.Unit":
|
|
1580
|
+
outputEnd = `,{mode:'OneTime',path:'/##@@requestUnitsOfMeasure',targetType:'any'}],type:'sap.ui.model.odata.type.Unit'`;
|
|
1581
|
+
break;
|
|
1582
|
+
case "sap.ui.model.odata.type.Currency":
|
|
1583
|
+
outputEnd = `,{mode:'OneTime',path:'/##@@requestCurrencyCodes',targetType:'any'}],type:'sap.ui.model.odata.type.Currency'`;
|
|
1584
|
+
break;
|
|
1585
|
+
default:
|
|
1586
|
+
outputEnd = `], type: '${expression.type}'`;
|
|
1645
1587
|
}
|
|
1588
|
+
if (hasElements(expression.formatOptions)) {
|
|
1589
|
+
outputEnd += `, formatOptions: ${compileBinding(expression.formatOptions)}`;
|
|
1590
|
+
}
|
|
1591
|
+
if (hasElements(expression.parameters)) {
|
|
1592
|
+
outputEnd += `, parameters: ${compileBinding(expression.parameters)}`;
|
|
1593
|
+
}
|
|
1594
|
+
outputEnd += "}";
|
|
1595
|
+
|
|
1596
|
+
return `{mode:'TwoWay', parts:[${expression.bindingParameters.map((param: any) => compilePathParameter(param)).join(",")}${outputEnd}`;
|
|
1646
1597
|
}
|
|
1647
1598
|
|
|
1648
1599
|
/**
|
|
@@ -1683,10 +1634,11 @@ export function compileBinding<T extends PrimitiveType>(
|
|
|
1683
1634
|
): BindingExpression<string> {
|
|
1684
1635
|
const expr = wrapPrimitive(expression);
|
|
1685
1636
|
const embeddedSeparator = keepTargetType ? "$" : "%";
|
|
1686
|
-
|
|
1637
|
+
|
|
1687
1638
|
switch (expr._type) {
|
|
1688
1639
|
case "Unresolveable":
|
|
1689
1640
|
return undefined;
|
|
1641
|
+
|
|
1690
1642
|
case "Constant":
|
|
1691
1643
|
return compileConstant(expr, embeddedInBinding, isNullable);
|
|
1692
1644
|
|
|
@@ -1698,42 +1650,20 @@ export function compileBinding<T extends PrimitiveType>(
|
|
|
1698
1650
|
return expr.obj === undefined
|
|
1699
1651
|
? `${expr.fn}(${argumentString})`
|
|
1700
1652
|
: `${compileBinding(expr.obj, true)}.${expr.fn}(${argumentString})`;
|
|
1653
|
+
|
|
1701
1654
|
case "EmbeddedExpressionBinding":
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
} else {
|
|
1705
|
-
return `${expr.value}`;
|
|
1706
|
-
}
|
|
1655
|
+
return embeddedInBinding ? `(${expr.value.substr(2, expr.value.length - 3)})` : `${expr.value}`;
|
|
1656
|
+
|
|
1707
1657
|
case "EmbeddedBinding":
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
} else {
|
|
1711
|
-
return `${expr.value}`;
|
|
1712
|
-
}
|
|
1658
|
+
return embeddedInBinding ? `${embeddedSeparator}${expr.value}` : `${expr.value}`;
|
|
1659
|
+
|
|
1713
1660
|
case "DefaultBinding":
|
|
1714
1661
|
case "Binding":
|
|
1715
1662
|
return compileBindingForBinding(expr, embeddedInBinding, embeddedSeparator);
|
|
1716
1663
|
|
|
1717
1664
|
case "Comparison":
|
|
1718
|
-
const
|
|
1719
|
-
|
|
1720
|
-
let comparisonPart = "";
|
|
1721
|
-
if (isOperand1Complex) {
|
|
1722
|
-
comparisonPart += "(";
|
|
1723
|
-
}
|
|
1724
|
-
comparisonPart += `${compileBinding(expr.operand1, true)}`;
|
|
1725
|
-
if (isOperand1Complex) {
|
|
1726
|
-
comparisonPart += ")";
|
|
1727
|
-
}
|
|
1728
|
-
comparisonPart += ` ${expr.operator} `;
|
|
1729
|
-
if (isOperand2Complex) {
|
|
1730
|
-
comparisonPart += "(";
|
|
1731
|
-
}
|
|
1732
|
-
comparisonPart += `${compileBinding(expr.operand2, true)}`;
|
|
1733
|
-
if (isOperand2Complex) {
|
|
1734
|
-
comparisonPart += ")";
|
|
1735
|
-
}
|
|
1736
|
-
return wrapBindingExpression(comparisonPart, embeddedInBinding);
|
|
1665
|
+
const comparisonExpression = compileComparisonExpression(expr);
|
|
1666
|
+
return wrapBindingExpression(comparisonExpression, embeddedInBinding);
|
|
1737
1667
|
|
|
1738
1668
|
case "IfElse":
|
|
1739
1669
|
const ifElseExpression = `${compileBinding(expr.condition, true)} ? ${compileBinding(expr.onTrue, true)} : ${compileBinding(
|
|
@@ -1763,53 +1693,48 @@ export function compileBinding<T extends PrimitiveType>(
|
|
|
1763
1693
|
return wrapBindingExpression(truthyExpression, embeddedInBinding);
|
|
1764
1694
|
|
|
1765
1695
|
case "Formatter":
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
outProperty += `{parts:[${expr.parameters.map((param: any) => compilePathParameter(param)).join(",")}], formatter: '${
|
|
1770
|
-
expr.fn
|
|
1771
|
-
}'}`;
|
|
1772
|
-
}
|
|
1773
|
-
if (embeddedInBinding) {
|
|
1774
|
-
outProperty = `\$${outProperty}`;
|
|
1775
|
-
}
|
|
1776
|
-
return outProperty;
|
|
1696
|
+
const formatterExpression = compileFormatterExpression(expr);
|
|
1697
|
+
return embeddedInBinding ? `\$${formatterExpression}` : formatterExpression;
|
|
1698
|
+
|
|
1777
1699
|
case "ComplexType":
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
let outputEnd;
|
|
1782
|
-
// this code is based on sap.ui.model.odata.v4._AnnotationHelperExpression.fetchCurrencyOrUnit
|
|
1783
|
-
switch (expr.type) {
|
|
1784
|
-
case "sap.ui.model.odata.type.Unit":
|
|
1785
|
-
outputEnd = `,{mode:'OneTime',path:'/##@@requestUnitsOfMeasure',targetType:'any'}],type:'sap.ui.model.odata.type.Unit'`;
|
|
1786
|
-
break;
|
|
1787
|
-
case "sap.ui.model.odata.type.Currency":
|
|
1788
|
-
outputEnd = `,{mode:'OneTime',path:'/##@@requestCurrencyCodes',targetType:'any'}],type:'sap.ui.model.odata.type.Currency'`;
|
|
1789
|
-
break;
|
|
1790
|
-
default:
|
|
1791
|
-
outputEnd = `], type: '${expr.type}'`;
|
|
1792
|
-
}
|
|
1793
|
-
if (expr.formatOptions && Object.keys(expr.formatOptions).length > 0) {
|
|
1794
|
-
outputEnd += `, formatOptions: ${compileBinding(expr.formatOptions)}`;
|
|
1795
|
-
}
|
|
1796
|
-
if (expr.parameters && Object.keys(expr.parameters).length > 0) {
|
|
1797
|
-
outputEnd += `, parameters: ${compileBinding(expr.parameters)}`;
|
|
1798
|
-
}
|
|
1799
|
-
outputEnd += "}";
|
|
1800
|
-
outProperty += `{mode:'TwoWay', parts:[${expr.bindingParameters
|
|
1801
|
-
.map((param: any) => compilePathParameter(param))
|
|
1802
|
-
.join(",")}${outputEnd}`;
|
|
1803
|
-
}
|
|
1804
|
-
if (embeddedInBinding) {
|
|
1805
|
-
outProperty = `\$${outProperty}`;
|
|
1806
|
-
}
|
|
1807
|
-
return outProperty;
|
|
1700
|
+
const complexTypeExpression = compileComplexTypeExpression(expr);
|
|
1701
|
+
return embeddedInBinding ? `\$${complexTypeExpression}` : complexTypeExpression;
|
|
1702
|
+
|
|
1808
1703
|
default:
|
|
1809
1704
|
return "";
|
|
1810
1705
|
}
|
|
1811
1706
|
}
|
|
1812
1707
|
|
|
1708
|
+
/**
|
|
1709
|
+
* Compile a comparison expression.
|
|
1710
|
+
*
|
|
1711
|
+
* @param expression The comparison expression.
|
|
1712
|
+
* @returns The compiled expression. Needs wrapping before it can be used as an expression binding.
|
|
1713
|
+
*/
|
|
1714
|
+
function compileComparisonExpression(expression: ComparisonExpression) {
|
|
1715
|
+
function compileOperand(operand: Expression<any>) {
|
|
1716
|
+
const compiledOperand = compileBinding(operand, true) ?? "undefined";
|
|
1717
|
+
return wrapBindingExpression(compiledOperand, true, needParenthesis(operand));
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
return `${compileOperand(expression.operand1)} ${expression.operator} ${compileOperand(expression.operand2)}`;
|
|
1721
|
+
}
|
|
1722
|
+
|
|
1723
|
+
/**
|
|
1724
|
+
* Compile a formatter expression.
|
|
1725
|
+
*
|
|
1726
|
+
* @param expression The formatter expression.
|
|
1727
|
+
* @returns The compiled expression.
|
|
1728
|
+
*/
|
|
1729
|
+
function compileFormatterExpression<T extends PrimitiveType>(expression: FormatterExpression<T>) {
|
|
1730
|
+
if (expression.parameters.length === 1) {
|
|
1731
|
+
return `{${compilePathParameter(expression.parameters[0], true)}, formatter: '${expression.fn}'}`;
|
|
1732
|
+
} else {
|
|
1733
|
+
const parts = expression.parameters.map(param => compilePathParameter(param));
|
|
1734
|
+
return `{parts: [${parts.join(", ")}], formatter: '${expression.fn}'}`;
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1737
|
+
|
|
1813
1738
|
/**
|
|
1814
1739
|
* Compile the path parameter of a formatter call.
|
|
1815
1740
|
*
|
|
@@ -1817,53 +1742,54 @@ export function compileBinding<T extends PrimitiveType>(
|
|
|
1817
1742
|
* @param singlePath Whether there is one or multiple path to consider
|
|
1818
1743
|
* @returns {string} The string snippet to include in the overall binding definition
|
|
1819
1744
|
*/
|
|
1820
|
-
function compilePathParameter(expression: Expression<any>, singlePath
|
|
1745
|
+
function compilePathParameter(expression: Expression<any>, singlePath = false): string {
|
|
1821
1746
|
let outValue = "";
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
return outValue;
|
|
1841
|
-
}
|
|
1842
|
-
return `{${outValue}}`;
|
|
1747
|
+
if (expression._type === "Constant") {
|
|
1748
|
+
switch (typeof expression.value) {
|
|
1749
|
+
case "number":
|
|
1750
|
+
case "bigint":
|
|
1751
|
+
outValue = `value: ${expression.value.toString()}`;
|
|
1752
|
+
break;
|
|
1753
|
+
case "string":
|
|
1754
|
+
outValue = `value: '${escapeXmlAttribute(expression.value.toString())}'`;
|
|
1755
|
+
break;
|
|
1756
|
+
case "boolean":
|
|
1757
|
+
outValue = `value: '${expression.value.toString()}'`;
|
|
1758
|
+
break;
|
|
1759
|
+
default:
|
|
1760
|
+
outValue = "value: ''";
|
|
1761
|
+
break;
|
|
1762
|
+
}
|
|
1763
|
+
} else if (expression._type === "DefaultBinding" || expression._type === "Binding") {
|
|
1764
|
+
outValue = `path: '${compileBindingPath(expression)}'`;
|
|
1843
1765
|
|
|
1844
|
-
|
|
1845
|
-
case "Binding":
|
|
1846
|
-
outValue = `path:'${expression.modelName ? `${expression.modelName}>` : ""}${expression.path}'`;
|
|
1766
|
+
outValue += expression.type ? `, type: '${expression.type}'` : `, targetType: 'any'`;
|
|
1847
1767
|
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
}
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
}
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
if (expression.parameters && Object.keys(expression.parameters).length > 0) {
|
|
1860
|
-
outValue += `, parameters: ${compileBinding(expression.parameters)}`;
|
|
1861
|
-
}
|
|
1862
|
-
if (singlePath) {
|
|
1863
|
-
return outValue;
|
|
1864
|
-
}
|
|
1865
|
-
return `{${outValue}}`;
|
|
1866
|
-
default:
|
|
1867
|
-
return "";
|
|
1768
|
+
if (hasElements(expression.constraints)) {
|
|
1769
|
+
outValue += `, constraints: ${compileBinding(expression.constraints)}`;
|
|
1770
|
+
}
|
|
1771
|
+
if (hasElements(expression.formatOptions)) {
|
|
1772
|
+
outValue += `, formatOptions: ${compileBinding(expression.formatOptions)}`;
|
|
1773
|
+
}
|
|
1774
|
+
if (hasElements(expression.parameters)) {
|
|
1775
|
+
outValue += `, parameters: ${compileBinding(expression.parameters)}`;
|
|
1776
|
+
}
|
|
1777
|
+
} else {
|
|
1778
|
+
return "";
|
|
1868
1779
|
}
|
|
1780
|
+
return singlePath ? outValue : `{${outValue}}`;
|
|
1781
|
+
}
|
|
1782
|
+
|
|
1783
|
+
function hasElements(obj: any) {
|
|
1784
|
+
return obj && Object.keys(obj).length > 0;
|
|
1785
|
+
}
|
|
1786
|
+
|
|
1787
|
+
/**
|
|
1788
|
+
* Compile a binding expression path.
|
|
1789
|
+
*
|
|
1790
|
+
* @param expression The expression to compile.
|
|
1791
|
+
* @returns The compiled path.
|
|
1792
|
+
*/
|
|
1793
|
+
function compileBindingPath<T extends PrimitiveType>(expression: BindingExpressionExpression<T> | DefaultBindingExpressionExpression<T>) {
|
|
1794
|
+
return `${expression.modelName ? expression.modelName + ">" : ""}${expression.path}`;
|
|
1869
1795
|
}
|