@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
@@ -1,5 +1,5 @@
1
1
  import Log from "sap/base/Log";
2
- import AppComponent from "sap/fe/core/AppComponent";
2
+ import type AppComponent from "sap/fe/core/AppComponent";
3
3
  import CommonUtils from "sap/fe/core/CommonUtils";
4
4
  import BusyLocker from "sap/fe/core/controllerextensions/BusyLocker";
5
5
  import { send } from "sap/fe/core/controllerextensions/collaboration/ActivitySync";
@@ -16,18 +16,18 @@ import {
16
16
  } from "sap/fe/core/helpers/ClassSupport";
17
17
  import EditState from "sap/fe/core/helpers/EditState";
18
18
  import FELibrary from "sap/fe/core/library";
19
- import PageController from "sap/fe/core/PageController";
19
+ import type PageController from "sap/fe/core/PageController";
20
20
  import Button from "sap/m/Button";
21
21
  import Dialog from "sap/m/Dialog";
22
22
  import Text from "sap/m/Text";
23
23
  import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
24
24
  import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
25
- import View from "sap/ui/core/mvc/View";
26
- import Table from "sap/ui/mdc/Table";
27
- import JSONModel from "sap/ui/model/json/JSONModel";
28
- import Model from "sap/ui/model/Model";
29
- import Context from "sap/ui/model/odata/v4/Context";
30
- import ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding";
25
+ import type View from "sap/ui/core/mvc/View";
26
+ import type Table from "sap/ui/mdc/Table";
27
+ import type JSONModel from "sap/ui/model/json/JSONModel";
28
+ import type Model from "sap/ui/model/Model";
29
+ import type Context from "sap/ui/model/odata/v4/Context";
30
+ import type ODataListBinding from "sap/ui/model/odata/v4/ODataListBinding";
31
31
 
32
32
  const ProgrammingModel = FELibrary.ProgrammingModel,
33
33
  DraftStatus = FELibrary.DraftStatus,
@@ -81,10 +81,9 @@ class InternalEditFlow extends ControllerExtension {
81
81
  let aFinalContexts: any[] = [];
82
82
  return this.syncTask()
83
83
  .then(function () {
84
- const onBeforeCreatePromise = beforeCreateCallBack
84
+ return beforeCreateCallBack
85
85
  ? beforeCreateCallBack({ contextPath: oListBinding && oListBinding.getPath() })
86
86
  : Promise.resolve();
87
- return onBeforeCreatePromise;
88
87
  })
89
88
  .then(() => {
90
89
  const oModel = oListBinding.getModel(),
@@ -92,7 +91,7 @@ class InternalEditFlow extends ControllerExtension {
92
91
  let sMetaPath: string;
93
92
 
94
93
  if (oListBinding.getContext()) {
95
- sMetaPath = oMetaModel.getMetaPath(oListBinding.getContext().getPath() + "/" + oListBinding.getPath());
94
+ sMetaPath = oMetaModel.getMetaPath(`${oListBinding.getContext().getPath()}/${oListBinding.getPath()}`);
96
95
  } else {
97
96
  sMetaPath = oMetaModel.getMetaPath(oListBinding.getPath());
98
97
  }
@@ -112,7 +111,7 @@ class InternalEditFlow extends ControllerExtension {
112
111
 
113
112
  // Remove navigation properties as we don't support deep create
114
113
  for (const sPropertyPath in mPropertyValues) {
115
- const oProperty = oMetaModel.getObject(sMetaPath + "/" + sPropertyPath);
114
+ const oProperty = oMetaModel.getObject(`${sMetaPath}/${sPropertyPath}`);
116
115
  if (oProperty && oProperty.$kind !== "NavigationProperty" && mPropertyValues[sPropertyPath]) {
117
116
  mParameters.data[sPropertyPath] = mPropertyValues[sPropertyPath];
118
117
  }
@@ -176,6 +175,13 @@ class InternalEditFlow extends ControllerExtension {
176
175
  const oListBinding = oTable.getRowBinding() as any;
177
176
  mParameters.bFindActiveContexts = true;
178
177
  BusyLocker.lock(oLockObject);
178
+
179
+ // Check if a displayed view can be impacted by the deletion, i.e. if there's an OP displaying a deleted object.
180
+ // We have to check this before the contexts are deleted (after, the contexts are invalid)
181
+ const navigateBackFromContext = aContexts.find((context: any) => {
182
+ return oRoutingListener.isCurrentStateImpactedBy(context);
183
+ });
184
+
179
185
  return this.deleteDocumentTransaction(aContexts, mParameters)
180
186
  .then(() => {
181
187
  let oResult;
@@ -214,13 +220,9 @@ class InternalEditFlow extends ControllerExtension {
214
220
  aContexts.map((context: Context) => context.getPath())
215
221
  );
216
222
 
217
- // Finally, check if the current state can be impacted by the deletion, i.e. if there's
218
- // an OP displaying a deleted object. If yes navigate back to dismiss the OP
219
- for (let index = 0; index < aContexts.length; index++) {
220
- if (oRoutingListener.isCurrentStateImpactedBy(aContexts[index])) {
221
- oRoutingListener.navigateBackFromContext(aContexts[index]);
222
- break;
223
- }
223
+ // Navigate back from a deleted context if needed
224
+ if (navigateBackFromContext) {
225
+ oRoutingListener.navigateBackFromContext(navigateBackFromContext);
224
226
  }
225
227
 
226
228
  return oResult;
@@ -245,52 +247,45 @@ class InternalEditFlow extends ControllerExtension {
245
247
 
246
248
  @publicExtension()
247
249
  @finalExtension()
248
- computeEditMode(oContext: any) {
250
+ async computeEditMode(oContext: any): Promise<void> {
249
251
  const sCustomAction = this.getInternalModel().getProperty("/sCustomAction");
250
- return Promise.resolve(
251
- (() => {
252
- const sProgrammingModel = this.getProgrammingModel(oContext);
253
-
254
- if (sProgrammingModel === ProgrammingModel.Draft) {
255
- this.setDraftStatus(DraftStatus.Clear);
256
-
257
- return oContext
258
- .requestObject("IsActiveEntity")
259
- .then((bIsActiveEntity: any) => {
260
- if (bIsActiveEntity === false) {
261
- // in case the document is draft set it in edit mode
262
- this.setEditMode(EditMode.Editable);
263
- return oContext.requestObject("HasActiveEntity").then((bHasActiveEntity: any) => {
264
- this.setEditMode(undefined, !bHasActiveEntity);
265
- });
266
- } else {
267
- // active document, stay on display mode
268
- this.setEditMode(EditMode.Display, false);
269
- }
270
- })
271
- .catch(function (oError: any) {
272
- Log.error("Error while determining the editMode for draft", oError);
273
- throw oError;
274
- });
275
- } else if (sProgrammingModel === ProgrammingModel.Sticky) {
276
- if (sCustomAction && sCustomAction !== "" && this._hasNewActionForSticky(oContext, this.getView(), sCustomAction)) {
277
- this.getTransactionHelper()._bCreateMode = true;
278
- this.getTransactionHelper().handleDocumentModifications();
279
- this.setEditMode(EditMode.Editable, true);
280
- EditState.setEditStateDirty();
281
- this.handleStickyOn(oContext);
282
- this.getInternalModel().setProperty("/sCustomAction", "");
283
- }
252
+ const sProgrammingModel = this.getProgrammingModel(oContext);
253
+
254
+ if (sProgrammingModel === ProgrammingModel.Draft) {
255
+ try {
256
+ this.setDraftStatus(DraftStatus.Clear);
257
+
258
+ const bIsActiveEntity = await oContext.requestObject("IsActiveEntity");
259
+ if (bIsActiveEntity === false) {
260
+ // in case the document is draft set it in edit mode
261
+ this.setEditMode(EditMode.Editable);
262
+ const bHasActiveEntity = await oContext.requestObject("HasActiveEntity");
263
+ this.setEditMode(undefined, !bHasActiveEntity);
264
+ } else {
265
+ // active document, stay on display mode
266
+ this.setEditMode(EditMode.Display, false);
284
267
  }
285
- })()
286
- );
268
+ } catch (oError: any) {
269
+ Log.error("Error while determining the editMode for draft", oError);
270
+ throw oError;
271
+ }
272
+ } else if (sProgrammingModel === ProgrammingModel.Sticky) {
273
+ if (sCustomAction && sCustomAction !== "" && this._hasNewActionForSticky(oContext, this.getView(), sCustomAction)) {
274
+ this.getTransactionHelper()._bCreateMode = true;
275
+ this.getTransactionHelper().handleDocumentModifications();
276
+ this.setEditMode(EditMode.Editable, true);
277
+ EditState.setEditStateDirty();
278
+ this.handleStickyOn(oContext);
279
+ this.getInternalModel().setProperty("/sCustomAction", "");
280
+ }
281
+ }
287
282
  }
288
283
 
289
284
  /**
290
285
  * Sets the edit mode.
291
286
  *
292
- * @param {string} sEditMode
293
- * @param {boolean} bCreationMode CreateMode flag to identify the creation mode
287
+ * @param sEditMode
288
+ * @param bCreationMode CreateMode flag to identify the creation mode
294
289
  */
295
290
  @publicExtension()
296
291
  @finalExtension()
@@ -347,9 +342,8 @@ class InternalEditFlow extends ControllerExtension {
347
342
  * @name sap.fe.core.controllerextensions.EditFlow#syncTask
348
343
  * @memberof sap.fe.core.controllerextensions.EditFlow
349
344
  * @static
350
- * @param {Promise|Function} [vTask] Optional, a promise or function to be executed synchronously
351
- * @returns {Promise} Promise resolves once the task is completed
352
- *
345
+ * @param [vTask] Optional, a promise or function to be executed synchronously
346
+ * @returns Promise resolves once the task is completed
353
347
  * @ui5-restricted
354
348
  * @final
355
349
  */
@@ -366,7 +360,7 @@ class InternalEditFlow extends ControllerExtension {
366
360
  }
367
361
 
368
362
  this._pTasks = this._pTasks || Promise.resolve();
369
- if (!!fnNewTask) {
363
+ if (fnNewTask) {
370
364
  this._pTasks = this._pTasks.then(fnNewTask).catch(function () {
371
365
  return Promise.resolve();
372
366
  });
@@ -413,7 +407,7 @@ class InternalEditFlow extends ControllerExtension {
413
407
  * Handles the create event: shows messages and in case of a draft, updates the draft indicator.
414
408
  *
415
409
  * @memberof sap.fe.core.controllerextensions.EditFlow
416
- * @param {object} oBinding OData list binding object
410
+ * @param oBinding OData list binding object
417
411
  */
418
412
  @publicExtension()
419
413
  @finalExtension()
@@ -459,10 +453,10 @@ class InternalEditFlow extends ControllerExtension {
459
453
 
460
454
  /**
461
455
  * Creates a new promise to wait for an action to be executed
456
+ *
462
457
  * @function
463
458
  * @name _createActionPromise
464
459
  * @memberof sap.fe.core.controllerextensions.EditFlow
465
- *
466
460
  * @returns {Function} The resolver function which can be used to externally resolve the promise
467
461
  */
468
462
 
@@ -485,8 +479,7 @@ class InternalEditFlow extends ControllerExtension {
485
479
  * @function
486
480
  * @name _getCurrentActionPromise
487
481
  * @memberof sap.fe.core.controllerextensions.EditFlow
488
- *
489
- * @returns {Promise} Returns the promise
482
+ * @returns Returns the promise
490
483
  */
491
484
  @publicExtension()
492
485
  @finalExtension()
@@ -504,9 +497,9 @@ class InternalEditFlow extends ControllerExtension {
504
497
  * @function
505
498
  * @name getActionResponseDataAndKeys
506
499
  * @memberof sap.fe.core.controllerextensions.EditFlow
507
- * @param {string} sActionName The name of the action that is executed
508
- * @param {object} oResponse The bound action's response data or response context
509
- * @returns {object} Object with data and names of the key fields of the response
500
+ * @param sActionName The name of the action that is executed
501
+ * @param oResponse The bound action's response data or response context
502
+ * @returns Object with data and names of the key fields of the response
510
503
  */
511
504
  @publicExtension()
512
505
  @finalExtension()
@@ -634,7 +627,6 @@ class InternalEditFlow extends ControllerExtension {
634
627
 
635
628
  /**
636
629
  * @description Method to display a 'discard' popover when exiting a sticky session.
637
- *
638
630
  * @function
639
631
  * @name onBackNavigationInSession
640
632
  * @memberof sap.fe.core.controllerextensions.InternalEditFlow
@@ -678,7 +670,7 @@ class InternalEditFlow extends ControllerExtension {
678
670
 
679
671
  const oMetaModel = oView.getModel().getMetaModel(),
680
672
  sMetaPath = oContext.getPath().substring(0, oContext.getPath().indexOf("(")),
681
- oStickySession = oMetaModel.getObject(sMetaPath + "@com.sap.vocabularies.Session.v1.StickySessionSupported");
673
+ oStickySession = oMetaModel.getObject(`${sMetaPath}@com.sap.vocabularies.Session.v1.StickySessionSupported`);
682
674
 
683
675
  if (oStickySession && oStickySession.NewAction && oStickySession.NewAction === sCustomAction) {
684
676
  return true;
@@ -754,15 +746,13 @@ class InternalEditFlow extends ControllerExtension {
754
746
  }
755
747
 
756
748
  _attachSessionTimeout(oContext: any, i18nModel: Model) {
757
- const that = this;
758
-
759
- return function fnHandleSessionTimeout() {
749
+ return () => {
760
750
  try {
761
751
  if (oContext === undefined) {
762
752
  throw new Error("Context missing for function fnHandleSessionTimeout");
763
753
  }
764
754
  // remove transient messages since we will showing our own message
765
- that.getMessageHandler().removeTransitionMessages();
755
+ this.getMessageHandler().removeTransitionMessages();
766
756
 
767
757
  const oDialog = new Dialog({
768
758
  title: "{sap.fe.i18n>C_EDITFLOW_OBJECT_PAGE_SESSION_EXPIRED_DIALOG_TITLE}",
@@ -771,10 +761,10 @@ class InternalEditFlow extends ControllerExtension {
771
761
  beginButton: new Button({
772
762
  text: "{sap.fe.i18n>C_COMMON_DIALOG_OK}",
773
763
  type: "Emphasized",
774
- press: function () {
764
+ press: () => {
775
765
  // remove sticky handling after navigation since session has already been terminated
776
- that.handleStickyOff();
777
- that.getRoutingListener().navigateBackFromContext(oContext);
766
+ this.handleStickyOff();
767
+ this.getRoutingListener().navigateBackFromContext(oContext);
778
768
  }
779
769
  }),
780
770
  afterClose: function () {
@@ -783,7 +773,7 @@ class InternalEditFlow extends ControllerExtension {
783
773
  });
784
774
  oDialog.addStyleClass("sapUiContentPadding");
785
775
  oDialog.setModel(i18nModel, "sap.fe.i18n");
786
- that.getView().addDependent(oDialog);
776
+ this.getView().addDependent(oDialog);
787
777
  oDialog.open();
788
778
  } catch (error) {
789
779
  Log.info(error as any);