@sapui5/sap.fe.macros 1.141.2 → 1.143.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 (257) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/Breadcrumbs.js +4 -10
  4. package/src/sap/fe/macros/Breadcrumbs.tsx +2 -8
  5. package/src/sap/fe/macros/Chart.js +34 -23
  6. package/src/sap/fe/macros/Chart.tsx +25 -11
  7. package/src/sap/fe/macros/CollaborativeDraftHandler.js +47 -36
  8. package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +50 -31
  9. package/src/sap/fe/macros/CollectionBindingInfo.js +8 -2
  10. package/src/sap/fe/macros/CollectionBindingInfo.ts +11 -6
  11. package/src/sap/fe/macros/CommonHelper.js +14 -24
  12. package/src/sap/fe/macros/CommonHelper.ts +18 -25
  13. package/src/sap/fe/macros/ConditionalSwitch.js +1 -2
  14. package/src/sap/fe/macros/ConditionalSwitch.tsx +0 -1
  15. package/src/sap/fe/macros/ConditionalSwitchProperty.js +1 -3
  16. package/src/sap/fe/macros/ConditionalSwitchProperty.tsx +0 -2
  17. package/src/sap/fe/macros/Field.js +34 -17
  18. package/src/sap/fe/macros/Field.ts +64 -32
  19. package/src/sap/fe/macros/FooterContent.js +7 -3
  20. package/src/sap/fe/macros/FooterContent.tsx +8 -13
  21. package/src/sap/fe/macros/KPITag.js +6 -6
  22. package/src/sap/fe/macros/KPITag.tsx +8 -6
  23. package/src/sap/fe/macros/MacroAPI.js +4 -3
  24. package/src/sap/fe/macros/MacroAPI.ts +3 -3
  25. package/src/sap/fe/macros/MessageButton.js +4 -3
  26. package/src/sap/fe/macros/MessageButton.tsx +7 -3
  27. package/src/sap/fe/macros/MicroChart.js +12 -7
  28. package/src/sap/fe/macros/MicroChart.tsx +9 -3
  29. package/src/sap/fe/macros/MultiValueField.js +22 -36
  30. package/src/sap/fe/macros/MultiValueField.tsx +34 -66
  31. package/src/sap/fe/macros/RichTextEditor.js +3 -4
  32. package/src/sap/fe/macros/RichTextEditor.tsx +2 -3
  33. package/src/sap/fe/macros/Share.js +7 -7
  34. package/src/sap/fe/macros/Share.tsx +9 -6
  35. package/src/sap/fe/macros/Status.js +39 -11
  36. package/src/sap/fe/macros/Status.tsx +25 -5
  37. package/src/sap/fe/macros/ValueHelp.js +5 -2
  38. package/src/sap/fe/macros/ValueHelp.tsx +5 -0
  39. package/src/sap/fe/macros/ai/EasyFillDialog.js +2 -1
  40. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +1 -0
  41. package/src/sap/fe/macros/ai/EasyFilterBar.js +7 -34
  42. package/src/sap/fe/macros/ai/EasyFilterBar.tsx +6 -35
  43. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +31 -7
  44. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +33 -6
  45. package/src/sap/fe/macros/ai/SummarizationButton.js +6 -4
  46. package/src/sap/fe/macros/ai/SummarizationButton.tsx +5 -3
  47. package/src/sap/fe/macros/chart/Action.js +25 -2
  48. package/src/sap/fe/macros/chart/Action.ts +13 -0
  49. package/src/sap/fe/macros/chart/ActionGroup.js +25 -2
  50. package/src/sap/fe/macros/chart/ActionGroup.ts +13 -0
  51. package/src/sap/fe/macros/chart/ChartDelegate.js +29 -8
  52. package/src/sap/fe/macros/chart/ChartDelegate.ts +46 -14
  53. package/src/sap/fe/macros/chart/MdcChartTemplate.js +58 -12
  54. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +75 -13
  55. package/src/sap/fe/macros/chart/OverflowGroup.js +62 -0
  56. package/src/sap/fe/macros/chart/OverflowGroup.ts +22 -0
  57. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +7 -7
  58. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +3 -2
  59. package/src/sap/fe/macros/controls/FileWrapper.js +11 -5
  60. package/src/sap/fe/macros/controls/FileWrapper.ts +10 -4
  61. package/src/sap/fe/macros/controls/FilterBar.js +39 -3
  62. package/src/sap/fe/macros/controls/FilterBar.ts +42 -1
  63. package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.js +3 -1
  64. package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.tsx +2 -0
  65. package/src/sap/fe/macros/controls/RadioButtons.js +18 -5
  66. package/src/sap/fe/macros/controls/RadioButtons.tsx +10 -1
  67. package/src/sap/fe/macros/coreUI/CreateDialog.js +3 -3
  68. package/src/sap/fe/macros/coreUI/CreateDialog.tsx +2 -2
  69. package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +40 -12
  70. package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +48 -9
  71. package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +4 -2
  72. package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +3 -1
  73. package/src/sap/fe/macros/field/FieldFormatOptions.js +4 -4
  74. package/src/sap/fe/macros/field/FieldFormatOptions.ts +2 -2
  75. package/src/sap/fe/macros/field/FieldHelper.js +4 -3
  76. package/src/sap/fe/macros/field/FieldHelper.ts +7 -1
  77. package/src/sap/fe/macros/field/FieldRuntime.js +44 -9
  78. package/src/sap/fe/macros/field/FieldRuntime.ts +72 -8
  79. package/src/sap/fe/macros/field/FieldRuntimeHelper.js +3 -34
  80. package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +28 -53
  81. package/src/sap/fe/macros/field/FieldTemplating.js +5 -4
  82. package/src/sap/fe/macros/field/FieldTemplating.ts +6 -4
  83. package/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -4
  84. package/src/sap/fe/macros/filter/FilterFieldHelper.ts +7 -2
  85. package/src/sap/fe/macros/filter/FilterUtils.js +130 -40
  86. package/src/sap/fe/macros/filter/FilterUtils.ts +167 -45
  87. package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.js +2 -2
  88. package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.ts +1 -1
  89. package/src/sap/fe/macros/filterBar/FilterBar.block.js +4 -3
  90. package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +19 -8
  91. package/src/sap/fe/macros/filterBar/FilterBarAPI.js +15 -9
  92. package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +36 -17
  93. package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +21 -10
  94. package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +81 -63
  95. package/src/sap/fe/macros/filterBar/UOMValidationDelegate.js +376 -0
  96. package/src/sap/fe/macros/filterBar/UOMValidationDelegate.ts +463 -0
  97. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +4 -3
  98. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +3 -2
  99. package/src/sap/fe/macros/form/Form.block.js +27 -2
  100. package/src/sap/fe/macros/form/Form.block.ts +31 -11
  101. package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -3
  102. package/src/sap/fe/macros/form/FormContainer.block.js +110 -63
  103. package/src/sap/fe/macros/form/FormContainer.block.ts +121 -64
  104. package/src/sap/fe/macros/formatters/TableFormatter.js +13 -10
  105. package/src/sap/fe/macros/formatters/TableFormatter.ts +11 -9
  106. package/src/sap/fe/macros/formatters/VisualFilterFormatter.js +6 -4
  107. package/src/sap/fe/macros/formatters/VisualFilterFormatter.ts +5 -5
  108. package/src/sap/fe/macros/inlineEdit/InlineEdit.js +5 -5
  109. package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +4 -4
  110. package/src/sap/fe/macros/insights/InsightsService.js +3 -2
  111. package/src/sap/fe/macros/insights/InsightsService.ts +2 -1
  112. package/src/sap/fe/macros/internal/DataPoint.js +7 -8
  113. package/src/sap/fe/macros/internal/DataPoint.tsx +6 -9
  114. package/src/sap/fe/macros/internal/field/DisplayStyle.js +8 -6
  115. package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +7 -8
  116. package/src/sap/fe/macros/internal/field/EditStyle.js +9 -20
  117. package/src/sap/fe/macros/internal/field/EditStyle.tsx +17 -41
  118. package/src/sap/fe/macros/internal/field/FieldBlockStructure.js +2 -2
  119. package/src/sap/fe/macros/internal/field/FieldBlockStructure.tsx +1 -1
  120. package/src/sap/fe/macros/internal/field/FieldStructure.js +1 -2
  121. package/src/sap/fe/macros/internal/field/FieldStructure.tsx +0 -2
  122. package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +7 -7
  123. package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +17 -11
  124. package/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +6 -2
  125. package/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +5 -1
  126. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +9 -6
  127. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +7 -5
  128. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
  129. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +6 -6
  130. package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +5 -2
  131. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +2 -2
  132. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +2 -1
  133. package/src/sap/fe/macros/library.js +5 -6
  134. package/src/sap/fe/macros/{library.ts → library.tsx} +3 -1
  135. package/src/sap/fe/macros/mdc/adapter/StateHelper.js +15 -5
  136. package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +21 -5
  137. package/src/sap/fe/macros/messagebundle.properties +13 -5
  138. package/src/sap/fe/macros/messagebundle_ar.properties +12 -3
  139. package/src/sap/fe/macros/messagebundle_bg.properties +13 -4
  140. package/src/sap/fe/macros/messagebundle_ca.properties +12 -3
  141. package/src/sap/fe/macros/messagebundle_cnr.properties +12 -3
  142. package/src/sap/fe/macros/messagebundle_cs.properties +11 -2
  143. package/src/sap/fe/macros/messagebundle_cy.properties +12 -3
  144. package/src/sap/fe/macros/messagebundle_da.properties +12 -3
  145. package/src/sap/fe/macros/messagebundle_de.properties +16 -7
  146. package/src/sap/fe/macros/messagebundle_el.properties +13 -4
  147. package/src/sap/fe/macros/messagebundle_en.properties +13 -4
  148. package/src/sap/fe/macros/messagebundle_en_GB.properties +13 -4
  149. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +13 -4
  150. package/src/sap/fe/macros/messagebundle_es.properties +12 -3
  151. package/src/sap/fe/macros/messagebundle_es_MX.properties +12 -3
  152. package/src/sap/fe/macros/messagebundle_et.properties +12 -3
  153. package/src/sap/fe/macros/messagebundle_fi.properties +12 -3
  154. package/src/sap/fe/macros/messagebundle_fr.properties +12 -3
  155. package/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -3
  156. package/src/sap/fe/macros/messagebundle_hi.properties +12 -3
  157. package/src/sap/fe/macros/messagebundle_hr.properties +13 -4
  158. package/src/sap/fe/macros/messagebundle_hu.properties +12 -3
  159. package/src/sap/fe/macros/messagebundle_id.properties +18 -9
  160. package/src/sap/fe/macros/messagebundle_it.properties +12 -3
  161. package/src/sap/fe/macros/messagebundle_iw.properties +12 -3
  162. package/src/sap/fe/macros/messagebundle_ja.properties +12 -3
  163. package/src/sap/fe/macros/messagebundle_kk.properties +11 -2
  164. package/src/sap/fe/macros/messagebundle_ko.properties +13 -4
  165. package/src/sap/fe/macros/messagebundle_lt.properties +12 -3
  166. package/src/sap/fe/macros/messagebundle_lv.properties +12 -3
  167. package/src/sap/fe/macros/messagebundle_mk.properties +12 -3
  168. package/src/sap/fe/macros/messagebundle_ms.properties +12 -3
  169. package/src/sap/fe/macros/messagebundle_nl.properties +12 -3
  170. package/src/sap/fe/macros/messagebundle_no.properties +12 -3
  171. package/src/sap/fe/macros/messagebundle_pl.properties +12 -3
  172. package/src/sap/fe/macros/messagebundle_pt.properties +12 -3
  173. package/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -3
  174. package/src/sap/fe/macros/messagebundle_ro.properties +13 -4
  175. package/src/sap/fe/macros/messagebundle_ru.properties +12 -3
  176. package/src/sap/fe/macros/messagebundle_sh.properties +12 -3
  177. package/src/sap/fe/macros/messagebundle_sk.properties +12 -3
  178. package/src/sap/fe/macros/messagebundle_sl.properties +13 -4
  179. package/src/sap/fe/macros/messagebundle_sr.properties +12 -3
  180. package/src/sap/fe/macros/messagebundle_sv.properties +12 -3
  181. package/src/sap/fe/macros/messagebundle_th.properties +11 -2
  182. package/src/sap/fe/macros/messagebundle_tr.properties +12 -3
  183. package/src/sap/fe/macros/messagebundle_uk.properties +12 -3
  184. package/src/sap/fe/macros/messagebundle_vi.properties +13 -4
  185. package/src/sap/fe/macros/messagebundle_zh_CN.properties +12 -3
  186. package/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -3
  187. package/src/sap/fe/macros/messages/MessageButton.js +21 -12
  188. package/src/sap/fe/macros/messages/MessageButton.ts +21 -11
  189. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +7 -3
  190. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +8 -2
  191. package/src/sap/fe/macros/quickView/QuickView.js +5 -4
  192. package/src/sap/fe/macros/quickView/QuickView.tsx +10 -3
  193. package/src/sap/fe/macros/richtexteditor/ButtonGroup.js +2 -2
  194. package/src/sap/fe/macros/richtexteditor/ButtonGroup.ts +2 -2
  195. package/src/sap/fe/macros/table/Action.js +21 -5
  196. package/src/sap/fe/macros/table/Action.ts +14 -4
  197. package/src/sap/fe/macros/table/ActionGroup.js +15 -2
  198. package/src/sap/fe/macros/table/ActionGroup.ts +8 -0
  199. package/src/sap/fe/macros/table/ActionGroupOverride.js +14 -2
  200. package/src/sap/fe/macros/table/ActionGroupOverride.ts +7 -0
  201. package/src/sap/fe/macros/table/ActionOverride.js +14 -2
  202. package/src/sap/fe/macros/table/ActionOverride.ts +7 -0
  203. package/src/sap/fe/macros/table/ActionsTemplating.js +16 -2
  204. package/src/sap/fe/macros/table/ActionsTemplating.tsx +15 -0
  205. package/src/sap/fe/macros/table/Column.js +3 -2
  206. package/src/sap/fe/macros/table/Column.ts +1 -1
  207. package/src/sap/fe/macros/table/MdcTableTemplate.js +96 -18
  208. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +136 -17
  209. package/src/sap/fe/macros/table/OverflowGroups.js +59 -0
  210. package/src/sap/fe/macros/table/OverflowGroups.ts +27 -0
  211. package/src/sap/fe/macros/table/Table.block.js +74 -30
  212. package/src/sap/fe/macros/table/Table.block.tsx +77 -14
  213. package/src/sap/fe/macros/table/TableAPI.js +175 -132
  214. package/src/sap/fe/macros/table/TableAPI.ts +67 -30
  215. package/src/sap/fe/macros/table/TableDefinition.js +20 -3
  216. package/src/sap/fe/macros/table/TableDefinition.ts +18 -2
  217. package/src/sap/fe/macros/table/TableEventHandlerProvider.js +6 -3
  218. package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +12 -9
  219. package/src/sap/fe/macros/table/TableHelper.js +5 -2
  220. package/src/sap/fe/macros/table/TableHelper.ts +5 -2
  221. package/src/sap/fe/macros/table/TableRuntime.js +25 -13
  222. package/src/sap/fe/macros/table/TableRuntime.ts +31 -17
  223. package/src/sap/fe/macros/table/TableSizeHelper.js +4 -4
  224. package/src/sap/fe/macros/table/TableSizeHelper.ts +6 -11
  225. package/src/sap/fe/macros/table/Utils.js +9 -3
  226. package/src/sap/fe/macros/table/Utils.ts +14 -8
  227. package/src/sap/fe/macros/table/delegates/TableDelegate.js +72 -29
  228. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +114 -123
  229. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +41 -15
  230. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +41 -22
  231. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +15 -6
  232. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +14 -5
  233. package/src/sap/fe/macros/table/massEdit/MassEditField.js +1 -1
  234. package/src/sap/fe/macros/table/massEdit/MassEditField.tsx +3 -6
  235. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -3
  236. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +3 -2
  237. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +42 -14
  238. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +49 -19
  239. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +7 -9
  240. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +7 -8
  241. package/src/sap/fe/macros/table/mixin/TableExport.js +1 -1
  242. package/src/sap/fe/macros/table/mixin/TableExport.ts +3 -3
  243. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +3 -4
  244. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +2 -3
  245. package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.js +5 -4
  246. package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.ts +6 -3
  247. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +17 -10
  248. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +24 -9
  249. package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +4 -4
  250. package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.ts +3 -3
  251. package/src/sap/fe/macros/visualfilters/VisualFilter.js +20 -2
  252. package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +28 -6
  253. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -3
  254. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +4 -3
  255. package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.js +3 -3
  256. package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.tsx +10 -4
  257. package/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +1 -1
@@ -8,6 +8,7 @@ import type {
8
8
  } from "@sap-ux/vocabularies-types/vocabularies/UI";
9
9
  import { UIAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/UI";
10
10
  import Log from "sap/base/Log";
11
+ import merge from "sap/base/util/merge";
11
12
  import { type CompiledBindingToolkitExpression } from "sap/fe/base/BindingToolkit";
12
13
  import type { PropertiesOf } from "sap/fe/base/ClassSupport";
13
14
  import type AppComponent from "sap/fe/core/AppComponent";
@@ -27,6 +28,7 @@ import type {
27
28
  HorizontalAlign,
28
29
  Importance,
29
30
  ManifestAction,
31
+ OverflowGroupsConfiguration,
30
32
  TableManifestConfiguration
31
33
  } from "sap/fe/core/converters/ManifestSettings";
32
34
  import { CreationMode, VisualizationType } from "sap/fe/core/converters/ManifestSettings";
@@ -45,21 +47,24 @@ import { generate } from "sap/fe/core/helpers/StableIdHelper";
45
47
  import { isAnnotationOfTerm } from "sap/fe/core/helpers/TypeGuards";
46
48
  import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
47
49
  import { getContextRelativeTargetObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
50
+ import type CollectionBindingInfoAPI from "sap/fe/macros/CollectionBindingInfo";
48
51
  import MacroAPI from "sap/fe/macros/MacroAPI";
49
52
  import type Action from "sap/fe/macros/table/Action";
50
53
  import type ActionGroup from "sap/fe/macros/table/ActionGroup";
51
54
  import type Column from "sap/fe/macros/table/Column";
52
55
  import type { TableBlockProperties } from "sap/fe/macros/table/MdcTableTemplate";
53
56
  import { getMDCTableTemplate } from "sap/fe/macros/table/MdcTableTemplate";
57
+ import type OverflowGroup from "sap/fe/macros/table/OverflowGroups";
54
58
  import TableAPI from "sap/fe/macros/table/TableAPI";
55
59
  import TableCreationOptions from "sap/fe/macros/table/TableCreationOptions";
56
- import FlexItemData from "sap/m/FlexItemData";
57
60
  import type { OverflowToolbarPriority } from "sap/m/library";
61
+ import type UI5Event from "sap/ui/base/Event";
58
62
  import { type TitleLevel } from "sap/ui/core/library";
59
- import type { ExportSettings } from "sap/ui/mdc/Table";
63
+ import type { ExportSettings, Table$SelectionChangeEventParameters } from "sap/ui/mdc/Table";
64
+ import type { RowActionItem$PressEventParameters } from "sap/ui/mdc/table/RowActionItem";
60
65
  import type Context from "sap/ui/model/Context";
61
66
  import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
62
- import { createCustomData } from "../TSXUtils";
67
+ import type { EventHandler } from "types/extension_types";
63
68
  import type ActionGroupOverride from "./ActionGroupOverride";
64
69
  import type ActionOverride from "./ActionOverride";
65
70
  import type AnalyticalConfiguration from "./AnalyticalConfiguration";
@@ -80,6 +85,7 @@ type BlockColumnOverride = Partial<Omit<ColumnOverride, "exportSettings">> & {
80
85
  };
81
86
  type BlockMassEdit = Partial<Omit<MassEdit, "customContent">> & { customContent?: string; key: string };
82
87
  type BlockQuickVariantSelection = PropertiesOf<QuickVariantSelection> & { key: string };
88
+ type BlockOverflowGroup = PropertiesOf<OverflowGroup> & { key: string };
83
89
  type BlockAction = PropertiesOf<Omit<Action, "press">> & { _type: "Action"; press: string };
84
90
  type BlockActionGroup = PropertiesOf<Omit<ActionGroup, "actions">> & {
85
91
  _type: "ActionGroup";
@@ -101,6 +107,7 @@ type CommonCustomAction = {
101
107
  isAIOperation?: boolean;
102
108
  priority?: OverflowToolbarPriority;
103
109
  group?: number;
110
+ overflowGroup?: number;
104
111
  _type: "Action" | "ActionOverride";
105
112
  };
106
113
  function safeGetAttribute(node: Element, name: string): string | undefined {
@@ -189,6 +196,10 @@ function getCommonCustomActionProperties(actionNode: Element): CommonCustomActio
189
196
  action["group"] = Number.parseInt(safeGetAttribute(actionNode, "group") ?? "", 10);
190
197
  }
191
198
 
199
+ if (actionNode?.getAttribute("overflowGroup")) {
200
+ action["overflowGroup"] = Number.parseInt(safeGetAttribute(actionNode, "overflowGroup") ?? "", 10);
201
+ }
202
+
192
203
  return action;
193
204
  }
194
205
 
@@ -241,6 +252,14 @@ const setQuickVariantSelection = function (quickVariantSelection: Element): Bloc
241
252
  };
242
253
  };
243
254
 
255
+ const setCustomActionOverflowGroupProperties = function (overFlowGroup: Element): BlockOverflowGroup {
256
+ return {
257
+ key: overFlowGroup.getAttribute("key")!.replace("InlineXML_", ""),
258
+ overflowGroup: Number.parseInt(overFlowGroup.getAttribute("overflowGroup") as string, 10),
259
+ showSeparator: overFlowGroup.getAttribute("showSeparator") === "true"
260
+ };
261
+ };
262
+
244
263
  /**
245
264
  * Parses the common custom properties of the action groups from the XML node.
246
265
  * @param actionNode The action group node
@@ -919,6 +938,21 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
919
938
  })
920
939
  quickVariantSelection?: Record<string, BlockQuickVariantSelection>;
921
940
 
941
+ /**
942
+ * Aggregate overflowGroups of the table.
943
+ * @public
944
+ */
945
+ @blockAggregation({
946
+ type: "sap.fe.macros.table.OverflowGroup",
947
+ isPublic: true,
948
+ multiple: true,
949
+ hasVirtualNode: true,
950
+ skipKey: true,
951
+ reallySkipKey: true,
952
+ processAggregations: setCustomActionOverflowGroupProperties
953
+ })
954
+ actionOverflowGroups?: Record<string, OverflowGroup>;
955
+
922
956
  convertedMetadata: ConvertedMetadata;
923
957
 
924
958
  contextObjectPath: DataModelObjectPath<LineItem | PresentationVariant | SelectionPresentationVariant>;
@@ -934,16 +968,18 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
934
968
  * @public
935
969
  */
936
970
  @blockEvent()
937
- private readonly beforeRebindTable?: string;
971
+ private readonly beforeRebindTable?: EventHandler<
972
+ UI5Event<{ collectionBindingInfo: CollectionBindingInfoAPI; quickFilterKey?: string }, TableAPI>
973
+ >;
938
974
 
939
975
  /**
940
- * An event is triggered when the user chooses a row; the event contains information about which row is chosen.
976
+ * An event is triggered when the user chooses a row. The event contains information about which row is chosen.
941
977
  *
942
- * You can set this in order to handle the navigation manually.
978
+ * You can set this to handle the navigation manually.
943
979
  * @public
944
980
  */
945
981
  @blockEvent()
946
- rowPress?: string;
982
+ rowPress?: EventHandler<UI5Event<RowActionItem$PressEventParameters, TableAPI>>;
947
983
 
948
984
  /**
949
985
  * Event handler to react to the change event of the table's list binding.
@@ -967,7 +1003,9 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
967
1003
  * @public
968
1004
  */
969
1005
  @blockEvent()
970
- private readonly selectionChange?: string;
1006
+ private readonly selectionChange?: EventHandler<
1007
+ UI5Event<Table$SelectionChangeEventParameters & { selectedContext: Context[] }, TableAPI>
1008
+ >;
971
1009
 
972
1010
  @blockEvent()
973
1011
  variantSelected?: string;
@@ -1165,18 +1203,26 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
1165
1203
 
1166
1204
  const tableSettings = table.getTableSettings();
1167
1205
  const extraManifestSettings: TableManifestConfiguration = {
1206
+ overflowGroups: TableBlock.createActionOverflowGroups(table),
1168
1207
  actions: TableBlock.createActionsFromManifest(table),
1169
1208
  columns: TableBlock.createColumnsForManifest(table),
1170
1209
  tableSettings
1171
1210
  };
1172
1211
 
1173
- const extraParams: Record<string, unknown> = {};
1212
+ const extraParams: Record<string, TableManifestConfiguration> = {};
1174
1213
  extraParams[visualizationPath] = extraManifestSettings;
1175
1214
  const converterContext = table.getConverterContext(
1176
1215
  table.contextObjectPath,
1177
1216
  table.contextPath?.getPath(),
1178
1217
  templateProcessorSettings,
1179
- extraParams
1218
+ extraParams,
1219
+ (viewData: { controlConfiguration: Record<string, TableManifestConfiguration> }): void => {
1220
+ viewData.controlConfiguration[visualizationPath].columns = merge(
1221
+ {},
1222
+ viewData.controlConfiguration[visualizationPath].columns ?? {},
1223
+ extraParams[visualizationPath]?.columns ?? {}
1224
+ ) as Record<string, CustomDefinedTableColumn>;
1225
+ }
1180
1226
  );
1181
1227
 
1182
1228
  let associatedSelectionVariant: SelectionVariantType | undefined;
@@ -1229,7 +1275,8 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
1229
1275
  enabled: action.enabled,
1230
1276
  isAIOperation: action.isAIOperation,
1231
1277
  priority: action.priority,
1232
- group: action.group
1278
+ group: action.group,
1279
+ overflowGroup: action.overflowGroup
1233
1280
  };
1234
1281
  if (action._type === "Action") {
1235
1282
  actionsSettings[key] = {
@@ -1283,10 +1330,28 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
1283
1330
  return actionsSettings;
1284
1331
  }
1285
1332
 
1333
+ /**
1334
+ * Creates the manifest overflowGroups for the table.
1335
+ * @param table The table block
1336
+ * @returns The manifest overflowGroups for the table
1337
+ */
1338
+ static createActionOverflowGroups(table: TableBlock): OverflowGroupsConfiguration {
1339
+ const overflowGroupsSettings: OverflowGroupsConfiguration = {};
1340
+ if (table.actionOverflowGroups) {
1341
+ Object.values(table.actionOverflowGroups).forEach((overFlowGroup) => {
1342
+ overflowGroupsSettings[overFlowGroup.overflowGroup] = {
1343
+ showSeparator: overFlowGroup.showSeparator
1344
+ };
1345
+ });
1346
+ }
1347
+
1348
+ return overflowGroupsSettings;
1349
+ }
1350
+
1286
1351
  /**
1287
1352
  * Creates the manifest columns for the table.
1288
1353
  * @param table The table block
1289
- * @returns The manifest actions for the table
1354
+ * @returns The manifest columns for the table
1290
1355
  */
1291
1356
  static createColumnsForManifest(table: TableBlock): Record<string, CustomDefinedTableColumn | CustomDefinedTableColumnForOverride> {
1292
1357
  const isBlockColumn = (block: BlockColumn | BlockColumnOverride): block is BlockColumn => {
@@ -1450,9 +1515,7 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
1450
1515
  condensedTableLayout={this.condensedTableLayout}
1451
1516
  >
1452
1517
  {{
1453
- customData: createCustomData("tableAPILocalId", this._apiId),
1454
1518
  creationMode,
1455
- layoutData: <FlexItemData maxWidth="100%" />,
1456
1519
  content: getMDCTableTemplate(tableProps, {
1457
1520
  metaPath: this.metaPath,
1458
1521
  convertedMetadata: this.convertedMetadata,