@sapui5/sap.fe.core 1.99.0 → 1.101.1
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 +6 -4
- package/src/sap/fe/core/.library +2 -3
- package/src/sap/fe/core/AnnotationHelper.js +43 -92
- package/src/sap/fe/core/AnnotationHelper.ts +43 -107
- package/src/sap/fe/core/AppComponent.js +381 -399
- package/src/sap/fe/core/AppComponent.ts +397 -0
- package/src/sap/fe/core/AppStateHandler.js +131 -162
- package/src/sap/fe/core/AppStateHandler.ts +2 -2
- package/src/sap/fe/core/BaseController.js +82 -58
- package/src/sap/fe/core/BaseController.ts +67 -0
- package/src/sap/fe/core/CommonUtils.js +179 -31
- package/src/sap/fe/core/CommonUtils.ts +295 -125
- package/src/sap/fe/core/ExtensionAPI.js +279 -274
- package/src/sap/fe/core/ExtensionAPI.ts +242 -0
- package/src/sap/fe/core/PageController.js +158 -29
- package/src/sap/fe/core/PageController.ts +65 -37
- package/src/sap/fe/core/RouterProxy.js +700 -750
- package/src/sap/fe/core/RouterProxy.ts +47 -31
- package/src/sap/fe/core/Synchronization.js +21 -31
- package/src/sap/fe/core/TemplateComponent.js +193 -118
- package/src/sap/fe/core/TemplateComponent.ts +104 -109
- package/src/sap/fe/core/TemplateModel.js +24 -44
- package/src/sap/fe/core/TemplateModel.ts +3 -3
- package/src/sap/fe/core/TransactionHelper.js +1368 -1369
- package/src/sap/fe/core/TransactionHelper.ts +201 -171
- 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 +324 -220
- package/src/sap/fe/core/actions/draft.ts +209 -133
- package/src/sap/fe/core/actions/messageHandling.js +79 -48
- package/src/sap/fe/core/actions/messageHandling.ts +113 -83
- package/src/sap/fe/core/actions/operations.js +37 -18
- package/src/sap/fe/core/actions/operations.ts +51 -20
- package/src/sap/fe/core/actions/sticky.js +17 -4
- package/src/sap/fe/core/actions/sticky.ts +21 -4
- 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 +1854 -1669
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +1792 -0
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +79 -54
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +60 -0
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +716 -779
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +785 -0
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +796 -816
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +810 -0
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1056 -1005
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +1001 -0
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +498 -532
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +13 -12
- package/src/sap/fe/core/controllerextensions/MassEdit.js +141 -169
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +155 -0
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +221 -244
- 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 +57 -53
- package/src/sap/fe/core/controllerextensions/Paginator.js +188 -175
- package/src/sap/fe/core/controllerextensions/Paginator.ts +169 -0
- package/src/sap/fe/core/controllerextensions/Placeholder.js +157 -149
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +149 -0
- package/src/sap/fe/core/controllerextensions/Routing.js +144 -125
- package/src/sap/fe/core/controllerextensions/Routing.ts +131 -0
- package/src/sap/fe/core/controllerextensions/RoutingListener.js +7 -6
- package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
- package/src/sap/fe/core/controllerextensions/Share.js +230 -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 +68 -68
- package/src/sap/fe/core/controllerextensions/ViewState.js +774 -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 +92 -68
- package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
- package/src/sap/fe/core/controls/ConditionalWrapper.js +165 -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 +167 -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 +163 -122
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +155 -0
- package/src/sap/fe/core/controls/FieldWrapper.js +212 -141
- 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 +197 -159
- package/src/sap/fe/core/controls/FilterBar.ts +148 -0
- package/src/sap/fe/core/controls/FormElementWrapper.js +100 -39
- package/src/sap/fe/core/controls/FormElementWrapper.ts +37 -0
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +37 -42
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +147 -115
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +102 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +300 -265
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +252 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +185 -140
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +335 -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 +75 -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 +19 -16
- package/src/sap/fe/core/converters/ManifestSettings.js +13 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +17 -2
- package/src/sap/fe/core/converters/ManifestWrapper.js +354 -378
- package/src/sap/fe/core/converters/ManifestWrapper.ts +10 -0
- package/src/sap/fe/core/converters/MetaModelConverter.js +6 -4
- package/src/sap/fe/core/converters/MetaModelConverter.ts +5 -2
- package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
- 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/controls/Common/Action.js +10 -10
- package/src/sap/fe/core/converters/controls/Common/Action.ts +20 -19
- package/src/sap/fe/core/converters/controls/Common/Chart.js +8 -8
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +12 -11
- package/src/sap/fe/core/converters/controls/Common/Form.js +6 -6
- package/src/sap/fe/core/converters/controls/Common/Form.ts +7 -3
- 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 +326 -86
- package/src/sap/fe/core/converters/controls/Common/Table.ts +384 -167
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +120 -55
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +158 -98
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +206 -223
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +263 -287
- 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 +5 -2
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +4 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js +115 -133
- 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/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 +51 -27
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +69 -43
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +42 -25
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +91 -65
- 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 +92 -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/KPIFormatter.js +3 -12
- package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -2
- package/src/sap/fe/core/formatters/TableFormatter.js +53 -2
- package/src/sap/fe/core/formatters/TableFormatter.ts +51 -0
- package/src/sap/fe/core/formatters/ValueFormatter.js +4 -4
- package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -7
- package/src/sap/fe/core/fpm/Component.js +80 -55
- package/src/sap/fe/core/fpm/Component.ts +43 -0
- package/src/sap/fe/core/helpers/AppStartupHelper.js +323 -309
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +363 -337
- package/src/sap/fe/core/helpers/BindingExpression.js +7 -7
- package/src/sap/fe/core/helpers/BindingExpression.ts +7 -7
- package/src/sap/fe/core/helpers/ClassSupport.js +307 -166
- package/src/sap/fe/core/helpers/ClassSupport.ts +348 -155
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +5 -4
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -5
- package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
- package/src/sap/fe/core/helpers/FPMHelper.ts +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js +735 -684
- package/src/sap/fe/core/helpers/MassEditHelper.ts +803 -0
- package/src/sap/fe/core/helpers/ModelHelper.js +53 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +46 -0
- package/src/sap/fe/core/helpers/PasteHelper.js +4 -4
- package/src/sap/fe/core/helpers/PasteHelper.ts +4 -3
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +7 -3
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +7 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.js +1 -7
- package/src/sap/fe/core/helpers/StableIdHelper.ts +0 -4
- package/src/sap/fe/core/jsx-runtime/jsx.js +35 -5
- package/src/sap/fe/core/jsx-runtime/jsx.ts +22 -8
- package/src/sap/fe/core/library.js +425 -451
- package/src/sap/fe/core/library.support.js +22 -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 +4 -4
- package/src/sap/fe/core/messagebundle.properties +45 -13
- package/src/sap/fe/core/messagebundle_ar.properties +29 -7
- package/src/sap/fe/core/messagebundle_bg.properties +29 -7
- package/src/sap/fe/core/messagebundle_ca.properties +29 -7
- package/src/sap/fe/core/messagebundle_cs.properties +29 -7
- package/src/sap/fe/core/messagebundle_cy.properties +29 -7
- package/src/sap/fe/core/messagebundle_da.properties +29 -7
- package/src/sap/fe/core/messagebundle_de.properties +29 -7
- package/src/sap/fe/core/messagebundle_el.properties +29 -7
- package/src/sap/fe/core/messagebundle_en.properties +29 -7
- package/src/sap/fe/core/messagebundle_en_GB.properties +29 -7
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +29 -7
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +29 -7
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +29 -7
- package/src/sap/fe/core/messagebundle_es.properties +29 -7
- package/src/sap/fe/core/messagebundle_es_MX.properties +29 -7
- package/src/sap/fe/core/messagebundle_et.properties +29 -7
- package/src/sap/fe/core/messagebundle_fi.properties +30 -8
- package/src/sap/fe/core/messagebundle_fr.properties +31 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +31 -9
- package/src/sap/fe/core/messagebundle_hi.properties +29 -7
- package/src/sap/fe/core/messagebundle_hr.properties +29 -7
- package/src/sap/fe/core/messagebundle_hu.properties +29 -7
- package/src/sap/fe/core/messagebundle_id.properties +29 -7
- package/src/sap/fe/core/messagebundle_it.properties +29 -7
- package/src/sap/fe/core/messagebundle_iw.properties +29 -7
- package/src/sap/fe/core/messagebundle_ja.properties +28 -6
- package/src/sap/fe/core/messagebundle_kk.properties +29 -7
- package/src/sap/fe/core/messagebundle_ko.properties +29 -7
- package/src/sap/fe/core/messagebundle_lt.properties +29 -7
- package/src/sap/fe/core/messagebundle_lv.properties +30 -8
- package/src/sap/fe/core/messagebundle_ms.properties +29 -7
- package/src/sap/fe/core/messagebundle_nl.properties +29 -7
- package/src/sap/fe/core/messagebundle_no.properties +29 -7
- package/src/sap/fe/core/messagebundle_pl.properties +29 -7
- package/src/sap/fe/core/messagebundle_pt.properties +30 -8
- package/src/sap/fe/core/messagebundle_pt_PT.properties +29 -7
- package/src/sap/fe/core/messagebundle_ro.properties +29 -7
- package/src/sap/fe/core/messagebundle_ru.properties +29 -7
- package/src/sap/fe/core/messagebundle_sh.properties +29 -7
- package/src/sap/fe/core/messagebundle_sk.properties +29 -7
- package/src/sap/fe/core/messagebundle_sl.properties +29 -7
- package/src/sap/fe/core/messagebundle_sv.properties +30 -8
- package/src/sap/fe/core/messagebundle_th.properties +28 -6
- package/src/sap/fe/core/messagebundle_tr.properties +32 -10
- package/src/sap/fe/core/messagebundle_uk.properties +29 -7
- package/src/sap/fe/core/messagebundle_vi.properties +29 -7
- package/src/sap/fe/core/messagebundle_zh_CN.properties +29 -7
- package/src/sap/fe/core/messagebundle_zh_TW.properties +29 -7
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +47 -73
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +158 -196
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +5 -6
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +70 -96
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +7 -6
- package/src/sap/fe/core/services/NavigationServiceFactory.js +287 -342
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +11 -14
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +70 -105
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +6 -3
- package/src/sap/fe/core/services/RoutingServiceFactory.js +796 -820
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +62 -53
- package/src/sap/fe/core/services/ShellServicesFactory.js +694 -741
- package/src/sap/fe/core/services/ShellServicesFactory.ts +33 -33
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +570 -595
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +23 -4
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +357 -389
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +25 -29
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +43 -5
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +7 -4
- 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/FilterHelper.js +25 -32
- package/src/sap/fe/core/templating/FilterHelper.ts +36 -35
- 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 +150 -44
- package/src/sap/fe/core/templating/UIFormatters.ts +165 -67
- package/src/sap/fe/core/type/Email.js +26 -8
- package/src/sap/fe/core/type/Email.ts +8 -7
- package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +0 -75
|
@@ -1,18 +1,20 @@
|
|
|
1
|
+
import Log from "sap/base/Log";
|
|
2
|
+
import AppComponent from "sap/fe/core/AppComponent";
|
|
3
|
+
import TemplatedViewServiceFactory from "sap/fe/core/services/TemplatedViewServiceFactory";
|
|
4
|
+
import Event from "sap/ui/base/Event";
|
|
5
|
+
import EventProvider from "sap/ui/base/EventProvider";
|
|
6
|
+
import ManagedObject from "sap/ui/base/ManagedObject";
|
|
7
|
+
import Component from "sap/ui/core/Component";
|
|
8
|
+
import Core from "sap/ui/core/Core";
|
|
1
9
|
import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
|
|
2
10
|
import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
|
|
3
11
|
import View from "sap/ui/core/mvc/View";
|
|
4
|
-
import { ControllerExtensionMetadata } from "sap/fe/core/controllerextensions";
|
|
5
|
-
import Component from "sap/ui/core/Component";
|
|
6
|
-
import { AppComponent } from "sap/fe/core";
|
|
7
|
-
import ManagedObject from "sap/ui/base/ManagedObject";
|
|
8
|
-
import EventProvider from "sap/ui/base/EventProvider";
|
|
9
|
-
import Log from "sap/base/Log";
|
|
10
12
|
import Context from "sap/ui/model/Context";
|
|
11
|
-
import {
|
|
12
|
-
import TemplatedViewServiceFactory from "sap/fe/core/services/TemplatedViewServiceFactory";
|
|
13
|
+
import { CoreEx } from "types/extension_types";
|
|
13
14
|
import CommonUtils from "../CommonUtils";
|
|
15
|
+
import { defineUI5Class, extensible, finalExtension, methodOverride, privateExtension, publicExtension } from "../helpers/ClassSupport";
|
|
14
16
|
|
|
15
|
-
@
|
|
17
|
+
@defineUI5Class("sap.fe.core.controllerextensions.PageReady")
|
|
16
18
|
class PageReadyControllerExtension extends ControllerExtension {
|
|
17
19
|
private _oEventProvider!: EventProvider;
|
|
18
20
|
private _oView: any;
|
|
@@ -31,7 +33,7 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
31
33
|
private bTablesLoaded: boolean | undefined;
|
|
32
34
|
private pageReadyTimer: NodeJS.Timeout | undefined;
|
|
33
35
|
|
|
34
|
-
@
|
|
36
|
+
@methodOverride()
|
|
35
37
|
public onInit() {
|
|
36
38
|
this._nbWaits = 0;
|
|
37
39
|
this._bSeachTriggered = false;
|
|
@@ -41,13 +43,14 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
41
43
|
this._oPageComponent = Component.getOwnerComponentFor(this._oView);
|
|
42
44
|
|
|
43
45
|
if (this._oPageComponent && this._oPageComponent.attachContainerDefined) {
|
|
44
|
-
this._oPageComponent.attachContainerDefined((oEvent:
|
|
46
|
+
this._oPageComponent.attachContainerDefined((oEvent: Event) => this.registerContainer(oEvent.getParameter("container")));
|
|
45
47
|
} else {
|
|
46
48
|
this.registerContainer(this._oView);
|
|
47
49
|
}
|
|
48
50
|
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
+
const oRootControlController = (this._oAppComponent.getRootControl() as View).getController() as any;
|
|
52
|
+
const oPlaceholder = oRootControlController.getPlaceholder && oRootControlController.getPlaceholder();
|
|
53
|
+
if (oPlaceholder?.isPlaceholderDebugEnabled()) {
|
|
51
54
|
this.attachEvent(
|
|
52
55
|
"pageReady",
|
|
53
56
|
null,
|
|
@@ -67,7 +70,7 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
|
|
70
|
-
@
|
|
73
|
+
@methodOverride()
|
|
71
74
|
public onExit() {
|
|
72
75
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
73
76
|
// @ts-ignore
|
|
@@ -75,8 +78,8 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
75
78
|
this._oContainer && this._oContainer.removeEventDelegate(this._fnContainerDelegate);
|
|
76
79
|
}
|
|
77
80
|
|
|
78
|
-
@
|
|
79
|
-
@
|
|
81
|
+
@publicExtension()
|
|
82
|
+
@finalExtension()
|
|
80
83
|
public waitFor(oPromise: any) {
|
|
81
84
|
this._nbWaits++;
|
|
82
85
|
oPromise
|
|
@@ -87,16 +90,16 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
87
90
|
})
|
|
88
91
|
.catch(null);
|
|
89
92
|
}
|
|
90
|
-
@
|
|
93
|
+
@methodOverride("_routing")
|
|
91
94
|
onRouteMatched() {
|
|
92
95
|
this._bIsPageReady = false;
|
|
93
96
|
}
|
|
94
|
-
@
|
|
97
|
+
@methodOverride("_routing")
|
|
95
98
|
onRouteMatchedFinished() {
|
|
96
99
|
this.checkPageReadyDebounced();
|
|
97
100
|
}
|
|
98
101
|
|
|
99
|
-
@
|
|
102
|
+
@methodOverride("_routing")
|
|
100
103
|
onAfterBinding(oBindingContext: Context) {
|
|
101
104
|
if (!this._bAfterBindingAlreadyApplied) {
|
|
102
105
|
this._bAfterBindingAlreadyApplied = true;
|
|
@@ -104,13 +107,13 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
104
107
|
const aNotBoundMDCTables: any[] = [];
|
|
105
108
|
let iRequested = 0;
|
|
106
109
|
let iReceived = 0;
|
|
107
|
-
const fnRequested = (oEvent:
|
|
108
|
-
oEvent.getSource().detachDataRequested(fnRequested);
|
|
110
|
+
const fnRequested = (oEvent: Event) => {
|
|
111
|
+
(oEvent.getSource() as any).detachDataRequested(fnRequested);
|
|
109
112
|
iRequested++;
|
|
110
113
|
this.bDataReceived = false;
|
|
111
114
|
};
|
|
112
|
-
const fnReceived = (oEvent:
|
|
113
|
-
switch (oEvent.getSource().sGroupId) {
|
|
115
|
+
const fnReceived = (oEvent: Event) => {
|
|
116
|
+
switch ((oEvent.getSource() as any).sGroupId) {
|
|
114
117
|
case "$auto.Workers":
|
|
115
118
|
this._oEventProvider.fireEvent("workersBatchReceived");
|
|
116
119
|
break;
|
|
@@ -119,7 +122,7 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
119
122
|
break;
|
|
120
123
|
default:
|
|
121
124
|
}
|
|
122
|
-
oEvent.getSource().detachDataReceived(fnReceived);
|
|
125
|
+
(oEvent.getSource() as any).detachDataReceived(fnReceived);
|
|
123
126
|
iReceived++;
|
|
124
127
|
if (iReceived >= iRequested && iRequested !== 0) {
|
|
125
128
|
iRequested = 0;
|
|
@@ -128,9 +131,9 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
128
131
|
this.checkPageReadyDebounced();
|
|
129
132
|
}
|
|
130
133
|
};
|
|
131
|
-
const fnSearch = (oEvent:
|
|
132
|
-
const aMDCTables = aNotBoundMDCTables.filter(oElem => {
|
|
133
|
-
if (oEvent.getSource().sId === oElem.getFilter() && oElem.getVisible()) {
|
|
134
|
+
const fnSearch = (oEvent: Event) => {
|
|
135
|
+
const aMDCTables = aNotBoundMDCTables.filter((oElem) => {
|
|
136
|
+
if ((oEvent.getSource() as any).sId === oElem.getFilter() && oElem.getVisible()) {
|
|
134
137
|
return true;
|
|
135
138
|
}
|
|
136
139
|
return false;
|
|
@@ -203,7 +206,7 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
203
206
|
} else {
|
|
204
207
|
const aBindingKeys = Object.keys(oElement.mBindingInfos);
|
|
205
208
|
if (aBindingKeys.length > 0) {
|
|
206
|
-
aBindingKeys.forEach(sPropertyName => {
|
|
209
|
+
aBindingKeys.forEach((sPropertyName) => {
|
|
207
210
|
const oListBinding = oElement.mBindingInfos[sPropertyName].binding;
|
|
208
211
|
// Register on all list binding, good for basic tables, problematic for MDC, see above
|
|
209
212
|
if (oListBinding && oListBinding.isA("sap.ui.model.odata.v4.ODataListBinding")) {
|
|
@@ -231,7 +234,7 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
231
234
|
aNotBoundMDCTables.push(oElement);
|
|
232
235
|
}
|
|
233
236
|
})
|
|
234
|
-
.catch(function(oError: Error) {
|
|
237
|
+
.catch(function (oError: Error) {
|
|
235
238
|
Log.error("Cannot find a bound table", oError as any);
|
|
236
239
|
})
|
|
237
240
|
);
|
|
@@ -246,7 +249,7 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
246
249
|
this.bTablesLoaded = true;
|
|
247
250
|
this.checkPageReadyDebounced();
|
|
248
251
|
})
|
|
249
|
-
.catch(oError => {
|
|
252
|
+
.catch((oError) => {
|
|
250
253
|
Log.info("There was an error with one or multiple table", oError);
|
|
251
254
|
this.bTablesLoaded = true;
|
|
252
255
|
this.checkPageReadyDebounced();
|
|
@@ -255,16 +258,16 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
255
258
|
}
|
|
256
259
|
}
|
|
257
260
|
|
|
258
|
-
@
|
|
259
|
-
@
|
|
261
|
+
@publicExtension()
|
|
262
|
+
@finalExtension()
|
|
260
263
|
public isPageReady() {
|
|
261
264
|
return this._bIsPageReady;
|
|
262
265
|
}
|
|
263
266
|
|
|
264
|
-
@
|
|
265
|
-
@
|
|
267
|
+
@publicExtension()
|
|
268
|
+
@finalExtension()
|
|
266
269
|
public waitPageReady(): Promise<void> {
|
|
267
|
-
return new Promise(resolve => {
|
|
270
|
+
return new Promise((resolve) => {
|
|
268
271
|
if (this.isPageReady()) {
|
|
269
272
|
resolve();
|
|
270
273
|
} else {
|
|
@@ -280,20 +283,20 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
280
283
|
});
|
|
281
284
|
}
|
|
282
285
|
|
|
283
|
-
@
|
|
284
|
-
@
|
|
285
|
-
public attachEventOnce(sEventId: string, oData: any, fnFunction
|
|
286
|
+
@publicExtension()
|
|
287
|
+
@finalExtension()
|
|
288
|
+
public attachEventOnce(sEventId: string, oData: any, fnFunction?: Function, oListener?: any) {
|
|
286
289
|
// eslint-disable-next-line prefer-rest-params
|
|
287
|
-
return this._oEventProvider.attachEventOnce(sEventId, oData, fnFunction, oListener);
|
|
290
|
+
return this._oEventProvider.attachEventOnce(sEventId, oData, fnFunction as Function, oListener);
|
|
288
291
|
}
|
|
289
|
-
@
|
|
290
|
-
@
|
|
292
|
+
@publicExtension()
|
|
293
|
+
@finalExtension()
|
|
291
294
|
public attachEvent(sEventId: string, oData: any, fnFunction: Function, oListener: any) {
|
|
292
295
|
// eslint-disable-next-line prefer-rest-params
|
|
293
296
|
return this._oEventProvider.attachEvent(sEventId, oData, fnFunction, oListener);
|
|
294
297
|
}
|
|
295
|
-
@
|
|
296
|
-
@
|
|
298
|
+
@publicExtension()
|
|
299
|
+
@finalExtension()
|
|
297
300
|
public detachEvent(sEventId: string, fnFunction: Function) {
|
|
298
301
|
// eslint-disable-next-line prefer-rest-params
|
|
299
302
|
return this._oEventProvider.detachEvent(sEventId, fnFunction);
|
|
@@ -317,12 +320,13 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
317
320
|
this._oContainer.addEventDelegate(this._fnContainerDelegate);
|
|
318
321
|
}
|
|
319
322
|
|
|
320
|
-
@
|
|
321
|
-
@
|
|
323
|
+
@privateExtension()
|
|
324
|
+
@extensible(OverrideExecution.Instead)
|
|
322
325
|
public isContextExpected() {
|
|
323
326
|
return false;
|
|
324
327
|
}
|
|
325
328
|
|
|
329
|
+
@publicExtension()
|
|
326
330
|
public checkPageReadyDebounced() {
|
|
327
331
|
if (this.pageReadyTimer) {
|
|
328
332
|
clearTimeout(this.pageReadyTimer);
|
|
@@ -335,8 +339,8 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
335
339
|
public _checkPageReady(bFromNav: boolean = false) {
|
|
336
340
|
const fnUIUpdated = () => {
|
|
337
341
|
// Wait until the UI is no longer dirty
|
|
338
|
-
if (!
|
|
339
|
-
|
|
342
|
+
if (!Core.getUIDirty()) {
|
|
343
|
+
(Core as CoreEx).detachEvent("UIUpdated", fnUIUpdated);
|
|
340
344
|
this._bWaitingForRefresh = false;
|
|
341
345
|
setTimeout(() => {
|
|
342
346
|
this._checkPageReady();
|
|
@@ -346,11 +350,11 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
346
350
|
|
|
347
351
|
// In case UIUpdate does not get called, check if UI is not dirty and then call _checkPageReady
|
|
348
352
|
const checkUIUpdated = () => {
|
|
349
|
-
if (
|
|
353
|
+
if (Core.getUIDirty()) {
|
|
350
354
|
setTimeout(checkUIUpdated, 500);
|
|
351
355
|
} else if (this._bWaitingForRefresh) {
|
|
352
356
|
this._bWaitingForRefresh = false;
|
|
353
|
-
|
|
357
|
+
(Core as CoreEx).detachEvent("UIUpdated", fnUIUpdated);
|
|
354
358
|
this._checkPageReady();
|
|
355
359
|
}
|
|
356
360
|
};
|
|
@@ -361,20 +365,20 @@ class PageReadyControllerExtension extends ControllerExtension {
|
|
|
361
365
|
this.bTablesLoaded !== false &&
|
|
362
366
|
(!this.isContextExpected() || this.bHasContext) // Either no context is expected or there is one
|
|
363
367
|
) {
|
|
364
|
-
if (this.bDataReceived === true && !bFromNav && !this._bWaitingForRefresh &&
|
|
368
|
+
if (this.bDataReceived === true && !bFromNav && !this._bWaitingForRefresh && Core.getUIDirty()) {
|
|
365
369
|
// If we requested data we get notified as soon as the data arrived, so before the next rendering tick
|
|
366
370
|
this.bDataReceived = undefined;
|
|
367
371
|
this._bWaitingForRefresh = true;
|
|
368
|
-
|
|
372
|
+
(Core as CoreEx).attachEvent("UIUpdated", fnUIUpdated);
|
|
369
373
|
setTimeout(checkUIUpdated, 500);
|
|
370
374
|
} else if (
|
|
371
|
-
(!this._bWaitingForRefresh &&
|
|
375
|
+
(!this._bWaitingForRefresh && Core.getUIDirty()) ||
|
|
372
376
|
this._nbWaits !== 0 ||
|
|
373
377
|
TemplatedViewServiceFactory.getNumberOfViewsInCreationState() > 0 ||
|
|
374
378
|
this._bSeachTriggered
|
|
375
379
|
) {
|
|
376
380
|
this._bWaitingForRefresh = true;
|
|
377
|
-
|
|
381
|
+
(Core as CoreEx).attachEvent("UIUpdated", fnUIUpdated);
|
|
378
382
|
setTimeout(checkUIUpdated, 500);
|
|
379
383
|
} else if (!this._bWaitingForRefresh) {
|
|
380
384
|
// In the case we're not waiting for any data (navigating back to a page we already have loaded)
|