@sapui5/sap.fe.macros 1.141.2 → 1.142.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 (239) 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 +48 -31
  8. package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +51 -26
  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/Field.js +34 -17
  14. package/src/sap/fe/macros/Field.ts +64 -32
  15. package/src/sap/fe/macros/FooterContent.js +7 -3
  16. package/src/sap/fe/macros/FooterContent.tsx +8 -13
  17. package/src/sap/fe/macros/KPITag.js +1 -1
  18. package/src/sap/fe/macros/KPITag.tsx +3 -1
  19. package/src/sap/fe/macros/MacroAPI.js +3 -2
  20. package/src/sap/fe/macros/MacroAPI.ts +2 -2
  21. package/src/sap/fe/macros/MessageButton.js +4 -3
  22. package/src/sap/fe/macros/MessageButton.tsx +7 -3
  23. package/src/sap/fe/macros/MicroChart.js +10 -6
  24. package/src/sap/fe/macros/MicroChart.tsx +8 -2
  25. package/src/sap/fe/macros/MultiValueField.js +22 -36
  26. package/src/sap/fe/macros/MultiValueField.tsx +34 -66
  27. package/src/sap/fe/macros/Page.js +8 -4
  28. package/src/sap/fe/macros/Page.tsx +13 -4
  29. package/src/sap/fe/macros/RichTextEditor.js +14 -17
  30. package/src/sap/fe/macros/RichTextEditor.tsx +12 -16
  31. package/src/sap/fe/macros/Status.js +35 -8
  32. package/src/sap/fe/macros/Status.tsx +23 -2
  33. package/src/sap/fe/macros/ValueHelp.js +5 -2
  34. package/src/sap/fe/macros/ValueHelp.tsx +5 -0
  35. package/src/sap/fe/macros/ai/EasyFillDialog.js +2 -1
  36. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +1 -0
  37. package/src/sap/fe/macros/ai/EasyFilterBar.js +7 -34
  38. package/src/sap/fe/macros/ai/EasyFilterBar.tsx +6 -35
  39. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +31 -7
  40. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +33 -6
  41. package/src/sap/fe/macros/ai/SummarizationButton.js +6 -4
  42. package/src/sap/fe/macros/ai/SummarizationButton.tsx +5 -3
  43. package/src/sap/fe/macros/chart/Action.js +37 -2
  44. package/src/sap/fe/macros/chart/Action.ts +21 -0
  45. package/src/sap/fe/macros/chart/ActionGroup.js +25 -2
  46. package/src/sap/fe/macros/chart/ActionGroup.ts +13 -0
  47. package/src/sap/fe/macros/chart/ChartDelegate.js +19 -8
  48. package/src/sap/fe/macros/chart/ChartDelegate.ts +36 -12
  49. package/src/sap/fe/macros/chart/MdcChartTemplate.js +59 -14
  50. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +81 -31
  51. package/src/sap/fe/macros/chart/OverflowGroup.js +62 -0
  52. package/src/sap/fe/macros/chart/OverflowGroup.ts +22 -0
  53. package/src/sap/fe/macros/controls/FilterBar.js +39 -3
  54. package/src/sap/fe/macros/controls/FilterBar.ts +50 -2
  55. package/src/sap/fe/macros/controls/RadioButtons.js +18 -5
  56. package/src/sap/fe/macros/controls/RadioButtons.tsx +10 -1
  57. package/src/sap/fe/macros/controls/TextLink.js +15 -1
  58. package/src/sap/fe/macros/controls/TextLink.tsx +19 -0
  59. package/src/sap/fe/macros/coreUI/CreateDialog.js +2 -2
  60. package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
  61. package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +46 -13
  62. package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +51 -10
  63. package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +4 -2
  64. package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +3 -1
  65. package/src/sap/fe/macros/field/FieldFormatOptions.js +3 -3
  66. package/src/sap/fe/macros/field/FieldFormatOptions.ts +1 -1
  67. package/src/sap/fe/macros/field/FieldHelper.js +4 -3
  68. package/src/sap/fe/macros/field/FieldHelper.ts +7 -1
  69. package/src/sap/fe/macros/field/FieldRuntime.js +38 -8
  70. package/src/sap/fe/macros/field/FieldRuntime.ts +65 -7
  71. package/src/sap/fe/macros/field/FieldRuntimeHelper.js +6 -35
  72. package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +35 -60
  73. package/src/sap/fe/macros/field/FieldTemplating.js +10 -4
  74. package/src/sap/fe/macros/field/FieldTemplating.ts +12 -5
  75. package/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -4
  76. package/src/sap/fe/macros/filter/FilterFieldHelper.ts +7 -2
  77. package/src/sap/fe/macros/filter/FilterUtils.js +100 -36
  78. package/src/sap/fe/macros/filter/FilterUtils.ts +127 -39
  79. package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.js +2 -2
  80. package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.ts +1 -1
  81. package/src/sap/fe/macros/filterBar/FilterBar.block.js +13 -3
  82. package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +29 -8
  83. package/src/sap/fe/macros/filterBar/FilterBarAPI.js +10 -7
  84. package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +31 -16
  85. package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +4 -3
  86. package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +5 -2
  87. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +4 -3
  88. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +3 -2
  89. package/src/sap/fe/macros/form/Form.block.js +27 -2
  90. package/src/sap/fe/macros/form/Form.block.ts +31 -11
  91. package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -3
  92. package/src/sap/fe/macros/form/FormContainer.block.js +104 -72
  93. package/src/sap/fe/macros/form/FormContainer.block.ts +114 -72
  94. package/src/sap/fe/macros/formatters/TableFormatter.js +13 -10
  95. package/src/sap/fe/macros/formatters/TableFormatter.ts +11 -9
  96. package/src/sap/fe/macros/formatters/VisualFilterFormatter.js +6 -4
  97. package/src/sap/fe/macros/formatters/VisualFilterFormatter.ts +5 -5
  98. package/src/sap/fe/macros/inlineEdit/InlineEdit.js +5 -5
  99. package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +4 -4
  100. package/src/sap/fe/macros/insights/InsightsService.js +3 -2
  101. package/src/sap/fe/macros/insights/InsightsService.ts +2 -1
  102. package/src/sap/fe/macros/internal/DataPoint.js +7 -8
  103. package/src/sap/fe/macros/internal/DataPoint.tsx +6 -9
  104. package/src/sap/fe/macros/internal/field/DisplayStyle.js +8 -6
  105. package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +7 -8
  106. package/src/sap/fe/macros/internal/field/EditStyle.js +18 -24
  107. package/src/sap/fe/macros/internal/field/EditStyle.tsx +24 -44
  108. package/src/sap/fe/macros/internal/field/FieldBlockStructure.js +2 -2
  109. package/src/sap/fe/macros/internal/field/FieldBlockStructure.tsx +1 -1
  110. package/src/sap/fe/macros/internal/field/FieldStructure.js +1 -2
  111. package/src/sap/fe/macros/internal/field/FieldStructure.tsx +0 -2
  112. package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +7 -7
  113. package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +17 -11
  114. package/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +6 -2
  115. package/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +5 -1
  116. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +44 -12
  117. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +42 -11
  118. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.js +54 -1
  119. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.ts +59 -0
  120. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
  121. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +6 -6
  122. package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +5 -2
  123. package/src/sap/fe/macros/library.js +5 -6
  124. package/src/sap/fe/macros/{library.ts → library.tsx} +3 -1
  125. package/src/sap/fe/macros/mdc/adapter/StateHelper.js +15 -5
  126. package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +21 -5
  127. package/src/sap/fe/macros/messagebundle.properties +13 -5
  128. package/src/sap/fe/macros/messagebundle_ar.properties +12 -3
  129. package/src/sap/fe/macros/messagebundle_bg.properties +13 -4
  130. package/src/sap/fe/macros/messagebundle_ca.properties +12 -3
  131. package/src/sap/fe/macros/messagebundle_cnr.properties +12 -3
  132. package/src/sap/fe/macros/messagebundle_cs.properties +11 -2
  133. package/src/sap/fe/macros/messagebundle_cy.properties +12 -3
  134. package/src/sap/fe/macros/messagebundle_da.properties +12 -3
  135. package/src/sap/fe/macros/messagebundle_de.properties +16 -7
  136. package/src/sap/fe/macros/messagebundle_el.properties +13 -4
  137. package/src/sap/fe/macros/messagebundle_en.properties +13 -4
  138. package/src/sap/fe/macros/messagebundle_en_GB.properties +13 -4
  139. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +12 -3
  140. package/src/sap/fe/macros/messagebundle_es.properties +12 -3
  141. package/src/sap/fe/macros/messagebundle_es_MX.properties +12 -3
  142. package/src/sap/fe/macros/messagebundle_et.properties +12 -3
  143. package/src/sap/fe/macros/messagebundle_fi.properties +12 -3
  144. package/src/sap/fe/macros/messagebundle_fr.properties +12 -3
  145. package/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -3
  146. package/src/sap/fe/macros/messagebundle_hi.properties +12 -3
  147. package/src/sap/fe/macros/messagebundle_hr.properties +13 -4
  148. package/src/sap/fe/macros/messagebundle_hu.properties +12 -3
  149. package/src/sap/fe/macros/messagebundle_id.properties +18 -9
  150. package/src/sap/fe/macros/messagebundle_it.properties +12 -3
  151. package/src/sap/fe/macros/messagebundle_iw.properties +12 -3
  152. package/src/sap/fe/macros/messagebundle_ja.properties +12 -3
  153. package/src/sap/fe/macros/messagebundle_kk.properties +11 -2
  154. package/src/sap/fe/macros/messagebundle_ko.properties +13 -4
  155. package/src/sap/fe/macros/messagebundle_lt.properties +12 -3
  156. package/src/sap/fe/macros/messagebundle_lv.properties +12 -3
  157. package/src/sap/fe/macros/messagebundle_mk.properties +12 -3
  158. package/src/sap/fe/macros/messagebundle_ms.properties +12 -3
  159. package/src/sap/fe/macros/messagebundle_nl.properties +12 -3
  160. package/src/sap/fe/macros/messagebundle_no.properties +12 -3
  161. package/src/sap/fe/macros/messagebundle_pl.properties +12 -3
  162. package/src/sap/fe/macros/messagebundle_pt.properties +12 -3
  163. package/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -3
  164. package/src/sap/fe/macros/messagebundle_ro.properties +13 -4
  165. package/src/sap/fe/macros/messagebundle_ru.properties +12 -3
  166. package/src/sap/fe/macros/messagebundle_sh.properties +12 -3
  167. package/src/sap/fe/macros/messagebundle_sk.properties +12 -3
  168. package/src/sap/fe/macros/messagebundle_sl.properties +13 -4
  169. package/src/sap/fe/macros/messagebundle_sr.properties +12 -3
  170. package/src/sap/fe/macros/messagebundle_sv.properties +12 -3
  171. package/src/sap/fe/macros/messagebundle_th.properties +11 -2
  172. package/src/sap/fe/macros/messagebundle_tr.properties +12 -3
  173. package/src/sap/fe/macros/messagebundle_uk.properties +12 -3
  174. package/src/sap/fe/macros/messagebundle_vi.properties +13 -4
  175. package/src/sap/fe/macros/messagebundle_zh_CN.properties +12 -3
  176. package/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -3
  177. package/src/sap/fe/macros/messages/MessageButton.js +21 -12
  178. package/src/sap/fe/macros/messages/MessageButton.ts +21 -11
  179. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +4 -3
  180. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +5 -2
  181. package/src/sap/fe/macros/quickView/QuickView.js +5 -4
  182. package/src/sap/fe/macros/quickView/QuickView.tsx +10 -3
  183. package/src/sap/fe/macros/richtexteditor/ButtonGroup.js +2 -2
  184. package/src/sap/fe/macros/richtexteditor/ButtonGroup.ts +2 -2
  185. package/src/sap/fe/macros/table/Action.js +15 -2
  186. package/src/sap/fe/macros/table/Action.ts +11 -1
  187. package/src/sap/fe/macros/table/ActionGroup.js +15 -2
  188. package/src/sap/fe/macros/table/ActionGroup.ts +8 -0
  189. package/src/sap/fe/macros/table/ActionGroupOverride.js +14 -2
  190. package/src/sap/fe/macros/table/ActionGroupOverride.ts +7 -0
  191. package/src/sap/fe/macros/table/ActionOverride.js +14 -2
  192. package/src/sap/fe/macros/table/ActionOverride.ts +7 -0
  193. package/src/sap/fe/macros/table/ActionsTemplating.js +21 -6
  194. package/src/sap/fe/macros/table/ActionsTemplating.tsx +19 -4
  195. package/src/sap/fe/macros/table/MdcTableTemplate.js +113 -15
  196. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +162 -14
  197. package/src/sap/fe/macros/table/OverflowGroups.js +59 -0
  198. package/src/sap/fe/macros/table/OverflowGroups.ts +27 -0
  199. package/src/sap/fe/macros/table/Table.block.js +72 -29
  200. package/src/sap/fe/macros/table/Table.block.tsx +71 -15
  201. package/src/sap/fe/macros/table/TableAPI.js +213 -154
  202. package/src/sap/fe/macros/table/TableAPI.ts +116 -60
  203. package/src/sap/fe/macros/table/TableDefinition.js +19 -2
  204. package/src/sap/fe/macros/table/TableDefinition.ts +17 -1
  205. package/src/sap/fe/macros/table/TableEventHandlerProvider.js +8 -5
  206. package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +14 -12
  207. package/src/sap/fe/macros/table/TableHelper.js +5 -2
  208. package/src/sap/fe/macros/table/TableHelper.ts +5 -2
  209. package/src/sap/fe/macros/table/TableRuntime.js +2 -2
  210. package/src/sap/fe/macros/table/TableRuntime.ts +4 -6
  211. package/src/sap/fe/macros/table/TableSizeHelper.js +4 -4
  212. package/src/sap/fe/macros/table/TableSizeHelper.ts +6 -11
  213. package/src/sap/fe/macros/table/delegates/TableDelegate.js +69 -28
  214. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +111 -122
  215. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +41 -15
  216. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +41 -22
  217. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +2 -2
  218. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +1 -1
  219. package/src/sap/fe/macros/table/massEdit/MassEditField.js +1 -1
  220. package/src/sap/fe/macros/table/massEdit/MassEditField.tsx +3 -6
  221. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +6 -5
  222. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +10 -4
  223. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +7 -9
  224. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +7 -8
  225. package/src/sap/fe/macros/table/mixin/TableExport.js +1 -1
  226. package/src/sap/fe/macros/table/mixin/TableExport.ts +3 -3
  227. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +6 -6
  228. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +5 -5
  229. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +5 -3
  230. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +7 -4
  231. package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +4 -4
  232. package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.ts +3 -3
  233. package/src/sap/fe/macros/visualfilters/VisualFilter.js +20 -2
  234. package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +28 -6
  235. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -3
  236. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +4 -3
  237. package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.js +3 -3
  238. package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.tsx +10 -4
  239. package/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +1 -1
@@ -27,6 +27,7 @@ import type {
27
27
  HorizontalAlign,
28
28
  Importance,
29
29
  ManifestAction,
30
+ OverflowGroupsConfiguration,
30
31
  TableManifestConfiguration
31
32
  } from "sap/fe/core/converters/ManifestSettings";
32
33
  import { CreationMode, VisualizationType } from "sap/fe/core/converters/ManifestSettings";
@@ -45,21 +46,24 @@ import { generate } from "sap/fe/core/helpers/StableIdHelper";
45
46
  import { isAnnotationOfTerm } from "sap/fe/core/helpers/TypeGuards";
46
47
  import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
47
48
  import { getContextRelativeTargetObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
49
+ import type CollectionBindingInfoAPI from "sap/fe/macros/CollectionBindingInfo";
48
50
  import MacroAPI from "sap/fe/macros/MacroAPI";
49
51
  import type Action from "sap/fe/macros/table/Action";
50
52
  import type ActionGroup from "sap/fe/macros/table/ActionGroup";
51
53
  import type Column from "sap/fe/macros/table/Column";
52
54
  import type { TableBlockProperties } from "sap/fe/macros/table/MdcTableTemplate";
53
55
  import { getMDCTableTemplate } from "sap/fe/macros/table/MdcTableTemplate";
56
+ import type OverflowGroup from "sap/fe/macros/table/OverflowGroups";
54
57
  import TableAPI from "sap/fe/macros/table/TableAPI";
55
58
  import TableCreationOptions from "sap/fe/macros/table/TableCreationOptions";
56
- import FlexItemData from "sap/m/FlexItemData";
57
59
  import type { OverflowToolbarPriority } from "sap/m/library";
60
+ import type UI5Event from "sap/ui/base/Event";
58
61
  import { type TitleLevel } from "sap/ui/core/library";
59
- import type { ExportSettings } from "sap/ui/mdc/Table";
62
+ import type { ExportSettings, Table$SelectionChangeEventParameters } from "sap/ui/mdc/Table";
63
+ import type { RowActionItem$PressEventParameters } from "sap/ui/mdc/table/RowActionItem";
60
64
  import type Context from "sap/ui/model/Context";
61
65
  import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
62
- import { createCustomData } from "../TSXUtils";
66
+ import type { EventHandler } from "types/extension_types";
63
67
  import type ActionGroupOverride from "./ActionGroupOverride";
64
68
  import type ActionOverride from "./ActionOverride";
65
69
  import type AnalyticalConfiguration from "./AnalyticalConfiguration";
@@ -80,6 +84,7 @@ type BlockColumnOverride = Partial<Omit<ColumnOverride, "exportSettings">> & {
80
84
  };
81
85
  type BlockMassEdit = Partial<Omit<MassEdit, "customContent">> & { customContent?: string; key: string };
82
86
  type BlockQuickVariantSelection = PropertiesOf<QuickVariantSelection> & { key: string };
87
+ type BlockOverflowGroup = PropertiesOf<OverflowGroup> & { key: string };
83
88
  type BlockAction = PropertiesOf<Omit<Action, "press">> & { _type: "Action"; press: string };
84
89
  type BlockActionGroup = PropertiesOf<Omit<ActionGroup, "actions">> & {
85
90
  _type: "ActionGroup";
@@ -92,8 +97,8 @@ type BlockActionGroupOverride = PropertiesOf<Omit<ActionGroupOverride, "actions"
92
97
  };
93
98
  type CommonCustomAction = {
94
99
  key: string;
95
- enabled: boolean;
96
- visible: boolean;
100
+ enabled: boolean | undefined;
101
+ visible: boolean | undefined;
97
102
  command: string | undefined;
98
103
  enableOnSelect: "single" | "multi" | undefined;
99
104
  placement: "Before" | "After" | undefined;
@@ -101,6 +106,7 @@ type CommonCustomAction = {
101
106
  isAIOperation?: boolean;
102
107
  priority?: OverflowToolbarPriority;
103
108
  group?: number;
109
+ overflowGroup?: number;
104
110
  _type: "Action" | "ActionOverride";
105
111
  };
106
112
  function safeGetAttribute(node: Element, name: string): string | undefined {
@@ -113,10 +119,11 @@ function safeGetAttribute(node: Element, name: string): string | undefined {
113
119
  * @param name The name of the attribute
114
120
  * @returns The Boolean value of the attribute
115
121
  */
116
- function getDynamicBooleanValueOfAttribute(node: Element, name: string): boolean {
122
+ function getDynamicBooleanValueOfAttribute(node: Element, name: string): boolean | undefined {
117
123
  const enablementAttr = node.getAttribute(name);
118
124
  switch (enablementAttr) {
119
125
  case null:
126
+ return undefined;
120
127
  case "true":
121
128
  return true;
122
129
  case "false":
@@ -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,6 +1203,7 @@ 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
@@ -1229,7 +1268,8 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
1229
1268
  enabled: action.enabled,
1230
1269
  isAIOperation: action.isAIOperation,
1231
1270
  priority: action.priority,
1232
- group: action.group
1271
+ group: action.group,
1272
+ overflowGroup: action.overflowGroup
1233
1273
  };
1234
1274
  if (action._type === "Action") {
1235
1275
  actionsSettings[key] = {
@@ -1283,10 +1323,28 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
1283
1323
  return actionsSettings;
1284
1324
  }
1285
1325
 
1326
+ /**
1327
+ * Creates the manifest overflowGroups for the table.
1328
+ * @param table The table block
1329
+ * @returns The manifest overflowGroups for the table
1330
+ */
1331
+ static createActionOverflowGroups(table: TableBlock): OverflowGroupsConfiguration {
1332
+ const overflowGroupsSettings: OverflowGroupsConfiguration = {};
1333
+ if (table.actionOverflowGroups) {
1334
+ Object.values(table.actionOverflowGroups).forEach((overFlowGroup) => {
1335
+ overflowGroupsSettings[overFlowGroup.overflowGroup] = {
1336
+ showSeparator: overFlowGroup.showSeparator
1337
+ };
1338
+ });
1339
+ }
1340
+
1341
+ return overflowGroupsSettings;
1342
+ }
1343
+
1286
1344
  /**
1287
1345
  * Creates the manifest columns for the table.
1288
1346
  * @param table The table block
1289
- * @returns The manifest actions for the table
1347
+ * @returns The manifest columns for the table
1290
1348
  */
1291
1349
  static createColumnsForManifest(table: TableBlock): Record<string, CustomDefinedTableColumn | CustomDefinedTableColumnForOverride> {
1292
1350
  const isBlockColumn = (block: BlockColumn | BlockColumnOverride): block is BlockColumn => {
@@ -1450,9 +1508,7 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
1450
1508
  condensedTableLayout={this.condensedTableLayout}
1451
1509
  >
1452
1510
  {{
1453
- customData: createCustomData("tableAPILocalId", this._apiId),
1454
1511
  creationMode,
1455
- layoutData: <FlexItemData maxWidth="100%" />,
1456
1512
  content: getMDCTableTemplate(tableProps, {
1457
1513
  metaPath: this.metaPath,
1458
1514
  convertedMetadata: this.convertedMetadata,