@sap/open.fe 1.97.0 → 1.98.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 +275 -62
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover-dbg.js +1 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.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 +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +51 -46
- 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 +16 -8
- 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.98.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/AppComponent-dbg.js +3 -1
- package/packages/sap.fe.core/src/sap/fe/core/AppComponent.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +35 -15
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI-dbg.js +13 -5
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +8 -2
- package/packages/sap.fe.core/src/sap/fe/core/PageController.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +26 -10
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +13 -4
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +124 -39
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +49 -22
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +11 -8
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +12 -8
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +196 -70
- 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 +9 -2
- 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 +19 -17
- 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 +39 -8
- 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 +114 -25
- 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 +112 -24
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +80 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +5 -1
- 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 +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator-dbg.js +34 -7
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +5 -2
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +16 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share-dbg.js +19 -6
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +7 -7
- 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 +6 -5
- package/packages/sap.fe.core/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +6 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +9 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper-dbg.js +0 -5
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -1
- package/packages/{sap.fe.macros/src/sap/fe/macros/massedit → sap.fe.core/src/sap/fe/core/controls/massEdit}/MassEditDialog.fragment.xml +6 -6
- package/packages/{sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js → sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js} +2 -2
- package/packages/{sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js → sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers.js} +0 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +13 -1
- 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 +10 -0
- 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 +3 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +18 -7
- 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 +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +62 -4
- 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 +60 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +18 -10
- 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 +10 -1
- 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 +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +17 -9
- 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 +9 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +69 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.ts +72 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +172 -284
- 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 +228 -348
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +468 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +609 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +30 -13
- 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 +31 -12
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +14 -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 +26 -5
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +8 -1
- 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 +9 -1
- 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/designtime/AppComponent-dbg.designtime.js +8 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter-dbg.js +30 -5
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.ts +25 -3
- 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 +359 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.ts +388 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +199 -111
- 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 +193 -102
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +2 -2
- 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 +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper-dbg.js +679 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +27 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +23 -14
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +477 -411
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js +47 -3
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library.support.js +9 -3
- 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 +62 -0
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +68 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +40 -5
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +23 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +23 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +26 -4
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/resources.json +483 -235
- 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.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +4 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +93 -346
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +31 -2
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +30 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +8 -5
- 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 +11 -6
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +12 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +38 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +10 -48
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.ts +14 -46
- package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +114 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter.ts +86 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +10 -7
- 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 +8 -6
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +15 -110
- 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 +6 -73
- 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/model/ControllerExtensionNavigationModel.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/CustomElementNavigationModel.js +105 -7
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +176 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/myViewTest.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +0 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/ChartQualifier.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/ChartSelectionMode.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/FieldEdit.controller.js +3 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/FieldEvents.controller.js +3 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.controller.js +3 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/FieldNavProp.controller.js +3 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/FilterBarAnnotationDefaults.controller.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/FilterBarAnnotationDefaults.view.xml +58 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/service.cds +97 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/manifest.json +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomFilter.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingFilter.fragment.xml +8 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingFilterOperator.fragment.xml +17 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingRangeFilter.fragment.xml +8 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/FilterBarCustoms.controller.js +42 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/FilterBarCustoms.view.xml +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/RootEntity.json +107 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/service.cds +152 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/manifest.json +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.controller.js +13 -6
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.view.xml +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/ChildEntity.json +15 -674
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/MultiChildEntity.json +92 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/RootEntity.json +10 -5
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/service.cds +72 -19
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/FilterBarSVandAnnotationDefaults.controller.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/FilterBarSVandAnnotationDefaults.view.xml +58 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/service.cds +115 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/manifest.json +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarAnnotationDefaults.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarCustoms.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarSVandAnnotationDefaults.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/DetailPage.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/DetailPage.view.xml +15 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.controller.js +43 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.view.xml +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ChildEntity.json +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/RootEntity.json +41 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ValueHelpCurrencyEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/service.cds +144 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/manifest.json +96 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/Component.js +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/EntryPage.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/EntryPage.view.xml +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidanceFreestyle.html +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/i18n/i18n.properties +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/MicroChartDefault.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/MicroChartDynamicSize.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/MicroChartHideOnNoData.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/MicroChartShowOnlyChart.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +4 -3
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +36 -30
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/TableDefault.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.controller.js +3 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.view.xml +30 -24
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/Component.js +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/OPExtend.controller.js +17 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/ChildEntity.json +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/service.cds +46 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/manifest.json +24 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility.html +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnBuildingBlockField.fragment.xml +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +7 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customElementsOverview.md +4 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/CustomFormElement1.fragment.xml +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/CustomFormElement2.fragment.xml +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/localService/RootEntity.json +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/localService/service.cds +136 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/manifest.json +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElementContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/{CustomHeaderFacetFormElement.fragment.xml → CustomHeaderFacetBuildingBlockFormElement.fragment.xml} +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/{CustomHeaderFacetFormElementEdit.fragment.xml → CustomHeaderFacetBuildingBlockFormElementEdit.fragment.xml} +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetBuildingBlockMicroChart.fragment.xml +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetBuildingBlockMicroChartEdit.fragment.xml +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetDataPointEdit.fragment.xml +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetMicroChartEdit.fragment.xml +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/RootEntity.json +6 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/service.cds +30 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/manifest.json +13 -3
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomPage.view.xml +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSection.fragment.xml +1 -7
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionFormElementAndTable.fragment.xml +0 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionNavigation.fragment.xml +1 -7
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSectionContent.html +60 -27
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection1.fragment.xml +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection2.fragment.xml +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection3.fragment.xml +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/ChildEntity.json +42 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/RootEntity.json +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/service.cds +139 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/manifest.json +104 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSectionContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/i18n/i18n.properties +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.js +20 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.ts +22 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.js +71 -23
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.ts +97 -24
- package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.js +624 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +449 -140
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.js +435 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.ts +385 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +229 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.ts +227 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +235 -63
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +162 -40
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.js +115 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.ts +95 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +0 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +11 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.js +18 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.ts +25 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPI.spec.js +64 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPI.spec.ts +66 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +261 -20
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +329 -19
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +79 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +128 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.js +7 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.ts +6 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.js +22 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.ts +26 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +136 -244
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +156 -376
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.js +1267 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.ts +2150 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/KPI.spec.ts.snap +306 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +57 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Table.spec.ts.snap +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService.cds +137 -5
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/BindingExpression-AnnotationExpression.xml +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/HeaderFacets.cds +28 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/KPI.cds +191 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/MetaModelConverterContext.cds +20 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/ObjectPageConverter.cds +69 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/RoutingServiceFactory.cds +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/SideEffects.cds +26 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/Table.cds +98 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionOperationAvailableSticky.cds +22 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableTooltips.cds +43 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.js +10 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.ts +20 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.js +912 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.ts +981 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/__snapshots__/AppStartupHelper.spec.ts.snap +358 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.js +242 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.ts +297 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/__snapshots__/ChangePageConfiguration.spec.ts.snap +289 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +292 -366
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.ts +247 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +14 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +0 -12
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.98.json +363 -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.fragment.xml +5 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +0 -2
- 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 +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +4 -4
- 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 +26 -24
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -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.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldBaseDelegate-dbg.js +90 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldBaseDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +7 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +63 -8
- 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 +42 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +76 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +49 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField-dbg.designtime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.fragment.xml +21 -17
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +8 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata-dbg.js +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +8 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata-dbg.js +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata-dbg.js +11 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper-dbg.js +168 -35
- package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +107 -109
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +51 -65
- 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 +9 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +5 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils-dbg.js +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +101 -16
- 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 +273 -71
- 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 +128 -32
- 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 +110 -16
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +11 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +65 -84
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/CustomFilter.fragment.xml +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/form/DataFieldCollection.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFormElement.fragment.xml +5 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +72 -12
- 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 +43 -14
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +13 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +55 -8
- 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 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +38 -65
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/{FilterField.fragment.xml → internal/FilterField.fragment.xml} +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/{FilterField.metadata-dbg.js → internal/FilterField.metadata-dbg.js} +5 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/FilterField.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator-dbg.js +96 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.ts +116 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate-dbg.js +7 -15
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +4 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/AmountWithCurrency.fragment.xml +5 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/DataPoint.fragment.xml +5 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ExpandableText.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/File.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LabelSemanticKey.fragment.xml +5 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Link.fragment.xml +11 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +5 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/MdcFieldWithValueHelp.fragment.xml +48 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +140 -18
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectStatus.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/SemanticKeyWithDraftIndicator.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Text.fragment.xml +6 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/CheckBox.fragment.xml +1 -1
- 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 +14 -4
- 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 +3 -3
- 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/helpers/DataPointTemplating-dbg.js +25 -9
- 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 +30 -16
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter-dbg.js +154 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.ts +146 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime-dbg.js +204 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.ts +215 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +29 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp-dbg.designtime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +0 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +151 -131
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
- 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 +24 -23
- 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 +209 -188
- 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/macroLibrary-dbg.js +7 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary.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 +36 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +13 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +14 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +13 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +13 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +13 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +496 -354
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +53 -57
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Column.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +38 -32
- package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer-dbg.js +12 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +17 -91
- 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 +4 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +9 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin-dbg.js +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +198 -71
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.fragment.xml +4 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +58 -15
- 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 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.ts +0 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.ts +0 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.ts +0 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.js +21 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.ts +20 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +19 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +12 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DelegateUtil.spec.js +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldBaseDelegate.spec.js +111 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.js +67 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.ts +81 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarDelegate.spec.js +4 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.js +52 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.ts +64 -7
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.js +34 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.ts +46 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.js +43 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.ts +62 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.js +31 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.ts +25 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +11 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +9 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.js +40 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.ts +35 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartMacro.spec.ts.snap +42 -42
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/CollectionField.spec.ts.snap +49 -7
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +27 -11
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +50 -44
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithSemanticKey.spec.ts.snap +146 -56
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithValueHelp.spec.ts.snap +16 -16
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterBarMacro.spec.ts.snap +774 -11
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +70 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/MicroChart.spec.ts.snap +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/PhantomUtil.spec.ts.snap +70 -165
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +39 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +287 -170
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +369 -213
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/CollectionField.cds +11 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +5 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroWithSemanticKey.cds +17 -12
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacro.cds +18 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacroWithDefaultAnnotation.cds +155 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacroWithSVandAnnotation.cds +155 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterFieldMacro.cds +13 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/QuickViewForm.cds +36 -11
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableFieldLabel.cds +22 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/simpleFieldMacro.cds +8 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +252 -61
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +277 -67
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.cds +93 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +118 -16
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +143 -16
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/__snapshots__/FieldTemplating.spec.ts.snap +31 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestFragment.xml +3 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestSubFragment.xml +10 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +14 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +13 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/__snapshots__/columnWidth.spec.ts.snap +131 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.js +264 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.ts +244 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/data/columnWidth.cds +238 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +33 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +40 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/ValueHelpTableDelegate.spec.js +61 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/ValueHelpTableDelegate.spec.ts +64 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +1287 -32
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/data/tabledelegate.cds +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/CommonHelper.qunit.js +284 -159
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +9 -9
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +2 -2
- 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/FormElementTemplating.qunit.js +1 -1
- 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 +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MacroMetadata.qunit.js +5 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartContainer.qunit.js +29 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +6 -26
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelperTemplate.qunit.js +3 -8
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +402 -18
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacro.fragment.xml +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacroMissingID.fragment.xml +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/TableMacro.fragment.xml +0 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.98.json +210 -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 +70 -29
- 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 +6 -5
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +3 -3
- 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 +5 -5
- 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.navigation/test/sap/fe/navigation/qunit/navigation/NavigationHandlerTest.qunit.js +4 -12
- 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/chart/FEChartDelegate-dbg.js +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +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/AnalyticalListPage/resources.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/ExtensionAPI-dbg.js +1 -1
- 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 +2 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +85 -85
- 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 +6 -2
- 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/MassEdit-dbg.js +96 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +36 -21
- 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 +53 -31
- 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 +20 -11
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +20 -0
- 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 +16 -14
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +15 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +103 -88
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +99 -72
- 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/overrides/Paginator-dbg.js +12 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share-dbg.js +47 -43
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +0 -20
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +24 -24
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +24 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +1 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +181 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +133 -123
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +1 -1
- 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 +8 -7
- 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 +34 -32
- 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 +24 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +8 -8
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +126 -66
- 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.jsmeta.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/ViewState.spec.js +262 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.js +2 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.ts +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Sections.spec.js +132 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Sections.spec.ts +131 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/Sections.spec.ts.snap +52 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.js +229 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.ts +157 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/__snapshots__/RootContainerBaseController.spec.ts.snap +218 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/data/RootContainerBaseController.cds +64 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.98.json +201 -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/JourneyRunner-dbg.js +8 -3
- package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +8 -3
- package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +19 -11
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +211 -45
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +103 -8
- package/packages/sap.fe.test/src/sap/fe/test/Utils-dbg.js +0 -12
- package/packages/sap.fe.test/src/sap/fe/test/Utils.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +1 -7
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions-dbg.js +4 -4
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/KPICardActions-dbg.js +43 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/KPICardActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/KPICardAssertions-dbg.js +19 -15
- package/packages/sap.fe.test/src/sap/fe/test/api/KPICardAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions-dbg.js +11 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder-dbg.js +11 -2
- package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder-dbg.js +22 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder.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 +5 -4
- 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 +37 -23
- 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 +59 -34
- 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.xmlmeta.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/mockserver/MockServer.js +98965 -71474
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d-dbg.js +0 -8
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.js +0 -5
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.ts +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/CreditLimitDetails.json +0 -154
- package/packages/sap.fe.core/test/sap/fe/core/qunit/TransactionHelper.qunit.js +0 -77
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper-dbg.js +0 -48
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper.js +0 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.metadata.js +0 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/FormWrapper.fragment.xml +0 -26
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler-dbg.js +0 -718
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler.js +0 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterBarHelper.qunit.js +0 -223
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderImage.fragment.xml +0 -24
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/ui/model/Filter", "sap/ui/model/FilterOperator", "sap/fe/core/helpers/ModelHelper"], function (Filter, FilterOperator, ModelHelper) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Retrieves a set of key values from startup parameters.
|
|
10
|
+
*
|
|
11
|
+
* @param aKeyNames The array of key names
|
|
12
|
+
* @param oStartupParameters The startup parameters
|
|
13
|
+
* @returns An array of pairs {name, value} if all key values could be found in the startup parameters, undefined otherwise
|
|
14
|
+
*/
|
|
15
|
+
function _getKeysFromStartupParams(aKeyNames, oStartupParameters) {
|
|
16
|
+
var bAllFound = true;
|
|
17
|
+
var aKeys = aKeyNames.map(function (name) {
|
|
18
|
+
if (oStartupParameters[name] && oStartupParameters[name].length === 1) {
|
|
19
|
+
return {
|
|
20
|
+
name: name,
|
|
21
|
+
value: oStartupParameters[name][0]
|
|
22
|
+
};
|
|
23
|
+
} else {
|
|
24
|
+
// A unique key value couldn't be found in the startup parameters
|
|
25
|
+
bAllFound = false;
|
|
26
|
+
return {
|
|
27
|
+
name: name,
|
|
28
|
+
value: ""
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return bAllFound ? aKeys : undefined;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates a filter from a list of key values.
|
|
36
|
+
*
|
|
37
|
+
* @param aKeys Array of semantic keys or technical keys (with values)
|
|
38
|
+
* @param bDraftMode True if the entity supports draft mode
|
|
39
|
+
* @param oMetaModel The metamodel
|
|
40
|
+
* @returns The filter
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
function _createFilterFromKeys(aKeys, bDraftMode, oMetaModel) {
|
|
45
|
+
var bFilterCaseSensitive = ModelHelper.isFilteringCaseSensitive(oMetaModel);
|
|
46
|
+
var bFilterOnActiveEntity = false;
|
|
47
|
+
var aFilters = aKeys.map(function (key) {
|
|
48
|
+
if (key.name === "IsActiveEntity") {
|
|
49
|
+
bFilterOnActiveEntity = true;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return new Filter({
|
|
53
|
+
path: key.name,
|
|
54
|
+
operator: FilterOperator.EQ,
|
|
55
|
+
value1: key.value,
|
|
56
|
+
caseSensitive: bFilterCaseSensitive
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
if (bDraftMode && !bFilterOnActiveEntity) {
|
|
61
|
+
var oDraftFilter = new Filter({
|
|
62
|
+
filters: [new Filter("IsActiveEntity", "EQ", false), new Filter("SiblingEntity/IsActiveEntity", "EQ", null)],
|
|
63
|
+
and: false
|
|
64
|
+
});
|
|
65
|
+
aFilters.push(oDraftFilter);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return new Filter(aFilters, true);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Loads all contexts for a list of page infos.
|
|
72
|
+
*
|
|
73
|
+
* @param aStartupPages The list of page infos
|
|
74
|
+
* @param oModel The model used to load the contexts
|
|
75
|
+
* @returns A Promise for all contexts
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
function _requestObjectsFromParameters(aStartupPages, oModel) {
|
|
80
|
+
// Load the respective objects for all object pages found in aExternallyNavigablePages
|
|
81
|
+
var aContextPromises = aStartupPages.map(function (pageInfo) {
|
|
82
|
+
var aKeys = pageInfo.semanticKeys || pageInfo.technicalKeys || [];
|
|
83
|
+
|
|
84
|
+
var oFilter = _createFilterFromKeys(aKeys, pageInfo.draftMode, oModel.getMetaModel()); // only request a minimum of fields to boost backend performance since this is only used to check if an object exists
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
var oListBind = oModel.bindList(pageInfo.contextPath, undefined, undefined, oFilter, {
|
|
88
|
+
"$select": aKeys.map(function (key) {
|
|
89
|
+
return key.name;
|
|
90
|
+
}).join(",")
|
|
91
|
+
});
|
|
92
|
+
return oListBind.requestContexts(0, 2);
|
|
93
|
+
});
|
|
94
|
+
return Promise.all(aContextPromises);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Returns the list of all pages that allow deeplink and that can be reached using the startup parameters.
|
|
98
|
+
*
|
|
99
|
+
* @param oManifestRouting The routing information from the app manifest
|
|
100
|
+
* @param oStartupParameters The startup parameters
|
|
101
|
+
* @param oMetaModel The metamodel
|
|
102
|
+
* @returns
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
function _getReachablePages(oManifestRouting, oStartupParameters, oMetaModel) {
|
|
107
|
+
var aRoutes = oManifestRouting.routes;
|
|
108
|
+
var mPagesByLevel = {};
|
|
109
|
+
aRoutes.forEach(function (oRoute) {
|
|
110
|
+
var sPattern = oRoute.pattern.replace(":?query:", "");
|
|
111
|
+
|
|
112
|
+
if (sPattern.endsWith("/")) {
|
|
113
|
+
sPattern = sPattern.substr(0, sPattern.length - 1);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (sPattern) {
|
|
117
|
+
var _oTarget$options, _oTarget$options$sett;
|
|
118
|
+
|
|
119
|
+
// Ignore level-0 routes (ListReport)
|
|
120
|
+
sPattern = sPattern.replace(/\(\{[^\}]*\}\)/g, "(#)"); // Replace keys with #
|
|
121
|
+
// Get the rightmost target for this route
|
|
122
|
+
|
|
123
|
+
var sTargetName = Array.isArray(oRoute.target) ? oRoute.target[oRoute.target.length - 1] : oRoute.target;
|
|
124
|
+
var oTarget = oManifestRouting.targets[sTargetName];
|
|
125
|
+
var aPatternSegments = sPattern.split("/");
|
|
126
|
+
var pageLevel = aPatternSegments.length - 1; // The first level of object page allows deep linking by default.
|
|
127
|
+
// Otherwise, the target must allow deep linking explicitely in the manifest
|
|
128
|
+
|
|
129
|
+
if (pageLevel === 0 || oTarget !== null && oTarget !== void 0 && (_oTarget$options = oTarget.options) !== null && _oTarget$options !== void 0 && (_oTarget$options$sett = _oTarget$options.settings) !== null && _oTarget$options$sett !== void 0 && _oTarget$options$sett.allowDeepLinking) {
|
|
130
|
+
var sContextPath = oTarget.options.settings.contextPath || oTarget.options.settings.entitySet && "/" + oTarget.options.settings.entitySet;
|
|
131
|
+
var oEntityType = sContextPath && oMetaModel.getObject("/$EntityContainer" + sContextPath + "/");
|
|
132
|
+
|
|
133
|
+
if (oEntityType) {
|
|
134
|
+
// Get the semantic key values for the entity
|
|
135
|
+
var aSemanticKeyNames = oMetaModel.getObject("/$EntityContainer" + sContextPath + "/@com.sap.vocabularies.Common.v1.SemanticKey");
|
|
136
|
+
var aSemantickKeys = aSemanticKeyNames ? _getKeysFromStartupParams(aSemanticKeyNames.map(function (semKey) {
|
|
137
|
+
return semKey.$PropertyPath;
|
|
138
|
+
}), oStartupParameters) : undefined; // Get the technical keys only if we couldn't find the semantic key values, and on first level OP
|
|
139
|
+
|
|
140
|
+
var aTechnicalKeys = !aSemantickKeys && pageLevel === 0 ? _getKeysFromStartupParams(oEntityType["$Key"], oStartupParameters) : undefined;
|
|
141
|
+
|
|
142
|
+
if (aSemantickKeys || aTechnicalKeys) {
|
|
143
|
+
// The startup parameters contain values for all semantic keys (or technical keys) --> we can store the page info in the corresponding level
|
|
144
|
+
var draftMode = oMetaModel.getObject("/$EntityContainer" + sContextPath + "@com.sap.vocabularies.Common.v1.DraftRoot") || oMetaModel.getObject("/$EntityContainer" + sContextPath + "@com.sap.vocabularies.Common.v1.DraftNode") ? true : false;
|
|
145
|
+
|
|
146
|
+
if (!mPagesByLevel[pageLevel]) {
|
|
147
|
+
mPagesByLevel[pageLevel] = [];
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
mPagesByLevel[pageLevel].push({
|
|
151
|
+
pattern: sPattern,
|
|
152
|
+
contextPath: sContextPath,
|
|
153
|
+
draftMode: draftMode,
|
|
154
|
+
technicalKeys: aTechnicalKeys,
|
|
155
|
+
semanticKeys: aSemantickKeys,
|
|
156
|
+
target: sTargetName
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}); // A page is reachable only if all its parents are also reachable
|
|
163
|
+
// So if we couldn't find any pages for a given level, all pages with a higher level won't be reachable anyway
|
|
164
|
+
|
|
165
|
+
var aReachablePages = [];
|
|
166
|
+
var level = 0;
|
|
167
|
+
|
|
168
|
+
while (mPagesByLevel[level]) {
|
|
169
|
+
aReachablePages.push(mPagesByLevel[level]);
|
|
170
|
+
level++;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return aReachablePages;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get the list of startup pages.
|
|
177
|
+
*
|
|
178
|
+
* @param oManifestRouting The routing information from the app manifest
|
|
179
|
+
* @param oStartupParameters The startup parameters
|
|
180
|
+
* @param oMetaModel The metamodel
|
|
181
|
+
* @returns An array of startup page infos
|
|
182
|
+
*/
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
function _getStartupPagesFromStartupParams(oManifestRouting, oStartupParameters, oMetaModel) {
|
|
186
|
+
// Find all pages that can be reached with the startup parameters
|
|
187
|
+
var aReachablePages = _getReachablePages(oManifestRouting, oStartupParameters, oMetaModel);
|
|
188
|
+
|
|
189
|
+
if (aReachablePages.length === 0) {
|
|
190
|
+
return [];
|
|
191
|
+
} // Find the longest sequence of pages that can be reached (recursively)
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
var result = [];
|
|
195
|
+
var current = [];
|
|
196
|
+
|
|
197
|
+
function findRecursive(level) {
|
|
198
|
+
var aCurrentLevelPages = aReachablePages[level];
|
|
199
|
+
var lastPage = current.length ? current[current.length - 1] : undefined;
|
|
200
|
+
|
|
201
|
+
if (aCurrentLevelPages) {
|
|
202
|
+
aCurrentLevelPages.forEach(function (nextPage) {
|
|
203
|
+
if (!lastPage || nextPage.pattern.indexOf(lastPage.pattern) === 0) {
|
|
204
|
+
// We only consider pages that can be reached from the page at the previous level,
|
|
205
|
+
// --> their pattern must be the pattern of the previous page with another segment appended
|
|
206
|
+
current.push(nextPage);
|
|
207
|
+
findRecursive(level + 1);
|
|
208
|
+
current.pop();
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (current.length > result.length) {
|
|
214
|
+
result = current.slice(); // We have found a sequence longer than our previous best --> store it as the new longest
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
findRecursive(0);
|
|
219
|
+
return result;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Creates the startup object from the list of pages and contexts.
|
|
223
|
+
*
|
|
224
|
+
* @param aStartupPages The pages
|
|
225
|
+
* @param aContexts The contexts
|
|
226
|
+
* @returns An object containing either a hash or a context to navigate to, or an empty object if no deep link was found
|
|
227
|
+
*/
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
function _getDeepLinkObject(aStartupPages, aContexts) {
|
|
231
|
+
if (aContexts.length === 1) {
|
|
232
|
+
return {
|
|
233
|
+
context: aContexts[0]
|
|
234
|
+
};
|
|
235
|
+
} else if (aContexts.length > 1) {
|
|
236
|
+
// Navigation to a deeper level --> use the pattern of the deepest object page
|
|
237
|
+
// and replace the parameters by the ID from the contexts
|
|
238
|
+
var hash = aStartupPages[aStartupPages.length - 1].pattern;
|
|
239
|
+
aContexts.forEach(function (oContext) {
|
|
240
|
+
hash = hash.replace("(#)", "(" + oContext.getPath().split("(")[1]);
|
|
241
|
+
});
|
|
242
|
+
return {
|
|
243
|
+
hash: hash
|
|
244
|
+
};
|
|
245
|
+
} else {
|
|
246
|
+
return {};
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Calculates startup parameters for a deeplink case, from startup parameters and routing infoirmation.
|
|
251
|
+
*
|
|
252
|
+
* @param oManifestRouting The routing information from the app manifest
|
|
253
|
+
* @param oStartupParameters The startup parameters
|
|
254
|
+
* @param oModel The OData model
|
|
255
|
+
* @returns An object containing either a hash or a context to navigate to, or an empty object if no deep link was found
|
|
256
|
+
*/
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
function getDeepLinkStartupHash(oManifestRouting, oStartupParameters, oModel) {
|
|
260
|
+
var aStartupPages;
|
|
261
|
+
return oModel.getMetaModel().requestObject("/$EntityContainer/").then(function () {
|
|
262
|
+
// Check if semantic keys are present in url parameters for every object page at each level
|
|
263
|
+
aStartupPages = _getStartupPagesFromStartupParams(oManifestRouting, oStartupParameters, oModel.getMetaModel());
|
|
264
|
+
return _requestObjectsFromParameters(aStartupPages, oModel);
|
|
265
|
+
}).then(function (aValues) {
|
|
266
|
+
if (aValues.length) {
|
|
267
|
+
// Make sure we only get 1 context per promise, and flatten the array
|
|
268
|
+
var aContexts = [];
|
|
269
|
+
aValues.forEach(function (aFoundContexts) {
|
|
270
|
+
if (aFoundContexts.length === 1) {
|
|
271
|
+
aContexts.push(aFoundContexts[0]);
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
return aContexts.length === aValues.length ? _getDeepLinkObject(aStartupPages, aContexts) : {};
|
|
275
|
+
} else {
|
|
276
|
+
return {};
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Calculates the new hash based on the startup parameters.
|
|
282
|
+
*
|
|
283
|
+
* @param oStartupParameters The startup parameter values (map parameter name -> array of values)
|
|
284
|
+
* @param sContextPath The context path for the startup of the app (generally the path to the main entity set)
|
|
285
|
+
* @param oRouter The router instance
|
|
286
|
+
* @param oMetaModel The meta model
|
|
287
|
+
* @returns A promise containing the hash to navigate to, or an empty string if there's no need to navigate
|
|
288
|
+
*/
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
function getCreateStartupHash(oStartupParameters, sContextPath, oRouter, oMetaModel) {
|
|
292
|
+
return oMetaModel.requestObject(sContextPath + "@").then(function (oEntitySetAnnotations) {
|
|
293
|
+
var sMetaPath = "";
|
|
294
|
+
var bCreatable = true;
|
|
295
|
+
|
|
296
|
+
if (oEntitySetAnnotations["@com.sap.vocabularies.Common.v1.DraftRoot"] && oEntitySetAnnotations["@com.sap.vocabularies.Common.v1.DraftRoot"]["NewAction"]) {
|
|
297
|
+
sMetaPath = sContextPath + "@com.sap.vocabularies.Common.v1.DraftRoot/NewAction@Org.OData.Core.V1.OperationAvailable";
|
|
298
|
+
} else if (oEntitySetAnnotations["@com.sap.vocabularies.Session.v1.StickySessionSupported"] && oEntitySetAnnotations["@com.sap.vocabularies.Session.v1.StickySessionSupported"]["NewAction"]) {
|
|
299
|
+
sMetaPath = sContextPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported/NewAction@Org.OData.Core.V1.OperationAvailable";
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
if (sMetaPath) {
|
|
303
|
+
var bNewActionOperationAvailable = oMetaModel.getObject(sMetaPath);
|
|
304
|
+
|
|
305
|
+
if (bNewActionOperationAvailable === false) {
|
|
306
|
+
bCreatable = false;
|
|
307
|
+
}
|
|
308
|
+
} else {
|
|
309
|
+
var oInsertRestrictions = oEntitySetAnnotations["@Org.OData.Capabilities.V1.InsertRestrictions"];
|
|
310
|
+
|
|
311
|
+
if (oInsertRestrictions && oInsertRestrictions.Insertable === false) {
|
|
312
|
+
bCreatable = false;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
if (bCreatable) {
|
|
317
|
+
return getDefaultCreateHash(oStartupParameters, sContextPath, oRouter);
|
|
318
|
+
} else {
|
|
319
|
+
return "";
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Calculates the hash to create a new object.
|
|
325
|
+
*
|
|
326
|
+
* @param oStartupParameters The startup parameter values (map parameter name -> array of values)
|
|
327
|
+
* @param sContextPath The context path of the entity set to be used for the creation
|
|
328
|
+
* @param oRouter The router instance
|
|
329
|
+
* @returns The hash
|
|
330
|
+
*/
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
function getDefaultCreateHash(oStartupParameters, sContextPath, oRouter) {
|
|
334
|
+
var sDefaultCreateHash = oStartupParameters && oStartupParameters.preferredMode ? oStartupParameters.preferredMode[0] : "create";
|
|
335
|
+
var sHash = "";
|
|
336
|
+
sDefaultCreateHash = sDefaultCreateHash.indexOf(":") !== -1 && sDefaultCreateHash.length > sDefaultCreateHash.indexOf(":") + 1 ? sDefaultCreateHash.substr(0, sDefaultCreateHash.indexOf(":")) : "create";
|
|
337
|
+
sHash = sContextPath.substring(1) + "(...)?i-action=" + sDefaultCreateHash;
|
|
338
|
+
|
|
339
|
+
if (oRouter.getRouteInfoByHash(sHash)) {
|
|
340
|
+
return sHash;
|
|
341
|
+
} else {
|
|
342
|
+
throw new Error("No route match for creating a new " + sContextPath.substring(1));
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
var AppStartupHelper = {
|
|
347
|
+
_getKeysFromStartupParams: _getKeysFromStartupParams,
|
|
348
|
+
_createFilterFromKeys: _createFilterFromKeys,
|
|
349
|
+
_requestObjectsFromParameters: _requestObjectsFromParameters,
|
|
350
|
+
_getReachablePages: _getReachablePages,
|
|
351
|
+
_getStartupPagesFromStartupParams: _getStartupPagesFromStartupParams,
|
|
352
|
+
_getDeepLinkObject: _getDeepLinkObject,
|
|
353
|
+
getDeepLinkStartupHash: getDeepLinkStartupHash,
|
|
354
|
+
getCreateStartupHash: getCreateStartupHash,
|
|
355
|
+
getDefaultCreateHash: getDefaultCreateHash
|
|
356
|
+
};
|
|
357
|
+
return AppStartupHelper;
|
|
358
|
+
}, false);
|
|
359
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFwcFN0YXJ0dXBIZWxwZXIudHMiXSwibmFtZXMiOlsiX2dldEtleXNGcm9tU3RhcnR1cFBhcmFtcyIsImFLZXlOYW1lcyIsIm9TdGFydHVwUGFyYW1ldGVycyIsImJBbGxGb3VuZCIsImFLZXlzIiwibWFwIiwibmFtZSIsImxlbmd0aCIsInZhbHVlIiwidW5kZWZpbmVkIiwiX2NyZWF0ZUZpbHRlckZyb21LZXlzIiwiYkRyYWZ0TW9kZSIsIm9NZXRhTW9kZWwiLCJiRmlsdGVyQ2FzZVNlbnNpdGl2ZSIsIk1vZGVsSGVscGVyIiwiaXNGaWx0ZXJpbmdDYXNlU2Vuc2l0aXZlIiwiYkZpbHRlck9uQWN0aXZlRW50aXR5IiwiYUZpbHRlcnMiLCJrZXkiLCJGaWx0ZXIiLCJwYXRoIiwib3BlcmF0b3IiLCJGaWx0ZXJPcGVyYXRvciIsIkVRIiwidmFsdWUxIiwiY2FzZVNlbnNpdGl2ZSIsIm9EcmFmdEZpbHRlciIsImZpbHRlcnMiLCJhbmQiLCJwdXNoIiwiX3JlcXVlc3RPYmplY3RzRnJvbVBhcmFtZXRlcnMiLCJhU3RhcnR1cFBhZ2VzIiwib01vZGVsIiwiYUNvbnRleHRQcm9taXNlcyIsInBhZ2VJbmZvIiwic2VtYW50aWNLZXlzIiwidGVjaG5pY2FsS2V5cyIsIm9GaWx0ZXIiLCJkcmFmdE1vZGUiLCJnZXRNZXRhTW9kZWwiLCJvTGlzdEJpbmQiLCJiaW5kTGlzdCIsImNvbnRleHRQYXRoIiwiam9pbiIsInJlcXVlc3RDb250ZXh0cyIsIlByb21pc2UiLCJhbGwiLCJfZ2V0UmVhY2hhYmxlUGFnZXMiLCJvTWFuaWZlc3RSb3V0aW5nIiwiYVJvdXRlcyIsInJvdXRlcyIsIm1QYWdlc0J5TGV2ZWwiLCJmb3JFYWNoIiwib1JvdXRlIiwic1BhdHRlcm4iLCJwYXR0ZXJuIiwicmVwbGFjZSIsImVuZHNXaXRoIiwic3Vic3RyIiwic1RhcmdldE5hbWUiLCJBcnJheSIsImlzQXJyYXkiLCJ0YXJnZXQiLCJvVGFyZ2V0IiwidGFyZ2V0cyIsImFQYXR0ZXJuU2VnbWVudHMiLCJzcGxpdCIsInBhZ2VMZXZlbCIsIm9wdGlvbnMiLCJzZXR0aW5ncyIsImFsbG93RGVlcExpbmtpbmciLCJzQ29udGV4dFBhdGgiLCJlbnRpdHlTZXQiLCJvRW50aXR5VHlwZSIsImdldE9iamVjdCIsImFTZW1hbnRpY0tleU5hbWVzIiwiYVNlbWFudGlja0tleXMiLCJzZW1LZXkiLCIkUHJvcGVydHlQYXRoIiwiYVRlY2huaWNhbEtleXMiLCJhUmVhY2hhYmxlUGFnZXMiLCJsZXZlbCIsIl9nZXRTdGFydHVwUGFnZXNGcm9tU3RhcnR1cFBhcmFtcyIsInJlc3VsdCIsImN1cnJlbnQiLCJmaW5kUmVjdXJzaXZlIiwiYUN1cnJlbnRMZXZlbFBhZ2VzIiwibGFzdFBhZ2UiLCJuZXh0UGFnZSIsImluZGV4T2YiLCJwb3AiLCJzbGljZSIsIl9nZXREZWVwTGlua09iamVjdCIsImFDb250ZXh0cyIsImNvbnRleHQiLCJoYXNoIiwib0NvbnRleHQiLCJnZXRQYXRoIiwiZ2V0RGVlcExpbmtTdGFydHVwSGFzaCIsInJlcXVlc3RPYmplY3QiLCJ0aGVuIiwiYVZhbHVlcyIsImFGb3VuZENvbnRleHRzIiwiZ2V0Q3JlYXRlU3RhcnR1cEhhc2giLCJvUm91dGVyIiwib0VudGl0eVNldEFubm90YXRpb25zIiwic01ldGFQYXRoIiwiYkNyZWF0YWJsZSIsImJOZXdBY3Rpb25PcGVyYXRpb25BdmFpbGFibGUiLCJvSW5zZXJ0UmVzdHJpY3Rpb25zIiwiSW5zZXJ0YWJsZSIsImdldERlZmF1bHRDcmVhdGVIYXNoIiwic0RlZmF1bHRDcmVhdGVIYXNoIiwicHJlZmVycmVkTW9kZSIsInNIYXNoIiwic3Vic3RyaW5nIiwiZ2V0Um91dGVJbmZvQnlIYXNoIiwiRXJyb3IiLCJBcHBTdGFydHVwSGVscGVyIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBU0EseUJBQVQsQ0FBbUNDLFNBQW5DLEVBQXdEQyxrQkFBeEQsRUFBMEc7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a0IsRUFBbEJBLGtCQUp3QjtBQUt4Qm1DLElBQUFBLGlDQUFpQyxFQUFqQ0EsaUNBTHdCO0FBTXhCVSxJQUFBQSxrQkFBa0IsRUFBbEJBLGtCQU53QjtBQU94Qk0sSUFBQUEsc0JBQXNCLEVBQXRCQSxzQkFQd0I7QUFReEJLLElBQUFBLG9CQUFvQixFQUFwQkEsb0JBUndCO0FBU3hCUSxJQUFBQSxvQkFBb0IsRUFBcEJBO0FBVHdCLEdBQXpCO1NBWWVPLGdCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPRGF0YU1vZGVsLCBPRGF0YU1ldGFNb2RlbCwgQ29udGV4dCB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjRcIjtcbmltcG9ydCB7IEZpbHRlciwgRmlsdGVyT3BlcmF0b3IgfSBmcm9tIFwic2FwL3VpL21vZGVsXCI7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwic2FwL3VpL2NvcmUvcm91dGluZ1wiO1xuaW1wb3J0IHsgTW9kZWxIZWxwZXIgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVyc1wiO1xuXG50eXBlIFZhbHVlZEtleSA9IHtcblx0bmFtZTogc3RyaW5nO1xuXHR2YWx1ZTogc3RyaW5nO1xufTtcblxudHlwZSBQYWdlSW5mbyA9IHtcblx0cGF0dGVybjogc3RyaW5nO1xuXHRjb250ZXh0UGF0aDogc3RyaW5nO1xuXHRkcmFmdE1vZGU6IEJvb2xlYW47XG5cdHRlY2huaWNhbEtleXM6IFZhbHVlZEtleVtdIHwgdW5kZWZpbmVkO1xuXHRzZW1hbnRpY0tleXM6IFZhbHVlZEtleVtdIHwgdW5kZWZpbmVkO1xuXHR0YXJnZXQ6IHN0cmluZztcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIGEgc2V0IG9mIGtleSB2YWx1ZXMgZnJvbSBzdGFydHVwIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIGFLZXlOYW1lcyBUaGUgYXJyYXkgb2Yga2V5IG5hbWVzXG4gKiBAcGFyYW0gb1N0YXJ0dXBQYXJhbWV0ZXJzIFRoZSBzdGFydHVwIHBhcmFtZXRlcnNcbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBhaXJzIHtuYW1lLCB2YWx1ZX0gaWYgYWxsIGtleSB2YWx1ZXMgY291bGQgYmUgZm91bmQgaW4gdGhlIHN0YXJ0dXAgcGFyYW1ldGVycywgdW5kZWZpbmVkIG90aGVyd2lzZVxuICovXG5mdW5jdGlvbiBfZ2V0S2V5c0Zyb21TdGFydHVwUGFyYW1zKGFLZXlOYW1lczogc3RyaW5nW10sIG9TdGFydHVwUGFyYW1ldGVyczogYW55KTogVmFsdWVkS2V5W10gfCB1bmRlZmluZWQge1xuXHRsZXQgYkFsbEZvdW5kID0gdHJ1ZTtcblx0Y29uc3QgYUtleXMgPSBhS2V5TmFtZXMubWFwKG5hbWUgPT4ge1xuXHRcdGlmIChvU3RhcnR1cFBhcmFtZXRlcnNbbmFtZV0gJiYgb1N0YXJ0dXBQYXJhbWV0ZXJzW25hbWVdLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0cmV0dXJuIHsgbmFtZSwgdmFsdWU6IG9TdGFydHVwUGFyYW1ldGVyc1tuYW1lXVswXSBhcyBzdHJpbmcgfTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gQSB1bmlxdWUga2V5IHZhbHVlIGNvdWxkbid0IGJlIGZvdW5kIGluIHRoZSBzdGFydHVwIHBhcmFtZXRlcnNcblx0XHRcdGJBbGxGb3VuZCA9IGZhbHNlO1xuXHRcdFx0cmV0dXJuIHsgbmFtZSwgdmFsdWU6IFwiXCIgfTtcblx0XHR9XG5cdH0pO1xuXG5cdHJldHVybiBiQWxsRm91bmQgPyBhS2V5cyA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZmlsdGVyIGZyb20gYSBsaXN0IG9mIGtleSB2YWx1ZXMuXG4gKlxuICogQHBhcmFtIGFLZXlzIEFycmF5IG9mIHNlbWFudGljIGtleXMgb3IgdGVjaG5pY2FsIGtleXMgKHdpdGggdmFsdWVzKVxuICogQHBhcmFtIGJEcmFmdE1vZGUgVHJ1ZSBpZiB0aGUgZW50aXR5IHN1cHBvcnRzIGRyYWZ0IG1vZGVcbiAqIEBwYXJhbSBvTWV0YU1vZGVsIFRoZSBtZXRhbW9kZWxcbiAqIEByZXR1cm5zIFRoZSBmaWx0ZXJcbiAqL1xuZnVuY3Rpb24gX2NyZWF0ZUZpbHRlckZyb21LZXlzKGFLZXlzOiBWYWx1ZWRLZXlbXSwgYkRyYWZ0TW9kZTogQm9vbGVhbiwgb01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwpOiBGaWx0ZXIge1xuXHRjb25zdCBiRmlsdGVyQ2FzZVNlbnNpdGl2ZSA9IE1vZGVsSGVscGVyLmlzRmlsdGVyaW5nQ2FzZVNlbnNpdGl2ZShvTWV0YU1vZGVsKTtcblxuXHRsZXQgYkZpbHRlck9uQWN0aXZlRW50aXR5ID0gZmFsc2U7XG5cdGNvbnN0IGFGaWx0ZXJzID0gYUtleXMubWFwKGtleSA9PiB7XG5cdFx0aWYgKGtleS5uYW1lID09PSBcIklzQWN0aXZlRW50aXR5XCIpIHtcblx0XHRcdGJGaWx0ZXJPbkFjdGl2ZUVudGl0eSA9IHRydWU7XG5cdFx0fVxuXHRcdHJldHVybiBuZXcgRmlsdGVyKHtcblx0XHRcdHBhdGg6IGtleS5uYW1lLFxuXHRcdFx0b3BlcmF0b3I6IEZpbHRlck9wZXJhdG9yLkVRLFxuXHRcdFx0dmFsdWUxOiBrZXkudmFsdWUsXG5cdFx0XHRjYXNlU2Vuc2l0aXZlOiBiRmlsdGVyQ2FzZVNlbnNpdGl2ZVxuXHRcdH0pO1xuXHR9KTtcblx0aWYgKGJEcmFmdE1vZGUgJiYgIWJGaWx0ZXJPbkFjdGl2ZUVudGl0eSkge1xuXHRcdGNvbnN0IG9EcmFmdEZpbHRlciA9IG5ldyBGaWx0ZXIoe1xuXHRcdFx0ZmlsdGVyczogW25ldyBGaWx0ZXIoXCJJc0FjdGl2ZUVudGl0eVwiLCBcIkVRXCIsIGZhbHNlKSwgbmV3IEZpbHRlcihcIlNpYmxpbmdFbnRpdHkvSXNBY3RpdmVFbnRpdHlcIiwgXCJFUVwiLCBudWxsKV0sXG5cdFx0XHRhbmQ6IGZhbHNlXG5cdFx0fSk7XG5cdFx0YUZpbHRlcnMucHVzaChvRHJhZnRGaWx0ZXIpO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBGaWx0ZXIoYUZpbHRlcnMsIHRydWUpO1xufVxuXG4vKipcbiAqIExvYWRzIGFsbCBjb250ZXh0cyBmb3IgYSBsaXN0IG9mIHBhZ2UgaW5mb3MuXG4gKlxuICogQHBhcmFtIGFTdGFydHVwUGFnZXMgVGhlIGxpc3Qgb2YgcGFnZSBpbmZvc1xuICogQHBhcmFtIG9Nb2RlbCBUaGUgbW9kZWwgdXNlZCB0byBsb2FkIHRoZSBjb250ZXh0c1xuICogQHJldHVybnMgQSBQcm9taXNlIGZvciBhbGwgY29udGV4dHNcbiAqL1xuZnVuY3Rpb24gX3JlcXVlc3RPYmplY3RzRnJvbVBhcmFtZXRlcnMoYVN0YXJ0dXBQYWdlczogUGFnZUluZm9bXSwgb01vZGVsOiBPRGF0YU1vZGVsKTogUHJvbWlzZTxDb250ZXh0W11bXT4ge1xuXHQvLyBMb2FkIHRoZSByZXNwZWN0aXZlIG9iamVjdHMgZm9yIGFsbCBvYmplY3QgcGFnZXMgZm91bmQgaW4gYUV4dGVybmFsbHlOYXZpZ2FibGVQYWdlc1xuXHRjb25zdCBhQ29udGV4dFByb21pc2VzID0gYVN0YXJ0dXBQYWdlcy5tYXAocGFnZUluZm8gPT4ge1xuXHRcdGNvbnN0IGFLZXlzID0gcGFnZUluZm8uc2VtYW50aWNLZXlzIHx8IHBhZ2VJbmZvLnRlY2huaWNhbEtleXMgfHwgW107XG5cdFx0Y29uc3Qgb0ZpbHRlciA9IF9jcmVhdGVGaWx0ZXJGcm9tS2V5cyhhS2V5cywgcGFnZUluZm8uZHJhZnRNb2RlLCBvTW9kZWwuZ2V0TWV0YU1vZGVsKCkpO1xuXG5cdFx0Ly8gb25seSByZXF1ZXN0IGEgbWluaW11bSBvZiBmaWVsZHMgdG8gYm9vc3QgYmFja2VuZCBwZXJmb3JtYW5jZSBzaW5jZSB0aGlzIGlzIG9ubHkgdXNlZCB0byBjaGVjayBpZiBhbiBvYmplY3QgZXhpc3RzXG5cdFx0Y29uc3Qgb0xpc3RCaW5kID0gb01vZGVsLmJpbmRMaXN0KHBhZ2VJbmZvLmNvbnRleHRQYXRoLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgb0ZpbHRlciwge1xuXHRcdFx0XCIkc2VsZWN0XCI6IGFLZXlzXG5cdFx0XHRcdC5tYXAoa2V5ID0+IHtcblx0XHRcdFx0XHRyZXR1cm4ga2V5Lm5hbWU7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5qb2luKFwiLFwiKVxuXHRcdH0gYXMgYW55KTtcblx0XHRyZXR1cm4gb0xpc3RCaW5kLnJlcXVlc3RDb250ZXh0cygwLCAyKTtcblx0fSk7XG5cblx0cmV0dXJuIFByb21pc2UuYWxsKGFDb250ZXh0UHJvbWlzZXMpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGxpc3Qgb2YgYWxsIHBhZ2VzIHRoYXQgYWxsb3cgZGVlcGxpbmsgYW5kIHRoYXQgY2FuIGJlIHJlYWNoZWQgdXNpbmcgdGhlIHN0YXJ0dXAgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0gb01hbmlmZXN0Um91dGluZyBUaGUgcm91dGluZyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBhcHAgbWFuaWZlc3RcbiAqIEBwYXJhbSBvU3RhcnR1cFBhcmFtZXRlcnMgVGhlIHN0YXJ0dXAgcGFyYW1ldGVyc1xuICogQHBhcmFtIG9NZXRhTW9kZWwgVGhlIG1ldGFtb2RlbFxuICogQHJldHVybnNcbiAqL1xuZnVuY3Rpb24gX2dldFJlYWNoYWJsZVBhZ2VzKG9NYW5pZmVzdFJvdXRpbmc6IGFueSwgb1N0YXJ0dXBQYXJhbWV0ZXJzOiBhbnksIG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsKTogUGFnZUluZm9bXVtdIHtcblx0Y29uc3QgYVJvdXRlczogYW55W10gPSBvTWFuaWZlc3RSb3V0aW5nLnJvdXRlcztcblx0Y29uc3QgbVBhZ2VzQnlMZXZlbDogUmVjb3JkPG51bWJlciwgUGFnZUluZm9bXT4gPSB7fTtcblxuXHRhUm91dGVzLmZvckVhY2gob1JvdXRlID0+IHtcblx0XHRsZXQgc1BhdHRlcm46IHN0cmluZyA9IG9Sb3V0ZS5wYXR0ZXJuLnJlcGxhY2UoXCI6P3F1ZXJ5OlwiLCBcIlwiKTtcblx0XHRpZiAoc1BhdHRlcm4uZW5kc1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRzUGF0dGVybiA9IHNQYXR0ZXJuLnN1YnN0cigwLCBzUGF0dGVybi5sZW5ndGggLSAxKTtcblx0XHR9XG5cblx0XHRpZiAoc1BhdHRlcm4pIHtcblx0XHRcdC8vIElnbm9yZSBsZXZlbC0wIHJvdXRlcyAoTGlzdFJlcG9ydClcblx0XHRcdHNQYXR0ZXJuID0gc1BhdHRlcm4ucmVwbGFjZSgvXFwoXFx7W15cXH1dKlxcfVxcKS9nLCBcIigjKVwiKTsgLy8gUmVwbGFjZSBrZXlzIHdpdGggI1xuXG5cdFx0XHQvLyBHZXQgdGhlIHJpZ2h0bW9zdCB0YXJnZXQgZm9yIHRoaXMgcm91dGVcblx0XHRcdGNvbnN0IHNUYXJnZXROYW1lOiBzdHJpbmcgPSBBcnJheS5pc0FycmF5KG9Sb3V0ZS50YXJnZXQpID8gb1JvdXRlLnRhcmdldFtvUm91dGUudGFyZ2V0Lmxlbmd0aCAtIDFdIDogb1JvdXRlLnRhcmdldDtcblx0XHRcdGNvbnN0IG9UYXJnZXQgPSBvTWFuaWZlc3RSb3V0aW5nLnRhcmdldHNbc1RhcmdldE5hbWVdO1xuXG5cdFx0XHRjb25zdCBhUGF0dGVyblNlZ21lbnRzID0gc1BhdHRlcm4uc3BsaXQoXCIvXCIpO1xuXHRcdFx0Y29uc3QgcGFnZUxldmVsID0gYVBhdHRlcm5TZWdtZW50cy5sZW5ndGggLSAxO1xuXG5cdFx0XHQvLyBUaGUgZmlyc3QgbGV2ZWwgb2Ygb2JqZWN0IHBhZ2UgYWxsb3dzIGRlZXAgbGlua2luZyBieSBkZWZhdWx0LlxuXHRcdFx0Ly8gT3RoZXJ3aXNlLCB0aGUgdGFyZ2V0IG11c3QgYWxsb3cgZGVlcCBsaW5raW5nIGV4cGxpY2l0ZWx5IGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0aWYgKHBhZ2VMZXZlbCA9PT0gMCB8fCBvVGFyZ2V0Py5vcHRpb25zPy5zZXR0aW5ncz8uYWxsb3dEZWVwTGlua2luZykge1xuXHRcdFx0XHRjb25zdCBzQ29udGV4dFBhdGg6IHN0cmluZyA9XG5cdFx0XHRcdFx0b1RhcmdldC5vcHRpb25zLnNldHRpbmdzLmNvbnRleHRQYXRoIHx8XG5cdFx0XHRcdFx0KG9UYXJnZXQub3B0aW9ucy5zZXR0aW5ncy5lbnRpdHlTZXQgJiYgXCIvXCIgKyBvVGFyZ2V0Lm9wdGlvbnMuc2V0dGluZ3MuZW50aXR5U2V0KTtcblx0XHRcdFx0Y29uc3Qgb0VudGl0eVR5cGUgPSBzQ29udGV4dFBhdGggJiYgb01ldGFNb2RlbC5nZXRPYmplY3QoXCIvJEVudGl0eUNvbnRhaW5lclwiICsgc0NvbnRleHRQYXRoICsgXCIvXCIpO1xuXG5cdFx0XHRcdGlmIChvRW50aXR5VHlwZSkge1xuXHRcdFx0XHRcdC8vIEdldCB0aGUgc2VtYW50aWMga2V5IHZhbHVlcyBmb3IgdGhlIGVudGl0eVxuXHRcdFx0XHRcdGNvbnN0IGFTZW1hbnRpY0tleU5hbWVzOiBhbnkgPSBvTWV0YU1vZGVsLmdldE9iamVjdChcblx0XHRcdFx0XHRcdFwiLyRFbnRpdHlDb250YWluZXJcIiArIHNDb250ZXh0UGF0aCArIFwiL0Bjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuU2VtYW50aWNLZXlcIlxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0Y29uc3QgYVNlbWFudGlja0tleXMgPSBhU2VtYW50aWNLZXlOYW1lc1xuXHRcdFx0XHRcdFx0PyBfZ2V0S2V5c0Zyb21TdGFydHVwUGFyYW1zKFxuXHRcdFx0XHRcdFx0XHRcdGFTZW1hbnRpY0tleU5hbWVzLm1hcCgoc2VtS2V5OiBhbnkpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZW1LZXkuJFByb3BlcnR5UGF0aCBhcyBzdHJpbmc7XG5cdFx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdFx0b1N0YXJ0dXBQYXJhbWV0ZXJzXG5cdFx0XHRcdFx0XHQgIClcblx0XHRcdFx0XHRcdDogdW5kZWZpbmVkO1xuXG5cdFx0XHRcdFx0Ly8gR2V0IHRoZSB0ZWNobmljYWwga2V5cyBvbmx5IGlmIHdlIGNvdWxkbid0IGZpbmQgdGhlIHNlbWFudGljIGtleSB2YWx1ZXMsIGFuZCBvbiBmaXJzdCBsZXZlbCBPUFxuXHRcdFx0XHRcdGNvbnN0IGFUZWNobmljYWxLZXlzID1cblx0XHRcdFx0XHRcdCFhU2VtYW50aWNrS2V5cyAmJiBwYWdlTGV2ZWwgPT09IDAgPyBfZ2V0S2V5c0Zyb21TdGFydHVwUGFyYW1zKG9FbnRpdHlUeXBlW1wiJEtleVwiXSwgb1N0YXJ0dXBQYXJhbWV0ZXJzKSA6IHVuZGVmaW5lZDtcblxuXHRcdFx0XHRcdGlmIChhU2VtYW50aWNrS2V5cyB8fCBhVGVjaG5pY2FsS2V5cykge1xuXHRcdFx0XHRcdFx0Ly8gVGhlIHN0YXJ0dXAgcGFyYW1ldGVycyBjb250YWluIHZhbHVlcyBmb3IgYWxsIHNlbWFudGljIGtleXMgKG9yIHRlY2huaWNhbCBrZXlzKSAtLT4gd2UgY2FuIHN0b3JlIHRoZSBwYWdlIGluZm8gaW4gdGhlIGNvcnJlc3BvbmRpbmcgbGV2ZWxcblx0XHRcdFx0XHRcdGNvbnN0IGRyYWZ0TW9kZSA9XG5cdFx0XHRcdFx0XHRcdG9NZXRhTW9kZWwuZ2V0T2JqZWN0KFwiLyRFbnRpdHlDb250YWluZXJcIiArIHNDb250ZXh0UGF0aCArIFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdFJvb3RcIikgfHxcblx0XHRcdFx0XHRcdFx0b01ldGFNb2RlbC5nZXRPYmplY3QoXCIvJEVudGl0eUNvbnRhaW5lclwiICsgc0NvbnRleHRQYXRoICsgXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLkRyYWZ0Tm9kZVwiKVxuXHRcdFx0XHRcdFx0XHRcdD8gdHJ1ZVxuXHRcdFx0XHRcdFx0XHRcdDogZmFsc2U7XG5cblx0XHRcdFx0XHRcdGlmICghbVBhZ2VzQnlMZXZlbFtwYWdlTGV2ZWxdKSB7XG5cdFx0XHRcdFx0XHRcdG1QYWdlc0J5TGV2ZWxbcGFnZUxldmVsXSA9IFtdO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0bVBhZ2VzQnlMZXZlbFtwYWdlTGV2ZWxdLnB1c2goe1xuXHRcdFx0XHRcdFx0XHRwYXR0ZXJuOiBzUGF0dGVybixcblx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg6IHNDb250ZXh0UGF0aCxcblx0XHRcdFx0XHRcdFx0ZHJhZnRNb2RlLFxuXHRcdFx0XHRcdFx0XHR0ZWNobmljYWxLZXlzOiBhVGVjaG5pY2FsS2V5cyxcblx0XHRcdFx0XHRcdFx0c2VtYW50aWNLZXlzOiBhU2VtYW50aWNrS2V5cyxcblx0XHRcdFx0XHRcdFx0dGFyZ2V0OiBzVGFyZ2V0TmFtZVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9KTtcblxuXHQvLyBBIHBhZ2UgaXMgcmVhY2hhYmxlIG9ubHkgaWYgYWxsIGl0cyBwYXJlbnRzIGFyZSBhbHNvIHJlYWNoYWJsZVxuXHQvLyBTbyBpZiB3ZSBjb3VsZG4ndCBmaW5kIGFueSBwYWdlcyBmb3IgYSBnaXZlbiBsZXZlbCwgYWxsIHBhZ2VzIHdpdGggYSBoaWdoZXIgbGV2ZWwgd29uJ3QgYmUgcmVhY2hhYmxlIGFueXdheVxuXHRjb25zdCBhUmVhY2hhYmxlUGFnZXM6IFBhZ2VJbmZvW11bXSA9IFtdO1xuXHRsZXQgbGV2ZWwgPSAwO1xuXHR3aGlsZSAobVBhZ2VzQnlMZXZlbFtsZXZlbF0pIHtcblx0XHRhUmVhY2hhYmxlUGFnZXMucHVzaChtUGFnZXNCeUxldmVsW2xldmVsXSk7XG5cdFx0bGV2ZWwrKztcblx0fVxuXG5cdHJldHVybiBhUmVhY2hhYmxlUGFnZXM7XG59XG5cbi8qKlxuICogR2V0IHRoZSBsaXN0IG9mIHN0YXJ0dXAgcGFnZXMuXG4gKlxuICogQHBhcmFtIG9NYW5pZmVzdFJvdXRpbmcgVGhlIHJvdXRpbmcgaW5mb3JtYXRpb24gZnJvbSB0aGUgYXBwIG1hbmlmZXN0XG4gKiBAcGFyYW0gb1N0YXJ0dXBQYXJhbWV0ZXJzIFRoZSBzdGFydHVwIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSBvTWV0YU1vZGVsIFRoZSBtZXRhbW9kZWxcbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHN0YXJ0dXAgcGFnZSBpbmZvc1xuICovXG5mdW5jdGlvbiBfZ2V0U3RhcnR1cFBhZ2VzRnJvbVN0YXJ0dXBQYXJhbXMob01hbmlmZXN0Um91dGluZzogYW55LCBvU3RhcnR1cFBhcmFtZXRlcnM6IGFueSwgb01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwpOiBQYWdlSW5mb1tdIHtcblx0Ly8gRmluZCBhbGwgcGFnZXMgdGhhdCBjYW4gYmUgcmVhY2hlZCB3aXRoIHRoZSBzdGFydHVwIHBhcmFtZXRlcnNcblx0Y29uc3QgYVJlYWNoYWJsZVBhZ2VzID0gX2dldFJlYWNoYWJsZVBhZ2VzKG9NYW5pZmVzdFJvdXRpbmcsIG9TdGFydHVwUGFyYW1ldGVycywgb01ldGFNb2RlbCk7XG5cblx0aWYgKGFSZWFjaGFibGVQYWdlcy5sZW5ndGggPT09IDApIHtcblx0XHRyZXR1cm4gW107XG5cdH1cblxuXHQvLyBGaW5kIHRoZSBsb25nZXN0IHNlcXVlbmNlIG9mIHBhZ2VzIHRoYXQgY2FuIGJlIHJlYWNoZWQgKHJlY3Vyc2l2ZWx5KVxuXHRsZXQgcmVzdWx0OiBQYWdlSW5mb1tdID0gW107XG5cdGNvbnN0IGN1cnJlbnQ6IFBhZ2VJbmZvW10gPSBbXTtcblxuXHRmdW5jdGlvbiBmaW5kUmVjdXJzaXZlKGxldmVsOiBudW1iZXIpIHtcblx0XHRjb25zdCBhQ3VycmVudExldmVsUGFnZXMgPSBhUmVhY2hhYmxlUGFnZXNbbGV2ZWxdO1xuXHRcdGNvbnN0IGxhc3RQYWdlID0gY3VycmVudC5sZW5ndGggPyBjdXJyZW50W2N1cnJlbnQubGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG5cblx0XHRpZiAoYUN1cnJlbnRMZXZlbFBhZ2VzKSB7XG5cdFx0XHRhQ3VycmVudExldmVsUGFnZXMuZm9yRWFjaChmdW5jdGlvbihuZXh0UGFnZSkge1xuXHRcdFx0XHRpZiAoIWxhc3RQYWdlIHx8IG5leHRQYWdlLnBhdHRlcm4uaW5kZXhPZihsYXN0UGFnZS5wYXR0ZXJuKSA9PT0gMCkge1xuXHRcdFx0XHRcdC8vIFdlIG9ubHkgY29uc2lkZXIgcGFnZXMgdGhhdCBjYW4gYmUgcmVhY2hlZCBmcm9tIHRoZSBwYWdlIGF0IHRoZSBwcmV2aW91cyBsZXZlbCxcblx0XHRcdFx0XHQvLyAtLT4gdGhlaXIgcGF0dGVybiBtdXN0IGJlIHRoZSBwYXR0ZXJuIG9mIHRoZSBwcmV2aW91cyBwYWdlIHdpdGggYW5vdGhlciBzZWdtZW50IGFwcGVuZGVkXG5cdFx0XHRcdFx0Y3VycmVudC5wdXNoKG5leHRQYWdlKTtcblx0XHRcdFx0XHRmaW5kUmVjdXJzaXZlKGxldmVsICsgMSk7XG5cdFx0XHRcdFx0Y3VycmVudC5wb3AoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdGlmIChjdXJyZW50Lmxlbmd0aCA+IHJlc3VsdC5sZW5ndGgpIHtcblx0XHRcdHJlc3VsdCA9IGN1cnJlbnQuc2xpY2UoKTsgLy8gV2UgaGF2ZSBmb3VuZCBhIHNlcXVlbmNlIGxvbmdlciB0aGFuIG91ciBwcmV2aW91cyBiZXN0IC0tPiBzdG9yZSBpdCBhcyB0aGUgbmV3IGxvbmdlc3Rcblx0XHR9XG5cdH1cblxuXHRmaW5kUmVjdXJzaXZlKDApO1xuXG5cdHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgc3RhcnR1cCBvYmplY3QgZnJvbSB0aGUgbGlzdCBvZiBwYWdlcyBhbmQgY29udGV4dHMuXG4gKlxuICogQHBhcmFtIGFTdGFydHVwUGFnZXMgVGhlIHBhZ2VzXG4gKiBAcGFyYW0gYUNvbnRleHRzIFRoZSBjb250ZXh0c1xuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgZWl0aGVyIGEgaGFzaCBvciBhIGNvbnRleHQgdG8gbmF2aWdhdGUgdG8sIG9yIGFuIGVtcHR5IG9iamVjdCBpZiBubyBkZWVwIGxpbmsgd2FzIGZvdW5kXG4gKi9cbmZ1bmN0aW9uIF9nZXREZWVwTGlua09iamVjdChhU3RhcnR1cFBhZ2VzOiBQYWdlSW5mb1tdLCBhQ29udGV4dHM6IENvbnRleHRbXSk6IHsgaGFzaD86IHN0cmluZzsgY29udGV4dD86IENvbnRleHQgfSB7XG5cdGlmIChhQ29udGV4dHMubGVuZ3RoID09PSAxKSB7XG5cdFx0cmV0dXJuIHsgY29udGV4dDogYUNvbnRleHRzWzBdIH07XG5cdH0gZWxzZSBpZiAoYUNvbnRleHRzLmxlbmd0aCA+IDEpIHtcblx0XHQvLyBOYXZpZ2F0aW9uIHRvIGEgZGVlcGVyIGxldmVsIC0tPiB1c2UgdGhlIHBhdHRlcm4gb2YgdGhlIGRlZXBlc3Qgb2JqZWN0IHBhZ2Vcblx0XHQvLyBhbmQgcmVwbGFjZSB0aGUgcGFyYW1ldGVycyBieSB0aGUgSUQgZnJvbSB0aGUgY29udGV4dHNcblx0XHRsZXQgaGFzaCA9IGFTdGFydHVwUGFnZXNbYVN0YXJ0dXBQYWdlcy5sZW5ndGggLSAxXS5wYXR0ZXJuO1xuXHRcdGFDb250ZXh0cy5mb3JFYWNoKGZ1bmN0aW9uKG9Db250ZXh0KSB7XG5cdFx0XHRoYXNoID0gaGFzaC5yZXBsYWNlKFwiKCMpXCIsIFwiKFwiICsgb0NvbnRleHQuZ2V0UGF0aCgpLnNwbGl0KFwiKFwiKVsxXSk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4geyBoYXNoIH07XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIHt9O1xuXHR9XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlcyBzdGFydHVwIHBhcmFtZXRlcnMgZm9yIGEgZGVlcGxpbmsgY2FzZSwgZnJvbSBzdGFydHVwIHBhcmFtZXRlcnMgYW5kIHJvdXRpbmcgaW5mb2lybWF0aW9uLlxuICpcbiAqIEBwYXJhbSBvTWFuaWZlc3RSb3V0aW5nIFRoZSByb3V0aW5nIGluZm9ybWF0aW9uIGZyb20gdGhlIGFwcCBtYW5pZmVzdFxuICogQHBhcmFtIG9TdGFydHVwUGFyYW1ldGVycyBUaGUgc3RhcnR1cCBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0gb01vZGVsIFRoZSBPRGF0YSBtb2RlbFxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgZWl0aGVyIGEgaGFzaCBvciBhIGNvbnRleHQgdG8gbmF2aWdhdGUgdG8sIG9yIGFuIGVtcHR5IG9iamVjdCBpZiBubyBkZWVwIGxpbmsgd2FzIGZvdW5kXG4gKi9cbmZ1bmN0aW9uIGdldERlZXBMaW5rU3RhcnR1cEhhc2goXG5cdG9NYW5pZmVzdFJvdXRpbmc6IGFueSxcblx0b1N0YXJ0dXBQYXJhbWV0ZXJzOiBhbnksXG5cdG9Nb2RlbDogT0RhdGFNb2RlbFxuKTogUHJvbWlzZTx7IGhhc2g/OiBzdHJpbmc7IGNvbnRleHQ/OiBDb250ZXh0IH0+IHtcblx0bGV0IGFTdGFydHVwUGFnZXM6IFBhZ2VJbmZvW107XG5cblx0cmV0dXJuIG9Nb2RlbFxuXHRcdC5nZXRNZXRhTW9kZWwoKVxuXHRcdC5yZXF1ZXN0T2JqZWN0KFwiLyRFbnRpdHlDb250YWluZXIvXCIpXG5cdFx0LnRoZW4oKCkgPT4ge1xuXHRcdFx0Ly8gQ2hlY2sgaWYgc2VtYW50aWMga2V5cyBhcmUgcHJlc2VudCBpbiB1cmwgcGFyYW1ldGVycyBmb3IgZXZlcnkgb2JqZWN0IHBhZ2UgYXQgZWFjaCBsZXZlbFxuXHRcdFx0YVN0YXJ0dXBQYWdlcyA9IF9nZXRTdGFydHVwUGFnZXNGcm9tU3RhcnR1cFBhcmFtcyhvTWFuaWZlc3RSb3V0aW5nLCBvU3RhcnR1cFBhcmFtZXRlcnMsIG9Nb2RlbC5nZXRNZXRhTW9kZWwoKSk7XG5cblx0XHRcdHJldHVybiBfcmVxdWVzdE9iamVjdHNGcm9tUGFyYW1ldGVycyhhU3RhcnR1cFBhZ2VzLCBvTW9kZWwpO1xuXHRcdH0pXG5cdFx0LnRoZW4oKGFWYWx1ZXM6IENvbnRleHRbXVtdKSA9PiB7XG5cdFx0XHRpZiAoYVZhbHVlcy5sZW5ndGgpIHtcblx0XHRcdFx0Ly8gTWFrZSBzdXJlIHdlIG9ubHkgZ2V0IDEgY29udGV4dCBwZXIgcHJvbWlzZSwgYW5kIGZsYXR0ZW4gdGhlIGFycmF5XG5cdFx0XHRcdGNvbnN0IGFDb250ZXh0czogQ29udGV4dFtdID0gW107XG5cdFx0XHRcdGFWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbihhRm91bmRDb250ZXh0cykge1xuXHRcdFx0XHRcdGlmIChhRm91bmRDb250ZXh0cy5sZW5ndGggPT09IDEpIHtcblx0XHRcdFx0XHRcdGFDb250ZXh0cy5wdXNoKGFGb3VuZENvbnRleHRzWzBdKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXG5cdFx0XHRcdHJldHVybiBhQ29udGV4dHMubGVuZ3RoID09PSBhVmFsdWVzLmxlbmd0aCA/IF9nZXREZWVwTGlua09iamVjdChhU3RhcnR1cFBhZ2VzLCBhQ29udGV4dHMpIDoge307XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4ge307XG5cdFx0XHR9XG5cdFx0fSk7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgbmV3IGhhc2ggYmFzZWQgb24gdGhlIHN0YXJ0dXAgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0gb1N0YXJ0dXBQYXJhbWV0ZXJzIFRoZSBzdGFydHVwIHBhcmFtZXRlciB2YWx1ZXMgKG1hcCBwYXJhbWV0ZXIgbmFtZSAtPiBhcnJheSBvZiB2YWx1ZXMpXG4gKiBAcGFyYW0gc0NvbnRleHRQYXRoIFRoZSBjb250ZXh0IHBhdGggZm9yIHRoZSBzdGFydHVwIG9mIHRoZSBhcHAgKGdlbmVyYWxseSB0aGUgcGF0aCB0byB0aGUgbWFpbiBlbnRpdHkgc2V0KVxuICogQHBhcmFtIG9Sb3V0ZXIgVGhlIHJvdXRlciBpbnN0YW5jZVxuICogQHBhcmFtIG9NZXRhTW9kZWwgVGhlIG1ldGEgbW9kZWxcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSBjb250YWluaW5nIHRoZSBoYXNoIHRvIG5hdmlnYXRlIHRvLCBvciBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUncyBubyBuZWVkIHRvIG5hdmlnYXRlXG4gKi9cbmZ1bmN0aW9uIGdldENyZWF0ZVN0YXJ0dXBIYXNoKG9TdGFydHVwUGFyYW1ldGVyczogYW55LCBzQ29udGV4dFBhdGg6IHN0cmluZywgb1JvdXRlcjogUm91dGVyLCBvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCk6IFByb21pc2U8U3RyaW5nPiB7XG5cdHJldHVybiBvTWV0YU1vZGVsLnJlcXVlc3RPYmplY3Qoc0NvbnRleHRQYXRoICsgXCJAXCIpLnRoZW4oZnVuY3Rpb24ob0VudGl0eVNldEFubm90YXRpb25zOiBhbnkpIHtcblx0XHRsZXQgc01ldGFQYXRoID0gXCJcIjtcblx0XHRsZXQgYkNyZWF0YWJsZSA9IHRydWU7XG5cblx0XHRpZiAoXG5cdFx0XHRvRW50aXR5U2V0QW5ub3RhdGlvbnNbXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLkRyYWZ0Um9vdFwiXSAmJlxuXHRcdFx0b0VudGl0eVNldEFubm90YXRpb25zW1wiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdFJvb3RcIl1bXCJOZXdBY3Rpb25cIl1cblx0XHQpIHtcblx0XHRcdHNNZXRhUGF0aCA9IHNDb250ZXh0UGF0aCArIFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdFJvb3QvTmV3QWN0aW9uQE9yZy5PRGF0YS5Db3JlLlYxLk9wZXJhdGlvbkF2YWlsYWJsZVwiO1xuXHRcdH0gZWxzZSBpZiAoXG5cdFx0XHRvRW50aXR5U2V0QW5ub3RhdGlvbnNbXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuU2Vzc2lvbi52MS5TdGlja3lTZXNzaW9uU3VwcG9ydGVkXCJdICYmXG5cdFx0XHRvRW50aXR5U2V0QW5ub3RhdGlvbnNbXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuU2Vzc2lvbi52MS5TdGlja3lTZXNzaW9uU3VwcG9ydGVkXCJdW1wiTmV3QWN0aW9uXCJdXG5cdFx0KSB7XG5cdFx0XHRzTWV0YVBhdGggPVxuXHRcdFx0XHRzQ29udGV4dFBhdGggKyBcIkBjb20uc2FwLnZvY2FidWxhcmllcy5TZXNzaW9uLnYxLlN0aWNreVNlc3Npb25TdXBwb3J0ZWQvTmV3QWN0aW9uQE9yZy5PRGF0YS5Db3JlLlYxLk9wZXJhdGlvbkF2YWlsYWJsZVwiO1xuXHRcdH1cblxuXHRcdGlmIChzTWV0YVBhdGgpIHtcblx0XHRcdGNvbnN0IGJOZXdBY3Rpb25PcGVyYXRpb25BdmFpbGFibGUgPSBvTWV0YU1vZGVsLmdldE9iamVjdChzTWV0YVBhdGgpO1xuXHRcdFx0aWYgKGJOZXdBY3Rpb25PcGVyYXRpb25BdmFpbGFibGUgPT09IGZhbHNlKSB7XG5cdFx0XHRcdGJDcmVhdGFibGUgPSBmYWxzZTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc3Qgb0luc2VydFJlc3RyaWN0aW9ucyA9IG9FbnRpdHlTZXRBbm5vdGF0aW9uc1tcIkBPcmcuT0RhdGEuQ2FwYWJpbGl0aWVzLlYxLkluc2VydFJlc3RyaWN0aW9uc1wiXTtcblx0XHRcdGlmIChvSW5zZXJ0UmVzdHJpY3Rpb25zICYmIG9JbnNlcnRSZXN0cmljdGlvbnMuSW5zZXJ0YWJsZSA9PT0gZmFsc2UpIHtcblx0XHRcdFx0YkNyZWF0YWJsZSA9IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoYkNyZWF0YWJsZSkge1xuXHRcdFx0cmV0dXJuIGdldERlZmF1bHRDcmVhdGVIYXNoKG9TdGFydHVwUGFyYW1ldGVycywgc0NvbnRleHRQYXRoLCBvUm91dGVyKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIFwiXCI7XG5cdFx0fVxuXHR9KTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBoYXNoIHRvIGNyZWF0ZSBhIG5ldyBvYmplY3QuXG4gKlxuICogQHBhcmFtIG9TdGFydHVwUGFyYW1ldGVycyBUaGUgc3RhcnR1cCBwYXJhbWV0ZXIgdmFsdWVzIChtYXAgcGFyYW1ldGVyIG5hbWUgLT4gYXJyYXkgb2YgdmFsdWVzKVxuICogQHBhcmFtIHNDb250ZXh0UGF0aCBUaGUgY29udGV4dCBwYXRoIG9mIHRoZSBlbnRpdHkgc2V0IHRvIGJlIHVzZWQgZm9yIHRoZSBjcmVhdGlvblxuICogQHBhcmFtIG9Sb3V0ZXIgVGhlIHJvdXRlciBpbnN0YW5jZVxuICogQHJldHVybnMgVGhlIGhhc2hcbiAqL1xuZnVuY3Rpb24gZ2V0RGVmYXVsdENyZWF0ZUhhc2gob1N0YXJ0dXBQYXJhbWV0ZXJzOiBhbnksIHNDb250ZXh0UGF0aDogc3RyaW5nLCBvUm91dGVyOiBSb3V0ZXIpOiBzdHJpbmcge1xuXHRsZXQgc0RlZmF1bHRDcmVhdGVIYXNoID1cblx0XHRvU3RhcnR1cFBhcmFtZXRlcnMgJiYgb1N0YXJ0dXBQYXJhbWV0ZXJzLnByZWZlcnJlZE1vZGUgPyAob1N0YXJ0dXBQYXJhbWV0ZXJzLnByZWZlcnJlZE1vZGVbMF0gYXMgc3RyaW5nKSA6IFwiY3JlYXRlXCI7XG5cdGxldCBzSGFzaCA9IFwiXCI7XG5cblx0c0RlZmF1bHRDcmVhdGVIYXNoID1cblx0XHRzRGVmYXVsdENyZWF0ZUhhc2guaW5kZXhPZihcIjpcIikgIT09IC0xICYmIHNEZWZhdWx0Q3JlYXRlSGFzaC5sZW5ndGggPiBzRGVmYXVsdENyZWF0ZUhhc2guaW5kZXhPZihcIjpcIikgKyAxXG5cdFx0XHQ/IHNEZWZhdWx0Q3JlYXRlSGFzaC5zdWJzdHIoMCwgc0RlZmF1bHRDcmVhdGVIYXNoLmluZGV4T2YoXCI6XCIpKVxuXHRcdFx0OiBcImNyZWF0ZVwiO1xuXHRzSGFzaCA9IHNDb250ZXh0UGF0aC5zdWJzdHJpbmcoMSkgKyBcIiguLi4pP2ktYWN0aW9uPVwiICsgc0RlZmF1bHRDcmVhdGVIYXNoO1xuXHRpZiAob1JvdXRlci5nZXRSb3V0ZUluZm9CeUhhc2goc0hhc2gpKSB7XG5cdFx0cmV0dXJuIHNIYXNoO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIk5vIHJvdXRlIG1hdGNoIGZvciBjcmVhdGluZyBhIG5ldyBcIiArIHNDb250ZXh0UGF0aC5zdWJzdHJpbmcoMSkpO1xuXHR9XG59XG5cbmNvbnN0IEFwcFN0YXJ0dXBIZWxwZXIgPSB7XG5cdF9nZXRLZXlzRnJvbVN0YXJ0dXBQYXJhbXMsXG5cdF9jcmVhdGVGaWx0ZXJGcm9tS2V5cyxcblx0X3JlcXVlc3RPYmplY3RzRnJvbVBhcmFtZXRlcnMsXG5cdF9nZXRSZWFjaGFibGVQYWdlcyxcblx0X2dldFN0YXJ0dXBQYWdlc0Zyb21TdGFydHVwUGFyYW1zLFxuXHRfZ2V0RGVlcExpbmtPYmplY3QsXG5cdGdldERlZXBMaW5rU3RhcnR1cEhhc2gsXG5cdGdldENyZWF0ZVN0YXJ0dXBIYXNoLFxuXHRnZXREZWZhdWx0Q3JlYXRlSGFzaFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwU3RhcnR1cEhlbHBlcjtcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/ui/model/Filter","sap/ui/model/FilterOperator","sap/fe/core/helpers/ModelHelper"],function(F,a,M){"use strict";function _(k,s){var j=true;var K=k.map(function(n){if(s[n]&&s[n].length===1){return{name:n,value:s[n][0]};}else{j=false;return{name:n,value:""};}});return j?K:undefined;}function b(k,D,m){var j=M.isFilteringCaseSensitive(m);var l=false;var n=k.map(function(p){if(p.name==="IsActiveEntity"){l=true;}return new F({path:p.name,operator:a.EQ,value1:p.value,caseSensitive:j});});if(D&&!l){var o=new F({filters:[new F("IsActiveEntity","EQ",false),new F("SiblingEntity/IsActiveEntity","EQ",null)],and:false});n.push(o);}return new F(n,true);}function c(s,m){var C=s.map(function(p){var k=p.semanticKeys||p.technicalKeys||[];var o=b(k,p.draftMode,m.getMetaModel());var l=m.bindList(p.contextPath,undefined,undefined,o,{"$select":k.map(function(j){return j.name;}).join(",")});return l.requestContexts(0,2);});return Promise.all(C);}function d(m,s,o){var r=m.routes;var p={};r.forEach(function(j){var P=j.pattern.replace(":?query:","");if(P.endsWith("/")){P=P.substr(0,P.length-1);}if(P){var k,n;P=P.replace(/\(\{[^\}]*\}\)/g,"(#)");var t=Array.isArray(j.target)?j.target[j.target.length-1]:j.target;var T=m.targets[t];var q=P.split("/");var u=q.length-1;if(u===0||T!==null&&T!==void 0&&(k=T.options)!==null&&k!==void 0&&(n=k.settings)!==null&&n!==void 0&&n.allowDeepLinking){var C=T.options.settings.contextPath||T.options.settings.entitySet&&"/"+T.options.settings.entitySet;var E=C&&o.getObject("/$EntityContainer"+C+"/");if(E){var S=o.getObject("/$EntityContainer"+C+"/@com.sap.vocabularies.Common.v1.SemanticKey");var v=S?_(S.map(function(y){return y.$PropertyPath;}),s):undefined;var w=!v&&u===0?_(E["$Key"],s):undefined;if(v||w){var x=o.getObject("/$EntityContainer"+C+"@com.sap.vocabularies.Common.v1.DraftRoot")||o.getObject("/$EntityContainer"+C+"@com.sap.vocabularies.Common.v1.DraftNode")?true:false;if(!p[u]){p[u]=[];}p[u].push({pattern:P,contextPath:C,draftMode:x,technicalKeys:w,semanticKeys:v,target:t});}}}}});var R=[];var l=0;while(p[l]){R.push(p[l]);l++;}return R;}function e(m,s,o){var r=d(m,s,o);if(r.length===0){return[];}var j=[];var k=[];function l(n){var C=r[n];var p=k.length?k[k.length-1]:undefined;if(C){C.forEach(function(q){if(!p||q.pattern.indexOf(p.pattern)===0){k.push(q);l(n+1);k.pop();}});}if(k.length>j.length){j=k.slice();}}l(0);return j;}function f(s,C){if(C.length===1){return{context:C[0]};}else if(C.length>1){var j=s[s.length-1].pattern;C.forEach(function(o){j=j.replace("(#)","("+o.getPath().split("(")[1]);});return{hash:j};}else{return{};}}function g(m,s,o){var S;return o.getMetaModel().requestObject("/$EntityContainer/").then(function(){S=e(m,s,o.getMetaModel());return c(S,o);}).then(function(v){if(v.length){var C=[];v.forEach(function(j){if(j.length===1){C.push(j[0]);}});return C.length===v.length?f(S,C):{};}else{return{};}});}function h(s,C,r,m){return m.requestObject(C+"@").then(function(E){var j="";var k=true;if(E["@com.sap.vocabularies.Common.v1.DraftRoot"]&&E["@com.sap.vocabularies.Common.v1.DraftRoot"]["NewAction"]){j=C+"@com.sap.vocabularies.Common.v1.DraftRoot/NewAction@Org.OData.Core.V1.OperationAvailable";}else if(E["@com.sap.vocabularies.Session.v1.StickySessionSupported"]&&E["@com.sap.vocabularies.Session.v1.StickySessionSupported"]["NewAction"]){j=C+"@com.sap.vocabularies.Session.v1.StickySessionSupported/NewAction@Org.OData.Core.V1.OperationAvailable";}if(j){var n=m.getObject(j);if(n===false){k=false;}}else{var I=E["@Org.OData.Capabilities.V1.InsertRestrictions"];if(I&&I.Insertable===false){k=false;}}if(k){return i(s,C,r);}else{return"";}});}function i(s,C,r){var D=s&&s.preferredMode?s.preferredMode[0]:"create";var H="";D=D.indexOf(":")!==-1&&D.length>D.indexOf(":")+1?D.substr(0,D.indexOf(":")):"create";H=C.substring(1)+"(...)?i-action="+D;if(r.getRouteInfoByHash(H)){return H;}else{throw new Error("No route match for creating a new "+C.substring(1));}}var A={_getKeysFromStartupParams:_,_createFilterFromKeys:b,_requestObjectsFromParameters:c,_getReachablePages:d,_getStartupPagesFromStartupParams:e,_getDeepLinkObject:f,getDeepLinkStartupHash:g,getCreateStartupHash:h,getDefaultCreateHash:i};return A;},false);
|