@sapui5/sap.fe.core 1.102.2 → 1.104.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 (324) hide show
  1. package/package.json +6 -6
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppComponent.js +73 -30
  4. package/src/sap/fe/core/AppComponent.ts +65 -43
  5. package/src/sap/fe/core/AppStateHandler.js +82 -70
  6. package/src/sap/fe/core/AppStateHandler.ts +32 -37
  7. package/src/sap/fe/core/BaseController.js +11 -9
  8. package/src/sap/fe/core/BaseController.ts +15 -13
  9. package/src/sap/fe/core/CommonUtils.js +227 -126
  10. package/src/sap/fe/core/CommonUtils.ts +240 -163
  11. package/src/sap/fe/core/ExtensionAPI.js +24 -27
  12. package/src/sap/fe/core/ExtensionAPI.ts +36 -38
  13. package/src/sap/fe/core/PageController.js +4 -4
  14. package/src/sap/fe/core/PageController.ts +4 -5
  15. package/src/sap/fe/core/TemplateComponent.js +1 -1
  16. package/src/sap/fe/core/TemplateComponent.ts +6 -6
  17. package/src/sap/fe/core/TemplateModel.js +1 -1
  18. package/src/sap/fe/core/TemplateModel.ts +1 -1
  19. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
  20. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +181 -43
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +150 -24
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +585 -210
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +246 -96
  25. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +30 -30
  26. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +32 -29
  27. package/src/sap/fe/core/controllerextensions/EditFlow.js +379 -330
  28. package/src/sap/fe/core/controllerextensions/EditFlow.ts +253 -245
  29. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
  30. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  31. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +101 -74
  32. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +69 -79
  33. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +67 -67
  34. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +76 -76
  35. package/src/sap/fe/core/controllerextensions/InternalRouting.js +85 -77
  36. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +103 -99
  37. package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
  38. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  39. package/src/sap/fe/core/controllerextensions/MassEdit.js +9 -9
  40. package/src/sap/fe/core/controllerextensions/MassEdit.ts +20 -27
  41. package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
  42. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -14
  43. package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
  44. package/src/sap/fe/core/controllerextensions/PageReady.ts +98 -34
  45. package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
  46. package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
  47. package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
  48. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  49. package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
  50. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  51. package/src/sap/fe/core/controllerextensions/Share.js +170 -139
  52. package/src/sap/fe/core/controllerextensions/Share.ts +117 -118
  53. package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
  54. package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
  55. package/src/sap/fe/core/controllerextensions/ViewState.js +200 -131
  56. package/src/sap/fe/core/controllerextensions/ViewState.ts +141 -148
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
  58. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
  59. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +11 -10
  60. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +17 -20
  61. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
  62. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
  63. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
  64. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
  65. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +190 -141
  66. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +258 -210
  67. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +183 -125
  68. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +213 -156
  69. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +164 -140
  70. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +180 -150
  71. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
  72. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
  73. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +71 -41
  74. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +102 -82
  75. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +61 -71
  76. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +56 -64
  77. package/src/sap/fe/core/controls/Any.js +9 -5
  78. package/src/sap/fe/core/controls/Any.ts +10 -4
  79. package/src/sap/fe/core/controls/CommandExecution.js +11 -25
  80. package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
  81. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  82. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  83. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
  84. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
  85. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
  86. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
  87. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
  88. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
  89. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  90. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  91. package/src/sap/fe/core/controls/FileWrapper.js +7 -2
  92. package/src/sap/fe/core/controls/FileWrapper.ts +15 -11
  93. package/src/sap/fe/core/controls/FilterBar.js +6 -2
  94. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  95. package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  96. package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
  97. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  98. package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
  99. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
  100. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
  101. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  102. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
  103. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  104. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +49 -49
  105. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +54 -54
  106. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
  107. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
  108. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
  109. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
  110. package/src/sap/fe/core/converters/ConverterContext.js +26 -33
  111. package/src/sap/fe/core/converters/ConverterContext.ts +52 -61
  112. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  113. package/src/sap/fe/core/converters/ManifestSettings.ts +17 -15
  114. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  115. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  116. package/src/sap/fe/core/converters/MetaModelConverter.js +64 -35
  117. package/src/sap/fe/core/converters/MetaModelConverter.ts +154 -129
  118. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  119. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  120. package/src/sap/fe/core/converters/annotations/DataField.js +58 -35
  121. package/src/sap/fe/core/converters/annotations/DataField.ts +102 -76
  122. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
  123. package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
  124. package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
  125. package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
  126. package/src/sap/fe/core/converters/controls/Common/Chart.ts +26 -33
  127. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  128. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  129. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +30 -28
  130. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +60 -61
  131. package/src/sap/fe/core/converters/controls/Common/Form.js +27 -28
  132. package/src/sap/fe/core/converters/controls/Common/Form.ts +44 -57
  133. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  134. package/src/sap/fe/core/converters/controls/Common/KPI.ts +49 -52
  135. package/src/sap/fe/core/converters/controls/Common/Table.js +181 -197
  136. package/src/sap/fe/core/converters/controls/Common/Table.ts +251 -280
  137. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
  138. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
  139. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
  140. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +65 -59
  141. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  142. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  143. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  144. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  145. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
  146. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
  147. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +77 -73
  148. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +101 -97
  149. package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
  150. package/src/sap/fe/core/converters/helpers/Aggregation.ts +12 -15
  151. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
  152. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
  153. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
  154. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
  155. package/src/sap/fe/core/converters/helpers/ID.js +48 -46
  156. package/src/sap/fe/core/converters/helpers/ID.ts +26 -25
  157. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  158. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  159. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  160. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -5
  161. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  162. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  163. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
  164. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
  165. package/src/sap/fe/core/converters/templates/ListReportConverter.js +55 -42
  166. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +81 -66
  167. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
  168. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
  169. package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
  170. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
  171. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  172. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  173. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  174. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  175. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  176. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  177. package/src/sap/fe/core/formatters/StandardFormatter.js +96 -0
  178. package/src/sap/fe/core/formatters/StandardFormatter.ts +70 -0
  179. package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
  180. package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
  181. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  182. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  183. package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
  184. package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
  185. package/src/sap/fe/core/helpers/BindingToolkit.js +1832 -0
  186. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +396 -269
  187. package/src/sap/fe/core/helpers/ClassSupport.js +49 -12
  188. package/src/sap/fe/core/helpers/ClassSupport.ts +37 -10
  189. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  190. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  191. package/src/sap/fe/core/helpers/EditState.js +1 -6
  192. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  193. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  194. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  195. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  196. package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
  197. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  198. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  199. package/src/sap/fe/core/helpers/MassEditHelper.js +306 -280
  200. package/src/sap/fe/core/helpers/MassEditHelper.ts +380 -360
  201. package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
  202. package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
  203. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  204. package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
  205. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  206. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  207. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  208. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  209. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  210. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  211. package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
  212. package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
  213. package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
  214. package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
  215. package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
  216. package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
  217. package/src/sap/fe/core/jsx-runtime/jsx-control.js +99 -0
  218. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +82 -0
  219. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
  220. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
  221. package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
  222. package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
  223. package/src/sap/fe/core/library.js +42 -3
  224. package/src/sap/fe/core/library.ts +38 -0
  225. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  226. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  227. package/src/sap/fe/core/messagebundle.properties +39 -63
  228. package/src/sap/fe/core/messagebundle_ar.properties +25 -39
  229. package/src/sap/fe/core/messagebundle_bg.properties +25 -39
  230. package/src/sap/fe/core/messagebundle_ca.properties +25 -39
  231. package/src/sap/fe/core/messagebundle_cs.properties +25 -39
  232. package/src/sap/fe/core/messagebundle_cy.properties +25 -39
  233. package/src/sap/fe/core/messagebundle_da.properties +25 -39
  234. package/src/sap/fe/core/messagebundle_de.properties +25 -39
  235. package/src/sap/fe/core/messagebundle_el.properties +26 -40
  236. package/src/sap/fe/core/messagebundle_en.properties +25 -39
  237. package/src/sap/fe/core/messagebundle_en_GB.properties +25 -39
  238. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +25 -39
  239. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +25 -39
  240. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +26 -18
  241. package/src/sap/fe/core/messagebundle_es.properties +27 -41
  242. package/src/sap/fe/core/messagebundle_es_MX.properties +25 -39
  243. package/src/sap/fe/core/messagebundle_et.properties +25 -39
  244. package/src/sap/fe/core/messagebundle_fi.properties +25 -39
  245. package/src/sap/fe/core/messagebundle_fr.properties +26 -40
  246. package/src/sap/fe/core/messagebundle_fr_CA.properties +25 -39
  247. package/src/sap/fe/core/messagebundle_hi.properties +25 -39
  248. package/src/sap/fe/core/messagebundle_hr.properties +25 -39
  249. package/src/sap/fe/core/messagebundle_hu.properties +25 -39
  250. package/src/sap/fe/core/messagebundle_id.properties +25 -39
  251. package/src/sap/fe/core/messagebundle_it.properties +41 -55
  252. package/src/sap/fe/core/messagebundle_iw.properties +25 -39
  253. package/src/sap/fe/core/messagebundle_ja.properties +25 -39
  254. package/src/sap/fe/core/messagebundle_kk.properties +25 -39
  255. package/src/sap/fe/core/messagebundle_ko.properties +30 -44
  256. package/src/sap/fe/core/messagebundle_lt.properties +25 -39
  257. package/src/sap/fe/core/messagebundle_lv.properties +25 -39
  258. package/src/sap/fe/core/messagebundle_ms.properties +25 -39
  259. package/src/sap/fe/core/messagebundle_nl.properties +27 -41
  260. package/src/sap/fe/core/messagebundle_no.properties +25 -39
  261. package/src/sap/fe/core/messagebundle_pl.properties +26 -40
  262. package/src/sap/fe/core/messagebundle_pt.properties +26 -40
  263. package/src/sap/fe/core/messagebundle_pt_PT.properties +25 -39
  264. package/src/sap/fe/core/messagebundle_ro.properties +25 -39
  265. package/src/sap/fe/core/messagebundle_ru.properties +25 -39
  266. package/src/sap/fe/core/messagebundle_sh.properties +25 -39
  267. package/src/sap/fe/core/messagebundle_sk.properties +25 -39
  268. package/src/sap/fe/core/messagebundle_sl.properties +25 -39
  269. package/src/sap/fe/core/messagebundle_sv.properties +25 -39
  270. package/src/sap/fe/core/messagebundle_th.properties +25 -39
  271. package/src/sap/fe/core/messagebundle_tr.properties +25 -39
  272. package/src/sap/fe/core/messagebundle_uk.properties +25 -39
  273. package/src/sap/fe/core/messagebundle_vi.properties +25 -39
  274. package/src/sap/fe/core/messagebundle_zh_CN.properties +25 -39
  275. package/src/sap/fe/core/messagebundle_zh_TW.properties +25 -39
  276. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  277. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  278. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +97 -69
  279. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +68 -69
  280. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  281. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
  282. package/src/sap/fe/core/services/NavigationServiceFactory.js +61 -49
  283. package/src/sap/fe/core/services/NavigationServiceFactory.ts +63 -52
  284. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  285. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  286. package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
  287. package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
  288. package/src/sap/fe/core/services/ShellServicesFactory.js +92 -76
  289. package/src/sap/fe/core/services/ShellServicesFactory.ts +95 -82
  290. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
  291. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  292. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +224 -198
  293. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +138 -139
  294. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  295. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  296. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  297. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  298. package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
  299. package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
  300. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  301. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  302. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  303. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  304. package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
  305. package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
  306. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  307. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
  308. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
  309. package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
  310. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  311. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  312. package/src/sap/fe/core/templating/FilterHelper.js +16 -15
  313. package/src/sap/fe/core/templating/FilterHelper.ts +18 -18
  314. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  315. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  316. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  317. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  318. package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
  319. package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
  320. package/src/sap/fe/core/templating/UIFormatters.js +152 -95
  321. package/src/sap/fe/core/templating/UIFormatters.ts +202 -128
  322. package/src/sap/fe/core/type/Email.js +2 -2
  323. package/src/sap/fe/core/type/Email.ts +2 -2
  324. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
@@ -2,10 +2,10 @@ import Log from "sap/base/Log";
2
2
  import extend from "sap/base/util/extend";
3
3
  import ObjectPath from "sap/base/util/ObjectPath";
4
4
  import { defineUI5Class, extensible, finalExtension, publicExtension } from "sap/fe/core/helpers/ClassSupport";
5
- import ActionSheet from "sap/m/ActionSheet";
6
- import Dialog from "sap/m/Dialog";
5
+ import type ActionSheet from "sap/m/ActionSheet";
6
+ import type Dialog from "sap/m/Dialog";
7
7
  import library from "sap/m/library";
8
- import Control from "sap/ui/core/Control";
8
+ import type Control from "sap/ui/core/Control";
9
9
  import Core from "sap/ui/core/Core";
10
10
  import Fragment from "sap/ui/core/Fragment";
11
11
  import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
@@ -14,8 +14,8 @@ import HashChanger from "sap/ui/core/routing/HashChanger";
14
14
  import XMLPreprocessor from "sap/ui/core/util/XMLPreprocessor";
15
15
  import XMLTemplateProcessor from "sap/ui/core/XMLTemplateProcessor";
16
16
  import JSONModel from "sap/ui/model/json/JSONModel";
17
- import { CoreEx } from "types/extension_types";
18
- import PageController from "../PageController";
17
+ import type { CoreEx } from "types/extension_types";
18
+ import type PageController from "../PageController";
19
19
 
20
20
  let oLastFocusedControl: Control;
21
21
 
@@ -34,7 +34,7 @@ class ShareUtils extends ControllerExtension {
34
34
  * Opens the share sheet.
35
35
  *
36
36
  * @function
37
- * @param {object} oControl The control to which the ActionSheet is opened.
37
+ * @param oControl The control to which the ActionSheet is opened.
38
38
  * @alias sap.fe.core.controllerextensions.Share#openShareSheet
39
39
  * @public
40
40
  * @since 1.93.0
@@ -48,22 +48,22 @@ class ShareUtils extends ControllerExtension {
48
48
  * Adapts the metadata used while sharing the page URL via 'Send Email', 'Share in SAP Jam', and 'Save as Tile'.
49
49
  *
50
50
  * @function
51
- * @param {object} oShareMetadata Object containing the share metadata.
52
- * @param {string} oShareMetadata.url Default URL that will be used via 'Send Email', 'Share in SAP Jam', and 'Save as Tile'
53
- * @param {string} oShareMetadata.title Default title that will be used as 'email subject' in 'Send Email', 'share text' in 'Share in SAP Jam' and 'title' in 'Save as Tile'
54
- * @param {object} oShareMetadata.email Email-specific metadata.
55
- * @param {string} oShareMetadata.email.url URL that will be used specifically for 'Send Email'. This takes precedence over oShareMetadata.url.
56
- * @param {string} oShareMetadata.email.title Title that will be used as "email subject" in 'Send Email'. This takes precedence over oShareMetadata.title.
57
- * @param {object} oShareMetadata.jam SAP Jam-specific metadata.
58
- * @param {string} oShareMetadata.jam.url URL that will be used specifically for 'Share in SAP Jam'. This takes precedence over oShareMetadata.url.
59
- * @param {string} oShareMetadata.jam.title Title that will be used as 'share text' in 'Share in SAP Jam'. This takes precedence over oShareMetadata.title.
60
- * @param {object} oShareMetadata.tile Save as Tile-specific metadata.
61
- * @param {string} oShareMetadata.tile.url URL that will be used specifically for 'Save as Tile'. This takes precedence over oShareMetadata.url.
62
- * @param {string} oShareMetadata.tile.title Title to be used for the tile. This takes precedence over oShareMetadata.title.
63
- * @param {string} oShareMetadata.tile.subtitle Subtitle to be used for the tile.
64
- * @param {string} oShareMetadata.tile.icon Icon to be used for the tile.
65
- * @param {string} oShareMetadata.tile.queryUrl Query URL of an OData service from which data for a dynamic tile is read.
66
- * @returns {object | Promise<object>} Share Metadata or a Promise resolving the Share Metadata
51
+ * @param oShareMetadata Object containing the share metadata.
52
+ * @param oShareMetadata.url Default URL that will be used via 'Send Email', 'Share in SAP Jam', and 'Save as Tile'
53
+ * @param oShareMetadata.title Default title that will be used as 'email subject' in 'Send Email', 'share text' in 'Share in SAP Jam' and 'title' in 'Save as Tile'
54
+ * @param oShareMetadata.email Email-specific metadata.
55
+ * @param oShareMetadata.email.url URL that will be used specifically for 'Send Email'. This takes precedence over oShareMetadata.url.
56
+ * @param oShareMetadata.email.title Title that will be used as "email subject" in 'Send Email'. This takes precedence over oShareMetadata.title.
57
+ * @param oShareMetadata.jam SAP Jam-specific metadata.
58
+ * @param oShareMetadata.jam.url URL that will be used specifically for 'Share in SAP Jam'. This takes precedence over oShareMetadata.url.
59
+ * @param oShareMetadata.jam.title Title that will be used as 'share text' in 'Share in SAP Jam'. This takes precedence over oShareMetadata.title.
60
+ * @param oShareMetadata.tile Save as Tile-specific metadata.
61
+ * @param oShareMetadata.tile.url URL that will be used specifically for 'Save as Tile'. This takes precedence over oShareMetadata.url.
62
+ * @param oShareMetadata.tile.title Title to be used for the tile. This takes precedence over oShareMetadata.title.
63
+ * @param oShareMetadata.tile.subtitle Subtitle to be used for the tile.
64
+ * @param oShareMetadata.tile.icon Icon to be used for the tile.
65
+ * @param oShareMetadata.tile.queryUrl Query URL of an OData service from which data for a dynamic tile is read.
66
+ * @returns Share Metadata or a Promise resolving the Share Metadata
67
67
  * @alias sap.fe.core.controllerextensions.Share#adaptShareMetadata
68
68
  * @public
69
69
  * @since 1.93.0
@@ -79,8 +79,8 @@ class ShareUtils extends ControllerExtension {
79
79
  }): object | Promise<object> {
80
80
  return oShareMetadata;
81
81
  }
82
- _openShareSheetImpl(by: any) {
83
- let oShareActionSheet: ActionSheet, fragmentController: any;
82
+ async _openShareSheetImpl(by: any): Promise<void> {
83
+ let oShareActionSheet: ActionSheet;
84
84
  const sHash = HashChanger.getInstance().getHash(),
85
85
  sBasePath = (HashChanger.getInstance() as any).hrefForAppSpecificHash
86
86
  ? (HashChanger.getInstance() as any).hrefForAppSpecificHash("")
@@ -106,114 +106,113 @@ class ShareUtils extends ControllerExtension {
106
106
  };
107
107
  oLastFocusedControl = by;
108
108
 
109
- const setShareEmailData = function (oShareActionSheet: any, oModelData: any) {
110
- const oShareMailModel = oShareActionSheet.getModel("shareData");
109
+ const setShareEmailData = function (shareActionSheet: any, oModelData: any) {
110
+ const oShareMailModel = shareActionSheet.getModel("shareData");
111
111
  const oNewMailData = extend(oShareMailModel.getData(), oModelData);
112
112
  oShareMailModel.setData(oNewMailData);
113
113
  };
114
- return Promise.resolve(this.adaptShareMetadata(oShareMetadata))
115
- .then((oModelData: any) => {
116
- fragmentController = {
117
- shareEmailPressed: function () {
118
- const oMailModel = oShareActionSheet.getModel("shareData") as JSONModel;
119
- const oMailData = oMailModel.getData() as any;
120
- const oResource = (Core as CoreEx).getLibraryResourceBundle("sap.fe.core");
121
- const sEmailSubject = oMailData.email.title
122
- ? oMailData.email.title
123
- : oResource.getText("T_SHARE_UTIL_HELPER_SAPFE_EMAIL_SUBJECT", [oMailData.title]);
124
- library.URLHelper.triggerEmail(undefined, sEmailSubject, oMailData.email.url ? oMailData.email.url : oMailData.url);
125
- },
126
- shareMSTeamsPressed: function () {
127
- const msTeamsModel = oShareActionSheet.getModel("shareData") as JSONModel;
128
- const msTeamsData = msTeamsModel.getData() as any;
129
- const message = msTeamsData.email.title ? msTeamsData.email.title : msTeamsData.title;
130
- const url = msTeamsData.email.url ? msTeamsData.email.url : msTeamsData.url;
131
- const newWindowOpen = window.open("", "ms-teams-share-popup", "width=700,height=600");
132
- newWindowOpen!.opener = null;
133
- newWindowOpen!.location =
134
- "https://teams.microsoft.com/share?msgText=" + encodeURIComponent(message) + "&href=" + encodeURIComponent(url);
135
- },
136
- onSaveTilePress: function () {
137
- // TODO it seems that the press event is executed before the dialog is available - adding a timeout is a cheap workaround
138
- setTimeout(function () {
139
- ((Core as CoreEx).byId("bookmarkDialog") as Dialog)?.attachAfterClose(function () {
140
- oLastFocusedControl.focus();
141
- });
142
- }, 0);
143
- },
144
- shareJamPressed() {
145
- this._doOpenJamShareDialog(
146
- oModelData.jam.title ? oModelData.jam.title : oModelData.title,
147
- oModelData.jam.url ? oModelData.jam.url : window.location.origin + window.location.pathname + oModelData.url
148
- );
149
- }
150
- };
151
114
 
152
- fragmentController.onCancelPressed = function () {
153
- oShareActionSheet.close();
154
- };
115
+ try {
116
+ const oModelData: any = await Promise.resolve(this.adaptShareMetadata(oShareMetadata));
117
+ const fragmentController: any = {
118
+ shareEmailPressed: function () {
119
+ const oMailModel = oShareActionSheet.getModel("shareData") as JSONModel;
120
+ const oMailData = oMailModel.getData();
121
+ const oResource = (Core as CoreEx).getLibraryResourceBundle("sap.fe.core");
122
+ const sEmailSubject = oMailData.email.title
123
+ ? oMailData.email.title
124
+ : oResource.getText("T_SHARE_UTIL_HELPER_SAPFE_EMAIL_SUBJECT", [oMailData.title]);
125
+ library.URLHelper.triggerEmail(undefined, sEmailSubject, oMailData.email.url ? oMailData.email.url : oMailData.url);
126
+ },
127
+ shareMSTeamsPressed: function () {
128
+ const msTeamsModel = oShareActionSheet.getModel("shareData") as JSONModel;
129
+ const msTeamsData = msTeamsModel.getData();
130
+ const message = msTeamsData.email.title ? msTeamsData.email.title : msTeamsData.title;
131
+ const url = msTeamsData.email.url ? msTeamsData.email.url : msTeamsData.url;
132
+ const newWindowOpen = window.open("", "ms-teams-share-popup", "width=700,height=600");
133
+ newWindowOpen!.opener = null;
134
+ newWindowOpen!.location = `https://teams.microsoft.com/share?msgText=${encodeURIComponent(
135
+ message
136
+ )}&href=${encodeURIComponent(url)}`;
137
+ },
138
+ onSaveTilePress: function () {
139
+ // TODO it seems that the press event is executed before the dialog is available - adding a timeout is a cheap workaround
140
+ setTimeout(function () {
141
+ ((Core as CoreEx).byId("bookmarkDialog") as Dialog)?.attachAfterClose(function () {
142
+ oLastFocusedControl.focus();
143
+ });
144
+ }, 0);
145
+ },
146
+ shareJamPressed: () => {
147
+ this._doOpenJamShareDialog(
148
+ oModelData.jam.title ? oModelData.jam.title : oModelData.title,
149
+ oModelData.jam.url ? oModelData.jam.url : window.location.origin + window.location.pathname + oModelData.url
150
+ );
151
+ }
152
+ };
153
+
154
+ fragmentController.onCancelPressed = function () {
155
+ oShareActionSheet.close();
156
+ };
157
+
158
+ fragmentController.setShareSheet = function (oShareSheet: any) {
159
+ by.shareSheet = oShareSheet;
160
+ };
161
+
162
+ const oThis = new JSONModel({});
163
+ const oPreprocessorSettings = {
164
+ bindingContexts: {
165
+ "this": oThis.createBindingContext("/")
166
+ },
167
+ models: {
168
+ "this": oThis
169
+ }
170
+ };
171
+ const oTileData = {
172
+ title: oModelData.tile.title ? oModelData.tile.title : oModelData.title,
173
+ subtitle: oModelData.tile.subtitle,
174
+ icon: oModelData.tile.icon,
175
+ url: oModelData.tile.url ? oModelData.tile.url : oModelData.url,
176
+ queryUrl: oModelData.tile.queryUrl
177
+ };
178
+ if (by.shareSheet) {
179
+ oShareActionSheet = by.shareSheet;
155
180
 
156
- fragmentController.setShareSheet = function (oShareSheet: any) {
157
- by.shareSheet = oShareSheet;
158
- };
181
+ const oShareModel = oShareActionSheet.getModel("share") as JSONModel;
182
+ this._setStaticShareData(oShareModel);
183
+ const oNewData = extend(oShareModel.getData(), oTileData);
184
+ oShareModel.setData(oNewData);
185
+ setShareEmailData(oShareActionSheet, oModelData);
186
+ oShareActionSheet.openBy(by);
187
+ } else {
188
+ const sFragmentName = "sap.fe.macros.share.ShareSheet";
189
+ const oPopoverFragment = XMLTemplateProcessor.loadTemplate(sFragmentName, "fragment");
159
190
 
160
- const oThis = new JSONModel({}),
161
- oPreprocessorSettings = {
162
- bindingContexts: {
163
- "this": oThis.createBindingContext("/")
164
- },
165
- models: {
166
- "this": oThis
167
- }
168
- };
169
- const oTileData = {
170
- title: oModelData.tile.title ? oModelData.tile.title : oModelData.title,
171
- subtitle: oModelData.tile.subtitle,
172
- icon: oModelData.tile.icon,
173
- url: oModelData.tile.url ? oModelData.tile.url : oModelData.url,
174
- queryUrl: oModelData.tile.queryUrl
175
- };
176
- if (by.shareSheet) {
177
- oShareActionSheet = by.shareSheet;
191
+ try {
192
+ const oFragment = await Promise.resolve(
193
+ XMLPreprocessor.process(oPopoverFragment, { name: sFragmentName }, oPreprocessorSettings)
194
+ );
195
+ oShareActionSheet = (await Fragment.load({ definition: oFragment, controller: fragmentController })) as any;
178
196
 
197
+ oShareActionSheet.setModel(new JSONModel(oTileData || {}), "share");
179
198
  const oShareModel = oShareActionSheet.getModel("share") as JSONModel;
180
199
  this._setStaticShareData(oShareModel);
181
200
  const oNewData = extend(oShareModel.getData(), oTileData);
182
201
  oShareModel.setData(oNewData);
183
- setShareEmailData(oShareActionSheet, oModelData);
184
- oShareActionSheet.openBy(by);
185
- } else {
186
- const sFragmentName = "sap.fe.macros.share.ShareSheet",
187
- oPopoverFragment = XMLTemplateProcessor.loadTemplate(sFragmentName, "fragment");
188
-
189
- Promise.resolve(XMLPreprocessor.process(oPopoverFragment, { name: sFragmentName }, oPreprocessorSettings))
190
- .then(function (oFragment: any) {
191
- return Fragment.load({ definition: oFragment, controller: fragmentController });
192
- })
193
- .then((oActionSheet: any) => {
194
- oShareActionSheet = oActionSheet;
195
202
 
196
- oShareActionSheet.setModel(new JSONModel(oTileData || {}), "share");
197
- const oShareModel = oShareActionSheet.getModel("share") as JSONModel;
198
- this._setStaticShareData(oShareModel);
199
- const oNewData = extend(oShareModel.getData(), oTileData);
200
- oShareModel.setData(oNewData);
201
-
202
- oShareActionSheet.setModel(new JSONModel(oModelData || {}), "shareData");
203
- setShareEmailData(oShareActionSheet, oModelData);
203
+ oShareActionSheet.setModel(new JSONModel(oModelData || {}), "shareData");
204
+ setShareEmailData(oShareActionSheet, oModelData);
204
205
 
205
- by.addDependent(oShareActionSheet);
206
- oShareActionSheet.openBy(by);
207
- fragmentController.setShareSheet(oShareActionSheet);
208
- })
209
- .catch(function (oError: any) {
210
- Log.error("Error while opening the share fragment", oError);
211
- });
206
+ by.addDependent(oShareActionSheet);
207
+ oShareActionSheet.openBy(by);
208
+ fragmentController.setShareSheet(oShareActionSheet);
209
+ } catch (oError: any) {
210
+ Log.error("Error while opening the share fragment", oError);
212
211
  }
213
- })
214
- .catch(function (oError: any) {
215
- Log.error("Error while fetching the share model data", oError);
216
- });
212
+ }
213
+ } catch (oError: any) {
214
+ Log.error("Error while fetching the share model data", oError);
215
+ }
217
216
  }
218
217
  _setStaticShareData(shareModel: any) {
219
218
  const oResource = (Core as CoreEx).getLibraryResourceBundle("sap.fe.core");