@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.
Files changed (289) hide show
  1. package/package.json +6 -4
  2. package/src/sap/fe/core/.library +2 -3
  3. package/src/sap/fe/core/AnnotationHelper.js +43 -92
  4. package/src/sap/fe/core/AnnotationHelper.ts +43 -107
  5. package/src/sap/fe/core/AppComponent.js +381 -399
  6. package/src/sap/fe/core/AppComponent.ts +397 -0
  7. package/src/sap/fe/core/AppStateHandler.js +131 -162
  8. package/src/sap/fe/core/AppStateHandler.ts +2 -2
  9. package/src/sap/fe/core/BaseController.js +82 -58
  10. package/src/sap/fe/core/BaseController.ts +67 -0
  11. package/src/sap/fe/core/CommonUtils.js +179 -31
  12. package/src/sap/fe/core/CommonUtils.ts +295 -125
  13. package/src/sap/fe/core/ExtensionAPI.js +279 -274
  14. package/src/sap/fe/core/ExtensionAPI.ts +242 -0
  15. package/src/sap/fe/core/PageController.js +158 -29
  16. package/src/sap/fe/core/PageController.ts +65 -37
  17. package/src/sap/fe/core/RouterProxy.js +700 -750
  18. package/src/sap/fe/core/RouterProxy.ts +47 -31
  19. package/src/sap/fe/core/Synchronization.js +21 -31
  20. package/src/sap/fe/core/TemplateComponent.js +193 -118
  21. package/src/sap/fe/core/TemplateComponent.ts +104 -109
  22. package/src/sap/fe/core/TemplateModel.js +24 -44
  23. package/src/sap/fe/core/TemplateModel.ts +3 -3
  24. package/src/sap/fe/core/TransactionHelper.js +1368 -1369
  25. package/src/sap/fe/core/TransactionHelper.ts +201 -171
  26. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +406 -0
  27. package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +362 -0
  28. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +146 -0
  29. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +129 -0
  30. package/src/sap/fe/core/actions/collaboration/Manage.js +264 -0
  31. package/src/sap/fe/core/actions/collaboration/Manage.ts +246 -0
  32. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +100 -0
  33. package/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
  34. package/src/sap/fe/core/actions/draft.js +324 -220
  35. package/src/sap/fe/core/actions/draft.ts +209 -133
  36. package/src/sap/fe/core/actions/messageHandling.js +79 -48
  37. package/src/sap/fe/core/actions/messageHandling.ts +113 -83
  38. package/src/sap/fe/core/actions/operations.js +37 -18
  39. package/src/sap/fe/core/actions/operations.ts +51 -20
  40. package/src/sap/fe/core/actions/sticky.js +17 -4
  41. package/src/sap/fe/core/actions/sticky.ts +21 -4
  42. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +60 -0
  43. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +37 -0
  44. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +165 -0
  45. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +178 -0
  46. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +707 -0
  47. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +628 -0
  48. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +436 -0
  49. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +431 -0
  50. package/src/sap/fe/core/controllerextensions/EditFlow.js +1854 -1669
  51. package/src/sap/fe/core/controllerextensions/EditFlow.ts +1792 -0
  52. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +79 -54
  53. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +60 -0
  54. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +716 -779
  55. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +785 -0
  56. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +796 -816
  57. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +810 -0
  58. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1056 -1005
  59. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +1001 -0
  60. package/src/sap/fe/core/controllerextensions/KPIManagement.js +498 -532
  61. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +13 -12
  62. package/src/sap/fe/core/controllerextensions/MassEdit.js +141 -169
  63. package/src/sap/fe/core/controllerextensions/MassEdit.ts +155 -0
  64. package/src/sap/fe/core/controllerextensions/MessageHandler.js +221 -244
  65. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +215 -0
  66. package/src/sap/fe/core/controllerextensions/PageReady.js +312 -345
  67. package/src/sap/fe/core/controllerextensions/PageReady.ts +57 -53
  68. package/src/sap/fe/core/controllerextensions/Paginator.js +188 -175
  69. package/src/sap/fe/core/controllerextensions/Paginator.ts +169 -0
  70. package/src/sap/fe/core/controllerextensions/Placeholder.js +157 -149
  71. package/src/sap/fe/core/controllerextensions/Placeholder.ts +149 -0
  72. package/src/sap/fe/core/controllerextensions/Routing.js +144 -125
  73. package/src/sap/fe/core/controllerextensions/Routing.ts +131 -0
  74. package/src/sap/fe/core/controllerextensions/RoutingListener.js +7 -6
  75. package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
  76. package/src/sap/fe/core/controllerextensions/Share.js +230 -268
  77. package/src/sap/fe/core/controllerextensions/Share.ts +231 -0
  78. package/src/sap/fe/core/controllerextensions/SideEffects.js +603 -644
  79. package/src/sap/fe/core/controllerextensions/SideEffects.ts +68 -68
  80. package/src/sap/fe/core/controllerextensions/ViewState.js +774 -806
  81. package/src/sap/fe/core/controllerextensions/ViewState.ts +796 -0
  82. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -2
  83. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
  84. package/src/sap/fe/core/controls/Any.js +28 -0
  85. package/src/sap/fe/core/controls/Any.ts +30 -0
  86. package/src/sap/fe/core/controls/CommandExecution.js +92 -68
  87. package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
  88. package/src/sap/fe/core/controls/ConditionalWrapper.js +165 -79
  89. package/src/sap/fe/core/controls/ConditionalWrapper.ts +74 -0
  90. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +366 -0
  91. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +278 -0
  92. package/src/sap/fe/core/controls/CustomQuickViewPage.js +167 -125
  93. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +116 -0
  94. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +44 -5
  95. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +163 -122
  96. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +155 -0
  97. package/src/sap/fe/core/controls/FieldWrapper.js +212 -141
  98. package/src/sap/fe/core/controls/FieldWrapper.ts +104 -0
  99. package/src/sap/fe/core/controls/FileWrapper.js +313 -0
  100. package/src/sap/fe/core/controls/FileWrapper.ts +169 -0
  101. package/src/sap/fe/core/controls/FilterBar.js +197 -159
  102. package/src/sap/fe/core/controls/FilterBar.ts +148 -0
  103. package/src/sap/fe/core/controls/FormElementWrapper.js +100 -39
  104. package/src/sap/fe/core/controls/FormElementWrapper.ts +37 -0
  105. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +37 -42
  106. package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
  107. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +147 -115
  108. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +102 -0
  109. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +300 -265
  110. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +252 -0
  111. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +185 -140
  112. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
  113. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +335 -322
  114. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
  115. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +37 -42
  116. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +75 -74
  117. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +71 -0
  118. package/src/sap/fe/core/converters/ConverterContext.js +348 -379
  119. package/src/sap/fe/core/converters/ConverterContext.ts +19 -16
  120. package/src/sap/fe/core/converters/ManifestSettings.js +13 -1
  121. package/src/sap/fe/core/converters/ManifestSettings.ts +17 -2
  122. package/src/sap/fe/core/converters/ManifestWrapper.js +354 -378
  123. package/src/sap/fe/core/converters/ManifestWrapper.ts +10 -0
  124. package/src/sap/fe/core/converters/MetaModelConverter.js +6 -4
  125. package/src/sap/fe/core/converters/MetaModelConverter.ts +5 -2
  126. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  127. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
  128. package/src/sap/fe/core/converters/annotations/DataField.js +26 -13
  129. package/src/sap/fe/core/converters/annotations/DataField.ts +40 -17
  130. package/src/sap/fe/core/converters/controls/Common/Action.js +10 -10
  131. package/src/sap/fe/core/converters/controls/Common/Action.ts +20 -19
  132. package/src/sap/fe/core/converters/controls/Common/Chart.js +8 -8
  133. package/src/sap/fe/core/converters/controls/Common/Chart.ts +12 -11
  134. package/src/sap/fe/core/converters/controls/Common/Form.js +6 -6
  135. package/src/sap/fe/core/converters/controls/Common/Form.ts +7 -3
  136. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  137. package/src/sap/fe/core/converters/controls/Common/KPI.ts +2 -2
  138. package/src/sap/fe/core/converters/controls/Common/Table.js +326 -86
  139. package/src/sap/fe/core/converters/controls/Common/Table.ts +384 -167
  140. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +120 -55
  141. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +158 -98
  142. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +206 -223
  143. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +263 -287
  144. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +6 -6
  145. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +20 -18
  146. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +5 -2
  147. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +4 -1
  148. package/src/sap/fe/core/converters/helpers/Aggregation.js +115 -133
  149. package/src/sap/fe/core/converters/helpers/BindingHelper.js +20 -6
  150. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
  151. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +12 -1
  152. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
  153. package/src/sap/fe/core/converters/helpers/Key.js +42 -57
  154. package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  155. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
  156. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +0 -4
  157. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +51 -27
  158. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +69 -43
  159. package/src/sap/fe/core/converters/templates/ListReportConverter.js +42 -25
  160. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +91 -65
  161. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +11 -9
  162. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +8 -8
  163. package/src/sap/fe/core/designtime/AppComponent.designtime.js +92 -98
  164. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
  165. package/src/sap/fe/core/formatters/CollaborationFormatter.js +104 -0
  166. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
  167. package/src/sap/fe/core/formatters/KPIFormatter.js +3 -12
  168. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -2
  169. package/src/sap/fe/core/formatters/TableFormatter.js +53 -2
  170. package/src/sap/fe/core/formatters/TableFormatter.ts +51 -0
  171. package/src/sap/fe/core/formatters/ValueFormatter.js +4 -4
  172. package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -7
  173. package/src/sap/fe/core/fpm/Component.js +80 -55
  174. package/src/sap/fe/core/fpm/Component.ts +43 -0
  175. package/src/sap/fe/core/helpers/AppStartupHelper.js +323 -309
  176. package/src/sap/fe/core/helpers/AppStartupHelper.ts +363 -337
  177. package/src/sap/fe/core/helpers/BindingExpression.js +7 -7
  178. package/src/sap/fe/core/helpers/BindingExpression.ts +7 -7
  179. package/src/sap/fe/core/helpers/ClassSupport.js +307 -166
  180. package/src/sap/fe/core/helpers/ClassSupport.ts +348 -155
  181. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +5 -4
  182. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -5
  183. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  184. package/src/sap/fe/core/helpers/FPMHelper.ts +1 -1
  185. package/src/sap/fe/core/helpers/MassEditHelper.js +735 -684
  186. package/src/sap/fe/core/helpers/MassEditHelper.ts +803 -0
  187. package/src/sap/fe/core/helpers/ModelHelper.js +53 -1
  188. package/src/sap/fe/core/helpers/ModelHelper.ts +46 -0
  189. package/src/sap/fe/core/helpers/PasteHelper.js +4 -4
  190. package/src/sap/fe/core/helpers/PasteHelper.ts +4 -3
  191. package/src/sap/fe/core/helpers/SemanticDateOperators.js +7 -3
  192. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +7 -1
  193. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  194. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
  195. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -7
  196. package/src/sap/fe/core/helpers/StableIdHelper.ts +0 -4
  197. package/src/sap/fe/core/jsx-runtime/jsx.js +35 -5
  198. package/src/sap/fe/core/jsx-runtime/jsx.ts +22 -8
  199. package/src/sap/fe/core/library.js +425 -451
  200. package/src/sap/fe/core/library.support.js +22 -33
  201. package/src/sap/fe/core/library.support.ts +23 -0
  202. package/src/sap/fe/core/library.ts +420 -0
  203. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -3
  204. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +4 -4
  205. package/src/sap/fe/core/messagebundle.properties +45 -13
  206. package/src/sap/fe/core/messagebundle_ar.properties +29 -7
  207. package/src/sap/fe/core/messagebundle_bg.properties +29 -7
  208. package/src/sap/fe/core/messagebundle_ca.properties +29 -7
  209. package/src/sap/fe/core/messagebundle_cs.properties +29 -7
  210. package/src/sap/fe/core/messagebundle_cy.properties +29 -7
  211. package/src/sap/fe/core/messagebundle_da.properties +29 -7
  212. package/src/sap/fe/core/messagebundle_de.properties +29 -7
  213. package/src/sap/fe/core/messagebundle_el.properties +29 -7
  214. package/src/sap/fe/core/messagebundle_en.properties +29 -7
  215. package/src/sap/fe/core/messagebundle_en_GB.properties +29 -7
  216. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +29 -7
  217. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +29 -7
  218. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +29 -7
  219. package/src/sap/fe/core/messagebundle_es.properties +29 -7
  220. package/src/sap/fe/core/messagebundle_es_MX.properties +29 -7
  221. package/src/sap/fe/core/messagebundle_et.properties +29 -7
  222. package/src/sap/fe/core/messagebundle_fi.properties +30 -8
  223. package/src/sap/fe/core/messagebundle_fr.properties +31 -9
  224. package/src/sap/fe/core/messagebundle_fr_CA.properties +31 -9
  225. package/src/sap/fe/core/messagebundle_hi.properties +29 -7
  226. package/src/sap/fe/core/messagebundle_hr.properties +29 -7
  227. package/src/sap/fe/core/messagebundle_hu.properties +29 -7
  228. package/src/sap/fe/core/messagebundle_id.properties +29 -7
  229. package/src/sap/fe/core/messagebundle_it.properties +29 -7
  230. package/src/sap/fe/core/messagebundle_iw.properties +29 -7
  231. package/src/sap/fe/core/messagebundle_ja.properties +28 -6
  232. package/src/sap/fe/core/messagebundle_kk.properties +29 -7
  233. package/src/sap/fe/core/messagebundle_ko.properties +29 -7
  234. package/src/sap/fe/core/messagebundle_lt.properties +29 -7
  235. package/src/sap/fe/core/messagebundle_lv.properties +30 -8
  236. package/src/sap/fe/core/messagebundle_ms.properties +29 -7
  237. package/src/sap/fe/core/messagebundle_nl.properties +29 -7
  238. package/src/sap/fe/core/messagebundle_no.properties +29 -7
  239. package/src/sap/fe/core/messagebundle_pl.properties +29 -7
  240. package/src/sap/fe/core/messagebundle_pt.properties +30 -8
  241. package/src/sap/fe/core/messagebundle_pt_PT.properties +29 -7
  242. package/src/sap/fe/core/messagebundle_ro.properties +29 -7
  243. package/src/sap/fe/core/messagebundle_ru.properties +29 -7
  244. package/src/sap/fe/core/messagebundle_sh.properties +29 -7
  245. package/src/sap/fe/core/messagebundle_sk.properties +29 -7
  246. package/src/sap/fe/core/messagebundle_sl.properties +29 -7
  247. package/src/sap/fe/core/messagebundle_sv.properties +30 -8
  248. package/src/sap/fe/core/messagebundle_th.properties +28 -6
  249. package/src/sap/fe/core/messagebundle_tr.properties +32 -10
  250. package/src/sap/fe/core/messagebundle_uk.properties +29 -7
  251. package/src/sap/fe/core/messagebundle_vi.properties +29 -7
  252. package/src/sap/fe/core/messagebundle_zh_CN.properties +29 -7
  253. package/src/sap/fe/core/messagebundle_zh_TW.properties +29 -7
  254. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +47 -73
  255. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +1 -1
  256. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +158 -196
  257. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +5 -6
  258. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +70 -96
  259. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +7 -6
  260. package/src/sap/fe/core/services/NavigationServiceFactory.js +287 -342
  261. package/src/sap/fe/core/services/NavigationServiceFactory.ts +11 -14
  262. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +70 -105
  263. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +6 -3
  264. package/src/sap/fe/core/services/RoutingServiceFactory.js +796 -820
  265. package/src/sap/fe/core/services/RoutingServiceFactory.ts +62 -53
  266. package/src/sap/fe/core/services/ShellServicesFactory.js +694 -741
  267. package/src/sap/fe/core/services/ShellServicesFactory.ts +33 -33
  268. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +570 -595
  269. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +23 -4
  270. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +357 -389
  271. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +25 -29
  272. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +43 -5
  273. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +7 -4
  274. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  275. package/src/sap/fe/core/support/CommonHelper.ts +1 -4
  276. package/src/sap/fe/core/support/Diagnostics.js +36 -48
  277. package/src/sap/fe/core/templating/DataModelPathHelper.js +91 -90
  278. package/src/sap/fe/core/templating/DataModelPathHelper.ts +126 -123
  279. package/src/sap/fe/core/templating/DisplayModeFormatter.js +23 -3
  280. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +26 -5
  281. package/src/sap/fe/core/templating/FilterHelper.js +25 -32
  282. package/src/sap/fe/core/templating/FilterHelper.ts +36 -35
  283. package/src/sap/fe/core/templating/PropertyHelper.js +16 -2
  284. package/src/sap/fe/core/templating/PropertyHelper.ts +31 -24
  285. package/src/sap/fe/core/templating/UIFormatters.js +150 -44
  286. package/src/sap/fe/core/templating/UIFormatters.ts +165 -67
  287. package/src/sap/fe/core/type/Email.js +26 -8
  288. package/src/sap/fe/core/type/Email.ts +8 -7
  289. 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 { UI5Class, Override, Public, Final, Extensible, Private } from "../helpers/ClassSupport";
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
- @UI5Class("sap.fe.core.controllerextensions.PageReady", ControllerExtensionMetadata)
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
- @Override()
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: UI5Event) => this.registerContainer(oEvent.getParameter("container")));
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 oPlaceholder = ((this._oAppComponent.getRootControl() as View).getController() as any).getPlaceholder();
50
- if (oPlaceholder.isPlaceholderDebugEnabled()) {
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
- @Override()
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
- @Public
79
- @Final
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
- @Override("_routing")
93
+ @methodOverride("_routing")
91
94
  onRouteMatched() {
92
95
  this._bIsPageReady = false;
93
96
  }
94
- @Override("_routing")
97
+ @methodOverride("_routing")
95
98
  onRouteMatchedFinished() {
96
99
  this.checkPageReadyDebounced();
97
100
  }
98
101
 
99
- @Override("_routing")
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: UI5Event) => {
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: UI5Event) => {
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: UI5Event) => {
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
- @Public
259
- @Final
261
+ @publicExtension()
262
+ @finalExtension()
260
263
  public isPageReady() {
261
264
  return this._bIsPageReady;
262
265
  }
263
266
 
264
- @Public
265
- @Final
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
- @Public
284
- @Final
285
- public attachEventOnce(sEventId: string, oData: any, fnFunction: Function, oListener: any) {
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
- @Public
290
- @Final
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
- @Public
296
- @Final
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
- @Private
321
- @Extensible(OverrideExecution.Instead)
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 (!sap.ui.getCore().getUIDirty()) {
339
- sap.ui.getCore().detachEvent("UIUpdated", fnUIUpdated);
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 (sap.ui.getCore().getUIDirty()) {
353
+ if (Core.getUIDirty()) {
350
354
  setTimeout(checkUIUpdated, 500);
351
355
  } else if (this._bWaitingForRefresh) {
352
356
  this._bWaitingForRefresh = false;
353
- sap.ui.getCore().detachEvent("UIUpdated", fnUIUpdated);
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 && sap.ui.getCore().getUIDirty()) {
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
- sap.ui.getCore().attachEvent("UIUpdated", fnUIUpdated);
372
+ (Core as CoreEx).attachEvent("UIUpdated", fnUIUpdated);
369
373
  setTimeout(checkUIUpdated, 500);
370
374
  } else if (
371
- (!this._bWaitingForRefresh && sap.ui.getCore().getUIDirty()) ||
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
- sap.ui.getCore().attachEvent("UIUpdated", fnUIUpdated);
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)