@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
@@ -4,9 +4,9 @@ import CommonUtils from "sap/fe/core/CommonUtils";
4
4
  import { defineUI5Class, extensible, finalExtension, privateExtension, publicExtension } from "sap/fe/core/helpers/ClassSupport";
5
5
  import KeepAliveHelper from "sap/fe/core/helpers/KeepAliveHelper";
6
6
  import ModelHelper from "sap/fe/core/helpers/ModelHelper";
7
- import PageController from "sap/fe/core/PageController";
7
+ import type PageController from "sap/fe/core/PageController";
8
8
  import NavLibrary from "sap/fe/navigation/library";
9
- import ManagedObject from "sap/ui/base/ManagedObject";
9
+ import type ManagedObject from "sap/ui/base/ManagedObject";
10
10
  import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
11
11
  import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
12
12
  import ControlVariantApplyAPI from "sap/ui/fl/apply/api/ControlVariantApplyAPI";
@@ -108,7 +108,7 @@ const _mControlStateHandlerMap: Record<string, any> = {
108
108
  }
109
109
  }
110
110
  } else {
111
- Log.info("Table: " + oTable.getId() + " was not refreshed. No binding found!");
111
+ Log.info(`Table: ${oTable.getId()} was not refreshed. No binding found!`);
112
112
  }
113
113
  }
114
114
  },
@@ -129,7 +129,9 @@ const _mControlStateHandlerMap: Record<string, any> = {
129
129
  };
130
130
  },
131
131
  apply: function (oOPLayout: any, oControlState: any) {
132
- oControlState && oOPLayout.setSelectedSection(oControlState.selectedSection);
132
+ if (oControlState) {
133
+ oOPLayout.setSelectedSection(oControlState.selectedSection);
134
+ }
133
135
  },
134
136
  refreshBinding: function (oOPLayout: any) {
135
137
  const oBindingContext = oOPLayout.getBindingContext();
@@ -160,7 +162,7 @@ const _mControlStateHandlerMap: Record<string, any> = {
160
162
  oBinding.refresh();
161
163
  }
162
164
  } else {
163
- Log.info("ObjectPage: " + oOPLayout.getId() + " was not refreshed. No binding found!");
165
+ Log.info(`ObjectPage: ${oOPLayout.getId()} was not refreshed. No binding found!`);
164
166
  }
165
167
  }
166
168
  },
@@ -171,7 +173,9 @@ const _mControlStateHandlerMap: Record<string, any> = {
171
173
  };
172
174
  },
173
175
  apply: function (oQuickFilter: any, oControlState: any) {
174
- oControlState && oQuickFilter.setSelectorKey(oControlState.selectedKey);
176
+ if (oControlState) {
177
+ oQuickFilter.setSelectorKey(oControlState.selectedKey);
178
+ }
175
179
  }
176
180
  },
177
181
  "sap.m.SegmentedButton": {
@@ -181,7 +185,9 @@ const _mControlStateHandlerMap: Record<string, any> = {
181
185
  };
182
186
  },
183
187
  apply: function (oSegmentedButton: any, oControlState: any) {
184
- oControlState && oSegmentedButton.setSelectedKey(oControlState.selectedKey);
188
+ if (oControlState) {
189
+ oSegmentedButton.setSelectedKey(oControlState.selectedKey);
190
+ }
185
191
  }
186
192
  },
187
193
  "sap.m.Select": {
@@ -191,7 +197,9 @@ const _mControlStateHandlerMap: Record<string, any> = {
191
197
  };
192
198
  },
193
199
  apply: function (oSelect: any, oControlState: any) {
194
- oControlState && oSelect.setSelectedKey(oControlState.selectedKey);
200
+ if (oControlState) {
201
+ oSelect.setSelectedKey(oControlState.selectedKey);
202
+ }
195
203
  }
196
204
  },
197
205
  "sap.f.DynamicPage": {
@@ -201,7 +209,9 @@ const _mControlStateHandlerMap: Record<string, any> = {
201
209
  };
202
210
  },
203
211
  apply: function (oDynamicPage: any, oControlState: any) {
204
- oControlState && oDynamicPage.setHeaderExpanded(oControlState.headerExpanded);
212
+ if (oControlState) {
213
+ oDynamicPage.setHeaderExpanded(oControlState.headerExpanded);
214
+ }
205
215
  }
206
216
  },
207
217
  "sap.ui.core.mvc.View": {
@@ -270,25 +280,25 @@ class ViewState extends ControllerExtension {
270
280
 
271
281
  @publicExtension()
272
282
  @finalExtension()
273
- refreshViewBindings() {
274
- return this.collectResults(this.base.viewState.adaptBindingRefreshControls).then((aControls: any) => {
275
- let oPromiseChain = Promise.resolve();
276
- aControls
277
- .filter((oControl: any) => {
278
- return oControl && oControl.isA && oControl.isA("sap.ui.base.ManagedObject");
279
- })
280
- .forEach((oControl: any) => {
281
- oPromiseChain = oPromiseChain.then(this.refreshControlBinding.bind(this, oControl));
282
- });
283
- return oPromiseChain;
284
- });
283
+ async refreshViewBindings() {
284
+ const aControls = await this.collectResults(this.base.viewState.adaptBindingRefreshControls);
285
+ let oPromiseChain = Promise.resolve();
286
+ aControls
287
+ .filter((oControl: any) => {
288
+ return oControl && oControl.isA && oControl.isA("sap.ui.base.ManagedObject");
289
+ })
290
+ .forEach((oControl: any) => {
291
+ oPromiseChain = oPromiseChain.then(this.refreshControlBinding.bind(this, oControl));
292
+ });
293
+ return oPromiseChain;
285
294
  }
286
295
  /**
287
296
  * This function should add all controls relevant for refreshing to the provided control array.
288
297
  *
289
298
  * This function is meant to be individually overridden by consuming controllers, but not to be called directly.
290
299
  * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}.
291
- * @param {Array<sap.ui.base.ManagedObject>} aCollectedControls The collected controls
300
+ *
301
+ * @param aCollectedControls The collected controls
292
302
  * @alias sap.fe.core.controllerextensions.ViewState#adaptBindingRefreshControls
293
303
  * @protected
294
304
  */
@@ -305,7 +315,7 @@ class ViewState extends ControllerExtension {
305
315
  const oControlRefreshBindingHandler = this.getControlRefreshBindingHandler(oControl);
306
316
  let oPromiseChain = Promise.resolve();
307
317
  if (typeof oControlRefreshBindingHandler.refreshBinding !== "function") {
308
- Log.info("refreshBinding handler for control: " + oControl.getMetadata().getName() + " is not provided");
318
+ Log.info(`refreshBinding handler for control: ${oControl.getMetadata().getName()} is not provided`);
309
319
  } else {
310
320
  oPromiseChain = oPromiseChain.then(oControlRefreshBindingHandler.refreshBinding.bind(this, oControl));
311
321
  }
@@ -343,9 +353,8 @@ class ViewState extends ControllerExtension {
343
353
  * This function is meant to be individually overridden by consuming controllers, but not to be called directly.
344
354
  * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}.
345
355
  *
346
- * @param {sap.ui.base.ManagedObject} oControl The control for which the refresh handler is adapted.
347
- * @param {Array<object>} oControlHandler A plain object which can have one function: <code>refreshBinding</code>
348
- *
356
+ * @param oControl The control for which the refresh handler is adapted.
357
+ * @param oControlHandler A plain object which can have one function: <code>refreshBinding</code>
349
358
  * @alias sap.fe.core.controllerextensions.ViewState#adaptBindingRefreshHandler
350
359
  * @protected
351
360
  */
@@ -392,9 +401,9 @@ class ViewState extends ControllerExtension {
392
401
  * Helper function to enable multi override. It is adding an additional parameter (array) to the provided
393
402
  * function (and its parameters), that will be evaluated via <code>Promise.all</code>.
394
403
  *
395
- * @param {Function} fnCall The function to be called
404
+ * @param fnCall The function to be called
396
405
  * @param args
397
- * @returns {Promise} A promise to be resolved with the result of all overrides
406
+ * @returns A promise to be resolved with the result of all overrides
398
407
  */
399
408
  @privateExtension()
400
409
  @finalExtension()
@@ -411,9 +420,8 @@ class ViewState extends ControllerExtension {
411
420
  * This function is meant to be individually overridden by consuming controllers, but not to be called directly.
412
421
  * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}.
413
422
  *
414
- * @param {sap.ui.base.ManagedObject} oControl The control to get state handler for
415
- * @param {Array<object>} aControlHandler A list of plain objects with two functions: <code>retrieve</code> and <code>apply</code>
416
- *
423
+ * @param oControl The control to get state handler for
424
+ * @param aControlHandler A list of plain objects with two functions: <code>retrieve</code> and <code>apply</code>
417
425
  * @alias sap.fe.core.controllerextensions.ViewState#adaptControlStateHandler
418
426
  * @protected
419
427
  */
@@ -427,8 +435,8 @@ class ViewState extends ControllerExtension {
427
435
  /**
428
436
  * Returns a map of <code>retrieve</code> and <code>apply</code> functions for a certain control.
429
437
  *
430
- * @param {sap.ui.base.ManagedObject} oControl The control to get state handler for
431
- * @returns {object} A plain object with two functions: <code>retrieve</code> and <code>apply</code>
438
+ * @param oControl The control to get state handler for
439
+ * @returns A plain object with two functions: <code>retrieve</code> and <code>apply</code>
432
440
  */
433
441
  @privateExtension()
434
442
  @finalExtension()
@@ -453,7 +461,8 @@ class ViewState extends ControllerExtension {
453
461
  *
454
462
  * This function is meant to be individually overridden by consuming controllers, but not to be called directly.
455
463
  * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}.
456
- * @param {Array<sap.ui.base.ManagedObject>} aCollectedControls The collected controls
464
+ *
465
+ * @param aCollectedControls The collected controls
457
466
  * @alias sap.fe.core.controllerextensions.ViewState#adaptStateControls
458
467
  * @protected
459
468
  */
@@ -467,8 +476,8 @@ class ViewState extends ControllerExtension {
467
476
  /**
468
477
  * Returns the key to be used for given control.
469
478
  *
470
- * @param {sap.ui.base.ManagedObject} oControl The control to get state key for
471
- * @returns {string} The key to be used for storing the controls state
479
+ * @param oControl The control to get state key for
480
+ * @returns The key to be used for storing the controls state
472
481
  */
473
482
  @publicExtension()
474
483
  @finalExtension()
@@ -480,56 +489,47 @@ class ViewState extends ControllerExtension {
480
489
  * Retrieve the view state of this extensions view.
481
490
  * When this function is called more than once before finishing, all but the final response will resolve to <code>undefined</code>.
482
491
  *
483
- * @returns {Promise} A promise resolving the view state
484
- *
492
+ * @returns A promise resolving the view state
485
493
  * @alias sap.fe.core.controllerextensions.ViewState#retrieveViewState
486
494
  * @public
487
495
  */
488
496
  @publicExtension()
489
497
  @finalExtension()
490
- retrieveViewState() {
498
+ async retrieveViewState() {
491
499
  ++this._iRetrievingStateCounter;
492
- return this._pInitialStateApplied
493
- .then(() => {
494
- return this.collectResults(this.base.viewState.adaptStateControls);
495
- })
496
- .then((aControls: any) => {
497
- return Promise.all(
498
- aControls
499
- .filter(function (oControl: any) {
500
- return oControl && oControl.isA && oControl.isA("sap.ui.base.ManagedObject");
501
- })
502
- .map((oControl: any) => {
503
- return this.retrieveControlState(oControl).then((vResult: any) => {
504
- return {
505
- key: this.getStateKey(oControl),
506
- value: vResult
507
- };
508
- });
509
- })
510
- );
511
- })
512
- .then(function (aResolvedStates: any) {
513
- return aResolvedStates.reduce(function (oStates: any, mState: any) {
514
- const oCurrentState: any = {};
515
- oCurrentState[mState.key] = mState.value;
516
- return mergeObjects(oStates, oCurrentState);
517
- }, {});
518
- })
519
- .then((oViewState: any) => {
520
- return Promise.resolve(this._retrieveAdditionalStates()).then(function (mAdditionalStates: any) {
521
- if (mAdditionalStates && Object.keys(mAdditionalStates).length) {
522
- oViewState[ADDITIONAL_STATES_KEY] = mAdditionalStates;
523
- }
524
- return oViewState;
525
- });
526
- })
527
- .finally(() => {
528
- --this._iRetrievingStateCounter;
529
- })
530
- .then((oViewState: any) => {
531
- return this._iRetrievingStateCounter === 0 ? oViewState : undefined;
532
- });
500
+ let oViewState: any;
501
+
502
+ try {
503
+ await this._pInitialStateApplied;
504
+ const aControls = await this.collectResults(this.base.viewState.adaptStateControls);
505
+ const aResolvedStates = await Promise.all(
506
+ aControls
507
+ .filter(function (oControl: any) {
508
+ return oControl && oControl.isA && oControl.isA("sap.ui.base.ManagedObject");
509
+ })
510
+ .map((oControl: any) => {
511
+ return this.retrieveControlState(oControl).then((vResult: any) => {
512
+ return {
513
+ key: this.getStateKey(oControl),
514
+ value: vResult
515
+ };
516
+ });
517
+ })
518
+ );
519
+ oViewState = aResolvedStates.reduce(function (oStates: any, mState: any) {
520
+ const oCurrentState: any = {};
521
+ oCurrentState[mState.key] = mState.value;
522
+ return mergeObjects(oStates, oCurrentState);
523
+ }, {});
524
+ const mAdditionalStates = await Promise.resolve(this._retrieveAdditionalStates());
525
+ if (mAdditionalStates && Object.keys(mAdditionalStates).length) {
526
+ oViewState[ADDITIONAL_STATES_KEY] = mAdditionalStates;
527
+ }
528
+ } finally {
529
+ --this._iRetrievingStateCounter;
530
+ }
531
+
532
+ return this._iRetrievingStateCounter === 0 ? oViewState : undefined;
533
533
  }
534
534
 
535
535
  /**
@@ -538,8 +538,7 @@ class ViewState extends ControllerExtension {
538
538
  * This function is meant to be individually overridden by consuming controllers, but not to be called directly.
539
539
  * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}.
540
540
  *
541
- * @param {object} mAdditionalStates The additional state
542
- *
541
+ * @param mAdditionalStates The additional state
543
542
  * @alias sap.fe.core.controllerextensions.ViewState#retrieveAdditionalStates
544
543
  * @protected
545
544
  */
@@ -553,7 +552,7 @@ class ViewState extends ControllerExtension {
553
552
  /**
554
553
  * Returns a map of additional states (not control bound) to be added to the current view state of the given view.
555
554
  *
556
- * @returns {object | Promise<object>} Additional view states
555
+ * @returns Additional view states
557
556
  */
558
557
  _retrieveAdditionalStates() {
559
558
  const mAdditionalStates = {};
@@ -564,8 +563,8 @@ class ViewState extends ControllerExtension {
564
563
  /**
565
564
  * Returns the current state for the given control.
566
565
  *
567
- * @param {sap.ui.base.ManagedObject} oControl The object to get the state for
568
- * @returns {Promise<object>} The state for the given control
566
+ * @param oControl The object to get the state for
567
+ * @returns The state for the given control
569
568
  */
570
569
  @privateExtension()
571
570
  @finalExtension()
@@ -574,7 +573,7 @@ class ViewState extends ControllerExtension {
574
573
  return Promise.all(
575
574
  aControlStateHandlers.map((mControlStateHandler: any) => {
576
575
  if (typeof mControlStateHandler.retrieve !== "function") {
577
- throw new Error("controlStateHandler.retrieve is not a function for control: " + oControl.getMetadata().getName());
576
+ throw new Error(`controlStateHandler.retrieve is not a function for control: ${oControl.getMetadata().getName()}`);
578
577
  }
579
578
  return mControlStateHandler.retrieve.call(this, oControl);
580
579
  })
@@ -594,9 +593,8 @@ class ViewState extends ControllerExtension {
594
593
  * Important:
595
594
  * You should only override this method for custom pages and not for the standard ListReportPage and ObjectPage!
596
595
  *
597
- * @returns {boolean} If <code>true</code>, only the initial view state is applied once,
596
+ * @returns If <code>true</code>, only the initial view state is applied once,
598
597
  * else any new view state is also applied on follow-up calls (default)
599
- *
600
598
  * @alias sap.fe.core.controllerextensions.ViewState#applyInitialStateOnly
601
599
  * @protected
602
600
  */
@@ -608,21 +606,19 @@ class ViewState extends ControllerExtension {
608
606
  /**
609
607
  * Applies the given view state to this extensions view.
610
608
  *
611
- * @param {object} oViewState The view state to apply (can be undefined)
612
- * @param {object} oNavParameter The current navigation parameter
613
- * @param {sap.fe.navigation.NavType} oNavParameter.navigationType The actual navigation type
614
- * @param {object} oNavParameter.selectionVariant The selectionVariant from the navigation
615
- * @param {object} oNavParameter.selectionVariantDefaults The selectionVariant defaults from the navigation
616
- * @param {boolean} oNavParameter.requiresStandardVariant Defines whether standard variant must be used in VM
617
- *
618
- * @returns {Promise} Promise for async state handling
619
- *
609
+ * @param oViewState The view state to apply (can be undefined)
610
+ * @param oNavParameter The current navigation parameter
611
+ * @param oNavParameter.navigationType The actual navigation type
612
+ * @param oNavParameter.selectionVariant The selectionVariant from the navigation
613
+ * @param oNavParameter.selectionVariantDefaults The selectionVariant defaults from the navigation
614
+ * @param oNavParameter.requiresStandardVariant Defines whether standard variant must be used in VM
615
+ * @returns Promise for async state handling
620
616
  * @alias sap.fe.core.controllerextensions.ViewState#applyViewState
621
617
  * @public
622
618
  */
623
619
  @publicExtension()
624
620
  @finalExtension()
625
- applyViewState(
621
+ async applyViewState(
626
622
  oViewState: any,
627
623
  oNavParameter: {
628
624
  navigationType: any;
@@ -632,39 +628,40 @@ class ViewState extends ControllerExtension {
632
628
  }
633
629
  ): Promise<any> {
634
630
  if (this.base.viewState.applyInitialStateOnly() && this._getInitialStateApplied()) {
635
- return Promise.resolve();
631
+ return;
636
632
  }
637
- return this.collectResults(this.base.viewState.onBeforeStateApplied)
638
- .then(() => {
639
- return this.collectResults(this.base.viewState.adaptStateControls);
640
- })
641
- .then((aControls: any) => {
642
- let oPromiseChain = Promise.resolve();
643
- aControls
644
- .filter(function (oControl: any) {
645
- return oControl && oControl.isA && oControl.isA("sap.ui.base.ManagedObject");
646
- })
647
- .forEach((oControl: any) => {
648
- const sKey = this.getStateKey(oControl);
649
- oPromiseChain = oPromiseChain.then(
650
- this.applyControlState.bind(this, oControl, oViewState ? oViewState[sKey] : undefined, oNavParameter)
651
- );
652
- });
653
- return oPromiseChain;
654
- })
655
- .then(() => {
656
- if (oNavParameter.navigationType === NavType.iAppState) {
657
- return this.collectResults(
658
- this.base.viewState.applyAdditionalStates,
659
- oViewState ? oViewState[ADDITIONAL_STATES_KEY] : undefined
633
+
634
+ try {
635
+ await this.collectResults(this.base.viewState.onBeforeStateApplied);
636
+ const aControls = await this.collectResults(this.base.viewState.adaptStateControls);
637
+ let oPromiseChain = Promise.resolve();
638
+ aControls
639
+ .filter(function (oControl: any) {
640
+ return oControl && oControl.isA && oControl.isA("sap.ui.base.ManagedObject");
641
+ })
642
+ .forEach((oControl: any) => {
643
+ const sKey = this.getStateKey(oControl);
644
+ oPromiseChain = oPromiseChain.then(
645
+ this.applyControlState.bind(this, oControl, oViewState ? oViewState[sKey] : undefined, oNavParameter)
660
646
  );
661
- } else {
662
- return this.collectResults(this.base.viewState.applyNavigationParameters, oNavParameter);
663
- }
664
- })
665
- .finally(() => {
666
- return this.collectResults(this.base.viewState.onAfterStateApplied).then(this._setInitialStateApplied.bind(this));
667
- });
647
+ });
648
+ await oPromiseChain;
649
+ if (oNavParameter.navigationType === NavType.iAppState) {
650
+ await this.collectResults(
651
+ this.base.viewState.applyAdditionalStates,
652
+ oViewState ? oViewState[ADDITIONAL_STATES_KEY] : undefined
653
+ );
654
+ } else {
655
+ await this.collectResults(this.base.viewState.applyNavigationParameters, oNavParameter);
656
+ }
657
+ } finally {
658
+ try {
659
+ await this.collectResults(this.base.viewState.onAfterStateApplied);
660
+ this._setInitialStateApplied();
661
+ } catch (e: any) {
662
+ Log.error(e);
663
+ }
664
+ }
668
665
  }
669
666
 
670
667
  @privateExtension()
@@ -696,8 +693,7 @@ class ViewState extends ControllerExtension {
696
693
  * This function is meant to be individually overridden by consuming controllers, but not to be called directly.
697
694
  * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}.
698
695
  *
699
- * @param {Promise} aPromises Extensible array of promises to be resolved before continuing
700
- *
696
+ * @param aPromises Extensible array of promises to be resolved before continuing
701
697
  * @alias sap.fe.core.controllerextensions.ViewState#onBeforeStateApplied
702
698
  * @protected
703
699
  */
@@ -714,8 +710,7 @@ class ViewState extends ControllerExtension {
714
710
  * This function is meant to be individually overridden by consuming controllers, but not to be called directly.
715
711
  * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}.
716
712
  *
717
- * @param {Promise} aPromises Extensible array of promises to be resolved before continuing
718
- *
713
+ * @param aPromises Extensible array of promises to be resolved before continuing
719
714
  * @alias sap.fe.core.controllerextensions.ViewState#onAfterStateApplied
720
715
  * @protected
721
716
  */
@@ -732,9 +727,8 @@ class ViewState extends ControllerExtension {
732
727
  * This function is meant to be individually overridden by consuming controllers, but not to be called directly.
733
728
  * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}.
734
729
  *
735
- * @param {object} oViewState The current view state
736
- * @param {Promise} aPromises Extensible array of promises to be resolved before continuing
737
- *
730
+ * @param oViewState The current view state
731
+ * @param aPromises Extensible array of promises to be resolved before continuing
738
732
  * @alias sap.fe.core.controllerextensions.ViewState#applyAdditionalStates
739
733
  * @protected
740
734
  */
@@ -751,13 +745,12 @@ class ViewState extends ControllerExtension {
751
745
  * This function is meant to be individually overridden by consuming controllers, but not to be called directly.
752
746
  * The override execution is: {@link sap.ui.core.mvc.OverrideExecution.After}.
753
747
  *
754
- * @param {object} oNavParameter The current navigation parameter
755
- * @param {sap.fe.navigation.NavType} oNavParameter.navigationType The actual navigation type
756
- * @param {object} [oNavParameter.selectionVariant] The selectionVariant from the navigation
757
- * @param {object} [oNavParameter.selectionVariantDefaults] The selectionVariant defaults from the navigation
758
- * @param {boolean} [oNavParameter.requiresStandardVariant] Defines whether standard variant must be used in VM
759
- * @param {Promise} aPromises Extensible array of promises to be resolved before continuing
760
- *
748
+ * @param oNavParameter The current navigation parameter
749
+ * @param oNavParameter.navigationType The actual navigation type
750
+ * @param [oNavParameter.selectionVariant] The selectionVariant from the navigation
751
+ * @param [oNavParameter.selectionVariantDefaults] The selectionVariant defaults from the navigation
752
+ * @param [oNavParameter.requiresStandardVariant] Defines whether standard variant must be used in VM
753
+ * @param aPromises Extensible array of promises to be resolved before continuing
761
754
  * @alias sap.fe.core.controllerextensions.ViewState#applyNavigationParameters
762
755
  * @protected
763
756
  */
@@ -780,10 +773,10 @@ class ViewState extends ControllerExtension {
780
773
  /**
781
774
  * Applying the given state to the given control.
782
775
  *
783
- * @param {sap.ui.base.ManagedObject} oControl The object to apply the given state
784
- * @param {object} oControlState The state for the given control
785
- * @param {object} [oNavParameters] The current navigation parameters
786
- * @returns {any} Return a promise for async state handling
776
+ * @param oControl The object to apply the given state
777
+ * @param oControlState The state for the given control
778
+ * @param [oNavParameters] The current navigation parameters
779
+ * @returns Return a promise for async state handling
787
780
  */
788
781
  @privateExtension()
789
782
  @finalExtension()
@@ -792,7 +785,7 @@ class ViewState extends ControllerExtension {
792
785
  let oPromiseChain = Promise.resolve();
793
786
  aControlStateHandlers.forEach((mControlStateHandler: any) => {
794
787
  if (typeof mControlStateHandler.apply !== "function") {
795
- throw new Error("controlStateHandler.apply is not a function for control: " + oControl.getMetadata().getName());
788
+ throw new Error(`controlStateHandler.apply is not a function for control: ${oControl.getMetadata().getName()}`);
796
789
  }
797
790
  oPromiseChain = oPromiseChain.then(mControlStateHandler.apply.bind(this, oControl, oControlState, oNavParameters));
798
791
  });
@@ -43,7 +43,7 @@ sap.ui.define(["sap/base/Log", "sap/base/util/UriParameters", "sap/fe/core/contr
43
43
  internalModel.setProperty(CONNECTED, true);
44
44
  });
45
45
  webSocket.attachError(function () {
46
- Log.error("The connection to the websocket channel " + webSocketBaseURL + " could not be established");
46
+ Log.error("The connection to the websocket channel ".concat(webSocketBaseURL, " could not be established"));
47
47
  internalModel.setProperty(CONNECTED, false);
48
48
  });
49
49
  webSocket.attachClose(function () {
@@ -88,13 +88,13 @@ sap.ui.define(["sap/base/Log", "sap/base/util/UriParameters", "sap/fe/core/contr
88
88
  socketURI = useBackendUrl.replace("https", "wss");
89
89
  } else {
90
90
  socketURI = hostLocation.protocol === "https:" ? "wss:" : "ws:";
91
- socketURI += "//" + hostLocation.host;
91
+ socketURI += "//".concat(hostLocation.host);
92
92
  }
93
93
 
94
- socketURI += (socketBaseURL.startsWith("/") ? "" : "/") + socketBaseURL + "?draft=" + draftUUID;
94
+ socketURI += "".concat((socketBaseURL.startsWith("/") ? "" : "/") + socketBaseURL, "?draft=").concat(draftUUID);
95
95
 
96
96
  if (sendUserInfo) {
97
- socketURI += "&userID=" + encodeURI(user.id) + "&userName=" + encodeURI(user.initialName || "");
97
+ socketURI += "&userID=".concat(encodeURI(user.id), "&userName=").concat(encodeURI(user.initialName || ""));
98
98
  }
99
99
 
100
100
  return new SapPcpWebSocket(socketURI, [SUPPORTED_PROTOCOLS.v10]);
@@ -102,4 +102,4 @@ sap.ui.define(["sap/base/Log", "sap/base/util/UriParameters", "sap/fe/core/contr
102
102
 
103
103
  return _exports;
104
104
  }, false);
105
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjdGl2aXR5QmFzZS50cyJdLCJuYW1lcyI6WyJDT0xMQUJPUkFUSU9OIiwiQ09OTkVDVEVEIiwiQ09OTkVDVElPTiIsImlzQ29sbGFib3JhdGlvbkNvbm5lY3RlZCIsImludGVybmFsTW9kZWwiLCJnZXRQcm9wZXJ0eSIsImluaXRpYWxpemVDb2xsYWJvcmF0aW9uIiwidXNlciIsIndlYlNvY2tldEJhc2VVUkwiLCJkcmFmdFVVSUQiLCJyZWNlaXZlQ2FsbGJhY2siLCJzZW5kVXNlckluZm8iLCJhY3RpdmVVc2VycyIsInNldFByb3BlcnR5IiwiYWN0aXZpdGllcyIsIlVyaVBhcmFtZXRlcnMiLCJmcm9tUXVlcnkiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInNlYXJjaCIsImdldCIsIndlYlNvY2tldCIsImNyZWF0ZVdlYlNvY2tldCIsImF0dGFjaE1lc3NhZ2UiLCJldmVudCIsIm1lc3NhZ2UiLCJnZXRQYXJhbWV0ZXIiLCJhdHRhY2hPcGVuIiwiYXR0YWNoRXJyb3IiLCJMb2ciLCJlcnJvciIsImF0dGFjaENsb3NlIiwiYnJvYWRjYXN0Q29sbGFib3JhdGlvbk1lc3NhZ2UiLCJhY3Rpb24iLCJjb250ZW50Iiwic2VuZCIsImNsaWVudEFjdGlvbiIsImNsaWVudENvbnRlbnQiLCJBY3Rpdml0eSIsIkFjdGl2YXRlIiwiRGlzY2FyZCIsImVuZENvbGxhYm9yYXRpb24iLCJjbG9zZSIsInNvY2tldEJhc2VVUkwiLCJob3N0TG9jYXRpb24iLCJzb2NrZXRVUkkiLCJ1c2VCYWNrZW5kVXJsIiwicmVwbGFjZSIsInByb3RvY29sIiwiaG9zdCIsInN0YXJ0c1dpdGgiLCJlbmNvZGVVUkkiLCJpZCIsImluaXRpYWxOYW1lIiwiU2FwUGNwV2ViU29ja2V0IiwiU1VQUE9SVEVEX1BST1RPQ09MUyIsInYxMCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFLQSxNQUFNQSxhQUFhLEdBQUcsZ0JBQXRCO0FBQ0EsTUFBTUMsU0FBUyxHQUFHLDBCQUFs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LENBQS9CLENBQVA7QUFDQSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgVXJpUGFyYW1ldGVycyBmcm9tIFwic2FwL2Jhc2UvdXRpbC9VcmlQYXJhbWV0ZXJzXCI7XG5pbXBvcnQgeyBBY3Rpdml0eSwgTWVzc2FnZSwgVXNlciB9IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9jb2xsYWJvcmF0aW9uL0NvbGxhYm9yYXRpb25Db21tb25cIjtcbmltcG9ydCBFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCBTYXBQY3BXZWJTb2NrZXQsIHsgU1VQUE9SVEVEX1BST1RPQ09MUyB9IGZyb20gXCJzYXAvdWkvY29yZS93cy9TYXBQY3BXZWJTb2NrZXRcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuXG5jb25zdCBDT0xMQUJPUkFUSU9OID0gXCIvY29sbGFib3JhdGlvblwiO1xuY29uc3QgQ09OTkVDVEVEID0gXCIvY29sbGFib3JhdGlvbi9jb25uZWN0ZWRcIjtcbmNvbnN0IENPTk5FQ1RJT04gPSBcIi9jb2xsYWJvcmF0aW9uL2Nvbm5lY3Rpb25cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29sbGFib3JhdGlvbkNvbm5lY3RlZChpbnRlcm5hbE1vZGVsOiBKU09OTW9kZWwpOiBib29sZWFuIHtcblx0cmV0dXJuICEhaW50ZXJuYWxNb2RlbC5nZXRQcm9wZXJ0eShDT05ORUNURUQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGl6ZUNvbGxhYm9yYXRpb24oXG5cdHVzZXI6IFVzZXIsXG5cdHdlYlNvY2tldEJhc2VVUkw6IHN0cmluZyxcblx0ZHJhZnRVVUlEOiBzdHJpbmcsXG5cdGludGVybmFsTW9kZWw6IEpTT05Nb2RlbCxcblx0cmVjZWl2ZUNhbGxiYWNrOiAoXzogTWVzc2FnZSkgPT4gdm9pZCxcblx0c2VuZFVzZXJJbmZvID0gZmFsc2Vcbikge1xuXHRpZiAoaW50ZXJuYWxNb2RlbC5nZXRQcm9wZXJ0eShDT05ORUNUSU9OKSkge1xuXHRcdC8vIGNvbm5lY3Rpb24gYWxyZWFkeSBlc3RhYmxpc2hlZFxuXHRcdHJldHVybjtcblx0fVxuXG5cdGNvbnN0IGFjdGl2ZVVzZXJzOiBhbnlbXSA9IFt1c2VyXTtcblx0aW50ZXJuYWxNb2RlbC5zZXRQcm9wZXJ0eShDT0xMQUJPUkFUSU9OLCB7IGFjdGl2ZVVzZXJzOiBhY3RpdmVVc2VycywgYWN0aXZpdGllczoge30gfSk7XG5cblx0c2VuZFVzZXJJbmZvID0gc2VuZFVzZXJJbmZvIHx8IFVyaVBhcmFtZXRlcnMuZnJvbVF1ZXJ5KHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldChcInVzZUZMUFVzZXJcIikgPT09IFwidHJ1ZVwiO1xuXG5cdGNvbnN0IHdlYlNvY2tldCA9IGNyZWF0ZVdlYlNvY2tldCh1c2VyLCB3ZWJTb2NrZXRCYXNlVVJMLCBkcmFmdFVVSUQsIHNlbmRVc2VySW5mbyk7XG5cblx0aW50ZXJuYWxNb2RlbC5zZXRQcm9wZXJ0eShDT05ORUNUSU9OLCB3ZWJTb2NrZXQpO1xuXG5cdHdlYlNvY2tldC5hdHRhY2hNZXNzYWdlKGZ1bmN0aW9uIChldmVudDogRXZlbnQpIHtcblx0XHRjb25zdCBtZXNzYWdlOiBNZXNzYWdlID0gZXZlbnQuZ2V0UGFyYW1ldGVyKFwicGNwRmllbGRzXCIpO1xuXHRcdHJlY2VpdmVDYWxsYmFjayhtZXNzYWdlKTtcblx0fSk7XG5cblx0d2ViU29ja2V0LmF0dGFjaE9wZW4oZnVuY3Rpb24gKCkge1xuXHRcdGludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoQ09OTkVDVEVELCB0cnVlKTtcblx0fSk7XG5cblx0d2ViU29ja2V0LmF0dGFjaEVycm9yKGZ1bmN0aW9uICgpIHtcblx0XHRMb2cuZXJyb3IoXCJUaGUgY29ubmVjdGlvbiB0byB0aGUgd2Vic29ja2V0IGNoYW5uZWwgXCIgKyB3ZWJTb2NrZXRCYXNlVVJMICsgXCIgY291bGQgbm90IGJlIGVzdGFibGlzaGVkXCIpO1xuXHRcdGludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoQ09OTkVDVEVELCBmYWxzZSk7XG5cdH0pO1xuXG5cdHdlYlNvY2tldC5hdHRhY2hDbG9zZShmdW5jdGlvbiAoKSB7XG5cdFx0aW50ZXJuYWxNb2RlbC5zZXRQcm9wZXJ0eShDT05ORUNURUQsIGZhbHNlKTtcblx0fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicm9hZGNhc3RDb2xsYWJvcmF0aW9uTWVzc2FnZShhY3Rpb246IEFjdGl2aXR5LCBjb250ZW50OiBzdHJpbmcgfCB1bmRlZmluZWQsIGludGVybmFsTW9kZWw6IEpTT05Nb2RlbCkge1xuXHRpZiAoaXNDb2xsYWJvcmF0aW9uQ29ubmVjdGVkKGludGVybmFsTW9kZWwpKSB7XG5cdFx0Y29uc3Qgd2ViU29ja2V0ID0gaW50ZXJuYWxNb2RlbC5nZXRQcm9wZXJ0eShDT05ORUNUSU9OKSBhcyBTYXBQY3BXZWJTb2NrZXQ7XG5cblx0XHR3ZWJTb2NrZXQuc2VuZChcIlwiLCB7XG5cdFx0XHRjbGllbnRBY3Rpb246IGFjdGlvbixcblx0XHRcdGNsaWVudENvbnRlbnQ6IGNvbnRlbnRcblx0XHR9KTtcblxuXHRcdGlmIChhY3Rpb24gPT09IEFjdGl2aXR5LkFjdGl2YXRlIHx8IGFjdGlvbiA9PT0gQWN0aXZpdHkuRGlzY2FyZCkge1xuXHRcdFx0ZW5kQ29sbGFib3JhdGlvbihpbnRlcm5hbE1vZGVsKTtcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuZENvbGxhYm9yYXRpb24oaW50ZXJuYWxNb2RlbDogSlNPTk1vZGVsKSB7XG5cdGNvbnN0IHdlYlNvY2tldCA9IGludGVybmFsTW9kZWwuZ2V0UHJvcGVydHkoQ09OTkVDVElPTikgYXMgU2FwUGNwV2ViU29ja2V0O1xuXHR3ZWJTb2NrZXQuY2xvc2UoKTtcblx0aW50ZXJuYWxNb2RlbC5zZXRQcm9wZXJ0eShDT05ORUNUSU9OLCBudWxsKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlV2ViU29ja2V0KHVzZXI6IFVzZXIsIHNvY2tldEJhc2VVUkw6IHN0cmluZywgZHJhZnRVVUlEOiBzdHJpbmcsIHNlbmRVc2VySW5mbyA9IGZhbHNlKSB7XG5cdGNvbnN0IGhvc3RMb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbjtcblx0bGV0IHNvY2tldFVSSTtcblxuXHQvLyBTdXBwb3J0IHVzZUJhY2tlbmRVcmwgZm9yIGxvY2FsIHRlc3Rpbmdcblx0Y29uc3QgdXNlQmFja2VuZFVybCA9IFVyaVBhcmFtZXRlcnMuZnJvbVF1ZXJ5KHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldChcInVzZUJhY2tlbmRVcmxcIik7XG5cdGlmICh1c2VCYWNrZW5kVXJsKSB7XG5cdFx0c29ja2V0VVJJID0gdXNlQmFja2VuZFVybC5yZXBsYWNlKFwiaHR0cHNcIiwgXCJ3c3NcIik7XG5cdH0gZWxzZSB7XG5cdFx0c29ja2V0VVJJID0gaG9zdExvY2F0aW9uLnByb3RvY29sID09PSBcImh0dHBzOlwiID8gXCJ3c3M6XCIgOiBcIndzOlwiO1xuXHRcdHNvY2tldFVSSSArPSBcIi8vXCIgKyBob3N0TG9jYXRpb24uaG9zdDtcblx0fVxuXG5cdHNvY2tldFVSSSArPSAoc29ja2V0QmFzZVVSTC5zdGFydHNXaXRoKFwiL1wiKSA/IFwiXCIgOiBcIi9cIikgKyBzb2NrZXRCYXNlVVJMICsgXCI/ZHJhZnQ9XCIgKyBkcmFmdFVVSUQ7XG5cblx0aWYgKHNlbmRVc2VySW5mbykge1xuXHRcdHNvY2tldFVSSSArPSBcIiZ1c2VySUQ9XCIgKyBlbmNvZGVVUkkodXNlci5pZCkgKyBcIiZ1c2VyTmFtZT1cIiArIGVuY29kZVVSSSh1c2VyLmluaXRpYWxOYW1lIHx8IFwiXCIpO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBTYXBQY3BXZWJTb2NrZXQoc29ja2V0VVJJLCBbU1VQUE9SVEVEX1BST1RPQ09MUy52MTBdKTtcbn1cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjdGl2aXR5QmFzZS50cyJdLCJuYW1lcyI6WyJDT0xMQUJPUkFUSU9OIiwiQ09OTkVDVEVEIiwiQ09OTkVDVElPTiIsImlzQ29sbGFib3JhdGlvbkNvbm5lY3RlZCIsImludGVybmFsTW9kZWwiLCJnZXRQcm9wZXJ0eSIsImluaXRpYWxpemVDb2xsYWJvcmF0aW9uIiwidXNlciIsIndlYlNvY2tldEJhc2VVUkwiLCJkcmFmdFVVSUQiLCJyZWNlaXZlQ2FsbGJhY2siLCJzZW5kVXNlckluZm8iLCJhY3RpdmVVc2VycyIsInNldFByb3BlcnR5IiwiYWN0aXZpdGllcyIsIlVyaVBhcmFtZXRlcnMiLCJmcm9tUXVlcnkiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInNlYXJjaCIsImdldCIsIndlYlNvY2tldCIsImNyZWF0ZVdlYlNvY2tldCIsImF0dGFjaE1lc3NhZ2UiLCJldmVudCIsIm1lc3NhZ2UiLCJnZXRQYXJhbWV0ZXIiLCJhdHRhY2hPcGVuIiwiYXR0YWNoRXJyb3IiLCJMb2ciLCJlcnJvciIsImF0dGFjaENsb3NlIiwiYnJvYWRjYXN0Q29sbGFib3JhdGlvbk1lc3NhZ2UiLCJhY3Rpb24iLCJjb250ZW50Iiwic2VuZCIsImNsaWVudEFjdGlvbiIsImNsaWVudENvbnRlbnQiLCJBY3Rpdml0eSIsIkFjdGl2YXRlIiwiRGlzY2FyZCIsImVuZENvbGxhYm9yYXRpb24iLCJjbG9zZSIsInNvY2tldEJhc2VVUkwiLCJob3N0TG9jYXRpb24iLCJzb2NrZXRVUkkiLCJ1c2VCYWNrZW5kVXJsIiwicmVwbGFjZSIsInByb3RvY29sIiwiaG9zdCIsInN0YXJ0c1dpdGgiLCJlbmNvZGVVUkkiLCJpZCIsImluaXRpYWxOYW1lIiwiU2FwUGNwV2ViU29ja2V0IiwiU1VQUE9SVEVEX1BST1RPQ09MUyIsInYxMCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFNQSxNQUFNQSxhQUFhLEdBQUcsZ0JBQXRCO0FBQ0EsTUFBTUMsU0FBUyxHQUFHLDBCQUFs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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgVXJpUGFyYW1ldGVycyBmcm9tIFwic2FwL2Jhc2UvdXRpbC9VcmlQYXJhbWV0ZXJzXCI7XG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2UsIFVzZXIgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvY29sbGFib3JhdGlvbi9Db2xsYWJvcmF0aW9uQ29tbW9uXCI7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9jb2xsYWJvcmF0aW9uL0NvbGxhYm9yYXRpb25Db21tb25cIjtcbmltcG9ydCB0eXBlIEV2ZW50IGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFwiO1xuaW1wb3J0IFNhcFBjcFdlYlNvY2tldCwgeyBTVVBQT1JURURfUFJPVE9DT0xTIH0gZnJvbSBcInNhcC91aS9jb3JlL3dzL1NhcFBjcFdlYlNvY2tldFwiO1xuaW1wb3J0IHR5cGUgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcblxuY29uc3QgQ09MTEFCT1JBVElPTiA9IFwiL2NvbGxhYm9yYXRpb25cIjtcbmNvbnN0IENPTk5FQ1RFRCA9IFwiL2NvbGxhYm9yYXRpb24vY29ubmVjdGVkXCI7XG5jb25zdCBDT05ORUNUSU9OID0gXCIvY29sbGFib3JhdGlvbi9jb25uZWN0aW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbGxhYm9yYXRpb25Db25uZWN0ZWQoaW50ZXJuYWxNb2RlbDogSlNPTk1vZGVsKTogYm9vbGVhbiB7XG5cdHJldHVybiAhIWludGVybmFsTW9kZWwuZ2V0UHJvcGVydHkoQ09OTkVDVEVEKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVDb2xsYWJvcmF0aW9uKFxuXHR1c2VyOiBVc2VyLFxuXHR3ZWJTb2NrZXRCYXNlVVJMOiBzdHJpbmcsXG5cdGRyYWZ0VVVJRDogc3RyaW5nLFxuXHRpbnRlcm5hbE1vZGVsOiBKU09OTW9kZWwsXG5cdHJlY2VpdmVDYWxsYmFjazogKF86IE1lc3NhZ2UpID0+IHZvaWQsXG5cdHNlbmRVc2VySW5mbyA9IGZhbHNlXG4pIHtcblx0aWYgKGludGVybmFsTW9kZWwuZ2V0UHJvcGVydHkoQ09OTkVDVElPTikpIHtcblx0XHQvLyBjb25uZWN0aW9uIGFscmVhZHkgZXN0YWJsaXNoZWRcblx0XHRyZXR1cm47XG5cdH1cblxuXHRjb25zdCBhY3RpdmVVc2VyczogYW55W10gPSBbdXNlcl07XG5cdGludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoQ09MTEFCT1JBVElPTiwgeyBhY3RpdmVVc2VyczogYWN0aXZlVXNlcnMsIGFjdGl2aXRpZXM6IHt9IH0pO1xuXG5cdHNlbmRVc2VySW5mbyA9IHNlbmRVc2VySW5mbyB8fCBVcmlQYXJhbWV0ZXJzLmZyb21RdWVyeSh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoXCJ1c2VGTFBVc2VyXCIpID09PSBcInRydWVcIjtcblxuXHRjb25zdCB3ZWJTb2NrZXQgPSBjcmVhdGVXZWJTb2NrZXQodXNlciwgd2ViU29ja2V0QmFzZVVSTCwgZHJhZnRVVUlELCBzZW5kVXNlckluZm8pO1xuXG5cdGludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoQ09OTkVDVElPTiwgd2ViU29ja2V0KTtcblxuXHR3ZWJTb2NrZXQuYXR0YWNoTWVzc2FnZShmdW5jdGlvbiAoZXZlbnQ6IEV2ZW50KSB7XG5cdFx0Y29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IGV2ZW50LmdldFBhcmFtZXRlcihcInBjcEZpZWxkc1wiKTtcblx0XHRyZWNlaXZlQ2FsbGJhY2sobWVzc2FnZSk7XG5cdH0pO1xuXG5cdHdlYlNvY2tldC5hdHRhY2hPcGVuKGZ1bmN0aW9uICgpIHtcblx0XHRpbnRlcm5hbE1vZGVsLnNldFByb3BlcnR5KENPTk5FQ1RFRCwgdHJ1ZSk7XG5cdH0pO1xuXG5cdHdlYlNvY2tldC5hdHRhY2hFcnJvcihmdW5jdGlvbiAoKSB7XG5cdFx0TG9nLmVycm9yKGBUaGUgY29ubmVjdGlvbiB0byB0aGUgd2Vic29ja2V0IGNoYW5uZWwgJHt3ZWJTb2NrZXRCYXNlVVJMfSBjb3VsZCBub3QgYmUgZXN0YWJsaXNoZWRgKTtcblx0XHRpbnRlcm5hbE1vZGVsLnNldFByb3BlcnR5KENPTk5FQ1RFRCwgZmFsc2UpO1xuXHR9KTtcblxuXHR3ZWJTb2NrZXQuYXR0YWNoQ2xvc2UoZnVuY3Rpb24gKCkge1xuXHRcdGludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoQ09OTkVDVEVELCBmYWxzZSk7XG5cdH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnJvYWRjYXN0Q29sbGFib3JhdGlvbk1lc3NhZ2UoYWN0aW9uOiBBY3Rpdml0eSwgY29udGVudDogc3RyaW5nIHwgdW5kZWZpbmVkLCBpbnRlcm5hbE1vZGVsOiBKU09OTW9kZWwpIHtcblx0aWYgKGlzQ29sbGFib3JhdGlvbkNvbm5lY3RlZChpbnRlcm5hbE1vZGVsKSkge1xuXHRcdGNvbnN0IHdlYlNvY2tldCA9IGludGVybmFsTW9kZWwuZ2V0UHJvcGVydHkoQ09OTkVDVElPTikgYXMgU2FwUGNwV2ViU29ja2V0O1xuXG5cdFx0d2ViU29ja2V0LnNlbmQoXCJcIiwge1xuXHRcdFx0Y2xpZW50QWN0aW9uOiBhY3Rpb24sXG5cdFx0XHRjbGllbnRDb250ZW50OiBjb250ZW50XG5cdFx0fSk7XG5cblx0XHRpZiAoYWN0aW9uID09PSBBY3Rpdml0eS5BY3RpdmF0ZSB8fCBhY3Rpb24gPT09IEFjdGl2aXR5LkRpc2NhcmQpIHtcblx0XHRcdGVuZENvbGxhYm9yYXRpb24oaW50ZXJuYWxNb2RlbCk7XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmRDb2xsYWJvcmF0aW9uKGludGVybmFsTW9kZWw6IEpTT05Nb2RlbCkge1xuXHRjb25zdCB3ZWJTb2NrZXQgPSBpbnRlcm5hbE1vZGVsLmdldFByb3BlcnR5KENPTk5FQ1RJT04pIGFzIFNhcFBjcFdlYlNvY2tldDtcblx0d2ViU29ja2V0LmNsb3NlKCk7XG5cdGludGVybmFsTW9kZWwuc2V0UHJvcGVydHkoQ09OTkVDVElPTiwgbnVsbCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVdlYlNvY2tldCh1c2VyOiBVc2VyLCBzb2NrZXRCYXNlVVJMOiBzdHJpbmcsIGRyYWZ0VVVJRDogc3RyaW5nLCBzZW5kVXNlckluZm8gPSBmYWxzZSkge1xuXHRjb25zdCBob3N0TG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb247XG5cdGxldCBzb2NrZXRVUkk7XG5cblx0Ly8gU3VwcG9ydCB1c2VCYWNrZW5kVXJsIGZvciBsb2NhbCB0ZXN0aW5nXG5cdGNvbnN0IHVzZUJhY2tlbmRVcmwgPSBVcmlQYXJhbWV0ZXJzLmZyb21RdWVyeSh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoXCJ1c2VCYWNrZW5kVXJsXCIpO1xuXHRpZiAodXNlQmFja2VuZFVybCkge1xuXHRcdHNvY2tldFVSSSA9IHVzZUJhY2tlbmRVcmwucmVwbGFjZShcImh0dHBzXCIsIFwid3NzXCIpO1xuXHR9IGVsc2Uge1xuXHRcdHNvY2tldFVSSSA9IGhvc3RMb2NhdGlvbi5wcm90b2NvbCA9PT0gXCJodHRwczpcIiA/IFwid3NzOlwiIDogXCJ3czpcIjtcblx0XHRzb2NrZXRVUkkgKz0gYC8vJHtob3N0TG9jYXRpb24uaG9zdH1gO1xuXHR9XG5cblx0c29ja2V0VVJJICs9IGAkeyhzb2NrZXRCYXNlVVJMLnN0YXJ0c1dpdGgoXCIvXCIpID8gXCJcIiA6IFwiL1wiKSArIHNvY2tldEJhc2VVUkx9P2RyYWZ0PSR7ZHJhZnRVVUlEfWA7XG5cblx0aWYgKHNlbmRVc2VySW5mbykge1xuXHRcdHNvY2tldFVSSSArPSBgJnVzZXJJRD0ke2VuY29kZVVSSSh1c2VyLmlkKX0mdXNlck5hbWU9JHtlbmNvZGVVUkkodXNlci5pbml0aWFsTmFtZSB8fCBcIlwiKX1gO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBTYXBQY3BXZWJTb2NrZXQoc29ja2V0VVJJLCBbU1VQUE9SVEVEX1BST1RPQ09MUy52MTBdKTtcbn1cbiJdfQ==
@@ -1,9 +1,10 @@
1
1
  import Log from "sap/base/Log";
2
2
  import UriParameters from "sap/base/util/UriParameters";
3
- import { Activity, Message, User } from "sap/fe/core/controllerextensions/collaboration/CollaborationCommon";
4
- import Event from "sap/ui/base/Event";
3
+ import type { Message, User } from "sap/fe/core/controllerextensions/collaboration/CollaborationCommon";
4
+ import { Activity } from "sap/fe/core/controllerextensions/collaboration/CollaborationCommon";
5
+ import type Event from "sap/ui/base/Event";
5
6
  import SapPcpWebSocket, { SUPPORTED_PROTOCOLS } from "sap/ui/core/ws/SapPcpWebSocket";
6
- import JSONModel from "sap/ui/model/json/JSONModel";
7
+ import type JSONModel from "sap/ui/model/json/JSONModel";
7
8
 
8
9
  const COLLABORATION = "/collaboration";
9
10
  const CONNECTED = "/collaboration/connected";
@@ -45,7 +46,7 @@ export function initializeCollaboration(
45
46
  });
46
47
 
47
48
  webSocket.attachError(function () {
48
- Log.error("The connection to the websocket channel " + webSocketBaseURL + " could not be established");
49
+ Log.error(`The connection to the websocket channel ${webSocketBaseURL} could not be established`);
49
50
  internalModel.setProperty(CONNECTED, false);
50
51
  });
51
52
 
@@ -85,13 +86,13 @@ function createWebSocket(user: User, socketBaseURL: string, draftUUID: string, s
85
86
  socketURI = useBackendUrl.replace("https", "wss");
86
87
  } else {
87
88
  socketURI = hostLocation.protocol === "https:" ? "wss:" : "ws:";
88
- socketURI += "//" + hostLocation.host;
89
+ socketURI += `//${hostLocation.host}`;
89
90
  }
90
91
 
91
- socketURI += (socketBaseURL.startsWith("/") ? "" : "/") + socketBaseURL + "?draft=" + draftUUID;
92
+ socketURI += `${(socketBaseURL.startsWith("/") ? "" : "/") + socketBaseURL}?draft=${draftUUID}`;
92
93
 
93
94
  if (sendUserInfo) {
94
- socketURI += "&userID=" + encodeURI(user.id) + "&userName=" + encodeURI(user.initialName || "");
95
+ socketURI += `&userID=${encodeURI(user.id)}&userName=${encodeURI(user.initialName || "")}`;
95
96
  }
96
97
 
97
98
  return new SapPcpWebSocket(socketURI, [SUPPORTED_PROTOCOLS.v10]);