@sapui5/sap.fe.core 1.102.3 → 1.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/package.json +6 -6
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +120 -0
  4. package/src/sap/fe/core/ActionRuntime.ts +108 -0
  5. package/src/sap/fe/core/AppComponent.js +81 -35
  6. package/src/sap/fe/core/AppComponent.ts +68 -44
  7. package/src/sap/fe/core/AppStateHandler.js +82 -70
  8. package/src/sap/fe/core/AppStateHandler.ts +32 -37
  9. package/src/sap/fe/core/BaseController.js +12 -10
  10. package/src/sap/fe/core/BaseController.ts +15 -13
  11. package/src/sap/fe/core/CommonUtils.js +291 -218
  12. package/src/sap/fe/core/CommonUtils.ts +315 -251
  13. package/src/sap/fe/core/ExtensionAPI.js +25 -28
  14. package/src/sap/fe/core/ExtensionAPI.ts +36 -38
  15. package/src/sap/fe/core/PageController.js +5 -5
  16. package/src/sap/fe/core/PageController.ts +4 -5
  17. package/src/sap/fe/core/TemplateComponent.js +21 -10
  18. package/src/sap/fe/core/TemplateComponent.ts +9 -6
  19. package/src/sap/fe/core/TemplateModel.js +2 -2
  20. package/src/sap/fe/core/TemplateModel.ts +1 -1
  21. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +11 -3
  22. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +8 -2
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +197 -43
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +164 -24
  25. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +14 -0
  26. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.ts +5 -0
  27. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +609 -230
  28. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +275 -128
  29. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +30 -30
  30. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +32 -29
  31. package/src/sap/fe/core/controllerextensions/BusyLocker.js +1 -1
  32. package/src/sap/fe/core/controllerextensions/EditFlow.js +761 -700
  33. package/src/sap/fe/core/controllerextensions/EditFlow.ts +478 -514
  34. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +10 -10
  35. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  36. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +104 -75
  37. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +71 -79
  38. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +68 -68
  39. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +76 -76
  40. package/src/sap/fe/core/controllerextensions/InternalRouting.js +162 -102
  41. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +177 -121
  42. package/src/sap/fe/core/controllerextensions/KPIManagement.js +67 -69
  43. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  44. package/src/sap/fe/core/controllerextensions/MassEdit.js +10 -10
  45. package/src/sap/fe/core/controllerextensions/MassEdit.ts +20 -27
  46. package/src/sap/fe/core/controllerextensions/MessageHandler.js +21 -13
  47. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -14
  48. package/src/sap/fe/core/controllerextensions/PageReady.js +98 -26
  49. package/src/sap/fe/core/controllerextensions/PageReady.ts +98 -34
  50. package/src/sap/fe/core/controllerextensions/Paginator.js +31 -32
  51. package/src/sap/fe/core/controllerextensions/Paginator.ts +33 -34
  52. package/src/sap/fe/core/controllerextensions/Placeholder.js +5 -7
  53. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  54. package/src/sap/fe/core/controllerextensions/Routing.js +11 -12
  55. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  56. package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
  57. package/src/sap/fe/core/controllerextensions/Share.js +171 -140
  58. package/src/sap/fe/core/controllerextensions/Share.ts +117 -118
  59. package/src/sap/fe/core/controllerextensions/SideEffects.js +47 -51
  60. package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
  61. package/src/sap/fe/core/controllerextensions/ViewState.js +201 -132
  62. package/src/sap/fe/core/controllerextensions/ViewState.ts +141 -148
  63. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
  64. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
  65. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +13 -12
  66. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +17 -20
  67. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +13 -12
  68. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +15 -15
  69. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +57 -18
  70. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +60 -28
  71. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +29 -21
  72. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1424 -940
  73. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +799 -836
  74. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +410 -377
  75. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +275 -358
  76. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +309 -0
  77. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +320 -0
  78. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +752 -579
  79. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +631 -599
  80. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +92 -74
  81. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +49 -52
  82. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -41
  83. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +110 -84
  84. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +69 -81
  85. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +64 -73
  86. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +18 -2
  87. package/src/sap/fe/core/controls/ActionParameterDialogFieldValueHelp.fragment.xml +35 -0
  88. package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +25 -24
  89. package/src/sap/fe/core/controls/Any.js +9 -5
  90. package/src/sap/fe/core/controls/Any.ts +10 -4
  91. package/src/sap/fe/core/controls/CommandExecution.js +12 -26
  92. package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
  93. package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -3
  94. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  95. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +26 -26
  96. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
  97. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -3
  98. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
  99. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
  100. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
  101. package/src/sap/fe/core/controls/FieldWrapper.js +3 -3
  102. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  103. package/src/sap/fe/core/controls/FileWrapper.js +9 -4
  104. package/src/sap/fe/core/controls/FileWrapper.ts +16 -12
  105. package/src/sap/fe/core/controls/FilterBar.js +7 -3
  106. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  107. package/src/sap/fe/core/controls/FormElementWrapper.js +2 -2
  108. package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
  109. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  110. package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
  111. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -1
  112. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +44 -19
  113. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +2 -2
  114. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +17 -13
  115. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  116. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +4 -4
  117. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  118. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +49 -49
  119. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +54 -54
  120. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
  121. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
  122. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
  123. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
  124. package/src/sap/fe/core/converters/ConverterContext.js +48 -34
  125. package/src/sap/fe/core/converters/ConverterContext.ts +81 -67
  126. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  127. package/src/sap/fe/core/converters/ManifestSettings.ts +18 -15
  128. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  129. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  130. package/src/sap/fe/core/converters/MetaModelConverter.js +74 -40
  131. package/src/sap/fe/core/converters/MetaModelConverter.ts +176 -140
  132. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  133. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  134. package/src/sap/fe/core/converters/annotations/DataField.js +58 -35
  135. package/src/sap/fe/core/converters/annotations/DataField.ts +102 -76
  136. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1956 -1494
  137. package/src/sap/fe/core/converters/controls/Common/Action.js +78 -51
  138. package/src/sap/fe/core/converters/controls/Common/Action.ts +87 -52
  139. package/src/sap/fe/core/converters/controls/Common/Chart.js +22 -16
  140. package/src/sap/fe/core/converters/controls/Common/Chart.ts +42 -43
  141. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  142. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  143. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +65 -29
  144. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +93 -62
  145. package/src/sap/fe/core/converters/controls/Common/Form.js +31 -31
  146. package/src/sap/fe/core/converters/controls/Common/Form.ts +46 -57
  147. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  148. package/src/sap/fe/core/converters/controls/Common/KPI.ts +49 -52
  149. package/src/sap/fe/core/converters/controls/Common/Table.js +251 -264
  150. package/src/sap/fe/core/converters/controls/Common/Table.ts +344 -370
  151. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
  152. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +147 -144
  153. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +89 -59
  154. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +118 -71
  155. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  156. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  157. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  158. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  159. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +131 -95
  160. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +123 -87
  161. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +98 -87
  162. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +121 -117
  163. package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
  164. package/src/sap/fe/core/converters/helpers/Aggregation.ts +12 -15
  165. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
  166. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
  167. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +8 -6
  168. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +18 -10
  169. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +136 -0
  170. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +139 -0
  171. package/src/sap/fe/core/converters/helpers/ID.js +48 -46
  172. package/src/sap/fe/core/converters/helpers/ID.ts +26 -25
  173. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  174. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  175. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  176. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  177. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -5
  178. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  179. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  180. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +53 -75
  181. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +59 -90
  182. package/src/sap/fe/core/converters/templates/ListReportConverter.js +58 -57
  183. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +93 -86
  184. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +58 -44
  185. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +87 -80
  186. package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
  187. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
  188. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  189. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  190. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  191. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  192. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  193. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  194. package/src/sap/fe/core/formatters/StandardFormatter.js +96 -0
  195. package/src/sap/fe/core/formatters/StandardFormatter.ts +70 -0
  196. package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
  197. package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
  198. package/src/sap/fe/core/formatters/TableFormatterTypes.js +1 -1
  199. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  200. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  201. package/src/sap/fe/core/fpm/Component.js +33 -7
  202. package/src/sap/fe/core/fpm/Component.ts +14 -0
  203. package/src/sap/fe/core/helpers/AnnotationEnum.js +1 -1
  204. package/src/sap/fe/core/helpers/AppStartupHelper.js +19 -18
  205. package/src/sap/fe/core/helpers/AppStartupHelper.ts +41 -43
  206. package/src/sap/fe/core/helpers/BindingToolkit.js +1836 -0
  207. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +397 -270
  208. package/src/sap/fe/core/helpers/ClassSupport.js +49 -12
  209. package/src/sap/fe/core/helpers/ClassSupport.ts +37 -10
  210. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  211. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  212. package/src/sap/fe/core/helpers/EditState.js +1 -6
  213. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  214. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  215. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  216. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  217. package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
  218. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  219. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  220. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +1 -1
  221. package/src/sap/fe/core/helpers/MassEditHelper.js +306 -280
  222. package/src/sap/fe/core/helpers/MassEditHelper.ts +380 -360
  223. package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
  224. package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
  225. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  226. package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
  227. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  228. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  229. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  230. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  231. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  232. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  233. package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
  234. package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
  235. package/src/sap/fe/core/helpers/Synchronization.js +1 -1
  236. package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
  237. package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
  238. package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
  239. package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
  240. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +109 -0
  241. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +47 -0
  242. package/src/sap/fe/core/jsx-runtime/jsx-control.js +110 -0
  243. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +92 -0
  244. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
  245. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
  246. package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
  247. package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
  248. package/src/sap/fe/core/jsx-runtime/jsxs.js +1 -1
  249. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +179 -0
  250. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +150 -0
  251. package/src/sap/fe/core/library.js +42 -3
  252. package/src/sap/fe/core/library.support.js +1 -1
  253. package/src/sap/fe/core/library.ts +38 -0
  254. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  255. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  256. package/src/sap/fe/core/messagebundle.properties +39 -67
  257. package/src/sap/fe/core/messagebundle_ar.properties +27 -44
  258. package/src/sap/fe/core/messagebundle_bg.properties +27 -44
  259. package/src/sap/fe/core/messagebundle_ca.properties +27 -44
  260. package/src/sap/fe/core/messagebundle_cs.properties +27 -44
  261. package/src/sap/fe/core/messagebundle_cy.properties +26 -43
  262. package/src/sap/fe/core/messagebundle_da.properties +27 -44
  263. package/src/sap/fe/core/messagebundle_de.properties +25 -42
  264. package/src/sap/fe/core/messagebundle_el.properties +28 -45
  265. package/src/sap/fe/core/messagebundle_en.properties +27 -44
  266. package/src/sap/fe/core/messagebundle_en_GB.properties +27 -44
  267. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +25 -42
  268. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +26 -40
  269. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +25 -42
  270. package/src/sap/fe/core/messagebundle_es.properties +27 -44
  271. package/src/sap/fe/core/messagebundle_es_MX.properties +27 -44
  272. package/src/sap/fe/core/messagebundle_et.properties +27 -44
  273. package/src/sap/fe/core/messagebundle_fi.properties +27 -44
  274. package/src/sap/fe/core/messagebundle_fr.properties +26 -43
  275. package/src/sap/fe/core/messagebundle_fr_CA.properties +25 -42
  276. package/src/sap/fe/core/messagebundle_hi.properties +27 -44
  277. package/src/sap/fe/core/messagebundle_hr.properties +27 -44
  278. package/src/sap/fe/core/messagebundle_hu.properties +27 -44
  279. package/src/sap/fe/core/messagebundle_id.properties +27 -44
  280. package/src/sap/fe/core/messagebundle_it.properties +43 -60
  281. package/src/sap/fe/core/messagebundle_iw.properties +27 -44
  282. package/src/sap/fe/core/messagebundle_ja.properties +27 -44
  283. package/src/sap/fe/core/messagebundle_kk.properties +27 -44
  284. package/src/sap/fe/core/messagebundle_ko.properties +30 -47
  285. package/src/sap/fe/core/messagebundle_lt.properties +27 -44
  286. package/src/sap/fe/core/messagebundle_lv.properties +27 -44
  287. package/src/sap/fe/core/messagebundle_ms.properties +27 -44
  288. package/src/sap/fe/core/messagebundle_nl.properties +29 -46
  289. package/src/sap/fe/core/messagebundle_no.properties +27 -44
  290. package/src/sap/fe/core/messagebundle_pl.properties +28 -45
  291. package/src/sap/fe/core/messagebundle_pt.properties +28 -45
  292. package/src/sap/fe/core/messagebundle_pt_PT.properties +27 -44
  293. package/src/sap/fe/core/messagebundle_ro.properties +27 -44
  294. package/src/sap/fe/core/messagebundle_ru.properties +27 -44
  295. package/src/sap/fe/core/messagebundle_sh.properties +27 -44
  296. package/src/sap/fe/core/messagebundle_sk.properties +27 -44
  297. package/src/sap/fe/core/messagebundle_sl.properties +27 -44
  298. package/src/sap/fe/core/messagebundle_sv.properties +27 -44
  299. package/src/sap/fe/core/messagebundle_th.properties +25 -42
  300. package/src/sap/fe/core/messagebundle_tr.properties +27 -44
  301. package/src/sap/fe/core/messagebundle_uk.properties +27 -44
  302. package/src/sap/fe/core/messagebundle_vi.properties +27 -44
  303. package/src/sap/fe/core/messagebundle_zh_CN.properties +27 -44
  304. package/src/sap/fe/core/messagebundle_zh_TW.properties +27 -44
  305. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +3 -3
  306. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  307. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +103 -75
  308. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +72 -73
  309. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +2 -2
  310. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
  311. package/src/sap/fe/core/services/NavigationServiceFactory.js +62 -50
  312. package/src/sap/fe/core/services/NavigationServiceFactory.ts +63 -52
  313. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +3 -3
  314. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  315. package/src/sap/fe/core/services/RoutingServiceFactory.js +56 -56
  316. package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
  317. package/src/sap/fe/core/services/ShellServicesFactory.js +93 -77
  318. package/src/sap/fe/core/services/ShellServicesFactory.ts +95 -82
  319. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +64 -64
  320. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  321. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +232 -200
  322. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +145 -142
  323. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
  324. package/src/sap/fe/core/support/AnnotationIssue.support.js +1 -1
  325. package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +1 -1
  326. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +1 -1
  327. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  328. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  329. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  330. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  331. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +1 -1
  332. package/src/sap/fe/core/templating/CommonFormatters.js +85 -0
  333. package/src/sap/fe/core/templating/CommonFormatters.ts +90 -0
  334. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  335. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  336. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  337. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  338. package/src/sap/fe/core/templating/DataModelPathHelper.js +23 -15
  339. package/src/sap/fe/core/templating/DataModelPathHelper.ts +47 -34
  340. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  341. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
  342. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
  343. package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
  344. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  345. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  346. package/src/sap/fe/core/templating/FilterHelper.js +18 -17
  347. package/src/sap/fe/core/templating/FilterHelper.ts +18 -18
  348. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  349. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  350. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  351. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  352. package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
  353. package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
  354. package/src/sap/fe/core/templating/UIFormatters.js +152 -95
  355. package/src/sap/fe/core/templating/UIFormatters.ts +202 -128
  356. package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
  357. package/src/sap/fe/core/type/Email.js +3 -3
  358. package/src/sap/fe/core/type/Email.ts +2 -2
  359. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
@@ -11,24 +11,24 @@
11
11
  import Log from "sap/base/Log";
12
12
  import ModelHelper from "sap/fe/core/helpers/ModelHelper";
13
13
  import ValueListHelper from "sap/fe/macros/internal/valuehelp/ValueListHelper";
14
- import ComboBox from "sap/m/ComboBox";
15
- import Select from "sap/m/Select";
16
- import Control from "sap/ui/core/Control";
14
+ import type ComboBox from "sap/m/ComboBox";
15
+ import type Select from "sap/m/Select";
16
+ import type Control from "sap/ui/core/Control";
17
17
  import Core from "sap/ui/core/Core";
18
- import Field from "sap/ui/mdc/Field";
19
- import InParameter from "sap/ui/mdc/field/InParameter";
20
- import OutParameter from "sap/ui/mdc/field/OutParameter";
21
- import JSONModel from "sap/ui/model/json/JSONModel";
22
- import Context from "sap/ui/model/odata/v4/Context";
18
+ import type Field from "sap/ui/mdc/Field";
19
+ import type InParameter from "sap/ui/mdc/field/InParameter";
20
+ import type OutParameter from "sap/ui/mdc/field/OutParameter";
21
+ import type JSONModel from "sap/ui/model/json/JSONModel";
22
+ import type Context from "sap/ui/model/odata/v4/Context";
23
23
 
24
24
  const MassEditHandlers: any = {
25
25
  /**
26
26
  * Called for property change in the transient context.
27
27
  *
28
28
  * @function
29
- * @param {any} newValue New value of the property.
30
- * @param {string} dataProperty Final context returned after the paginator action
31
- * @param {string} mdcFieldId Final context returned after the paginator action
29
+ * @param newValue New value of the property.
30
+ * @param dataProperty Final context returned after the paginator action
31
+ * @param mdcFieldId Final context returned after the paginator action
32
32
  */
33
33
  contextPropertyChange: function (newValue: any, dataProperty: string, mdcFieldId: string) {
34
34
  // Called for
@@ -39,7 +39,7 @@ const MassEditHandlers: any = {
39
39
  const transCtx = source && (source.getBindingContext() as Context);
40
40
  const fieldInfoModel = source && (source.getModel("fieldsInfo") as JSONModel);
41
41
  const values =
42
- fieldInfoModel.getProperty("/values/" + dataProperty) || fieldInfoModel.getProperty("/unitData/" + dataProperty) || [];
42
+ fieldInfoModel.getProperty(`/values/${dataProperty}`) || fieldInfoModel.getProperty(`/unitData/${dataProperty}`) || [];
43
43
 
44
44
  if (transCtx && (values.inputType === "InputWithValueHelp" || values.inputType === "InputWithUnit") && !values.valueListInfo) {
45
45
  MassEditHandlers._setValueListInfo(transCtx, source, fieldInfoModel, dataProperty);
@@ -59,8 +59,8 @@ const MassEditHandlers: any = {
59
59
  * This is not called on change of the dropdown as we are using a custom MassEditSelect control and not general Select.
60
60
  *
61
61
  * @function
62
- * @param {object} event Event object for change.
63
- * @param {string} propertyName Property path.
62
+ * @param event Event object for change.
63
+ * @param propertyName Property path.
64
64
  */
65
65
  handleMDCFieldChange: function (event: any, propertyName: string) {
66
66
  // Called for
@@ -76,7 +76,7 @@ const MassEditHandlers: any = {
76
76
  changePromise
77
77
  .then(MassEditHandlers._updateSelectKeyForMDCFieldChange.bind(MassEditHandlers, source, propertyName))
78
78
  .catch((err: any) => {
79
- Log.warning("VHD selection couldn't be populated in the mass edit field." + err);
79
+ Log.warning(`VHD selection couldn't be populated in the mass edit field.${err}`);
80
80
  });
81
81
  },
82
82
 
@@ -84,14 +84,14 @@ const MassEditHandlers: any = {
84
84
  * Called for selection change through the drop down.
85
85
  *
86
86
  * @function
87
- * @param {object} event Event object for change.
87
+ * @param event Event object for change.
88
88
  */
89
89
  handleSelectionChange: function (event: any) {
90
90
  // Called for Manual selection from dropdown(comboBox or select)
91
91
  // 1. VHD select.
92
92
  // 2. Any value change in the control.
93
93
 
94
- const source = (event && event.getSource()) as any;
94
+ const source = event && event.getSource();
95
95
  const key = source.getSelectedKey() as string;
96
96
  const params = source && key && key.split("/");
97
97
  let propertyName;
@@ -125,15 +125,15 @@ const MassEditHandlers: any = {
125
125
  * Update selections to results and the suggests in drop downs.
126
126
  *
127
127
  * @function
128
- * @param {MDCField} source MDC field that was changed.
129
- * @param {string} propertyName Property path.
130
- * @param {any} value New value.
128
+ * @param source MDC field that was changed.
129
+ * @param propertyName Property path.
130
+ * @param value New value.
131
131
  */
132
132
  _updateSelectKeyForMDCFieldChange: function (source: any, propertyName: string, value: any): void {
133
133
  const transCtx = source && source.getBindingContext();
134
134
  const fieldInfoModel = source && (source.getModel("fieldsInfo") as JSONModel);
135
135
  const values =
136
- fieldInfoModel.getProperty("/values/" + propertyName) || fieldInfoModel.getProperty("/unitData/" + propertyName) || [];
136
+ fieldInfoModel.getProperty(`/values/${propertyName}`) || fieldInfoModel.getProperty(`/unitData/${propertyName}`) || [];
137
137
 
138
138
  if (transCtx && (values.inputType === "InputWithValueHelp" || values.inputType === "InputWithUnit") && !values.valueListInfo) {
139
139
  MassEditHandlers._setValueListInfo(transCtx, source, fieldInfoModel, propertyName);
@@ -150,10 +150,10 @@ const MassEditHandlers: any = {
150
150
  * Update suggests for all drop downs with InParameter as the propertyName.
151
151
  *
152
152
  * @function
153
- * @param {JSONModel} fieldInfoModel Runtime model with parameters store information.
154
- * @param {string} propertyName Property path.
155
- * @param {boolean} resetValues Should the values be reset to original state.
156
- * @param {boolean} keepExistingSelection Should the existing selection before update remain.
153
+ * @param fieldInfoModel Runtime model with parameters store information.
154
+ * @param propertyName Property path.
155
+ * @param resetValues Should the values be reset to original state.
156
+ * @param keepExistingSelection Should the existing selection before update remain.
157
157
  */
158
158
  _updateSuggestionForFieldsWithInParameters: function (
159
159
  fieldInfoModel: JSONModel,
@@ -192,12 +192,12 @@ const MassEditHandlers: any = {
192
192
  * Update suggests for a drop down with InParameter as the srcPropertyName.
193
193
  *
194
194
  * @function
195
- * @param {JSONModel} fieldInfoModel Runtime model with parameters store information.
196
- * @param {string} pathPrefix Path in the runtime model.
197
- * @param {string} srcPropertyName The InParameter Property path.
198
- * @param {boolean} resetValues Should the values be reset to original state.
199
- * @param {boolean} keepExistingSelection Should the existing selection before update remain.
200
- * @param {string} propertyName Property path that needs update of suggestions.
195
+ * @param fieldInfoModel Runtime model with parameters store information.
196
+ * @param pathPrefix Path in the runtime model.
197
+ * @param srcPropertyName The InParameter Property path.
198
+ * @param resetValues Should the values be reset to original state.
199
+ * @param keepExistingSelection Should the existing selection before update remain.
200
+ * @param propertyName Property path that needs update of suggestions.
201
201
  */
202
202
  _updateInParameterSuggetions: function (
203
203
  fieldInfoModel: JSONModel,
@@ -207,7 +207,7 @@ const MassEditHandlers: any = {
207
207
  keepExistingSelection: boolean,
208
208
  propertyName: string
209
209
  ) {
210
- const valueListInfo = fieldInfoModel.getProperty(pathPrefix + propertyName + "/valueListInfo");
210
+ const valueListInfo = fieldInfoModel.getProperty(`${pathPrefix + propertyName}/valueListInfo`);
211
211
  if (valueListInfo && srcPropertyName != propertyName) {
212
212
  const inParameters = valueListInfo.inParameters;
213
213
  if (inParameters && inParameters.length > 0 && inParameters.includes(srcPropertyName)) {
@@ -220,10 +220,10 @@ const MassEditHandlers: any = {
220
220
  * Update suggests for all OutParameter's drop downs of the propertyName.
221
221
  *
222
222
  * @function
223
- * @param {JSONModel} fieldInfoModel Runtime model with parameters store information.
224
- * @param {string} propertyName Property path.
225
- * @param {boolean} resetValues Should the values be reset to original state.
226
- * @param {boolean} keepExistingSelection Should the existing selection before update remain.
223
+ * @param fieldInfoModel Runtime model with parameters store information.
224
+ * @param propertyName Property path.
225
+ * @param resetValues Should the values be reset to original state.
226
+ * @param keepExistingSelection Should the existing selection before update remain.
227
227
  */
228
228
  _updateSuggestionForFieldsWithOutParameters: function (
229
229
  fieldInfoModel: JSONModel,
@@ -232,17 +232,19 @@ const MassEditHandlers: any = {
232
232
  keepExistingSelection: boolean
233
233
  ): void {
234
234
  const valueListInfo =
235
- fieldInfoModel.getProperty("/values/" + propertyName + "/valueListInfo") ||
236
- fieldInfoModel.getProperty("/unitData/" + propertyName + "/valueListInfo");
235
+ fieldInfoModel.getProperty(`/values/${propertyName}/valueListInfo`) ||
236
+ fieldInfoModel.getProperty(`/unitData/${propertyName}/valueListInfo`);
237
237
 
238
238
  if (valueListInfo && valueListInfo.outParameters) {
239
239
  const outParameters = valueListInfo.outParameters;
240
- MassEditHandlers._updateOutParameterSuggetions(outParameters, fieldInfoModel, resetValues, keepExistingSelection);
241
- const pathPrefix =
242
- (fieldInfoModel.getProperty(`/values/${propertyName}`) && `/values/${propertyName}`) ||
243
- (fieldInfoModel.getProperty(`/unitData/${propertyName}`) && `/unitData/${propertyName}`);
244
- if (pathPrefix) {
245
- MassEditHandlers._updateFieldPathSuggestions(fieldInfoModel, pathPrefix, false, true);
240
+ if (outParameters.length && outParameters.length > 0) {
241
+ MassEditHandlers._updateOutParameterSuggetions(outParameters, fieldInfoModel, resetValues, keepExistingSelection);
242
+ const pathPrefix =
243
+ (fieldInfoModel.getProperty(`/values/${propertyName}`) && `/values/${propertyName}`) ||
244
+ (fieldInfoModel.getProperty(`/unitData/${propertyName}`) && `/unitData/${propertyName}`);
245
+ if (pathPrefix) {
246
+ MassEditHandlers._updateFieldPathSuggestions(fieldInfoModel, pathPrefix, false, true);
247
+ }
246
248
  }
247
249
  }
248
250
  },
@@ -251,10 +253,10 @@ const MassEditHandlers: any = {
251
253
  * Update suggests for a drop down with InParameter as the srcPropertyName.
252
254
  *
253
255
  * @function
254
- * @param {string} outParameters String arrary of OutParameter property paths.
255
- * @param {JSONModel} fieldInfoModel Runtime model with parameters store information.
256
- * @param {boolean} resetValues Should the values be reset to original state.
257
- * @param {boolean} keepExistingSelection Should the existing selection before update remain.
256
+ * @param outParameters String arrary of OutParameter property paths.
257
+ * @param fieldInfoModel Runtime model with parameters store information.
258
+ * @param resetValues Should the values be reset to original state.
259
+ * @param keepExistingSelection Should the existing selection before update remain.
258
260
  */
259
261
  _updateOutParameterSuggetions: function (
260
262
  outParameters: string[],
@@ -269,11 +271,11 @@ const MassEditHandlers: any = {
269
271
 
270
272
  outParameters.forEach((outParameter: string) => {
271
273
  if (fieldPaths.includes(outParameter)) {
272
- MassEditHandlers._updateFieldPathSuggestions(fieldInfoModel, "/values/" + outParameter, resetValues, keepExistingSelection);
274
+ MassEditHandlers._updateFieldPathSuggestions(fieldInfoModel, `/values/${outParameter}`, resetValues, keepExistingSelection);
273
275
  } else if (unitFieldPaths.includes(outParameter)) {
274
276
  MassEditHandlers._updateFieldPathSuggestions(
275
277
  fieldInfoModel,
276
- "/unitData/" + outParameter,
278
+ `/unitData/${outParameter}`,
277
279
  resetValues,
278
280
  keepExistingSelection
279
281
  );
@@ -285,10 +287,10 @@ const MassEditHandlers: any = {
285
287
  * Update suggests for a drop down of a field.
286
288
  *
287
289
  * @function
288
- * @param {JSONModel} fieldInfoModel Runtime model with parameters store information.
289
- * @param {string} fieldPathAbsolute Complete runtime property path.
290
- * @param {boolean} resetValues Should the values be reset to original state.
291
- * @param {boolean} keepExistingSelection Should the existing selection before update remain.
290
+ * @param fieldInfoModel Runtime model with parameters store information.
291
+ * @param fieldPathAbsolute Complete runtime property path.
292
+ * @param resetValues Should the values be reset to original state.
293
+ * @param keepExistingSelection Should the existing selection before update remain.
292
294
  */
293
295
  _updateFieldPathSuggestions: function (
294
296
  fieldInfoModel: JSONModel,
@@ -298,7 +300,7 @@ const MassEditHandlers: any = {
298
300
  ) {
299
301
  const options = fieldInfoModel.getProperty(fieldPathAbsolute);
300
302
  const defaultOptions = options.defaultOptions;
301
- const selectedKey = fieldInfoModel.getProperty(fieldPathAbsolute + "/selectedKey");
303
+ const selectedKey = fieldInfoModel.getProperty(`${fieldPathAbsolute}/selectedKey`);
302
304
  const existingSelection = keepExistingSelection && options.find((option: any) => option.key === selectedKey);
303
305
  if (resetValues) {
304
306
  const selectOptions = options.selectOptions;
@@ -314,7 +316,7 @@ const MassEditHandlers: any = {
314
316
 
315
317
  if (existingSelection && !options.includes(existingSelection)) {
316
318
  options.push(existingSelection);
317
- fieldInfoModel.setProperty(fieldPathAbsolute + "/selectedKey", selectedKey);
319
+ fieldInfoModel.setProperty(`${fieldPathAbsolute}/selectedKey`, selectedKey);
318
320
  }
319
321
  },
320
322
 
@@ -322,15 +324,15 @@ const MassEditHandlers: any = {
322
324
  * Update In and Out Parameters in the MED.
323
325
  *
324
326
  * @function
325
- * @param {Context} transCtx The transient context of the MED.
326
- * @param {MDCField} source MDC field.
327
- * @param {JSONModel} fieldInfoModel Runtime model with parameters store information.
328
- * @param {string} propertyName Property path.
327
+ * @param transCtx The transient context of the MED.
328
+ * @param source MDC field.
329
+ * @param fieldInfoModel Runtime model with parameters store information.
330
+ * @param propertyName Property path.
329
331
  */
330
332
  _setValueListInfo: function (transCtx: Context, source: Field, fieldInfoModel: JSONModel, propertyName: string): void {
331
333
  const propPath =
332
- (fieldInfoModel.getProperty("/values/" + propertyName) && "/values/") ||
333
- (fieldInfoModel.getProperty("/unitData/" + propertyName) && "/unitData/");
334
+ (fieldInfoModel.getProperty(`/values/${propertyName}`) && "/values/") ||
335
+ (fieldInfoModel.getProperty(`/unitData/${propertyName}`) && "/unitData/");
334
336
 
335
337
  if (fieldInfoModel.getProperty(`${propPath}${propertyName}/valueListInfo`)) {
336
338
  return;
@@ -356,15 +358,15 @@ const MassEditHandlers: any = {
356
358
  * Request and update In and Out Parameters in the MED.
357
359
  *
358
360
  * @function
359
- * @param {Context} transCtx The transient context of the MED.
360
- * @param {MDCField} source MDC field.
361
- * @param {JSONModel} fieldInfoModel Runtime model with parameters store information.
362
- * @param {string} propertyName Property path.
361
+ * @param transCtx The transient context of the MED.
362
+ * @param source MDC field.
363
+ * @param fieldInfoModel Runtime model with parameters store information.
364
+ * @param propertyName Property path.
363
365
  */
364
366
  _requestValueList: function (transCtx: Context, source: Field, fieldInfoModel: JSONModel, propertyName: string): void {
365
367
  const metaPath = ModelHelper.getMetaPathForContext(transCtx);
366
- const propertyPath = (metaPath && metaPath + "/" + propertyName) as string;
367
- const dependents = (source as any)?.getDependents();
368
+ const propertyPath = (metaPath && `${metaPath}/${propertyName}`) as string;
369
+ const dependents = source?.getDependents();
368
370
  const fieldHelp = source?.getFieldHelp();
369
371
  const fieldValueHelp = dependents?.find((dependent: any) => dependent.getId() === fieldHelp);
370
372
  if (!fieldValueHelp?.getBindingContext()) {
@@ -377,8 +379,8 @@ const MassEditHandlers: any = {
377
379
  valueListInfo
378
380
  .then((vLinfo: any) => {
379
381
  const propPath =
380
- (fieldInfoModel.getProperty("/values/" + propertyName) && "/values/") ||
381
- (fieldInfoModel.getProperty("/unitData/" + propertyName) && "/unitData/");
382
+ (fieldInfoModel.getProperty(`/values/${propertyName}`) && "/values/") ||
383
+ (fieldInfoModel.getProperty(`/unitData/${propertyName}`) && "/unitData/");
382
384
  const info: any = {
383
385
  inParameters: vLinfo.inParameters.map((inParam: any) => inParam.getFieldPath()),
384
386
  outParameters: vLinfo.outParameters.map((outParam: any) => outParam.getFieldPath())
@@ -397,24 +399,23 @@ const MassEditHandlers: any = {
397
399
  * Get field help control from MDC field.
398
400
  *
399
401
  * @function
400
- * @param {Context} transCtx The transient context of the MED.
401
- * @param {MDCField} source MDC field.
402
+ * @param transCtx The transient context of the MED.
403
+ * @param source MDC field.
402
404
  * @returns Field Help control.
403
405
  */
404
- _getValueHelp: function (transCtx: Context, source: any): any {
406
+ _getValueHelp: function (transCtx: Context, source: Field): any {
405
407
  const dependents = source?.getDependents();
406
408
  const fieldHelp = source?.getFieldHelp();
407
- const fieldValueHelp = dependents?.find((dependent: any) => dependent.getId() === fieldHelp);
408
- return fieldValueHelp;
409
+ return dependents?.find((dependent: any) => dependent.getId() === fieldHelp);
409
410
  },
410
411
 
411
412
  /**
412
413
  * Colled on drop down selection of VHD option.
413
414
  *
414
415
  * @function
415
- * @param {MassEditSelect} source Custom Mass Edit Select control.
416
- * @param {string} propertyName Property path.
417
- * @param {string} selectKey Previous key before the VHD was selected.
416
+ * @param source Custom Mass Edit Select control.
417
+ * @param propertyName Property path.
418
+ * @param selectKey Previous key before the VHD was selected.
418
419
  */
419
420
  _onVHSelect: function (source: any, propertyName: string, selectKey: string): void {
420
421
  // Called for
@@ -422,8 +423,8 @@ const MassEditHandlers: any = {
422
423
 
423
424
  const fieldInfoModel = source && source.getModel("fieldsInfo");
424
425
  const propPath =
425
- (fieldInfoModel.getProperty("/values/" + propertyName) && "/values/") ||
426
- (fieldInfoModel.getProperty("/unitData/" + propertyName) && "/unitData/");
426
+ (fieldInfoModel.getProperty(`/values/${propertyName}`) && "/values/") ||
427
+ (fieldInfoModel.getProperty(`/unitData/${propertyName}`) && "/unitData/");
427
428
  const transCtx = source.getBindingContext();
428
429
  const fieldValueHelp = MassEditHandlers._getValueHelp(transCtx, source.getParent());
429
430
  if (!fieldValueHelp?.getBindingContext()) {
@@ -431,14 +432,14 @@ const MassEditHandlers: any = {
431
432
  }
432
433
  source.fireValueHelpRequest();
433
434
 
434
- fieldInfoModel.setProperty(propPath + propertyName + "/selectedKey", selectKey);
435
+ fieldInfoModel.setProperty(`${propPath + propertyName}/selectedKey`, selectKey);
435
436
  },
436
437
 
437
438
  /**
438
439
  * Gets Property name from selection key.
439
440
  *
440
441
  * @function
441
- * @param {string} key Selection key.
442
+ * @param key Selection key.
442
443
  * @returns Property name.
443
444
  */
444
445
  _getPropertyNameFromKey: function (key: string) {
@@ -455,10 +456,10 @@ const MassEditHandlers: any = {
455
456
  * Update selection to Custom Mass Edit Select from MDC field.
456
457
  *
457
458
  * @function
458
- * @param {MDCField} source MDC field.
459
- * @param {string} propertyName Property path.
460
- * @param {string} value Value to update.
461
- * @param {string} fullText Full text to use.
459
+ * @param source MDC field.
460
+ * @param propertyName Property path.
461
+ * @param value Value to update.
462
+ * @param fullText Full text to use.
462
463
  */
463
464
  _updateSelectKey: function (source: Field, propertyName: string, value: any, fullText?: any): void {
464
465
  // Called for
@@ -466,22 +467,22 @@ const MassEditHandlers: any = {
466
467
  // 2. Out Parameters.
467
468
  // 3. Transient context property change.
468
469
 
469
- const massEditSelect = source.getContent() as any as Select;
470
- if (!massEditSelect || !propertyName) {
470
+ const comboBox = source.getContent() as ComboBox;
471
+ if (!comboBox || !propertyName) {
471
472
  return;
472
473
  }
473
- let key: string = massEditSelect.getSelectedKey();
474
+ let key: string = comboBox.getSelectedKey();
474
475
  if ((key.startsWith("Default/") || key.startsWith("ClearFieldValue/")) && !value) {
475
476
  return;
476
477
  }
477
478
 
478
479
  const formattedText = MassEditHandlers._valueExists(fullText) ? fullText : value;
479
- const fieldInfoModel = source && ((source as any).getModel("fieldsInfo") as JSONModel);
480
+ const fieldInfoModel = source && (source.getModel("fieldsInfo") as JSONModel);
480
481
  const values =
481
- fieldInfoModel.getProperty("/values/" + propertyName) || fieldInfoModel.getProperty("/unitData/" + propertyName) || [];
482
+ fieldInfoModel.getProperty(`/values/${propertyName}`) || fieldInfoModel.getProperty(`/unitData/${propertyName}`) || [];
482
483
  const propPath =
483
- (fieldInfoModel.getProperty("/values/" + propertyName) && "/values/") ||
484
- (fieldInfoModel.getProperty("/unitData/" + propertyName) && "/unitData/");
484
+ (fieldInfoModel.getProperty(`/values/${propertyName}`) && "/values/") ||
485
+ (fieldInfoModel.getProperty(`/unitData/${propertyName}`) && "/unitData/");
485
486
 
486
487
  const relatedField = values.find((fieldData: any) => fieldData?.textInfo?.value === value || fieldData.text === value);
487
488
 
@@ -498,12 +499,12 @@ const MassEditHandlers: any = {
498
499
  relatedField.textInfo.description = source.getAdditionalValue();
499
500
  }
500
501
  if (relatedField.key === key) {
501
- fieldInfoModel.setProperty(propPath + propertyName + "/selectedKey", key);
502
+ fieldInfoModel.setProperty(`${propPath + propertyName}/selectedKey`, key);
502
503
  return;
503
504
  }
504
505
  key = relatedField.key;
505
506
  } else if ([undefined, null, ""].indexOf(value) === -1) {
506
- key = propertyName + "/" + value;
507
+ key = `${propertyName}/${value}`;
507
508
  const selectionInfo = {
508
509
  text: formattedText,
509
510
  key,
@@ -521,19 +522,19 @@ const MassEditHandlers: any = {
521
522
  values.selectOptions.push(selectionInfo);
522
523
  fieldInfoModel.setProperty(propPath + propertyName, values);
523
524
  } else {
524
- key = "Default/" + propertyName;
525
+ key = `Default/${propertyName}`;
525
526
  }
526
527
 
527
- fieldInfoModel.setProperty(propPath + propertyName + "/selectedKey", key);
528
- MassEditHandlers._updateResults(massEditSelect);
528
+ fieldInfoModel.setProperty(`${propPath + propertyName}/selectedKey`, key);
529
+ MassEditHandlers._updateResults(comboBox);
529
530
  },
530
531
 
531
532
  /**
532
533
  * Get Value from Drop down.
533
534
  *
534
535
  * @function
535
- * @param {Control} source Drop down control.
536
- * @returns {string} Value of selection.
536
+ * @param source Drop down control.
537
+ * @returns Value of selection.
537
538
  */
538
539
  _getValue: function (source: Control) {
539
540
  return source.getMetadata().getName() === "sap.fe.core.controls.MassEditSelect"
@@ -563,9 +564,9 @@ const MassEditHandlers: any = {
563
564
  * Updates selections to runtime model.
564
565
  *
565
566
  * @function
566
- * @param {Control} oSource Drop down control.
567
- * @param {Array} aParams Parts of key in runtime model.
568
- * @param {boolean} updateTransCtx Should transient context be updated with the value.
567
+ * @param oSource Drop down control.
568
+ * @param aParams Parts of key in runtime model.
569
+ * @param updateTransCtx Should transient context be updated with the value.
569
570
  */
570
571
  _updateResults: function (oSource: any, aParams: Array<string> = [], updateTransCtx: boolean) {
571
572
  // Called for
@@ -578,7 +579,7 @@ const MassEditHandlers: any = {
578
579
  aParams = aParams.length > 0 ? aParams : oSource && oSource.getSelectedKey() && oSource.getSelectedKey().split("/");
579
580
 
580
581
  let oDataObject;
581
- const sPropertyName = oSource.getId().substring(oSource.getId().lastIndexOf(":") + 1);
582
+ const sPropertyName = oSource.data("fieldPath");
582
583
 
583
584
  if (aParams[0] === "Default") {
584
585
  oDataObject = {
@@ -601,7 +602,7 @@ const MassEditHandlers: any = {
601
602
  } else {
602
603
  const propertyName = aParams.slice(0, -1).join("/");
603
604
  const propertyValues =
604
- fieldsInfoModel.getProperty("/values/" + propertyName) || fieldsInfoModel.getProperty("/unitData/" + propertyName) || [];
605
+ fieldsInfoModel.getProperty(`/values/${propertyName}`) || fieldsInfoModel.getProperty(`/unitData/${propertyName}`) || [];
605
606
 
606
607
  const relatedField = (propertyValues || []).find(function (oFieldData: any) {
607
608
  return oFieldData?.textInfo?.value === value || oFieldData.text === value;
@@ -625,7 +626,7 @@ const MassEditHandlers: any = {
625
626
  } else {
626
627
  oFieldsInfoData.results.push(oDataObject);
627
628
  }
628
- if (updateTransCtx) {
629
+ if (updateTransCtx && !oDataObject.keyValue.includes("/")) {
629
630
  const transCtx = oSource.getBindingContext();
630
631
  if (aParams[0] === "Default" || aParams[0] === "ClearFieldValue") {
631
632
  transCtx.setProperty(oDataObject.keyValue, null);