@sapui5/sap.fe.core 1.98.0 → 1.101.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 +8 -5
- package/src/sap/fe/core/.library +2 -3
- package/src/sap/fe/core/AnnotationHelper.js +328 -405
- package/src/sap/fe/core/AnnotationHelper.ts +321 -0
- package/src/sap/fe/core/AppComponent.js +382 -399
- package/src/sap/fe/core/AppComponent.ts +397 -0
- package/src/sap/fe/core/AppStateHandler.js +198 -181
- package/src/sap/fe/core/AppStateHandler.ts +171 -0
- package/src/sap/fe/core/BaseController.js +83 -58
- package/src/sap/fe/core/BaseController.ts +67 -0
- package/src/sap/fe/core/BusyLocker.js +105 -121
- package/src/sap/fe/core/BusyLocker.ts +98 -0
- package/src/sap/fe/core/CommonUtils.js +2221 -2399
- package/src/sap/fe/core/CommonUtils.ts +2248 -0
- package/src/sap/fe/core/ExtensionAPI.js +280 -274
- package/src/sap/fe/core/ExtensionAPI.ts +242 -0
- package/src/sap/fe/core/PageController.js +219 -131
- package/src/sap/fe/core/PageController.ts +129 -0
- package/src/sap/fe/core/RouterProxy.js +936 -823
- package/src/sap/fe/core/RouterProxy.ts +854 -0
- package/src/sap/fe/core/Synchronization.js +41 -35
- package/src/sap/fe/core/Synchronization.ts +29 -0
- package/src/sap/fe/core/TemplateComponent.js +248 -164
- package/src/sap/fe/core/TemplateComponent.ts +161 -0
- package/src/sap/fe/core/TemplateModel.js +77 -54
- package/src/sap/fe/core/TemplateModel.ts +63 -0
- package/src/sap/fe/core/TransactionHelper.js +1575 -1664
- package/src/sap/fe/core/TransactionHelper.ts +1736 -0
- package/src/sap/fe/core/actions/collaboration/ActivitySync.js +406 -0
- package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +362 -0
- package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +146 -0
- package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +129 -0
- package/src/sap/fe/core/actions/collaboration/Manage.js +264 -0
- package/src/sap/fe/core/actions/collaboration/Manage.ts +246 -0
- package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +100 -0
- package/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
- package/src/sap/fe/core/actions/draft.js +663 -608
- package/src/sap/fe/core/actions/draft.ts +669 -0
- package/src/sap/fe/core/actions/messageHandling.js +576 -514
- package/src/sap/fe/core/actions/messageHandling.ts +562 -0
- package/src/sap/fe/core/actions/nonDraft.js +17 -19
- package/src/sap/fe/core/actions/nonDraft.ts +12 -0
- package/src/sap/fe/core/actions/operations.js +1093 -1215
- package/src/sap/fe/core/actions/operations.ts +1193 -0
- package/src/sap/fe/core/actions/sticky.js +114 -104
- package/src/sap/fe/core/actions/sticky.ts +119 -0
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +60 -0
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +37 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +165 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +178 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +707 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +628 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +436 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +431 -0
- package/src/sap/fe/core/controllerextensions/EditFlow.js +1855 -1827
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +1792 -0
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +80 -54
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +60 -0
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +717 -512
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +785 -0
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +797 -815
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +810 -0
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1057 -1004
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +1001 -0
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +498 -533
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +36 -32
- package/src/sap/fe/core/controllerextensions/MassEdit.js +142 -77
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +155 -0
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +222 -236
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +215 -0
- package/src/sap/fe/core/controllerextensions/PageReady.js +312 -345
- package/src/sap/fe/core/controllerextensions/PageReady.ts +63 -55
- package/src/sap/fe/core/controllerextensions/Paginator.js +189 -175
- package/src/sap/fe/core/controllerextensions/Paginator.ts +169 -0
- package/src/sap/fe/core/controllerextensions/Placeholder.js +158 -149
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +149 -0
- package/src/sap/fe/core/controllerextensions/Routing.js +145 -121
- package/src/sap/fe/core/controllerextensions/Routing.ts +131 -0
- package/src/sap/fe/core/controllerextensions/RoutingListener.js +8 -6
- package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
- package/src/sap/fe/core/controllerextensions/Share.js +231 -268
- package/src/sap/fe/core/controllerextensions/Share.ts +231 -0
- package/src/sap/fe/core/controllerextensions/SideEffects.js +603 -644
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +79 -79
- package/src/sap/fe/core/controllerextensions/ViewState.js +775 -806
- package/src/sap/fe/core/controllerextensions/ViewState.ts +796 -0
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -2
- package/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
- package/src/sap/fe/core/controls/Any.js +28 -0
- package/src/sap/fe/core/controls/Any.ts +30 -0
- package/src/sap/fe/core/controls/CommandExecution.js +93 -68
- package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
- package/src/sap/fe/core/controls/ConditionalWrapper.js +166 -79
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +74 -0
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +366 -0
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +278 -0
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +168 -125
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +116 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +44 -5
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +164 -122
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +155 -0
- package/src/sap/fe/core/controls/FieldWrapper.js +213 -153
- package/src/sap/fe/core/controls/FieldWrapper.ts +104 -0
- package/src/sap/fe/core/controls/FileWrapper.js +313 -0
- package/src/sap/fe/core/controls/FileWrapper.ts +169 -0
- package/src/sap/fe/core/controls/FilterBar.js +198 -159
- package/src/sap/fe/core/controls/FilterBar.ts +148 -0
- package/src/sap/fe/core/controls/FormElementWrapper.js +101 -39
- package/src/sap/fe/core/controls/FormElementWrapper.ts +37 -0
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +38 -42
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +148 -115
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +102 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +301 -265
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +252 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +186 -140
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +336 -322
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +37 -42
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +76 -74
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +71 -0
- package/src/sap/fe/core/converters/ConverterContext.js +348 -379
- package/src/sap/fe/core/converters/ConverterContext.ts +23 -19
- package/src/sap/fe/core/converters/ManifestSettings.js +13 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +18 -2
- package/src/sap/fe/core/converters/ManifestWrapper.js +354 -365
- package/src/sap/fe/core/converters/ManifestWrapper.ts +19 -0
- package/src/sap/fe/core/converters/MetaModelConverter.js +16 -11
- package/src/sap/fe/core/converters/MetaModelConverter.ts +21 -18
- package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +4 -3
- package/src/sap/fe/core/converters/annotations/DataField.js +26 -13
- package/src/sap/fe/core/converters/annotations/DataField.ts +40 -17
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +17 -13
- package/src/sap/fe/core/converters/controls/Common/Action.js +11 -11
- package/src/sap/fe/core/converters/controls/Common/Action.ts +22 -21
- package/src/sap/fe/core/converters/controls/Common/Chart.js +12 -10
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +23 -14
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -3
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
- package/src/sap/fe/core/converters/controls/Common/Form.js +9 -7
- package/src/sap/fe/core/converters/controls/Common/Form.ts +23 -5
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +2 -2
- package/src/sap/fe/core/converters/controls/Common/Table.js +562 -218
- package/src/sap/fe/core/converters/controls/Common/Table.ts +670 -320
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +218 -94
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +265 -159
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +495 -77
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +535 -130
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +6 -6
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +20 -18
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +10 -7
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +13 -16
- package/src/sap/fe/core/converters/helpers/Aggregation.js +117 -127
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +20 -5
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +20 -6
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +12 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
- package/src/sap/fe/core/converters/helpers/IssueManager.js +4 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.ts +3 -0
- package/src/sap/fe/core/converters/helpers/Key.js +42 -57
- package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +0 -4
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +54 -30
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +69 -43
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +52 -28
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +111 -74
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +11 -9
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +8 -8
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +93 -98
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +104 -0
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
- package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
- package/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
- package/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
- package/src/sap/fe/core/formatters/KPIFormatter.js +3 -12
- package/src/sap/fe/core/formatters/KPIFormatter.ts +4 -1
- package/src/sap/fe/core/formatters/TableFormatter.js +91 -29
- package/src/sap/fe/core/formatters/TableFormatter.ts +94 -28
- package/src/sap/fe/core/formatters/ValueFormatter.js +4 -4
- package/src/sap/fe/core/formatters/ValueFormatter.ts +5 -7
- package/src/sap/fe/core/fpm/Component.js +81 -55
- package/src/sap/fe/core/fpm/Component.ts +43 -0
- package/src/sap/fe/core/helpers/AppStartupHelper.js +324 -310
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +370 -341
- package/src/sap/fe/core/helpers/BindingExpression.js +319 -360
- package/src/sap/fe/core/helpers/BindingExpression.ts +323 -397
- package/src/sap/fe/core/helpers/ClassSupport.js +321 -168
- package/src/sap/fe/core/helpers/ClassSupport.ts +362 -158
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +64 -59
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +52 -0
- package/src/sap/fe/core/helpers/EditState.js +81 -84
- package/src/sap/fe/core/helpers/EditState.ts +81 -0
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +62 -48
- package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
- package/src/sap/fe/core/helpers/FPMHelper.js +52 -56
- package/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +3 -4
- package/src/sap/fe/core/helpers/KeepAliveHelper.ts +9 -9
- package/src/sap/fe/core/helpers/MassEditHelper.js +736 -676
- package/src/sap/fe/core/helpers/MassEditHelper.ts +803 -0
- package/src/sap/fe/core/helpers/ModelHelper.js +281 -225
- package/src/sap/fe/core/helpers/ModelHelper.ts +273 -0
- package/src/sap/fe/core/helpers/PasteHelper.js +210 -132
- package/src/sap/fe/core/helpers/PasteHelper.ts +197 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +336 -313
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +336 -0
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +66 -67
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
- package/src/sap/fe/core/helpers/StableIdHelper.js +1 -10
- package/src/sap/fe/core/helpers/StableIdHelper.ts +2 -10
- package/src/sap/fe/core/jsx-runtime/jsx.js +35 -5
- package/src/sap/fe/core/jsx-runtime/jsx.ts +23 -9
- package/src/sap/fe/core/library.js +426 -451
- package/src/sap/fe/core/library.support.js +23 -33
- package/src/sap/fe/core/library.support.ts +23 -0
- package/src/sap/fe/core/library.ts +420 -0
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -3
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +5 -5
- package/src/sap/fe/core/messagebundle.properties +63 -18
- package/src/sap/fe/core/messagebundle_ar.properties +37 -6
- package/src/sap/fe/core/messagebundle_bg.properties +37 -6
- package/src/sap/fe/core/messagebundle_ca.properties +37 -6
- package/src/sap/fe/core/messagebundle_cs.properties +38 -7
- package/src/sap/fe/core/messagebundle_cy.properties +37 -6
- package/src/sap/fe/core/messagebundle_da.properties +37 -6
- package/src/sap/fe/core/messagebundle_de.properties +37 -6
- package/src/sap/fe/core/messagebundle_el.properties +37 -6
- package/src/sap/fe/core/messagebundle_en.properties +37 -6
- package/src/sap/fe/core/messagebundle_en_GB.properties +37 -6
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +37 -6
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +37 -6
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +37 -6
- package/src/sap/fe/core/messagebundle_es.properties +37 -6
- package/src/sap/fe/core/messagebundle_es_MX.properties +37 -6
- package/src/sap/fe/core/messagebundle_et.properties +37 -6
- package/src/sap/fe/core/messagebundle_fi.properties +38 -7
- package/src/sap/fe/core/messagebundle_fr.properties +43 -12
- package/src/sap/fe/core/messagebundle_fr_CA.properties +45 -14
- package/src/sap/fe/core/messagebundle_hi.properties +43 -12
- package/src/sap/fe/core/messagebundle_hr.properties +43 -12
- package/src/sap/fe/core/messagebundle_hu.properties +37 -6
- package/src/sap/fe/core/messagebundle_id.properties +38 -7
- package/src/sap/fe/core/messagebundle_it.properties +37 -6
- package/src/sap/fe/core/messagebundle_iw.properties +37 -6
- package/src/sap/fe/core/messagebundle_ja.properties +36 -5
- package/src/sap/fe/core/messagebundle_kk.properties +43 -12
- package/src/sap/fe/core/messagebundle_ko.properties +37 -6
- package/src/sap/fe/core/messagebundle_lt.properties +37 -6
- package/src/sap/fe/core/messagebundle_lv.properties +44 -13
- package/src/sap/fe/core/messagebundle_ms.properties +42 -11
- package/src/sap/fe/core/messagebundle_nl.properties +37 -6
- package/src/sap/fe/core/messagebundle_no.properties +37 -6
- package/src/sap/fe/core/messagebundle_pl.properties +37 -6
- package/src/sap/fe/core/messagebundle_pt.properties +38 -7
- package/src/sap/fe/core/messagebundle_pt_PT.properties +37 -6
- package/src/sap/fe/core/messagebundle_ro.properties +37 -6
- package/src/sap/fe/core/messagebundle_ru.properties +37 -6
- package/src/sap/fe/core/messagebundle_sh.properties +39 -8
- package/src/sap/fe/core/messagebundle_sk.properties +37 -6
- package/src/sap/fe/core/messagebundle_sl.properties +43 -12
- package/src/sap/fe/core/messagebundle_sv.properties +38 -7
- package/src/sap/fe/core/messagebundle_th.properties +36 -5
- package/src/sap/fe/core/messagebundle_tr.properties +39 -8
- package/src/sap/fe/core/messagebundle_uk.properties +37 -6
- package/src/sap/fe/core/messagebundle_vi.properties +37 -6
- package/src/sap/fe/core/messagebundle_zh_CN.properties +37 -6
- package/src/sap/fe/core/messagebundle_zh_TW.properties +43 -12
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +47 -73
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +231 -202
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +211 -0
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +70 -96
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +10 -8
- package/src/sap/fe/core/services/NavigationServiceFactory.js +351 -300
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +313 -0
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +114 -81
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +83 -0
- package/src/sap/fe/core/services/RoutingServiceFactory.js +963 -899
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +907 -0
- package/src/sap/fe/core/services/ShellServicesFactory.js +694 -741
- package/src/sap/fe/core/services/ShellServicesFactory.ts +45 -40
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +572 -643
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +67 -96
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +429 -487
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +449 -0
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +48 -8
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +11 -0
- package/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
- package/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
- package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
- package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
- package/src/sap/fe/core/support/CommonHelper.js +1 -1
- package/src/sap/fe/core/support/CommonHelper.ts +1 -4
- package/src/sap/fe/core/support/Diagnostics.js +36 -48
- package/src/sap/fe/core/templating/DataModelPathHelper.js +91 -90
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +126 -123
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +23 -3
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +26 -5
- package/src/sap/fe/core/templating/FieldControlHelper.js +8 -8
- package/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
- package/src/sap/fe/core/templating/FilterHelper.js +138 -79
- package/src/sap/fe/core/templating/FilterHelper.ts +148 -79
- package/src/sap/fe/core/templating/PropertyHelper.js +16 -2
- package/src/sap/fe/core/templating/PropertyHelper.ts +31 -24
- package/src/sap/fe/core/templating/UIFormatters.js +179 -43
- package/src/sap/fe/core/templating/UIFormatters.ts +190 -61
- package/src/sap/fe/core/type/Email.js +26 -8
- package/src/sap/fe/core/type/Email.ts +10 -11
- package/ui5.yaml +0 -3
- package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +0 -74
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { FileUploader } from "sap/ui/unified";
|
|
5
|
-
import { ControllerExtensionMetadata } from "sap/fe/core/controllerextensions";
|
|
6
|
-
import { UI5Class, Override, Public, Final, Private } from "../helpers/ClassSupport";
|
|
7
|
-
import { AppComponent, CommonUtils } from "sap/fe/core";
|
|
8
|
-
import { Control } from "sap/ui/core";
|
|
1
|
+
import { ConverterOutput, EntityType, PropertyPath } from "@sap-ux/vocabularies-types";
|
|
2
|
+
import Log from "sap/base/Log";
|
|
3
|
+
import AppComponent from "sap/fe/core/AppComponent";
|
|
9
4
|
import {
|
|
10
|
-
|
|
5
|
+
ControlSideEffectsEntityDictionary,
|
|
11
6
|
ControlSideEffectsType,
|
|
12
7
|
ODataSideEffectsType,
|
|
13
|
-
|
|
8
|
+
SideEffectsType
|
|
14
9
|
} from "sap/fe/core/services/SideEffectsServiceFactory";
|
|
15
10
|
import { FieldRuntime } from "sap/fe/macros/field";
|
|
16
|
-
import
|
|
17
|
-
import
|
|
11
|
+
import Event from "sap/ui/base/Event";
|
|
12
|
+
import Control from "sap/ui/core/Control";
|
|
13
|
+
import Core from "sap/ui/core/Core";
|
|
14
|
+
import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
|
|
15
|
+
import Binding from "sap/ui/model/Binding";
|
|
16
|
+
import Context from "sap/ui/model/Context";
|
|
17
|
+
import CommonUtils from "../CommonUtils";
|
|
18
|
+
import { defineUI5Class, finalExtension, methodOverride, privateExtension, publicExtension } from "../helpers/ClassSupport";
|
|
18
19
|
|
|
19
20
|
type FieldControl = Control & {
|
|
20
21
|
getFieldHelp(): string;
|
|
@@ -30,7 +31,7 @@ type FieldEventPropertyType = {
|
|
|
30
31
|
type FieldSideEffectPropertyType = {
|
|
31
32
|
name: string;
|
|
32
33
|
immediate?: boolean;
|
|
33
|
-
context: Context
|
|
34
|
+
context: Context;
|
|
34
35
|
sideEffects: SideEffectsType;
|
|
35
36
|
previouslyFailed?: boolean;
|
|
36
37
|
};
|
|
@@ -51,7 +52,7 @@ type FieldGroupQueueMapType = {
|
|
|
51
52
|
};
|
|
52
53
|
};
|
|
53
54
|
|
|
54
|
-
@
|
|
55
|
+
@defineUI5Class("sap.fe.core.controllerextensions.SideEffects")
|
|
55
56
|
class SideEffectsControllerExtension extends ControllerExtension {
|
|
56
57
|
private _oView: any;
|
|
57
58
|
private _oAppComponent!: AppComponent;
|
|
@@ -60,7 +61,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
60
61
|
private _oSideEffectsService!: any;
|
|
61
62
|
private _mFailedSideEffects!: FailedSideEffectDictionary;
|
|
62
63
|
|
|
63
|
-
@
|
|
64
|
+
@methodOverride()
|
|
64
65
|
public onInit() {
|
|
65
66
|
this._oView = (this as any).base.getView();
|
|
66
67
|
this._oAppComponent = CommonUtils.getAppComponent(this._oView);
|
|
@@ -76,8 +77,8 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
76
77
|
* @function
|
|
77
78
|
* @name clearPropertiesStatus
|
|
78
79
|
*/
|
|
79
|
-
@
|
|
80
|
-
@
|
|
80
|
+
@publicExtension()
|
|
81
|
+
@finalExtension()
|
|
81
82
|
public clearPropertiesStatus(): void {
|
|
82
83
|
this._aSourcePropertiesFailure.clear();
|
|
83
84
|
}
|
|
@@ -89,8 +90,8 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
89
90
|
* @name getRegisteredFailedRequests
|
|
90
91
|
* @returns {object} Registered SideEffects requests that have failed
|
|
91
92
|
*/
|
|
92
|
-
@
|
|
93
|
-
@
|
|
93
|
+
@publicExtension()
|
|
94
|
+
@finalExtension()
|
|
94
95
|
public getRegisteredFailedRequests(): FailedSideEffectDictionary {
|
|
95
96
|
return this._mFailedSideEffects;
|
|
96
97
|
}
|
|
@@ -107,9 +108,9 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
107
108
|
* @param {object} oFieldGroupPreRequisite Promise to be fulfilled before executing deferred SideEffects
|
|
108
109
|
* @returns {object} Promise on SideEffects request(s)
|
|
109
110
|
*/
|
|
110
|
-
@
|
|
111
|
-
@
|
|
112
|
-
public handleFieldChange(oEvent:
|
|
111
|
+
@publicExtension()
|
|
112
|
+
@finalExtension()
|
|
113
|
+
public handleFieldChange(oEvent: Event, oFieldGroupPreRequisite?: Promise<any>): Promise<any> {
|
|
113
114
|
const mEventFieldProperties = this._getFieldProperties(oEvent),
|
|
114
115
|
aImmediateSideEffectsProperties: FieldSideEffectPropertyType[] = this._initializeFieldSideEffects(
|
|
115
116
|
mEventFieldProperties,
|
|
@@ -122,12 +123,12 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
122
123
|
.then(() => {
|
|
123
124
|
bIsImmediateTriggered = true;
|
|
124
125
|
return Promise.all(
|
|
125
|
-
aImmediateSideEffectsProperties.map(mSideEffectsProperty => {
|
|
126
|
+
aImmediateSideEffectsProperties.map((mSideEffectsProperty) => {
|
|
126
127
|
return this.requestSideEffects(mSideEffectsProperty.sideEffects, mSideEffectsProperty.context);
|
|
127
128
|
}) || []
|
|
128
129
|
);
|
|
129
130
|
})
|
|
130
|
-
.catch(oError => {
|
|
131
|
+
.catch((oError) => {
|
|
131
132
|
if (bIsImmediateTriggered) {
|
|
132
133
|
Log.debug("Error while processing Field SideEffects", oError);
|
|
133
134
|
} else {
|
|
@@ -137,8 +138,8 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
137
138
|
*/
|
|
138
139
|
|
|
139
140
|
aImmediateSideEffectsProperties
|
|
140
|
-
.filter(mImmediateSideEffects => mImmediateSideEffects.previouslyFailed === true)
|
|
141
|
-
.forEach(mImmediateSideEffects =>
|
|
141
|
+
.filter((mImmediateSideEffects) => mImmediateSideEffects.previouslyFailed === true)
|
|
142
|
+
.forEach((mImmediateSideEffects) =>
|
|
142
143
|
this._addFailedSideEffects(mImmediateSideEffects.sideEffects, mImmediateSideEffects.context)
|
|
143
144
|
);
|
|
144
145
|
}
|
|
@@ -153,15 +154,15 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
153
154
|
* @param {object} oEvent SAPUI5 Event
|
|
154
155
|
* @returns {object} Promise on SideEffects request(s)
|
|
155
156
|
*/
|
|
156
|
-
@
|
|
157
|
-
@
|
|
158
|
-
public handleFieldGroupChange(oEvent:
|
|
157
|
+
@publicExtension()
|
|
158
|
+
@finalExtension()
|
|
159
|
+
public handleFieldGroupChange(oEvent: Event): Promise<any> {
|
|
159
160
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
160
161
|
const that = this,
|
|
161
162
|
aDeferredSideEffects: FieldGroupSideEffectType[] = [],
|
|
162
163
|
aFieldGroupIds: string[] = oEvent.getParameter("fieldGroupIds");
|
|
163
164
|
|
|
164
|
-
const getFieldGroupRequestPromise = function(oDeferredSideEffect: FieldGroupSideEffectType) {
|
|
165
|
+
const getFieldGroupRequestPromise = function (oDeferredSideEffect: FieldGroupSideEffectType) {
|
|
165
166
|
let bIsRequestsTriggered = false;
|
|
166
167
|
const oSideEffectProperty = oDeferredSideEffect.sideEffectProperty;
|
|
167
168
|
const oContext = oSideEffectProperty.context;
|
|
@@ -170,13 +171,13 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
170
171
|
const mEntityType = that._getEntityTypeFromFQN(sEntityType);
|
|
171
172
|
|
|
172
173
|
return Promise.all(oDeferredSideEffect.promises)
|
|
173
|
-
.then(function() {
|
|
174
|
+
.then(function () {
|
|
174
175
|
bIsRequestsTriggered = true;
|
|
175
176
|
|
|
176
177
|
//Deferred SideEffects are executed only if all sourceProperties have no registered failure.
|
|
177
178
|
if (
|
|
178
179
|
mEntityType &&
|
|
179
|
-
(oSideEffectProperty.sideEffects.SourceProperties as PropertyPath[]).every(sourceProperty => {
|
|
180
|
+
(oSideEffectProperty.sideEffects.SourceProperties as PropertyPath[]).every((sourceProperty) => {
|
|
180
181
|
if (sourceProperty.type === "PropertyPath") {
|
|
181
182
|
const sId = that._generateStatusIndex(mEntityType, sourceProperty.value, oContext);
|
|
182
183
|
if (sId) {
|
|
@@ -190,7 +191,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
190
191
|
}
|
|
191
192
|
return null;
|
|
192
193
|
})
|
|
193
|
-
.catch(oError => {
|
|
194
|
+
.catch((oError) => {
|
|
194
195
|
if (bIsRequestsTriggered) {
|
|
195
196
|
Log.debug("Error while processing FieldGroup SideEffects on context " + sContextPath, oError);
|
|
196
197
|
}
|
|
@@ -200,7 +201,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
200
201
|
});
|
|
201
202
|
};
|
|
202
203
|
|
|
203
|
-
aFieldGroupIds.forEach(sFieldGroupId => {
|
|
204
|
+
aFieldGroupIds.forEach((sFieldGroupId) => {
|
|
204
205
|
/**
|
|
205
206
|
* string "$$ImmediateRequest" is added to the SideEffects name during templating to know
|
|
206
207
|
* if this SideEffects must be immediately executed requested (on field change) or must
|
|
@@ -210,7 +211,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
210
211
|
const sSideEffectName: string = sFieldGroupId.replace("$$ImmediateRequest", "");
|
|
211
212
|
const mContextDeferredSideEffects = that._mFieldGroupQueue?.[sSideEffectName];
|
|
212
213
|
if (mContextDeferredSideEffects) {
|
|
213
|
-
Object.keys(mContextDeferredSideEffects).forEach(sContextPath => {
|
|
214
|
+
Object.keys(mContextDeferredSideEffects).forEach((sContextPath) => {
|
|
214
215
|
const oDeferredSideEffect = mContextDeferredSideEffects[sContextPath];
|
|
215
216
|
if (!oDeferredSideEffect.processStarted) {
|
|
216
217
|
oDeferredSideEffect.processStarted = true;
|
|
@@ -221,7 +222,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
221
222
|
});
|
|
222
223
|
|
|
223
224
|
return Promise.all(
|
|
224
|
-
aDeferredSideEffects.map(oDeferredSideEffect => {
|
|
225
|
+
aDeferredSideEffects.map((oDeferredSideEffect) => {
|
|
225
226
|
return getFieldGroupRequestPromise(oDeferredSideEffect);
|
|
226
227
|
})
|
|
227
228
|
);
|
|
@@ -236,8 +237,8 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
236
237
|
* @param {object} oSideEffects SideEffects to register. Ensure the sourceControlId matches the associated SAPUI5 control ID.
|
|
237
238
|
*
|
|
238
239
|
*/
|
|
239
|
-
@
|
|
240
|
-
@
|
|
240
|
+
@publicExtension()
|
|
241
|
+
@finalExtension()
|
|
241
242
|
public addControlSideEffects(sEntityType: string, oSideEffects: Omit<ControlSideEffectsType, "fullyQualifiedName">): void {
|
|
242
243
|
this._oSideEffectsService.addControlSideEffects(sEntityType, oSideEffects);
|
|
243
244
|
}
|
|
@@ -248,8 +249,8 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
248
249
|
* @function
|
|
249
250
|
* @name removeFailedSideEffects
|
|
250
251
|
*/
|
|
251
|
-
@
|
|
252
|
-
@
|
|
252
|
+
@publicExtension()
|
|
253
|
+
@finalExtension()
|
|
253
254
|
public removeFailedSideEffects(): void {
|
|
254
255
|
this._mFailedSideEffects = {};
|
|
255
256
|
}
|
|
@@ -263,11 +264,11 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
263
264
|
* @param {object} oContext Context where SideEffects need to be executed
|
|
264
265
|
* @returns {object} SideEffects request on SAPUI5 context
|
|
265
266
|
*/
|
|
266
|
-
@
|
|
267
|
-
@
|
|
268
|
-
public requestSideEffects(oSideEffects: SideEffectsType, oContext: Context
|
|
267
|
+
@publicExtension()
|
|
268
|
+
@finalExtension()
|
|
269
|
+
public requestSideEffects(oSideEffects: SideEffectsType, oContext: Context): Promise<any> {
|
|
269
270
|
let fResolver: any, fRejector: any;
|
|
270
|
-
const oPromise = new Promise(function(resolve, reject) {
|
|
271
|
+
const oPromise = new Promise(function (resolve, reject) {
|
|
271
272
|
fResolver = resolve;
|
|
272
273
|
fRejector = reject;
|
|
273
274
|
});
|
|
@@ -296,8 +297,8 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
296
297
|
* @name removeControlSideEffects
|
|
297
298
|
* @param {object} oControl SAPUI5 Control
|
|
298
299
|
*/
|
|
299
|
-
@
|
|
300
|
-
@
|
|
300
|
+
@publicExtension()
|
|
301
|
+
@finalExtension()
|
|
301
302
|
public removeControlSideEffects(oControl: Control): void {
|
|
302
303
|
const sControlId = oControl && oControl.isA && oControl.isA("sap.ui.base.ManagedObject") && oControl.getId();
|
|
303
304
|
|
|
@@ -315,13 +316,13 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
315
316
|
* @param {object} oSideEffects SideEffects that need to be retriggered
|
|
316
317
|
* @param {object} oContext Context where SideEffects have failed
|
|
317
318
|
*/
|
|
318
|
-
@
|
|
319
|
-
@
|
|
320
|
-
private _addFailedSideEffects(oSideEffects: SideEffectsType, oContext: Context
|
|
319
|
+
@privateExtension()
|
|
320
|
+
@finalExtension()
|
|
321
|
+
private _addFailedSideEffects(oSideEffects: SideEffectsType, oContext: Context): void {
|
|
321
322
|
const sContextPath: string = oContext.getPath();
|
|
322
323
|
this._mFailedSideEffects[sContextPath] = this._mFailedSideEffects[sContextPath] || [];
|
|
323
324
|
const bIsNotAlreadyListed = this._mFailedSideEffects[sContextPath].every(
|
|
324
|
-
mFailedSideEffects => oSideEffects.fullyQualifiedName !== mFailedSideEffects.fullyQualifiedName
|
|
325
|
+
(mFailedSideEffects) => oSideEffects.fullyQualifiedName !== mFailedSideEffects.fullyQualifiedName
|
|
325
326
|
);
|
|
326
327
|
if (bIsNotAlreadyListed) {
|
|
327
328
|
this._mFailedSideEffects[sContextPath].push(oSideEffects);
|
|
@@ -344,10 +345,10 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
344
345
|
|
|
345
346
|
let bPromiseSuccess = true;
|
|
346
347
|
return mEventFieldProperties.promise
|
|
347
|
-
.then(function() {
|
|
348
|
+
.then(function () {
|
|
348
349
|
return bPromiseSuccess;
|
|
349
350
|
})
|
|
350
|
-
.catch(function() {
|
|
351
|
+
.catch(function () {
|
|
351
352
|
bPromiseSuccess = false;
|
|
352
353
|
return bPromiseSuccess;
|
|
353
354
|
})
|
|
@@ -370,7 +371,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
370
371
|
*/
|
|
371
372
|
private _generateImmediatePromise(mEventFieldProperties: FieldEventPropertyType): Promise<any> {
|
|
372
373
|
const oPromise = mEventFieldProperties.promise;
|
|
373
|
-
return oPromise.then(function() {
|
|
374
|
+
return oPromise.then(function () {
|
|
374
375
|
/**
|
|
375
376
|
* If the field gets a FieldHelper, we need to wait until all fields changed by this FieldHelper have been set.
|
|
376
377
|
* To achieve this, we ensure that all related bindings have been resolved.
|
|
@@ -381,10 +382,10 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
381
382
|
const oField = mEventFieldProperties.field;
|
|
382
383
|
const sFieldHelperId = oField.getFieldHelp && oField.getFieldHelp();
|
|
383
384
|
if (sFieldHelperId) {
|
|
384
|
-
const oFilterHelp: any =
|
|
385
|
+
const oFilterHelp: any = Core.byId(sFieldHelperId);
|
|
385
386
|
if (oFilterHelp) {
|
|
386
387
|
return Promise.all(
|
|
387
|
-
(oFilterHelp.getOutParameters() as any[]).map(oOutParameter => {
|
|
388
|
+
(oFilterHelp.getOutParameters() as any[]).map((oOutParameter) => {
|
|
388
389
|
const oBinding = oOutParameter.getBinding("value");
|
|
389
390
|
return oBinding ? oBinding.requestValue() : Promise.resolve();
|
|
390
391
|
})
|
|
@@ -405,8 +406,8 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
405
406
|
* @param {object} oContext SAPUI5 Context
|
|
406
407
|
* @returns {string | undefined} Index
|
|
407
408
|
*/
|
|
408
|
-
private _generateStatusIndex(mEntityType: EntityType, sPropertyPath: string, oContext
|
|
409
|
-
const sContextPath = oContext
|
|
409
|
+
private _generateStatusIndex(mEntityType: EntityType, sPropertyPath: string, oContext?: Context | null): string | undefined {
|
|
410
|
+
const sContextPath = oContext?.getPath();
|
|
410
411
|
const mProperty = mEntityType.resolvePath(sPropertyPath);
|
|
411
412
|
if (mProperty) {
|
|
412
413
|
if (mProperty && mProperty._type === "Property") {
|
|
@@ -426,9 +427,9 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
426
427
|
* @param {string} sSideEffectEntityType Target entity type of the SideEffects annotation
|
|
427
428
|
* @returns {object} SAPUI5 Context
|
|
428
429
|
*/
|
|
429
|
-
@
|
|
430
|
-
@
|
|
431
|
-
private _getContextForSideEffects(oSourceField: FieldControl, sSideEffectEntityType: string): Context
|
|
430
|
+
@privateExtension()
|
|
431
|
+
@finalExtension()
|
|
432
|
+
private _getContextForSideEffects(oSourceField: FieldControl, sSideEffectEntityType: string): Context | undefined {
|
|
432
433
|
const oBindingContext = oSourceField.getBindingContext();
|
|
433
434
|
let oContextForSideEffects = oBindingContext,
|
|
434
435
|
sEntityType = this._oSideEffectsService.getEntityTypeFromContext(oBindingContext);
|
|
@@ -459,7 +460,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
459
460
|
* @returns {object} The entity type
|
|
460
461
|
*/
|
|
461
462
|
private _getEntityTypeFromFQN(sFullyQualifiedName: string): EntityType | undefined {
|
|
462
|
-
const mEntityType = (this._oSideEffectsService.getConvertedMetaModel() as ConverterOutput).entityTypes.find(oEntityType => {
|
|
463
|
+
const mEntityType = (this._oSideEffectsService.getConvertedMetaModel() as ConverterOutput).entityTypes.find((oEntityType) => {
|
|
463
464
|
return oEntityType.fullyQualifiedName === sFullyQualifiedName;
|
|
464
465
|
});
|
|
465
466
|
return mEntityType;
|
|
@@ -473,11 +474,11 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
473
474
|
* @param {object} oEvent Field change event
|
|
474
475
|
* @returns {object} Field promise
|
|
475
476
|
*/
|
|
476
|
-
private _getFieldPromise(oEvent:
|
|
477
|
+
private _getFieldPromise(oEvent: Event): Promise<any> {
|
|
477
478
|
const promise = oEvent.getParameter("promise") || Promise.resolve();
|
|
478
479
|
|
|
479
480
|
return promise.then(() => {
|
|
480
|
-
const oPromise = new Promise(function(resolve, reject) {
|
|
481
|
+
const oPromise = new Promise(function (resolve, reject) {
|
|
481
482
|
if (!FieldRuntime.getFieldStateOnChange(oEvent).state.validity) {
|
|
482
483
|
reject();
|
|
483
484
|
} else {
|
|
@@ -496,8 +497,8 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
496
497
|
* @param {object} oEvent Field change event
|
|
497
498
|
* @returns {object} Field properties (event change promise, field, SideEffects related to this field)
|
|
498
499
|
*/
|
|
499
|
-
private _getFieldProperties(oEvent:
|
|
500
|
-
const oField: FieldControl = oEvent.getSource();
|
|
500
|
+
private _getFieldProperties(oEvent: Event): FieldEventPropertyType {
|
|
501
|
+
const oField: FieldControl = oEvent.getSource() as FieldControl;
|
|
501
502
|
|
|
502
503
|
return {
|
|
503
504
|
promise: this._getFieldPromise(oEvent),
|
|
@@ -521,12 +522,12 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
521
522
|
const mSideEffectsMap: FieldSideEffectDictionary = {},
|
|
522
523
|
aFieldGroupIds: string[] = oField.getFieldGroupIds(),
|
|
523
524
|
sViewEntitySetSetName = this._oView.getViewData().entitySet,
|
|
524
|
-
oViewEntitySet = (this._oSideEffectsService.getConvertedMetaModel() as ConverterOutput).entitySets.find(oEntitySet => {
|
|
525
|
+
oViewEntitySet = (this._oSideEffectsService.getConvertedMetaModel() as ConverterOutput).entitySets.find((oEntitySet) => {
|
|
525
526
|
return oEntitySet.name === sViewEntitySetSetName;
|
|
526
527
|
});
|
|
527
528
|
|
|
528
529
|
// SideEffects coming from an OData Service
|
|
529
|
-
aFieldGroupIds.forEach(sFieldGroupId => {
|
|
530
|
+
aFieldGroupIds.forEach((sFieldGroupId) => {
|
|
530
531
|
const bIsImmediate: boolean = sFieldGroupId.indexOf("$$ImmediateRequest") !== -1,
|
|
531
532
|
sName: string = sFieldGroupId.replace("$$ImmediateRequest", ""),
|
|
532
533
|
aSideEffectParts: string[] = sName.split("#"),
|
|
@@ -535,10 +536,9 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
535
536
|
sSideEffectEntityType +
|
|
536
537
|
"@com.sap.vocabularies.Common.v1.SideEffects" +
|
|
537
538
|
(aSideEffectParts.length === 2 ? "#" + aSideEffectParts[1] : ""),
|
|
538
|
-
oSideEffect: SideEffectsType | undefined =
|
|
539
|
-
sSideEffectPath
|
|
540
|
-
|
|
541
|
-
oContext: Context<any> | undefined = this._getContextForSideEffects(oField, sSideEffectEntityType);
|
|
539
|
+
oSideEffect: SideEffectsType | undefined =
|
|
540
|
+
this._oSideEffectsService.getODataEntitySideEffects(sSideEffectEntityType)?.[sSideEffectPath],
|
|
541
|
+
oContext: Context | undefined = this._getContextForSideEffects(oField, sSideEffectEntityType);
|
|
542
542
|
if (oSideEffect && oContext) {
|
|
543
543
|
mSideEffectsMap[sName] = {
|
|
544
544
|
name: sName,
|
|
@@ -552,17 +552,17 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
552
552
|
//SideEffects coming from control(s)
|
|
553
553
|
if (sViewEntitySetSetName && oViewEntitySet) {
|
|
554
554
|
const sViewEntityType = oViewEntitySet.entityType.fullyQualifiedName,
|
|
555
|
-
mFieldPath: any = (oField.getAggregation("customData") as any[]).find(oCustomData => {
|
|
555
|
+
mFieldPath: any = (oField.getAggregation("customData") as any[]).find((oCustomData) => {
|
|
556
556
|
return oCustomData.getKey() === "sourcePath";
|
|
557
557
|
}),
|
|
558
|
-
oContext: Context
|
|
558
|
+
oContext: Context | undefined = this._getContextForSideEffects(oField, sViewEntityType);
|
|
559
559
|
|
|
560
560
|
if (mFieldPath && oContext) {
|
|
561
561
|
const sFieldPath = mFieldPath.getValue().replace("/" + sViewEntitySetSetName + "/", ""),
|
|
562
562
|
mControlEntityType = this._oSideEffectsService.getControlEntitySideEffects(
|
|
563
563
|
sViewEntityType
|
|
564
564
|
) as ControlSideEffectsEntityDictionary;
|
|
565
|
-
Object.keys(mControlEntityType).forEach(sControlName => {
|
|
565
|
+
Object.keys(mControlEntityType).forEach((sControlName) => {
|
|
566
566
|
const oControlSideEffects: SideEffectsType = mControlEntityType[sControlName];
|
|
567
567
|
if ((oControlSideEffects.SourceProperties as string[]).includes(sFieldPath)) {
|
|
568
568
|
const sName = sControlName + "::" + sViewEntityType;
|
|
@@ -601,7 +601,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
601
601
|
|
|
602
602
|
oFieldGroupPreRequisite = oFieldGroupPreRequisite || Promise.resolve();
|
|
603
603
|
|
|
604
|
-
Object.keys(mFieldSideEffectsMap).forEach(sSideEffectName => {
|
|
604
|
+
Object.keys(mFieldSideEffectsMap).forEach((sSideEffectName) => {
|
|
605
605
|
const oSideEffectProperty: FieldSideEffectPropertyType = mFieldSideEffectsMap[sSideEffectName],
|
|
606
606
|
sSideEffectContextPath = oSideEffectProperty.context.getPath(),
|
|
607
607
|
aFailedSideEffects = this._mFailedSideEffects[sSideEffectContextPath];
|
|
@@ -610,7 +610,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
610
610
|
if (aFailedSideEffects) {
|
|
611
611
|
delete this._mFailedSideEffects[sSideEffectContextPath];
|
|
612
612
|
mFailedSideEffectsName[sSideEffectContextPath] = {};
|
|
613
|
-
aFailedSideEffects.forEach(mFailedSideEffects => {
|
|
613
|
+
aFailedSideEffects.forEach((mFailedSideEffects) => {
|
|
614
614
|
mFailedSideEffectsName[sSideEffectContextPath][mFailedSideEffects.fullyQualifiedName] = true;
|
|
615
615
|
aImmediateSideEffectsProperties.push({
|
|
616
616
|
name: sSideEffectName,
|
|
@@ -661,7 +661,7 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
661
661
|
// Retrieves all properties used by the field
|
|
662
662
|
const oFieldBinding: any = this._getBindingForField(oField);
|
|
663
663
|
const aFieldPaths = oFieldBinding.isA("sap.ui.model.CompositeBinding")
|
|
664
|
-
? (
|
|
664
|
+
? (oFieldBinding.getBindings() || []).map((oBinding: any) => oBinding.sPath)
|
|
665
665
|
: [oFieldBinding.getPath()];
|
|
666
666
|
|
|
667
667
|
// Stores status for all properties
|
|
@@ -682,9 +682,9 @@ class SideEffectsControllerExtension extends ControllerExtension {
|
|
|
682
682
|
*/
|
|
683
683
|
private _getBindingForField(oField: FieldControl): Binding {
|
|
684
684
|
let sBindingName = "value";
|
|
685
|
-
if (oField.isA
|
|
685
|
+
if (oField.isA("sap.m.CheckBox")) {
|
|
686
686
|
sBindingName = "selected";
|
|
687
|
-
} else if (oField.isA
|
|
687
|
+
} else if (oField.isA("sap.fe.core.controls.FileWrapper")) {
|
|
688
688
|
sBindingName = "uploadUrl";
|
|
689
689
|
}
|
|
690
690
|
return oField.getBinding(sBindingName);
|