@sapui5/sap.fe.core 1.97.0 → 1.100.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.
Files changed (306) hide show
  1. package/package.json +7 -4
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +309 -405
  4. package/src/sap/fe/core/AnnotationHelper.ts +315 -0
  5. package/src/sap/fe/core/AppComponent.js +389 -397
  6. package/src/sap/fe/core/AppComponent.ts +403 -0
  7. package/src/sap/fe/core/AppStateHandler.js +198 -181
  8. package/src/sap/fe/core/AppStateHandler.ts +171 -0
  9. package/src/sap/fe/core/BaseController.js +83 -58
  10. package/src/sap/fe/core/BaseController.ts +68 -0
  11. package/src/sap/fe/core/BusyLocker.js +105 -121
  12. package/src/sap/fe/core/BusyLocker.ts +98 -0
  13. package/src/sap/fe/core/CommonUtils.js +2164 -2379
  14. package/src/sap/fe/core/CommonUtils.ts +2177 -0
  15. package/src/sap/fe/core/ExtensionAPI.js +279 -266
  16. package/src/sap/fe/core/ExtensionAPI.ts +250 -0
  17. package/src/sap/fe/core/PageController.js +218 -125
  18. package/src/sap/fe/core/PageController.ts +129 -0
  19. package/src/sap/fe/core/RouterProxy.js +924 -807
  20. package/src/sap/fe/core/RouterProxy.ts +840 -0
  21. package/src/sap/fe/core/Synchronization.js +41 -35
  22. package/src/sap/fe/core/Synchronization.ts +29 -0
  23. package/src/sap/fe/core/TemplateComponent.js +173 -155
  24. package/src/sap/fe/core/TemplateComponent.ts +173 -0
  25. package/src/sap/fe/core/TemplateModel.js +79 -54
  26. package/src/sap/fe/core/TemplateModel.ts +63 -0
  27. package/src/sap/fe/core/TransactionHelper.js +1560 -1579
  28. package/src/sap/fe/core/TransactionHelper.ts +1717 -0
  29. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +392 -0
  30. package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +355 -0
  31. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +136 -0
  32. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +119 -0
  33. package/src/sap/fe/core/actions/collaboration/Manage.js +262 -0
  34. package/src/sap/fe/core/actions/collaboration/Manage.ts +244 -0
  35. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +103 -0
  36. package/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
  37. package/src/sap/fe/core/actions/draft.js +521 -581
  38. package/src/sap/fe/core/actions/draft.ts +566 -0
  39. package/src/sap/fe/core/actions/messageHandling.js +564 -511
  40. package/src/sap/fe/core/actions/messageHandling.ts +552 -0
  41. package/src/sap/fe/core/actions/nonDraft.js +17 -19
  42. package/src/sap/fe/core/actions/nonDraft.ts +12 -0
  43. package/src/sap/fe/core/actions/operations.js +1093 -1211
  44. package/src/sap/fe/core/actions/operations.ts +1192 -0
  45. package/src/sap/fe/core/actions/sticky.js +114 -104
  46. package/src/sap/fe/core/actions/sticky.ts +119 -0
  47. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +70 -66
  48. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +65 -0
  49. package/src/sap/fe/core/controllerextensions/EditFlow.js +1594 -1701
  50. package/src/sap/fe/core/controllerextensions/EditFlow.ts +1672 -0
  51. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +80 -54
  52. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +61 -0
  53. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +719 -505
  54. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +783 -0
  55. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +797 -813
  56. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +803 -0
  57. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1005 -973
  58. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +978 -0
  59. package/src/sap/fe/core/controllerextensions/KPIManagement.js +530 -476
  60. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +137 -46
  61. package/src/sap/fe/core/controllerextensions/MassEdit.js +144 -0
  62. package/src/sap/fe/core/controllerextensions/MassEdit.ts +156 -0
  63. package/src/sap/fe/core/controllerextensions/MessageHandler.js +234 -232
  64. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +225 -0
  65. package/src/sap/fe/core/controllerextensions/PageReady.js +302 -337
  66. package/src/sap/fe/core/controllerextensions/PageReady.ts +23 -17
  67. package/src/sap/fe/core/controllerextensions/Paginator.js +189 -148
  68. package/src/sap/fe/core/controllerextensions/Paginator.ts +163 -0
  69. package/src/sap/fe/core/controllerextensions/Placeholder.js +158 -146
  70. package/src/sap/fe/core/controllerextensions/Placeholder.ts +151 -0
  71. package/src/sap/fe/core/controllerextensions/Routing.js +145 -106
  72. package/src/sap/fe/core/controllerextensions/Routing.ts +132 -0
  73. package/src/sap/fe/core/controllerextensions/RoutingListener.js +8 -6
  74. package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
  75. package/src/sap/fe/core/controllerextensions/Share.js +220 -244
  76. package/src/sap/fe/core/controllerextensions/Share.ts +231 -0
  77. package/src/sap/fe/core/controllerextensions/SideEffects.js +593 -634
  78. package/src/sap/fe/core/controllerextensions/SideEffects.ts +29 -27
  79. package/src/sap/fe/core/controllerextensions/ViewState.js +789 -806
  80. package/src/sap/fe/core/controllerextensions/ViewState.ts +805 -0
  81. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -3
  82. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
  83. package/src/sap/fe/core/controls/CommandExecution.js +68 -66
  84. package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
  85. package/src/sap/fe/core/controls/ConditionalWrapper.js +91 -75
  86. package/src/sap/fe/core/controls/ConditionalWrapper.ts +83 -0
  87. package/src/sap/fe/core/controls/CustomQuickViewPage.js +131 -125
  88. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +126 -0
  89. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +105 -110
  90. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +101 -0
  91. package/src/sap/fe/core/controls/FieldWrapper.js +122 -140
  92. package/src/sap/fe/core/controls/FieldWrapper.ts +115 -0
  93. package/src/sap/fe/core/controls/FilterBar.js +163 -159
  94. package/src/sap/fe/core/controls/FilterBar.ts +143 -0
  95. package/src/sap/fe/core/controls/FormElementWrapper.js +46 -44
  96. package/src/sap/fe/core/controls/FormElementWrapper.ts +40 -0
  97. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +38 -42
  98. package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
  99. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +2 -1
  100. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +127 -116
  101. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +98 -0
  102. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +242 -255
  103. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +245 -0
  104. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +151 -141
  105. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
  106. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +336 -322
  107. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
  108. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +106 -0
  109. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +79 -0
  110. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +70 -0
  111. package/src/sap/fe/core/converters/ConverterContext.js +348 -367
  112. package/src/sap/fe/core/converters/ConverterContext.ts +33 -19
  113. package/src/sap/fe/core/converters/ManifestSettings.js +12 -1
  114. package/src/sap/fe/core/converters/ManifestSettings.ts +16 -1
  115. package/src/sap/fe/core/converters/ManifestWrapper.js +354 -354
  116. package/src/sap/fe/core/converters/ManifestWrapper.ts +34 -6
  117. package/src/sap/fe/core/converters/MetaModelConverter.js +72 -9
  118. package/src/sap/fe/core/converters/MetaModelConverter.ts +75 -16
  119. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  120. package/src/sap/fe/core/converters/TemplateConverter.ts +4 -3
  121. package/src/sap/fe/core/converters/annotations/DataField.js +28 -14
  122. package/src/sap/fe/core/converters/annotations/DataField.ts +38 -14
  123. package/src/sap/fe/core/converters/common/AnnotationConverter.js +33 -21
  124. package/src/sap/fe/core/converters/controls/Common/Action.js +11 -2
  125. package/src/sap/fe/core/converters/controls/Common/Action.ts +8 -2
  126. package/src/sap/fe/core/converters/controls/Common/Chart.js +5 -3
  127. package/src/sap/fe/core/converters/controls/Common/Chart.ts +11 -3
  128. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -3
  129. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
  130. package/src/sap/fe/core/converters/controls/Common/Form.js +21 -11
  131. package/src/sap/fe/core/converters/controls/Common/Form.ts +28 -6
  132. package/src/sap/fe/core/converters/controls/Common/KPI.js +69 -4
  133. package/src/sap/fe/core/converters/controls/Common/KPI.ts +75 -2
  134. package/src/sap/fe/core/converters/controls/Common/Table.js +507 -408
  135. package/src/sap/fe/core/converters/controls/Common/Table.ts +618 -500
  136. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +592 -0
  137. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +718 -0
  138. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +465 -59
  139. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +462 -72
  140. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +2 -2
  141. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +1 -1
  142. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +17 -9
  143. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +24 -9
  144. package/src/sap/fe/core/converters/helpers/Aggregation.js +118 -121
  145. package/src/sap/fe/core/converters/helpers/Aggregation.ts +28 -5
  146. package/src/sap/fe/core/converters/helpers/BindingHelper.js +20 -6
  147. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
  148. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +12 -1
  149. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
  150. package/src/sap/fe/core/converters/helpers/IssueManager.js +7 -1
  151. package/src/sap/fe/core/converters/helpers/IssueManager.ts +6 -0
  152. package/src/sap/fe/core/converters/helpers/Key.js +42 -57
  153. package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  154. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +28 -7
  155. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +23 -6
  156. package/src/sap/fe/core/converters/templates/ListReportConverter.js +20 -7
  157. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +36 -14
  158. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +7 -5
  159. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +5 -1
  160. package/src/sap/fe/core/designtime/AppComponent.designtime.js +93 -90
  161. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
  162. package/src/sap/fe/core/formatters/CollaborationFormatter.js +104 -0
  163. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
  164. package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
  165. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
  166. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  167. package/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
  168. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  169. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -1
  170. package/src/sap/fe/core/formatters/TableFormatter.js +91 -29
  171. package/src/sap/fe/core/formatters/TableFormatter.ts +94 -28
  172. package/src/sap/fe/core/formatters/ValueFormatter.js +30 -5
  173. package/src/sap/fe/core/formatters/ValueFormatter.ts +30 -7
  174. package/src/sap/fe/core/fpm/Component.js +51 -54
  175. package/src/sap/fe/core/fpm/Component.ts +48 -0
  176. package/src/sap/fe/core/helpers/AppStartupHelper.js +373 -0
  177. package/src/sap/fe/core/helpers/AppStartupHelper.ts +417 -0
  178. package/src/sap/fe/core/helpers/BindingExpression.js +489 -442
  179. package/src/sap/fe/core/helpers/BindingExpression.ts +486 -469
  180. package/src/sap/fe/core/helpers/ClassSupport.js +212 -76
  181. package/src/sap/fe/core/helpers/ClassSupport.ts +198 -71
  182. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +64 -59
  183. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +52 -0
  184. package/src/sap/fe/core/helpers/EditState.js +81 -84
  185. package/src/sap/fe/core/helpers/EditState.ts +81 -0
  186. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +62 -48
  187. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
  188. package/src/sap/fe/core/helpers/FPMHelper.js +52 -56
  189. package/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
  190. package/src/sap/fe/core/helpers/KeepAliveHelper.js +4 -5
  191. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +10 -10
  192. package/src/sap/fe/core/helpers/MassEditHelper.js +604 -0
  193. package/src/sap/fe/core/helpers/MassEditHelper.ts +699 -0
  194. package/src/sap/fe/core/helpers/ModelHelper.js +253 -225
  195. package/src/sap/fe/core/helpers/ModelHelper.ts +250 -0
  196. package/src/sap/fe/core/helpers/PasteHelper.js +210 -132
  197. package/src/sap/fe/core/helpers/PasteHelper.ts +196 -0
  198. package/src/sap/fe/core/helpers/SemanticDateOperators.js +336 -313
  199. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +334 -0
  200. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +66 -67
  201. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
  202. package/src/sap/fe/core/helpers/StableIdHelper.js +4 -7
  203. package/src/sap/fe/core/helpers/StableIdHelper.ts +2 -6
  204. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  205. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -1
  206. package/src/sap/fe/core/library.js +427 -425
  207. package/src/sap/fe/core/library.support.js +23 -27
  208. package/src/sap/fe/core/library.support.ts +23 -0
  209. package/src/sap/fe/core/library.ts +420 -0
  210. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +64 -0
  211. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +69 -0
  212. package/src/sap/fe/core/messagebundle.properties +78 -13
  213. package/src/sap/fe/core/messagebundle_ar.properties +58 -7
  214. package/src/sap/fe/core/messagebundle_bg.properties +58 -7
  215. package/src/sap/fe/core/messagebundle_ca.properties +58 -7
  216. package/src/sap/fe/core/messagebundle_cs.properties +59 -8
  217. package/src/sap/fe/core/messagebundle_cy.properties +58 -7
  218. package/src/sap/fe/core/messagebundle_da.properties +58 -7
  219. package/src/sap/fe/core/messagebundle_de.properties +58 -7
  220. package/src/sap/fe/core/messagebundle_el.properties +58 -7
  221. package/src/sap/fe/core/messagebundle_en.properties +57 -6
  222. package/src/sap/fe/core/messagebundle_en_GB.properties +57 -6
  223. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +61 -6
  224. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +58 -7
  225. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +58 -7
  226. package/src/sap/fe/core/messagebundle_es.properties +58 -7
  227. package/src/sap/fe/core/messagebundle_es_MX.properties +58 -7
  228. package/src/sap/fe/core/messagebundle_et.properties +58 -7
  229. package/src/sap/fe/core/messagebundle_fi.properties +60 -9
  230. package/src/sap/fe/core/messagebundle_fr.properties +64 -13
  231. package/src/sap/fe/core/messagebundle_fr_CA.properties +59 -8
  232. package/src/sap/fe/core/messagebundle_hi.properties +58 -7
  233. package/src/sap/fe/core/messagebundle_hr.properties +58 -7
  234. package/src/sap/fe/core/messagebundle_hu.properties +59 -8
  235. package/src/sap/fe/core/messagebundle_id.properties +61 -10
  236. package/src/sap/fe/core/messagebundle_it.properties +58 -7
  237. package/src/sap/fe/core/messagebundle_iw.properties +58 -7
  238. package/src/sap/fe/core/messagebundle_ja.properties +58 -7
  239. package/src/sap/fe/core/messagebundle_kk.properties +58 -7
  240. package/src/sap/fe/core/messagebundle_ko.properties +58 -7
  241. package/src/sap/fe/core/messagebundle_lt.properties +58 -7
  242. package/src/sap/fe/core/messagebundle_lv.properties +59 -8
  243. package/src/sap/fe/core/messagebundle_ms.properties +58 -7
  244. package/src/sap/fe/core/messagebundle_nl.properties +58 -7
  245. package/src/sap/fe/core/messagebundle_no.properties +58 -7
  246. package/src/sap/fe/core/messagebundle_pl.properties +58 -7
  247. package/src/sap/fe/core/messagebundle_pt.properties +59 -8
  248. package/src/sap/fe/core/messagebundle_pt_PT.properties +58 -7
  249. package/src/sap/fe/core/messagebundle_ro.properties +58 -7
  250. package/src/sap/fe/core/messagebundle_ru.properties +58 -7
  251. package/src/sap/fe/core/messagebundle_sh.properties +58 -7
  252. package/src/sap/fe/core/messagebundle_sk.properties +58 -7
  253. package/src/sap/fe/core/messagebundle_sl.properties +58 -7
  254. package/src/sap/fe/core/messagebundle_sv.properties +59 -8
  255. package/src/sap/fe/core/messagebundle_th.properties +58 -7
  256. package/src/sap/fe/core/messagebundle_tr.properties +60 -9
  257. package/src/sap/fe/core/messagebundle_uk.properties +58 -7
  258. package/src/sap/fe/core/messagebundle_vi.properties +58 -7
  259. package/src/sap/fe/core/messagebundle_zh_CN.properties +58 -7
  260. package/src/sap/fe/core/messagebundle_zh_TW.properties +58 -7
  261. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +45 -71
  262. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  263. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +231 -202
  264. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +212 -0
  265. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +67 -92
  266. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +10 -6
  267. package/src/sap/fe/core/services/NavigationServiceFactory.js +351 -300
  268. package/src/sap/fe/core/services/NavigationServiceFactory.ts +313 -0
  269. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +114 -81
  270. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +83 -0
  271. package/src/sap/fe/core/services/RoutingServiceFactory.js +927 -1152
  272. package/src/sap/fe/core/services/RoutingServiceFactory.ts +898 -0
  273. package/src/sap/fe/core/services/ShellServicesFactory.js +649 -707
  274. package/src/sap/fe/core/services/ShellServicesFactory.ts +52 -15
  275. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +569 -637
  276. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +78 -102
  277. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +429 -478
  278. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +460 -0
  279. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +10 -8
  280. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +8 -0
  281. package/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
  282. package/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
  283. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
  284. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
  285. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  286. package/src/sap/fe/core/support/CommonHelper.ts +1 -1
  287. package/src/sap/fe/core/support/Diagnostics.js +36 -48
  288. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +38 -0
  289. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +18 -0
  290. package/src/sap/fe/core/templating/DataModelPathHelper.js +97 -127
  291. package/src/sap/fe/core/templating/DataModelPathHelper.ts +112 -135
  292. package/src/sap/fe/core/templating/DisplayModeFormatter.js +114 -0
  293. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +86 -0
  294. package/src/sap/fe/core/templating/FieldControlHelper.js +8 -8
  295. package/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
  296. package/src/sap/fe/core/templating/FilterHelper.js +140 -78
  297. package/src/sap/fe/core/templating/FilterHelper.ts +149 -78
  298. package/src/sap/fe/core/templating/PropertyHelper.js +3 -3
  299. package/src/sap/fe/core/templating/PropertyHelper.ts +2 -2
  300. package/src/sap/fe/core/templating/UIFormatters.js +76 -135
  301. package/src/sap/fe/core/templating/UIFormatters.ts +76 -99
  302. package/src/sap/fe/core/type/Email.js +1 -1
  303. package/src/sap/fe/core/type/Email.ts +4 -6
  304. package/ui5.yaml +0 -3
  305. package/src/sap/fe/core/controls/filterbar.d.js +0 -8
  306. package/src/sap/fe/core/controls/filterbar.d.ts +0 -0
@@ -1,149 +1,161 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
+ sap.ui.define(["sap/ui/core/mvc/ControllerExtension", "sap/base/util/UriParameters", "sap/base/util/ObjectPath", "sap/fe/placeholder/library", "sap/ui/core/Placeholder", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/controllerextensions/ControllerExtensionMetadata"], function (ControllerExtension, UriParameters, ObjectPath, _library, Placeholder, ClassSupport, ControllerExtensionMetadata) {
6
+ "use strict";
5
7
 
6
- sap.ui.define(
7
- [
8
- "sap/ui/core/mvc/ControllerExtension",
9
- "sap/base/util/UriParameters",
10
- "sap/base/util/ObjectPath",
11
- "sap/ui/core/Placeholder",
12
- "sap/fe/placeholder/library" // library dependency
13
- ],
14
- function(ControllerExtension, UriParameters, ObjectPath, Placeholder) {
15
- "use strict";
16
-
17
- /**
18
- * {@link sap.ui.core.mvc.ControllerExtension Controller extension} for Placeholder
19
- *
20
- * @namespace
21
- * @alias sap.fe.core.controllerextensions.Placeholder
22
- *
23
- **/
24
- var Extension = ControllerExtension.extend("sap.fe.core.controllerextensions.Placeholder", {
25
- attachHideCallback: function() {
26
- if (this.isPlaceholderEnabled()) {
27
- var oView = this.base.getView();
28
- var oPage = oView.getParent().oContainer;
29
- var oNavContainer = oPage.getParent();
30
-
31
- var _fnContainerDelegate = {
32
- onAfterShow: function(oEvent) {
33
- if (oEvent.isBackToPage) {
34
- oNavContainer.hidePlaceholder();
35
- } else if (
36
- UriParameters.fromQuery(window.location.hash.replace(/#.*\?/, "")).get("restoreHistory") === "true"
37
- ) {
38
- // in case we navigate to the listreport using the shell
39
- oNavContainer.hidePlaceholder();
40
- }
41
- }
42
- };
43
- oPage.addEventDelegate(_fnContainerDelegate);
44
-
45
- var oPageReady = oView.getController().pageReady;
46
- //In case of objectPage, the placeholder should be hidden when heroes requests are received
47
- // But for some scenario like "Create item", heroes requests are not sent .
48
- // The pageReady event is then used as fallback
49
-
50
- var aAttachEvents = ["pageReady"];
51
- if (oView.getControllerName() === "sap.fe.templates.ObjectPage.ObjectPageController") {
52
- aAttachEvents.push("heroesBatchReceived");
53
- }
54
- aAttachEvents.forEach(function(sEvent) {
55
- oPageReady.attachEvent(
56
- sEvent,
57
- null,
58
- function() {
59
- oNavContainer.hidePlaceholder();
60
- },
61
- null
62
- );
63
- });
64
- }
65
- },
66
- attachRouteMatchers: function() {
67
- this._init();
68
- },
69
-
70
- _init: function() {
71
- this.oAppComponent = this.base.getAppComponent();
72
- this.oRouting = this.oAppComponent._oRouting;
73
- this.oRootContainer = this.oAppComponent.getRootContainer();
74
- this.oRouter = this.oAppComponent.getRouter();
75
- this.oPlaceholders = {};
76
-
77
- // eslint-disable-next-line no-constant-condition
78
- if (this.isPlaceholderEnabled()) {
79
- Placeholder.registerProvider(function(oConfig) {
80
- switch (oConfig.name) {
81
- case "sap.fe.templates.ListReport":
82
- return {
83
- html: "sap/fe/placeholder/view/PlaceholderLR.fragment.html",
84
- autoClose: false
85
- };
86
- case "sap.fe.templates.ObjectPage":
87
- return {
88
- html: "sap/fe/placeholder/view/PlaceholderOP.fragment.html",
89
- autoClose: false
90
- };
91
- default:
92
- return;
93
- }
94
- });
95
- }
96
- if (this.isPlaceholderDebugEnabled()) {
97
- this.initPlaceholderDebug();
98
- }
99
- },
100
-
101
- initPlaceholderDebug: function() {
102
- this.resetPlaceholderDebugStats();
103
- var that = this;
104
- var handler = {
105
- apply: function(target, thisArg, argumentsList) {
106
- if (that.oRootContainer._placeholder && that.oRootContainer._placeholder.placeholder) {
107
- that.debugStats.iHidePlaceholderTimestamp = Date.now();
108
- }
109
- return target.bind(that.oRootContainer)();
110
- }
111
- };
112
- // eslint-disable-next-line no-undef
113
- var proxy1 = new Proxy(this.oRootContainer.hidePlaceholder, handler);
114
- this.oRootContainer.hidePlaceholder = proxy1;
115
- },
116
- isPlaceholderDebugEnabled: function() {
117
- if (UriParameters.fromQuery(window.location.search).get("sap-ui-xx-placeholder-debug") === "true") {
118
- return true;
119
- }
120
- return false;
121
- },
122
-
123
- resetPlaceholderDebugStats: function() {
124
- this.debugStats = {
125
- iHidePlaceholderTimestamp: 0,
126
- iPageReadyEventTimestamp: 0,
127
- iHeroesBatchReceivedEventTimestamp: 0
128
- };
129
- },
130
-
131
- getPlaceholderDebugStats: function() {
132
- return this.debugStats;
133
- },
134
-
135
- isPlaceholderEnabled: function() {
136
- var bPlaceholderEnabledInFLP = ObjectPath.get("sap-ushell-config.apps.placeholder.enabled");
137
- if (bPlaceholderEnabledInFLP === false) {
138
- return false;
139
- }
140
-
141
- return sap.ui
142
- .getCore()
143
- .getConfiguration()
144
- .getPlaceholder();
145
- }
146
- });
147
- return Extension;
148
- }
149
- );
8
+ var _dec, _class, _class2;
9
+
10
+ var UI5Class = ClassSupport.UI5Class;
11
+ var Public = ClassSupport.Public;
12
+
13
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
14
+
15
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
16
+
17
+ function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
18
+
19
+ /**
20
+ * {@link sap.ui.core.mvc.ControllerExtension Controller extension} for Placeholder
21
+ *
22
+ * @namespace
23
+ * @alias sap.fe.core.controllerextensions.Placeholder
24
+ *
25
+ **/
26
+ var PlaceholderControllerExtension = (_dec = UI5Class("sap.fe.core.controllerextensions.Placeholder", ControllerExtensionMetadata), _dec(_class = (_class2 = /*#__PURE__*/function (_ControllerExtension) {
27
+ _inherits(PlaceholderControllerExtension, _ControllerExtension);
28
+
29
+ function PlaceholderControllerExtension() {
30
+ return _ControllerExtension.apply(this, arguments) || this;
31
+ }
32
+
33
+ var _proto = PlaceholderControllerExtension.prototype;
34
+
35
+ _proto.attachHideCallback = function attachHideCallback() {
36
+ if (this.isPlaceholderEnabled()) {
37
+ var oView = this.base.getView();
38
+ var oPage = oView.getParent() && oView.getParent().oContainer;
39
+ var oNavContainer = oPage && oPage.getParent();
40
+
41
+ if (!oNavContainer) {
42
+ return;
43
+ }
44
+
45
+ var _fnContainerDelegate = {
46
+ onAfterShow: function (oEvent) {
47
+ if (oEvent.isBackToPage) {
48
+ oNavContainer.hidePlaceholder();
49
+ } else if (UriParameters.fromQuery(window.location.hash.replace(/#.*\?/, "")).get("restoreHistory") === "true") {
50
+ // in case we navigate to the listreport using the shell
51
+ oNavContainer.hidePlaceholder();
52
+ }
53
+ }
54
+ };
55
+ oPage.addEventDelegate(_fnContainerDelegate);
56
+ var oPageReady = oView.getController().pageReady; //In case of objectPage, the placeholder should be hidden when heroes requests are received
57
+ // But for some scenario like "Create item", heroes requests are not sent .
58
+ // The pageReady event is then used as fallback
59
+
60
+ var aAttachEvents = ["pageReady"];
61
+
62
+ if (oView.getControllerName() === "sap.fe.templates.ObjectPage.ObjectPageController") {
63
+ aAttachEvents.push("heroesBatchReceived");
64
+ }
65
+
66
+ aAttachEvents.forEach(function (sEvent) {
67
+ oPageReady.attachEvent(sEvent, null, function () {
68
+ oNavContainer.hidePlaceholder();
69
+ }, null);
70
+ });
71
+ }
72
+ };
73
+
74
+ _proto.attachRouteMatchers = function attachRouteMatchers() {
75
+ this._init();
76
+ };
77
+
78
+ _proto._init = function _init() {
79
+ this.oAppComponent = this.base.getAppComponent();
80
+ this.oRootContainer = this.oAppComponent.getRootContainer();
81
+ this.oPlaceholders = {}; // eslint-disable-next-line no-constant-condition
82
+
83
+ if (this.isPlaceholderEnabled()) {
84
+ Placeholder.registerProvider(function (oConfig) {
85
+ switch (oConfig.name) {
86
+ case "sap.fe.templates.ListReport":
87
+ return {
88
+ html: "sap/fe/placeholder/view/PlaceholderLR.fragment.html",
89
+ autoClose: false
90
+ };
91
+
92
+ case "sap.fe.templates.ObjectPage":
93
+ return {
94
+ html: "sap/fe/placeholder/view/PlaceholderOP.fragment.html",
95
+ autoClose: false
96
+ };
97
+
98
+ default:
99
+ return;
100
+ }
101
+ });
102
+ }
103
+
104
+ if (this.isPlaceholderDebugEnabled()) {
105
+ this.initPlaceholderDebug();
106
+ }
107
+ };
108
+
109
+ _proto.initPlaceholderDebug = function initPlaceholderDebug() {
110
+ var _this = this;
111
+
112
+ this.resetPlaceholderDebugStats();
113
+ var handler = {
114
+ apply: function (target) {
115
+ if (_this.oRootContainer._placeholder && _this.oRootContainer._placeholder.placeholder) {
116
+ _this.debugStats.iHidePlaceholderTimestamp = Date.now();
117
+ }
118
+
119
+ return target.bind(_this.oRootContainer)();
120
+ }
121
+ }; // eslint-disable-next-line no-undef
122
+
123
+ var proxy1 = new Proxy(this.oRootContainer.hidePlaceholder, handler);
124
+ this.oRootContainer.hidePlaceholder = proxy1;
125
+ };
126
+
127
+ _proto.isPlaceholderDebugEnabled = function isPlaceholderDebugEnabled() {
128
+ if (UriParameters.fromQuery(window.location.search).get("sap-ui-xx-placeholder-debug") === "true") {
129
+ return true;
130
+ }
131
+
132
+ return false;
133
+ };
134
+
135
+ _proto.resetPlaceholderDebugStats = function resetPlaceholderDebugStats() {
136
+ this.debugStats = {
137
+ iHidePlaceholderTimestamp: 0,
138
+ iPageReadyEventTimestamp: 0,
139
+ iHeroesBatchReceivedEventTimestamp: 0
140
+ };
141
+ };
142
+
143
+ _proto.getPlaceholderDebugStats = function getPlaceholderDebugStats() {
144
+ return this.debugStats;
145
+ };
146
+
147
+ _proto.isPlaceholderEnabled = function isPlaceholderEnabled() {
148
+ var bPlaceholderEnabledInFLP = ObjectPath.get("sap-ushell-config.apps.placeholder.enabled");
149
+
150
+ if (bPlaceholderEnabledInFLP === false) {
151
+ return false;
152
+ }
153
+
154
+ return sap.ui.getCore().getConfiguration().getPlaceholder();
155
+ };
156
+
157
+ return PlaceholderControllerExtension;
158
+ }(ControllerExtension), (_applyDecoratedDescriptor(_class2.prototype, "attachHideCallback", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "attachHideCallback"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "attachRouteMatchers", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "attachRouteMatchers"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "initPlaceholderDebug", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "initPlaceholderDebug"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "isPlaceholderDebugEnabled", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "isPlaceholderDebugEnabled"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "resetPlaceholderDebugStats", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "resetPlaceholderDebugStats"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "getPlaceholderDebugStats", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "getPlaceholderDebugStats"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "isPlaceholderEnabled", [Public], Object.getOwnPropertyDescriptor(_class2.prototype, "isPlaceholderEnabled"), _class2.prototype)), _class2)) || _class);
159
+ return PlaceholderControllerExtension;
160
+ }, false);
161
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBsYWNlaG9sZGVyLnRzIl0sIm5hbWVzIjpbIlBsYWNlaG9sZGVyQ29udHJvbGxlckV4dGVuc2lvbiIsIlVJNUNsYXNzIiwiQ29udHJvbGxlckV4dGVuc2lvbk1ldGFkYXRhIiwiYXR0YWNoSGlkZUNhbGxiYWNrIiwiaXNQbGFjZWhvbGRlckVuYWJsZWQiLCJvVmlldyIsImJhc2UiLCJnZXRWaWV3Iiwib1BhZ2UiLCJnZXRQYXJlbnQiLCJvQ29udGFpbmVyIiwib05hdkNvbnRhaW5lciIsIl9mbkNvbnRhaW5lckRlbGVnYXRlIiwib25BZnRlclNob3ciLCJvRXZlbnQiLCJpc0JhY2tUb1BhZ2UiLCJoaWRlUGxhY2Vob2xkZXIiLCJVcmlQYXJhbWV0ZXJzIiwiZnJvbVF1ZXJ5Iiwid2luZG93IiwibG9jYXRpb24iLCJoYXNoIiwicmVwbGFjZSIsImdldCIsImFkZEV2ZW50RGVsZWdhdGUiLCJvUGFnZVJlYWR5IiwiZ2V0Q29udHJvbGxlciIsInBhZ2VSZWFkeSIsImFBdHRhY2hFdmVudHMiLCJnZXRDb250cm9sbGVyTmFtZSIsInB1c2giLCJmb3JFYWNoIiwic0V2ZW50IiwiYXR0YWNoRXZlbnQiLCJhdHRhY2hSb3V0ZU1hdGNoZXJzIiwiX2luaXQiLCJvQXBwQ29tcG9uZW50IiwiZ2V0QXBwQ29tcG9uZW50Iiwib1Jvb3RDb250YWluZXIiLCJnZXRSb290Q29udGFpbmVyIiwib1BsYWNlaG9sZGVycyIsIlBsYWNlaG9sZGVyIiwicmVnaXN0ZXJQcm92aWRlciIsIm9Db25maWciLCJuYW1lIiwiaHRtbCIsImF1dG9DbG9zZSIsImlzUGxhY2Vob2xkZXJEZWJ1Z0VuYWJsZWQiLCJpbml0UGxhY2Vob2xkZXJEZWJ1ZyIsInJlc2V0UGxhY2Vob2xkZXJEZWJ1Z1N0YXRzIiwiaGFuZGxlciIsImFwcGx5IiwidGFyZ2V0IiwiX3BsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJkZWJ1Z1N0YXRzIiwiaUhpZGVQbGFjZWhvbGRlclRpbWVzdGFtcCIsIkRhdGUiLCJub3ciLCJiaW5kIiwicHJveHkxIiwiUHJveHkiLCJzZWFyY2giLCJpUGFnZVJlYWR5RXZlbnRUaW1lc3RhbXAiLCJpSGVyb2VzQmF0Y2hSZWNlaXZlZEV2ZW50VGltZXN0YW1wIiwiZ2V0UGxhY2Vob2xkZXJEZWJ1Z1N0YXRzIiwiYlBsYWNlaG9sZGVyRW5hYmxlZEluRkxQIiwiT2JqZWN0UGF0aCIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldENvbmZpZ3VyYXRpb24iLCJnZXRQbGFjZWhvbGRlciIsIkNvbnRyb2xsZXJFeHRlbnNpb24iLCJQdWJsaWMiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BRU1BLDhCLFdBRExDLFFBQVEsQ0FBQyw4Q0FBRCxFQUFpREMsMkJBQWpELEM7Ozs7Ozs7OztXQVNEQyxrQixHQURQLDhCQUM0QjtBQUMzQixVQUFJLEtBQUtDLG9CQUFMLEVBQUosRUFBaUM7QUFDaEMsWUFBTUMsS0FBSyxHQUFHLEtBQUtDLElBQUwsQ0FBVUMsT0FBVixFQUFkO0FBQ0EsWUFBTUMsS0FBSyxHQUFHSCxLQUFLLENBQUNJLFNBQU4sTUFBc0JKLEtBQUssQ0FBQ0ksU0FBTixFQUFELENBQTJCQyxVQUE5RDtBQUNBLFlBQU1DLGFBQWEsR0FBR0gsS0FBSyxJQUFJQSxLQUFLLENBQUNDLFNBQU4sRUFBL0I7O0FBRUEsWUFBSSxDQUFDRSxhQUFMLEVBQW9CO0FBQ25CO0FBQ0E7O0FBQ0QsWUFBTUMsb0JBQW9CLEdBQUc7QUFDNUJDLFVBQUFBLFdBQVcsRUFBRSxVQUFTQyxNQUFULEVBQXNCO0FBQ2xDLGdCQUFJQSxNQUFNLENBQUNDLFlBQVgsRUFBeUI7QUFDeEJKLGNBQUFBLGFBQWEsQ0FBQ0ssZUFBZDtBQUNBLGFBRkQsTUFFTyxJQUFJQyxhQUFhLENBQUNDLFNBQWQsQ0FBd0JDLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkMsSUFBaEIsQ0FBcUJDLE9BQXJCLENBQTZCLE9BQTdCLEVBQXNDLEVB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QUFQO0FBQ0E7O0FBQ0QsYUFBTyxLQUFQO0FBQ0EsSzs7V0FHRDBCLDBCLEdBREEsc0NBQzZCO0FBQzVCLFdBQUtNLFVBQUwsR0FBa0I7QUFDakJDLFFBQUFBLHlCQUF5QixFQUFFLENBRFY7QUFFakJPLFFBQUFBLHdCQUF3QixFQUFFLENBRlQ7QUFHakJDLFFBQUFBLGtDQUFrQyxFQUFFO0FBSG5CLE9BQWxCO0FBS0EsSzs7V0FFREMsd0IsR0FEQSxvQ0FDMkI7QUFDMUIsYUFBTyxLQUFLVixVQUFaO0FBQ0EsSzs7V0FFRG5ELG9CLEdBREEsZ0NBQ3VCO0FBQ3RCLFVBQU04RCx3QkFBd0IsR0FBR0MsVUFBVSxDQUFDNUMsR0FBWCxDQUFlLDRDQUFmLENBQWpDOztBQUNBLFVBQUkyQyx3QkFBd0IsS0FBSyxLQUFqQyxFQUF3QztBQUN2QyxlQUFPLEtBQVA7QUFDQTs7QUFFRCxhQUFPRSxHQUFHLENBQUNDLEVBQUosQ0FDTEMsT0FESyxHQUVMQyxnQkFGSyxHQUdMQyxjQUhLLEVBQVA7QUFJQSxLOzs7SUFsSTJDQyxtQix3RUFPM0NDLE0sc0tBMkNBQSxNLHdLQWtDQUEsTSw4S0FlQUEsTSxvTEFRQUEsTSxtTEFRQUEsTSw2S0FJQUEsTTtTQWNhMUUsOEIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlckV4dGVuc2lvblwiO1xuaW1wb3J0IFVyaVBhcmFtZXRlcnMgZnJvbSBcInNhcC9iYXNlL3V0aWwvVXJpUGFyYW1ldGVyc1wiO1xuaW1wb3J0IE9iamVjdFBhdGggZnJvbSBcInNhcC9iYXNlL3V0aWwvT2JqZWN0UGF0aFwiO1xuaW1wb3J0IFwic2FwL2ZlL3BsYWNlaG9sZGVyL2xpYnJhcnlcIjtcbmltcG9ydCBQbGFjZWhvbGRlciBmcm9tIFwic2FwL3VpL2NvcmUvUGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IFB1YmxpYywgVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb250cm9sbGVyRXh0ZW5zaW9uTWV0YWRhdGEgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0NvbnRyb2xsZXJFeHRlbnNpb25NZXRhZGF0YVwiO1xuaW1wb3J0IFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG4vKipcbiAqIHtAbGluayBzYXAudWkuY29yZS5tdmMuQ29udHJvbGxlckV4dGVuc2lvbiBDb250cm9sbGVyIGV4dGVuc2lvbn0gZm9yIFBsYWNlaG9sZGVyXG4gKlxuICogQG5hbWVzcGFjZVxuICogQGFsaWFzIHNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLlBsYWNlaG9sZGVyXG4gKlxuICoqL1xuQFVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuUGxhY2Vob2xkZXJcIiwgQ29udHJvbGxlckV4dGVuc2lvbk1ldGFkYXRhKVxuY2xhc3MgUGxhY2Vob2xkZXJDb250cm9sbGVyRXh0ZW5zaW9uIGV4dGVuZHMgQ29udHJvbGxlckV4dGVuc2lvbiB7XG5cdHByaXZhdGUgYmFzZSE6IFBhZ2VDb250cm9sbGVyO1xuXHRwcml2YXRlIG9BcHBDb21wb25lbnQhOiBBcHBDb21wb25lbnQ7XG5cdHByaXZhdGUgb1Jvb3RDb250YWluZXI6IGFueTtcblx0cHJpdmF0ZSBvUGxhY2Vob2xkZXJzOiBhbnk7XG5cdHByaXZhdGUgZGVidWdTdGF0czogYW55O1xuXG5cdEBQdWJsaWNcblx0cHVibGljIGF0dGFjaEhpZGVDYWxsYmFjaygpIHtcblx0XHRpZiAodGhpcy5pc1BsYWNlaG9sZGVyRW5hYmxlZCgpKSB7XG5cdFx0XHRjb25zdCBvVmlldyA9IHRoaXMuYmFzZS5nZXRWaWV3KCk7XG5cdFx0XHRjb25zdCBvUGFnZSA9IG9WaWV3LmdldFBhcmVudCgpICYmIChvVmlldy5nZXRQYXJlbnQoKSBhcyBhbnkpLm9Db250YWluZXI7XG5cdFx0XHRjb25zdCBvTmF2Q29udGFpbmVyID0gb1BhZ2UgJiYgb1BhZ2UuZ2V0UGFyZW50KCk7XG5cblx0XHRcdGlmICghb05hdkNvbnRhaW5lcikge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBfZm5Db250YWluZXJEZWxlZ2F0ZSA9IHtcblx0XHRcdFx0b25BZnRlclNob3c6IGZ1bmN0aW9uKG9FdmVudDogYW55KSB7XG5cdFx0XHRcdFx0aWYgKG9FdmVudC5pc0JhY2tUb1BhZ2UpIHtcblx0XHRcdFx0XHRcdG9OYXZDb250YWluZXIuaGlkZVBsYWNlaG9sZGVyKCk7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChVcmlQYXJhbWV0ZXJzLmZyb21RdWVyeSh3aW5kb3cubG9jYXRpb24uaGFzaC5yZXBsYWNlKC8jLipcXD8vLCBcIlwiKSkuZ2V0KFwicmVzdG9yZUhpc3RvcnlcIikgPT09IFwidHJ1ZVwiKSB7XG5cdFx0XHRcdFx0XHQvLyBpbiBjYXNlIHdlIG5hdmlnYXRlIHRvIHRoZSBsaXN0cmVwb3J0IHVzaW5nIHRoZSBzaGVsbFxuXHRcdFx0XHRcdFx0b05hdkNvbnRhaW5lci5oaWRlUGxhY2Vob2xkZXIoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cdFx0XHRvUGFnZS5hZGRFdmVudERlbGVnYXRlKF9mbkNvbnRhaW5lckRlbGVnYXRlKTtcblxuXHRcdFx0Y29uc3Qgb1BhZ2VSZWFkeSA9IChvVmlldy5nZXRDb250cm9sbGVyKCkgYXMgUGFnZUNvbnRyb2xsZXIpLnBhZ2VSZWFkeTtcblx0XHRcdC8vSW4gY2FzZSBvZiBvYmplY3RQYWdlLCB0aGUgcGxhY2Vob2xkZXIgc2hvdWxkIGJlIGhpZGRlbiB3aGVuIGhlcm9lcyByZXF1ZXN0cyBhcmUgcmVjZWl2ZWRcblx0XHRcdC8vIEJ1dCBmb3Igc29tZSBzY2VuYXJpbyBsaWtlIFwiQ3JlYXRlIGl0ZW1cIiwgaGVyb2VzIHJlcXVlc3RzIGFyZSBub3Qgc2VudCAuXG5cdFx0XHQvLyBUaGUgcGFnZVJlYWR5IGV2ZW50IGlzIHRoZW4gdXNlZCBhcyBmYWxsYmFja1xuXG5cdFx0XHRjb25zdCBhQXR0YWNoRXZlbnRzID0gW1wicGFnZVJlYWR5XCJdO1xuXHRcdFx0aWYgKG9WaWV3LmdldENvbnRyb2xsZXJOYW1lKCkgPT09IFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLk9iamVjdFBhZ2VDb250cm9sbGVyXCIpIHtcblx0XHRcdFx0YUF0dGFjaEV2ZW50cy5wdXNoKFwiaGVyb2VzQmF0Y2hSZWNlaXZlZFwiKTtcblx0XHRcdH1cblx0XHRcdGFBdHRhY2hFdmVudHMuZm9yRWFjaChmdW5jdGlvbihzRXZlbnQ6IHN0cmluZykge1xuXHRcdFx0XHRvUGFnZVJlYWR5LmF0dGFjaEV2ZW50KFxuXHRcdFx0XHRcdHNFdmVudCxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0b05hdkNvbnRhaW5lci5oaWRlUGxhY2Vob2xkZXIoKTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG51bGxcblx0XHRcdFx0KTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXHRAUHVibGljXG5cdGF0dGFjaFJvdXRlTWF0Y2hlcnMoKSB7XG5cdFx0dGhpcy5faW5pdCgpO1xuXHR9XG5cblx0X2luaXQoKSB7XG5cdFx0dGhpcy5vQXBwQ29tcG9uZW50ID0gdGhpcy5iYXNlLmdldEFwcENvbXBvbmVudCgpO1xuXHRcdHRoaXMub1Jvb3RDb250YWluZXIgPSB0aGlzLm9BcHBDb21wb25lbnQuZ2V0Um9vdENvbnRhaW5lcigpO1xuXHRcdHRoaXMub1BsYWNlaG9sZGVycyA9IHt9O1xuXG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnN0YW50LWNvbmRpdGlvblxuXHRcdGlmICh0aGlzLmlzUGxhY2Vob2xkZXJFbmFibGVkKCkpIHtcblx0XHRcdFBsYWNlaG9sZGVyLnJlZ2lzdGVyUHJvdmlkZXIoZnVuY3Rpb24ob0NvbmZpZzogYW55KSB7XG5cdFx0XHRcdHN3aXRjaCAob0NvbmZpZy5uYW1lKSB7XG5cdFx0XHRcdFx0Y2FzZSBcInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydFwiOlxuXHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0aHRtbDogXCJzYXAvZmUvcGxhY2Vob2xkZXIvdmlldy9QbGFjZWhvbGRlckxSLmZyYWdtZW50Lmh0bWxcIixcblx0XHRcdFx0XHRcdFx0YXV0b0Nsb3NlOiBmYWxzZVxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRjYXNlIFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlXCI6XG5cdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRodG1sOiBcInNhcC9mZS9wbGFjZWhvbGRlci92aWV3L1BsYWNlaG9sZGVyT1AuZnJhZ21lbnQuaHRtbFwiLFxuXHRcdFx0XHRcdFx0XHRhdXRvQ2xvc2U6IGZhbHNlXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRpZiAodGhpcy5pc1BsYWNlaG9sZGVyRGVidWdFbmFibGVkKCkpIHtcblx0XHRcdHRoaXMuaW5pdFBsYWNlaG9sZGVyRGVidWcoKTtcblx0XHR9XG5cdH1cblxuXHRAUHVibGljXG5cdGluaXRQbGFjZWhvbGRlckRlYnVnKCkge1xuXHRcdHRoaXMucmVzZXRQbGFjZWhvbGRlckRlYnVnU3RhdHMoKTtcblx0XHRjb25zdCBoYW5kbGVyID0ge1xuXHRcdFx0YXBwbHk6ICh0YXJnZXQ6IGFueSkgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy5vUm9vdENvbnRhaW5lci5fcGxhY2Vob2xkZXIgJiYgdGhpcy5vUm9vdENvbnRhaW5lci5fcGxhY2Vob2xkZXIucGxhY2Vob2xkZXIpIHtcblx0XHRcdFx0XHR0aGlzLmRlYnVnU3RhdHMuaUhpZGVQbGFjZWhvbGRlclRpbWVzdGFtcCA9IERhdGUubm93KCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHRhcmdldC5iaW5kKHRoaXMub1Jvb3RDb250YWluZXIpKCk7XG5cdFx0XHR9XG5cdFx0fTtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcblx0XHRjb25zdCBwcm94eTEgPSBuZXcgUHJveHkodGhpcy5vUm9vdENvbnRhaW5lci5oaWRlUGxhY2Vob2xkZXIsIGhhbmRsZXIpO1xuXHRcdHRoaXMub1Jvb3RDb250YWluZXIuaGlkZVBsYWNlaG9sZGVyID0gcHJveHkxO1xuXHR9XG5cdEBQdWJsaWNcblx0aXNQbGFjZWhvbGRlckRlYnVnRW5hYmxlZCgpIHtcblx0XHRpZiAoVXJpUGFyYW1ldGVycy5mcm9tUXVlcnkod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KFwic2FwLXVpLXh4LXBsYWNlaG9sZGVyLWRlYnVnXCIpID09PSBcInRydWVcIikge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdEBQdWJsaWNcblx0cmVzZXRQbGFjZWhvbGRlckRlYnVnU3RhdHMoKSB7XG5cdFx0dGhpcy5kZWJ1Z1N0YXRzID0ge1xuXHRcdFx0aUhpZGVQbGFjZWhvbGRlclRpbWVzdGFtcDogMCxcblx0XHRcdGlQYWdlUmVhZHlFdmVudFRpbWVzdGFtcDogMCxcblx0XHRcdGlIZXJvZXNCYXRjaFJlY2VpdmVkRXZlbnRUaW1lc3RhbXA6IDBcblx0XHR9O1xuXHR9XG5cdEBQdWJsaWNcblx0Z2V0UGxhY2Vob2xkZXJEZWJ1Z1N0YXRzKCkge1xuXHRcdHJldHVybiB0aGlzLmRlYnVnU3RhdHM7XG5cdH1cblx0QFB1YmxpY1xuXHRpc1BsYWNlaG9sZGVyRW5hYmxlZCgpIHtcblx0XHRjb25zdCBiUGxhY2Vob2xkZXJFbmFibGVkSW5GTFAgPSBPYmplY3RQYXRoLmdldChcInNhcC11c2hlbGwtY29uZmlnLmFwcHMucGxhY2Vob2xkZXIuZW5hYmxlZFwiKTtcblx0XHRpZiAoYlBsYWNlaG9sZGVyRW5hYmxlZEluRkxQID09PSBmYWxzZSkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdHJldHVybiBzYXAudWlcblx0XHRcdC5nZXRDb3JlKClcblx0XHRcdC5nZXRDb25maWd1cmF0aW9uKClcblx0XHRcdC5nZXRQbGFjZWhvbGRlcigpO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFBsYWNlaG9sZGVyQ29udHJvbGxlckV4dGVuc2lvbjtcbiJdfQ==
@@ -0,0 +1,151 @@
1
+ import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
2
+ import UriParameters from "sap/base/util/UriParameters";
3
+ import ObjectPath from "sap/base/util/ObjectPath";
4
+ import "sap/fe/placeholder/library";
5
+ import Placeholder from "sap/ui/core/Placeholder";
6
+ import { Public, UI5Class } from "sap/fe/core/helpers/ClassSupport";
7
+ import ControllerExtensionMetadata from "sap/fe/core/controllerextensions/ControllerExtensionMetadata";
8
+ import PageController from "sap/fe/core/PageController";
9
+ import AppComponent from "sap/fe/core/AppComponent";
10
+ /**
11
+ * {@link sap.ui.core.mvc.ControllerExtension Controller extension} for Placeholder
12
+ *
13
+ * @namespace
14
+ * @alias sap.fe.core.controllerextensions.Placeholder
15
+ *
16
+ **/
17
+ @UI5Class("sap.fe.core.controllerextensions.Placeholder", ControllerExtensionMetadata)
18
+ class PlaceholderControllerExtension extends ControllerExtension {
19
+ private base!: PageController;
20
+ private oAppComponent!: AppComponent;
21
+ private oRootContainer: any;
22
+ private oPlaceholders: any;
23
+ private debugStats: any;
24
+
25
+ @Public
26
+ public attachHideCallback() {
27
+ if (this.isPlaceholderEnabled()) {
28
+ const oView = this.base.getView();
29
+ const oPage = oView.getParent() && (oView.getParent() as any).oContainer;
30
+ const oNavContainer = oPage && oPage.getParent();
31
+
32
+ if (!oNavContainer) {
33
+ return;
34
+ }
35
+ const _fnContainerDelegate = {
36
+ onAfterShow: function(oEvent: any) {
37
+ if (oEvent.isBackToPage) {
38
+ oNavContainer.hidePlaceholder();
39
+ } else if (UriParameters.fromQuery(window.location.hash.replace(/#.*\?/, "")).get("restoreHistory") === "true") {
40
+ // in case we navigate to the listreport using the shell
41
+ oNavContainer.hidePlaceholder();
42
+ }
43
+ }
44
+ };
45
+ oPage.addEventDelegate(_fnContainerDelegate);
46
+
47
+ const oPageReady = (oView.getController() as PageController).pageReady;
48
+ //In case of objectPage, the placeholder should be hidden when heroes requests are received
49
+ // But for some scenario like "Create item", heroes requests are not sent .
50
+ // The pageReady event is then used as fallback
51
+
52
+ const aAttachEvents = ["pageReady"];
53
+ if (oView.getControllerName() === "sap.fe.templates.ObjectPage.ObjectPageController") {
54
+ aAttachEvents.push("heroesBatchReceived");
55
+ }
56
+ aAttachEvents.forEach(function(sEvent: string) {
57
+ oPageReady.attachEvent(
58
+ sEvent,
59
+ null,
60
+ function() {
61
+ oNavContainer.hidePlaceholder();
62
+ },
63
+ null
64
+ );
65
+ });
66
+ }
67
+ }
68
+ @Public
69
+ attachRouteMatchers() {
70
+ this._init();
71
+ }
72
+
73
+ _init() {
74
+ this.oAppComponent = this.base.getAppComponent();
75
+ this.oRootContainer = this.oAppComponent.getRootContainer();
76
+ this.oPlaceholders = {};
77
+
78
+ // eslint-disable-next-line no-constant-condition
79
+ if (this.isPlaceholderEnabled()) {
80
+ Placeholder.registerProvider(function(oConfig: any) {
81
+ switch (oConfig.name) {
82
+ case "sap.fe.templates.ListReport":
83
+ return {
84
+ html: "sap/fe/placeholder/view/PlaceholderLR.fragment.html",
85
+ autoClose: false
86
+ };
87
+ case "sap.fe.templates.ObjectPage":
88
+ return {
89
+ html: "sap/fe/placeholder/view/PlaceholderOP.fragment.html",
90
+ autoClose: false
91
+ };
92
+ default:
93
+ return;
94
+ }
95
+ });
96
+ }
97
+ if (this.isPlaceholderDebugEnabled()) {
98
+ this.initPlaceholderDebug();
99
+ }
100
+ }
101
+
102
+ @Public
103
+ initPlaceholderDebug() {
104
+ this.resetPlaceholderDebugStats();
105
+ const handler = {
106
+ apply: (target: any) => {
107
+ if (this.oRootContainer._placeholder && this.oRootContainer._placeholder.placeholder) {
108
+ this.debugStats.iHidePlaceholderTimestamp = Date.now();
109
+ }
110
+ return target.bind(this.oRootContainer)();
111
+ }
112
+ };
113
+ // eslint-disable-next-line no-undef
114
+ const proxy1 = new Proxy(this.oRootContainer.hidePlaceholder, handler);
115
+ this.oRootContainer.hidePlaceholder = proxy1;
116
+ }
117
+ @Public
118
+ isPlaceholderDebugEnabled() {
119
+ if (UriParameters.fromQuery(window.location.search).get("sap-ui-xx-placeholder-debug") === "true") {
120
+ return true;
121
+ }
122
+ return false;
123
+ }
124
+
125
+ @Public
126
+ resetPlaceholderDebugStats() {
127
+ this.debugStats = {
128
+ iHidePlaceholderTimestamp: 0,
129
+ iPageReadyEventTimestamp: 0,
130
+ iHeroesBatchReceivedEventTimestamp: 0
131
+ };
132
+ }
133
+ @Public
134
+ getPlaceholderDebugStats() {
135
+ return this.debugStats;
136
+ }
137
+ @Public
138
+ isPlaceholderEnabled() {
139
+ const bPlaceholderEnabledInFLP = ObjectPath.get("sap-ushell-config.apps.placeholder.enabled");
140
+ if (bPlaceholderEnabledInFLP === false) {
141
+ return false;
142
+ }
143
+
144
+ return sap.ui
145
+ .getCore()
146
+ .getConfiguration()
147
+ .getPlaceholder();
148
+ }
149
+ }
150
+
151
+ export default PlaceholderControllerExtension;