@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
@@ -7,17 +7,17 @@ import MessageItem from "sap/m/MessageItem";
7
7
  import MessageToast from "sap/m/MessageToast";
8
8
  import MessageView from "sap/m/MessageView";
9
9
  import Text from "sap/m/Text";
10
- import ManagedObject from "sap/ui/base/ManagedObject";
10
+ import type ManagedObject from "sap/ui/base/ManagedObject";
11
11
  import Core from "sap/ui/core/Core";
12
12
  import DateFormat from "sap/ui/core/format/DateFormat";
13
13
  import IconPool from "sap/ui/core/IconPool";
14
14
  import CoreLib from "sap/ui/core/library";
15
15
  import Message from "sap/ui/core/message/Message";
16
- import Control from "sap/ui/mdc/Control";
16
+ import type Control from "sap/ui/mdc/Control";
17
17
  import Filter from "sap/ui/model/Filter";
18
18
  import FilterOperator from "sap/ui/model/FilterOperator";
19
19
  import JSONModel from "sap/ui/model/json/JSONModel";
20
- import { CoreEx } from "types/extension_types";
20
+ import type { CoreEx } from "types/extension_types";
21
21
 
22
22
  const MessageType = CoreLib.MessageType;
23
23
  let aMessageList: any[] = [];
@@ -25,7 +25,6 @@ let aMessageDataList: any[] = [];
25
25
  let aResolveFunctions: any[] = [];
26
26
  let oDialog: Dialog;
27
27
  let oBackButton: Button;
28
- let oMessageTemplate: MessageItem;
29
28
  let oMessageView: MessageView;
30
29
 
31
30
  export type messageHandlingType = {
@@ -35,13 +34,13 @@ export type messageHandlingType = {
35
34
  oContext?: any,
36
35
  bHasEtagMessage?: boolean,
37
36
  bShowBoundTransition?: boolean,
38
- errorTargetsInAPM?: boolean,
37
+ showErrorInAPD?: boolean,
39
38
  bShowMessageBox?: boolean,
40
39
  concurrentEditFlag?: boolean
41
40
  ) => Promise<any>;
42
41
  removeUnboundTransitionMessages: () => void;
43
- removeBoundTransitionMessages: () => void;
44
42
  modifyETagMessagesOnly: (oMessageManager: any, oResourceBundle: any, concurrentEditFlag: boolean | undefined) => boolean;
43
+ removeBoundTransitionMessages: (sPathToBeRemoved?: string) => void;
45
44
  getRetryAfterMessage: (oMessage: any, bMessageDialog?: any) => any;
46
45
  prepareMessageViewForDialog: (oMessageDialogModel: JSONModel, bStrictHandlingFlow: boolean) => any;
47
46
  };
@@ -76,41 +75,40 @@ function fnFormatTechnicalDetails() {
76
75
  function getPaths() {
77
76
  const sTD = "technicalDetails"; // name of property in message model data for technical details
78
77
  return [
79
- { "groupName": "", "property": sTD + "/status" },
80
- { "groupName": "", "property": sTD + "/statusText" },
81
- { "groupName": "Application", "property": sTD + "/error/@SAP__common.Application/ComponentId" },
82
- { "groupName": "Application", "property": sTD + "/error/@SAP__common.Application/ServiceId" },
83
- { "groupName": "Application", "property": sTD + "/error/@SAP__common.Application/ServiceRepository" },
84
- { "groupName": "Application", "property": sTD + "/error/@SAP__common.Application/ServiceVersion" },
85
- { "groupName": "ErrorResolution", "property": sTD + "/error/@SAP__common.ErrorResolution/Analysis" },
86
- { "groupName": "ErrorResolution", "property": sTD + "/error/@SAP__common.ErrorResolution/Note" },
87
- { "groupName": "ErrorResolution", "property": sTD + "/error/@SAP__common.ErrorResolution/DetailedNote" },
88
- { "groupName": "ErrorResolution", "property": sTD + "/error/@SAP__common.ExceptionCategory" },
89
- { "groupName": "ErrorResolution", "property": sTD + "/error/@SAP__common.TimeStamp" },
90
- { "groupName": "ErrorResolution", "property": sTD + "/error/@SAP__common.TransactionId" },
91
- { "groupName": "Messages", "property": sTD + "/error/code" },
92
- { "groupName": "Messages", "property": sTD + "/error/message" }
78
+ { "groupName": "", "property": `${sTD}/status` },
79
+ { "groupName": "", "property": `${sTD}/statusText` },
80
+ { "groupName": "Application", "property": `${sTD}/error/@SAP__common.Application/ComponentId` },
81
+ { "groupName": "Application", "property": `${sTD}/error/@SAP__common.Application/ServiceId` },
82
+ { "groupName": "Application", "property": `${sTD}/error/@SAP__common.Application/ServiceRepository` },
83
+ { "groupName": "Application", "property": `${sTD}/error/@SAP__common.Application/ServiceVersion` },
84
+ { "groupName": "ErrorResolution", "property": `${sTD}/error/@SAP__common.ErrorResolution/Analysis` },
85
+ { "groupName": "ErrorResolution", "property": `${sTD}/error/@SAP__common.ErrorResolution/Note` },
86
+ { "groupName": "ErrorResolution", "property": `${sTD}/error/@SAP__common.ErrorResolution/DetailedNote` },
87
+ { "groupName": "ErrorResolution", "property": `${sTD}/error/@SAP__common.ExceptionCategory` },
88
+ { "groupName": "ErrorResolution", "property": `${sTD}/error/@SAP__common.TimeStamp` },
89
+ { "groupName": "ErrorResolution", "property": `${sTD}/error/@SAP__common.TransactionId` },
90
+ { "groupName": "Messages", "property": `${sTD}/error/code` },
91
+ { "groupName": "Messages", "property": `${sTD}/error/message` }
93
92
  ];
94
93
  }
95
94
 
96
95
  let sHTML = "Object.keys(" + "${technicalDetails}" + ').length > 0 ? "<h2>Technical Details</h2>" : "" ';
97
96
  getPaths().forEach(function (oProperty: { groupName: string; property: string }) {
98
- sHTML = sHTML + insertGroupName(oProperty) + "" + insertDetail(oProperty) + " + ";
97
+ sHTML = `${sHTML + insertGroupName(oProperty)}${insertDetail(oProperty)} + `;
99
98
  });
100
99
  return sHTML;
101
100
  }
102
101
  function fnFormatDescription() {
103
- const sHTML = "(${" + 'description} ? ("<h2>Description</h2>" + ${' + 'description}) : "")';
104
- return sHTML;
102
+ return "(${" + 'description} ? ("<h2>Description</h2>" + ${' + 'description}) : "")';
105
103
  }
106
104
  /**
107
105
  * Calculates the highest priority message type(Error/Warning/Success/Information) from the available messages.
108
-
106
+ *
109
107
  * @function
110
108
  * @name sap.fe.core.actions.messageHandling.fnGetHighestMessagePriority
111
109
  * @memberof sap.fe.core.actions.messageHandling
112
- * @param {Array} [aMessages] Messages list
113
- * @returns {string} Highest priority message from the available messages
110
+ * @param [aMessages] Messages list
111
+ * @returns Highest priority message from the available messages
114
112
  * @private
115
113
  * @ui5-restricted
116
114
  */
@@ -186,10 +184,9 @@ function getRetryAfterMessage(oMessage: any, bMessageDialog?: any) {
186
184
  //same year
187
185
  if (bMessageDialog) {
188
186
  //less than 2 min
189
- sRetryAfterMessage =
190
- oResourceBundle.getText("C_MESSAGE_HANDLING_SAPFE_503_TITLE") +
191
- " " +
192
- oResourceBundle.getText("C_MESSAGE_HANDLING_SAPFE_503_DESC");
187
+ sRetryAfterMessage = `${oResourceBundle.getText("C_MESSAGE_HANDLING_SAPFE_503_TITLE")} ${oResourceBundle.getText(
188
+ "C_MESSAGE_HANDLING_SAPFE_503_DESC"
189
+ )}`;
193
190
  } else if (dNow.getMonth() !== dRetryAfter.getMonth() || dNow.getDate() !== dRetryAfter.getDate()) {
194
191
  oDateFormat = DateFormat.getDateTimeInstance({
195
192
  pattern: "MMMM dd 'at' hh:mm a"
@@ -212,26 +209,25 @@ function getRetryAfterMessage(oMessage: any, bMessageDialog?: any) {
212
209
  }
213
210
 
214
211
  function prepareMessageViewForDialog(oMessageDialogModel: JSONModel, bStrictHandlingFlow: boolean) {
212
+ let oMessageTemplate: MessageItem;
215
213
  if (!bStrictHandlingFlow) {
216
- oMessageTemplate =
217
- oMessageTemplate ||
218
- new MessageItem(undefined, {
219
- counter: { path: "counter" },
220
- title: "{message}",
221
- subtitle: "{additionalText}",
222
- longtextUrl: "{descriptionUrl}",
223
- type: { path: "type" },
224
- description:
225
- "{= ${" +
226
- "description} || ${technicalDetails} ? " +
227
- '"<html><body>" + ' +
228
- fnFormatDescription() +
229
- " + " +
230
- fnFormatTechnicalDetails() +
231
- '"</body></html>"' +
232
- ' : "" }',
233
- markupDescription: true
234
- });
214
+ oMessageTemplate = new MessageItem(undefined, {
215
+ counter: { path: "counter" },
216
+ title: "{message}",
217
+ subtitle: "{additionalText}",
218
+ longtextUrl: "{descriptionUrl}",
219
+ type: { path: "type" },
220
+ description:
221
+ "{= ${" +
222
+ "description} || ${technicalDetails} ? " +
223
+ '"<html><body>" + ' +
224
+ fnFormatDescription() +
225
+ " + " +
226
+ fnFormatTechnicalDetails() +
227
+ '"</body></html>"' +
228
+ ' : "" }',
229
+ markupDescription: true
230
+ });
235
231
  } else {
236
232
  oMessageTemplate = new MessageItem({
237
233
  title: "{message}",
@@ -239,18 +235,16 @@ function prepareMessageViewForDialog(oMessageDialogModel: JSONModel, bStrictHand
239
235
  longtextUrl: "{descriptionUrl}"
240
236
  });
241
237
  }
242
- oMessageView =
243
- oMessageView ||
244
- new MessageView({
245
- showDetailsPageHeader: false,
246
- itemSelect: function () {
247
- oBackButton.setVisible(true);
248
- },
249
- items: {
250
- path: "/",
251
- template: oMessageTemplate
252
- }
253
- });
238
+ oMessageView = new MessageView({
239
+ showDetailsPageHeader: false,
240
+ itemSelect: function () {
241
+ oBackButton.setVisible(true);
242
+ },
243
+ items: {
244
+ path: "/",
245
+ template: oMessageTemplate
246
+ }
247
+ });
254
248
  oBackButton =
255
249
  oBackButton ||
256
250
  new Button({
@@ -275,10 +269,10 @@ function showUnboundMessages(
275
269
  oContext?: any,
276
270
  bHasEtagMessage?: boolean,
277
271
  bShowBoundTransition?: boolean,
278
- errorTargetsInAPM?: boolean,
272
+ showErrorInAPD?: boolean,
279
273
  bShowMessageBox?: boolean,
280
274
  concurrentEditFlag?: boolean
281
- ) {
275
+ ): Promise<any> {
282
276
  let aUnboundMessages = this.getMessages();
283
277
  const oMessageManager = Core.getMessageManager();
284
278
  let sHighestPriority;
@@ -345,7 +339,7 @@ function showUnboundMessages(
345
339
  const oMessageDialogModel = (oMessageView && (oMessageView.getModel() as JSONModel)) || new JSONModel();
346
340
  if (aUnboundMessages.length === 1 && (aUnboundMessages[0].getCode() === "503" || bShowMessageBox)) {
347
341
  if (aUnboundMessages[0].getCode() !== "503") {
348
- showMessageBox = !errorTargetsInAPM;
342
+ showMessageBox = !showErrorInAPD;
349
343
  } else {
350
344
  showMessageBox = true;
351
345
  }
@@ -354,14 +348,17 @@ function showUnboundMessages(
354
348
  aCurrentContexts = oListBinding.getCurrentContexts();
355
349
  if (aCurrentContexts && aCurrentContexts.length > 0) {
356
350
  // Don't show dialog incase there are no errors to show
357
- showMessageDialog = !errorTargetsInAPM; // if false, show messages in dialog
351
+ if (oContext && oContext?.getObject()?.IsActiveEntity && !showErrorInAPD) {
352
+ showMessageDialog = true;
353
+ } else {
354
+ showMessageDialog = !showErrorInAPD;
355
+ } // if false, show messages in dialog
358
356
  // As fitering has already happened here hence
359
357
  // using the message model again for the message dialog view and then filtering on that binding again is unnecessary.
360
358
  // So we create new json model to use for the message dialog view.
361
359
  const aMessages: any[] = [];
362
- aCurrentContexts.forEach(function (oContext: any) {
363
- let oMessage;
364
- oMessage = oContext.getObject();
360
+ aCurrentContexts.forEach(function (currentContext: any) {
361
+ const oMessage = currentContext.getObject();
365
362
  aMessages.push(oMessage);
366
363
  aMessageDataList = aMessages;
367
364
  });
@@ -407,7 +404,6 @@ function showUnboundMessages(
407
404
  oDialog ||
408
405
  new Dialog({
409
406
  resizable: true,
410
- content: oMessageObject.oMessageView,
411
407
  endButton: new Button({
412
408
  press: function () {
413
409
  dialogCloseHandler();
@@ -436,6 +432,7 @@ function showUnboundMessages(
436
432
  aResolveFunctions = [];
437
433
  }
438
434
  });
435
+ oDialog.addContent(oMessageObject.oMessageView);
439
436
 
440
437
  if (messageHasETag) {
441
438
  sap.ui.require(["sap/m/ButtonType"], function (ButtonType: any) {
@@ -462,6 +459,7 @@ function showUnboundMessages(
462
459
  (oDialog.getCustomHeader() as any).getContentMiddle()[0].setText(sHighestPriorityText);
463
460
  oMessageView.navigateBack();
464
461
  oDialog.open();
462
+ resolve(oDialog);
465
463
  })
466
464
  .catch(reject);
467
465
  });
@@ -473,13 +471,12 @@ function showUnboundMessages(
473
471
  let formattedTextString = "<html><body>";
474
472
  const retryAfterMessage = getRetryAfterMessage(oMessage, true);
475
473
  if (retryAfterMessage) {
476
- formattedTextString = "<h6>" + retryAfterMessage + "</h6><br>";
474
+ formattedTextString = `<h6>${retryAfterMessage}</h6><br>`;
477
475
  }
478
476
  if (oMessage.getCode() !== "503" && oMessage.getAdditionalText() !== undefined) {
479
- formattedTextString =
480
- formattedTextString + oMessage.getAdditionalText() + ": " + oMessage.getMessage() + "</html></body>";
477
+ formattedTextString = `${formattedTextString + oMessage.getAdditionalText()}: ${oMessage.getMessage()}</html></body>`;
481
478
  } else {
482
- formattedTextString = formattedTextString + oMessage.getMessage() + "</html></body>";
479
+ formattedTextString = `${formattedTextString + oMessage.getMessage()}</html></body>`;
483
480
  }
484
481
  const formattedText: any = new FormattedText({
485
482
  htmlText: formattedTextString
@@ -518,17 +515,39 @@ function getTranslatedTextForMessageDialog(sHighestPriority: any) {
518
515
  function removeUnboundTransitionMessages() {
519
516
  removeTransitionMessages(false);
520
517
  }
521
- function removeBoundTransitionMessages() {
522
- removeTransitionMessages(true);
518
+ function removeBoundTransitionMessages(sPathToBeRemoved?: string) {
519
+ removeTransitionMessages(true, sPathToBeRemoved);
523
520
  }
524
- function getMessages(bBoundMessages: boolean = false, bTransitionOnly: boolean = false) {
521
+
522
+ function getMessagesFromMessageModel(oMessageModel: any, sPathToBeRemoved?: string) {
523
+ if (sPathToBeRemoved === undefined) {
524
+ return oMessageModel.getObject("/");
525
+ }
526
+ const listBinding = oMessageModel.bindList("/");
527
+ listBinding.filter(
528
+ new Filter({
529
+ path: "target",
530
+ operator: FilterOperator.StartsWith,
531
+ value1: sPathToBeRemoved
532
+ })
533
+ );
534
+
535
+ return listBinding.getCurrentContexts().map(function (oContext: any) {
536
+ return oContext.getObject();
537
+ });
538
+ }
539
+ function getMessages(bBoundMessages: boolean = false, bTransitionOnly: boolean = false, sPathToBeRemoved?: string) {
525
540
  let i;
526
541
  const oMessageManager = (Core as CoreEx as any).getMessageManager(),
527
542
  oMessageModel = oMessageManager.getMessageModel(),
528
- aMessages = oMessageModel.getObject("/"),
529
543
  oResourceBundle = (Core as CoreEx).getLibraryResourceBundle("sap.fe.core"),
530
544
  aTransitionMessages = [];
531
-
545
+ let aMessages: any[] = [];
546
+ if (bBoundMessages && bTransitionOnly && sPathToBeRemoved) {
547
+ aMessages = getMessagesFromMessageModel(oMessageModel, sPathToBeRemoved);
548
+ } else {
549
+ aMessages = oMessageModel.getObject("/");
550
+ }
532
551
  for (i = 0; i < aMessages.length; i++) {
533
552
  if (
534
553
  (!bTransitionOnly || aMessages[i].persistent) &&
@@ -545,14 +564,15 @@ function getMessages(bBoundMessages: boolean = false, bTransitionOnly: boolean =
545
564
  aTransitionMessages[i].message !== "" &&
546
565
  aTransitionMessages[i].message.indexOf(oResourceBundle.getText("C_MESSAGE_HANDLING_SAPFE_503_BACKEND_PREFIX")) === -1
547
566
  ) {
548
- aTransitionMessages[i].message =
549
- "\n" + oResourceBundle.getText("C_MESSAGE_HANDLING_SAPFE_503_BACKEND_PREFIX") + aTransitionMessages[i].message;
567
+ aTransitionMessages[i].message = `\n${oResourceBundle.getText("C_MESSAGE_HANDLING_SAPFE_503_BACKEND_PREFIX")}${
568
+ aTransitionMessages[i].message
569
+ }`;
550
570
  }
551
571
  }
552
572
  return aTransitionMessages;
553
573
  }
554
- function removeTransitionMessages(bBoundMessages: any) {
555
- const aMessagesToBeDeleted = getMessages(bBoundMessages, true);
574
+ function removeTransitionMessages(bBoundMessages: any, sPathToBeRemoved?: string) {
575
+ const aMessagesToBeDeleted = getMessages(bBoundMessages, true, sPathToBeRemoved);
556
576
 
557
577
  if (aMessagesToBeDeleted.length > 0) {
558
578
  Core.getMessageManager().removeMessages(aMessagesToBeDeleted);