@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
@@ -1,9 +1,11 @@
1
1
  import type { ConvertedMetadata, EntitySet, NavigationProperty } from "@sap-ux/vocabularies-types";
2
2
  import type {
3
3
  Chart,
4
+ ConnectedFields,
4
5
  DataField,
5
6
  DataFieldForAction,
6
7
  DataFieldForAnnotation,
8
+ DataFieldTypes,
7
9
  DataPoint,
8
10
  FieldGroup,
9
11
  LineItem,
@@ -47,7 +49,8 @@ import type {
47
49
  CustomBasedTableColumn
48
50
  } from "sap/fe/core/converters/controls/Common/table/Columns";
49
51
  import { StandardActionKeys, type StandardAction } from "sap/fe/core/converters/controls/Common/table/StandardActions";
50
- import { UI, singletonPathVisitor } from "sap/fe/core/helpers/BindingHelper";
52
+ import { getConnectedFieldsData } from "sap/fe/core/converters/helpers/DataFieldHelper";
53
+ import { Entity, UI, singletonPathVisitor } from "sap/fe/core/helpers/BindingHelper";
51
54
  import ModelHelper from "sap/fe/core/helpers/ModelHelper";
52
55
  import { generate } from "sap/fe/core/helpers/StableIdHelper";
53
56
  import { isAnnotationOfTerm, isAnnotationOfType, isSingleton } from "sap/fe/core/helpers/TypeGuards";
@@ -80,6 +83,7 @@ import MenuItem from "sap/m/MenuItem";
80
83
  import ObjectStatus from "sap/m/ObjectStatus";
81
84
  import SegmentedButton from "sap/m/SegmentedButton";
82
85
  import SegmentedButtonItem from "sap/m/SegmentedButtonItem";
86
+ import Text from "sap/m/Text";
83
87
  import VBox from "sap/m/VBox";
84
88
  import { ObjectMarkerVisibility } from "sap/m/library";
85
89
  import CellSelector from "sap/m/plugins/CellSelector";
@@ -87,6 +91,7 @@ import ContextMenuSetting from "sap/m/plugins/ContextMenuSetting";
87
91
  import CopyProvider from "sap/m/plugins/CopyProvider";
88
92
  import DataStateIndicator from "sap/m/plugins/DataStateIndicator";
89
93
  import type Control from "sap/ui/core/Control";
94
+ import type CustomData from "sap/ui/core/CustomData";
90
95
  import type UI5Element from "sap/ui/core/Element";
91
96
  import Library from "sap/ui/core/Lib";
92
97
  import type { TitleLevel } from "sap/ui/core/library";
@@ -180,6 +185,7 @@ function getDataStateIndicator(handlerProvider: TableEventHandlerProvider): Data
180
185
  return (
181
186
  <DataStateIndicator
182
187
  filter={handlerProvider.dataStateIndicatorFilter}
188
+ enabled={compileExpression(not(equal(pathInModel("enableTableDataStateIndicator", "pageInternal"), false)))}
183
189
  enableFiltering={true}
184
190
  dataStateChange={handlerProvider.dataStateChange}
185
191
  />
@@ -848,7 +854,6 @@ function getActionCommand(
848
854
  onExecuteAction: parameters.handlerProvider.getDataFieldForActionButtonPressHandler(
849
855
  dataField as DataFieldForAction,
850
856
  action,
851
- undefined,
852
857
  forContextMenu
853
858
  ),
854
859
  onExecuteIBN: parameters.handlerProvider.getDataFieldForIBNPressHandler(action, false),
@@ -921,6 +926,7 @@ export function getComputedColumn(
921
926
  <DraftIndicator
922
927
  draftIndicatorType={ObjectMarkerVisibility.IconOnly}
923
928
  contextPath={collection.getPath()}
929
+ visible={or(not(Entity.IsActive), Entity.HasDraft)}
924
930
  usedInTable={true}
925
931
  usedInAnalyticalTable={enableAnalytics}
926
932
  />
@@ -1133,6 +1139,7 @@ function getCreationTemplate(
1133
1139
  * @param tableDefinition The table definition
1134
1140
  * @param column The column definition
1135
1141
  * @param dataFieldContext The data field context
1142
+ * @param dataFieldObjectPath The data field object path
1136
1143
  * @param collection The collection context
1137
1144
  * @param enableAnalytics Whether analytics are enabled
1138
1145
  * @param tableType The type of the table
@@ -1145,6 +1152,7 @@ function getCreationTemplate(
1145
1152
  * @param showEmptyIndicator Whether to show the empty indicator
1146
1153
  * @param className
1147
1154
  * @param handlerProvider The handler provider
1155
+ * @param isConnectedField Indicates if the field is a connected field
1148
1156
  * @returns The XML string representing the field.
1149
1157
  */
1150
1158
  export function getMacroFieldTemplate(
@@ -1152,6 +1160,7 @@ export function getMacroFieldTemplate(
1152
1160
  tableDefinition: TableVisualization,
1153
1161
  column: AnnotationTableColumn,
1154
1162
  dataFieldContext: Context,
1163
+ dataFieldObjectPath: DataModelObjectPath<DataFieldAbstractTypes>,
1155
1164
  collection: Context,
1156
1165
  enableAnalytics: boolean | undefined,
1157
1166
  tableType: TableType,
@@ -1163,7 +1172,8 @@ export function getMacroFieldTemplate(
1163
1172
  ariaLabelledBy: string | undefined,
1164
1173
  showEmptyIndicator: boolean | undefined,
1165
1174
  className: string | undefined,
1166
- handlerProvider: TableEventHandlerProvider
1175
+ handlerProvider: TableEventHandlerProvider,
1176
+ isConnectedField = false
1167
1177
  ): string {
1168
1178
  const dataFieldObject = dataFieldContext.getObject();
1169
1179
  let columnEditMode: string | undefined;
@@ -1200,28 +1210,43 @@ export function getMacroFieldTemplate(
1200
1210
  ignoreNavigationAvailable: enableAnalytics ?? false,
1201
1211
  isAnalytics: enableAnalytics,
1202
1212
  forInlineCreationRows: creationMode?.name === "InlineCreationRows",
1203
- isCurrencyOrUnitAligned: true,
1213
+ isCurrencyOrUnitAligned: isConnectedField ? false : true,
1204
1214
  compactSemanticKey: isCompactType === undefined ? undefined : `${isCompactType}`,
1205
1215
  dateTimeStyle: getDefaultDateTimeStyle(dataFieldContext),
1206
1216
  isAnalyticalAggregatedRow: tableDefinition.control.analyticalConfiguration?.aggregationOnLeafLevel,
1207
1217
  reactiveAreaMode: reactiveAreaMode
1208
1218
  };
1219
+ let customData: CustomData | undefined;
1220
+
1221
+ // In case we display a property with TextOnly text arragement in a non-analytical table, we still load the original property (using custom data)
1222
+ // to make sure intent-based navigation can use the value of the original property an not just its text representation.
1223
+ // For analytical tables, this is done by adding the original property as a context-defining property for the text property in the table converter (getExtensionInfoFromEntityType)
1224
+ if (
1225
+ tableDefinition.enableAnalytics !== true &&
1226
+ (
1227
+ dataFieldObjectPath.targetObject as DataFieldTypes | undefined
1228
+ )?.Value?.$target?.annotations?.Common?.Text?.annotations?.UI?.TextArrangement?.valueOf() === "UI.TextArrangementType/TextOnly"
1229
+ ) {
1230
+ customData = createCustomData("extraProperty", `{${(dataFieldObjectPath.targetObject as DataFieldTypes).Value.path}}`);
1231
+ }
1209
1232
  return (
1210
1233
  <Field
1211
1234
  vhIdPrefix={generate([tableId, "TableValueHelp"])}
1212
1235
  editMode={columnEditMode}
1213
1236
  contextPath={collection.getPath()}
1214
1237
  metaPath={dataFieldContext.getPath()}
1215
- textAlign={textAlign}
1238
+ textAlign={isConnectedField ? "Left" : textAlign}
1216
1239
  wrap={tableType === "ResponsiveTable"}
1217
1240
  class={className}
1218
1241
  liveChange={handlerProvider.fieldLiveChange}
1219
- ariaLabelledBy={ariaLabelledBy ? [ariaLabelledBy] : undefined}
1242
+ ariaLabelledBy={ariaLabelledBy ? ariaLabelledBy.split(" ") : undefined}
1220
1243
  navigateAfterAction={column.isNavigable}
1221
1244
  showErrorObjectStatus={column.formatOptions?.showErrorObjectStatus as unknown as boolean}
1245
+ disableStrictHandling={column.disableStrictHandling}
1222
1246
  >
1223
1247
  {{
1224
- formatOptions: <FieldFormatOptions {...formatOptions} />
1248
+ formatOptions: <FieldFormatOptions {...formatOptions} />,
1249
+ customData
1225
1250
  }}
1226
1251
  </Field>
1227
1252
  );
@@ -1323,9 +1348,9 @@ function getColumnContentTemplate(
1323
1348
  const dataFieldCollectionContext = dataFieldContext
1324
1349
  .getModel()
1325
1350
  .createBindingContext(dataFieldContext.getPath() + "/Target/$AnnotationPath/Data");
1326
- const fieldGroupColectionLength = fieldGroup.Data.length - 1;
1351
+ const fieldGroupCollectionLength = fieldGroup.Data.length - 1;
1327
1352
 
1328
- const items = fieldGroup.Data.map((fieldGroupDataField: DataFieldAbstractTypes, fieldGroupDataFieldIdx: number) => {
1353
+ const items = fieldGroup.Data.map((_fieldGroupDataField: DataFieldAbstractTypes, fieldGroupDataFieldIdx: number) => {
1329
1354
  const fieldGroupDataFieldContext = dataFieldCollectionContext
1330
1355
  .getModel()
1331
1356
  .createBindingContext(dataFieldCollectionContext.getPath() + "/" + fieldGroupDataFieldIdx);
@@ -1356,6 +1381,7 @@ function getColumnContentTemplate(
1356
1381
  tableDefinition,
1357
1382
  column,
1358
1383
  fieldGroupDataFieldContext,
1384
+ fieldGroupDataFieldOP,
1359
1385
  collection,
1360
1386
  enableAnalytics,
1361
1387
  tableType,
@@ -1371,7 +1397,7 @@ function getColumnContentTemplate(
1371
1397
  true,
1372
1398
  TableHelper.getMarginClass(
1373
1399
  fieldGroupDataFieldContext.getObject("Target/$AnnotationPath/Visualization/$EnumMember"),
1374
- fieldGroupDataFieldIdx === fieldGroupColectionLength
1400
+ fieldGroupDataFieldIdx === fieldGroupCollectionLength
1375
1401
  ),
1376
1402
  handlerProvider
1377
1403
  )
@@ -1385,6 +1411,7 @@ function getColumnContentTemplate(
1385
1411
  tableDefinition,
1386
1412
  column,
1387
1413
  fieldGroupDataFieldContext,
1414
+ fieldGroupDataFieldOP,
1388
1415
  collection,
1389
1416
  enableAnalytics,
1390
1417
  tableType,
@@ -1397,7 +1424,7 @@ function getColumnContentTemplate(
1397
1424
  false,
1398
1425
  TableHelper.getMarginClass(
1399
1426
  fieldGroupDataFieldContext.getObject("Target/$AnnotationPath/Visualization/$EnumMember"),
1400
- fieldGroupDataFieldIdx === fieldGroupColectionLength
1427
+ fieldGroupDataFieldIdx === fieldGroupCollectionLength
1401
1428
  ),
1402
1429
  handlerProvider
1403
1430
  );
@@ -1417,7 +1444,7 @@ function getColumnContentTemplate(
1417
1444
  <VBox
1418
1445
  visible={TableHelper.getVBoxVisibility(
1419
1446
  dataFieldCollectionContext.getObject(),
1420
- column.FieldGroupHiddenExpressions,
1447
+ column.collectionFieldsHiddenExpression,
1421
1448
  dataFieldContext.getObject()
1422
1449
  )}
1423
1450
  >
@@ -1426,12 +1453,124 @@ function getColumnContentTemplate(
1426
1453
  }}
1427
1454
  </VBox>
1428
1455
  );
1456
+ } else if (
1457
+ isAnnotationOfType<DataFieldForAnnotation>(dataField, UIAnnotationTypes.DataFieldForAnnotation) &&
1458
+ isAnnotationOfTerm<ConnectedFields>(dataField.Target.$target, UIAnnotationTerms.ConnectedFields)
1459
+ ) {
1460
+ const connectedFields: ConnectedFields = dataField.Target.$target;
1461
+ const connectedFieldsContext = dataFieldContext
1462
+ .getModel()
1463
+ .createBindingContext(dataFieldContext.getPath() + "/Target/$AnnotationPath/Data");
1464
+ const fieldsDelimiter = CommonHelper.getDelimiter(connectedFields.Template as string);
1465
+ const connectedFieldsData = getConnectedFieldsData(connectedFields);
1466
+ const items = connectedFieldsData.map((connectedFieldsElement: DataFieldAbstractTypes, connectedFieldsElementIdx: number) => {
1467
+ const connectedFieldsElementContext = dataFieldContext
1468
+ .getModel()
1469
+ .createBindingContext(`${connectedFieldsContext.getPath()}/${(connectedFieldsElement as DataField)?.Value?.path}`);
1470
+ const connectedFieldsElementOP = getInvolvedDataModelObjects<DataFieldAbstractTypes>(connectedFieldsElementContext);
1471
+ const fieldTemplate = getMacroFieldTemplate(
1472
+ tableId,
1473
+ tableDefinition,
1474
+ column,
1475
+ connectedFieldsElementContext,
1476
+ connectedFieldsElementOP,
1477
+ collection,
1478
+ enableAnalytics,
1479
+ tableType,
1480
+ isTableReadOnly,
1481
+ creationMode,
1482
+ undefined,
1483
+ isCompactType,
1484
+ "Left",
1485
+ `${TableHelper.getColumnStableId(tableId, dataFieldOP)}`,
1486
+ false,
1487
+ undefined,
1488
+ handlerProvider,
1489
+ true
1490
+ );
1491
+
1492
+ if (connectedFieldsElementIdx < connectedFieldsData.length - 1) {
1493
+ if (tableType === "ResponsiveTable") {
1494
+ return [
1495
+ fieldTemplate,
1496
+ /*Use ObjectStatus in ResponsiveTable: its line box matches cell height,
1497
+ so the delimiter is vertically centered in both display & edit modes.*/
1498
+ <ObjectStatus
1499
+ // NBSP on both sides to keep spacing
1500
+ text={`\u00A0${fieldsDelimiter}\u00A0`}
1501
+ state="None"
1502
+ >
1503
+ {{
1504
+ // Prevent the delimiter from being squeezed to zero width on tight layouts.
1505
+ layoutData: <FlexItemData shrinkFactor={0} />
1506
+ }}
1507
+ </ObjectStatus>
1508
+ ];
1509
+ }
1510
+
1511
+ // Grid/Tree tables: Text works fine here (keeps baseline behavior in display, centers in edit).
1512
+ return [
1513
+ fieldTemplate,
1514
+ <Text
1515
+ // NBSP on both sides to keep spacing
1516
+ text={`\u00A0${fieldsDelimiter}\u00A0`}
1517
+ //single line
1518
+ wrapping="false"
1519
+ // actually render the NBSPs
1520
+ renderWhitespace="true"
1521
+ >
1522
+ {{
1523
+ // Avoid squeeze-to-dot effect when space is tight.
1524
+ layoutData: <FlexItemData shrinkFactor={0} />
1525
+ }}
1526
+ </Text>
1527
+ ];
1528
+ } else {
1529
+ return [fieldTemplate];
1530
+ }
1531
+ });
1532
+
1533
+ /* Inner container alignment:
1534
+ - ResponsiveTable: always center (better visual consistency)
1535
+ - Grid/Tree: baseline in display, center in edit (mix of Text/Input heights)*/
1536
+ const innerHBox = (
1537
+ <HBox
1538
+ wrap="NoWrap"
1539
+ alignItems={
1540
+ tableType === "ResponsiveTable"
1541
+ ? "Center"
1542
+ : compileExpression(ifElse(UI.IsEditable, constant("Center"), constant("Baseline")))
1543
+ }
1544
+ >
1545
+ {{
1546
+ items: items
1547
+ }}
1548
+ </HBox>
1549
+ );
1550
+
1551
+ // Outer wrapper: render a real box, take the row height, and center vertically.
1552
+ // This guarantees vertical centering of the whole connected-fields block within the cell.
1553
+ template = (
1554
+ <HBox
1555
+ wrap="NoWrap"
1556
+ renderType="Div"
1557
+ fitContainer={true}
1558
+ alignItems="Center"
1559
+ visible={column.collectionFieldsHiddenExpression}
1560
+ justifyContent={column.horizontalAlign}
1561
+ >
1562
+ {{
1563
+ items: [innerHBox]
1564
+ }}
1565
+ </HBox>
1566
+ );
1429
1567
  } else {
1430
1568
  template = getMacroFieldTemplate(
1431
1569
  tableId,
1432
1570
  tableDefinition,
1433
1571
  column,
1434
1572
  dataFieldContext,
1573
+ dataFieldOP,
1435
1574
  collection,
1436
1575
  enableAnalytics,
1437
1576
  tableType,
@@ -1499,6 +1638,7 @@ export function getColumnTemplate(
1499
1638
  const enableAutoColumnWidth = tableProperties.enableAutoColumnWidth ?? tableProperties.tableDefinition.control.enableAutoColumnWidth;
1500
1639
  const widthIncludingColumnHeader = tableProperties.tableDefinition.control.widthIncludingColumnHeader;
1501
1640
  const tableType = tableProperties.tableDefinition.control.type;
1641
+ const isConnectedField = dataFieldObject.Target?.$AnnotationPath?.includes(UIAnnotationTerms.ConnectedFields);
1502
1642
 
1503
1643
  return (
1504
1644
  <Column
@@ -1538,7 +1678,11 @@ export function getColumnTemplate(
1538
1678
  header={column.label || column.name}
1539
1679
  propertyKey={column.name}
1540
1680
  hAlign={column.horizontalAlign || FieldHelper.getColumnAlignment(dataFieldObject, { collection: collection })}
1541
- headerVisible={TableHelper.setHeaderLabelVisibility(dataFieldObject, dataFieldContext.getObject("Target/$AnnotationPath/Data"))}
1681
+ headerVisible={
1682
+ isConnectedField
1683
+ ? true
1684
+ : TableHelper.setHeaderLabelVisibility(dataFieldObject, dataFieldContext.getObject("Target/$AnnotationPath/Data"))
1685
+ }
1542
1686
  tooltip={column.tooltip}
1543
1687
  required={tableProperties.readOnly ? undefined : column.required}
1544
1688
  >
@@ -1733,7 +1877,10 @@ export function getMDCTableTemplate(tableProperties: TableBlockProperties, param
1733
1877
  { key: "updatablePropertyPath", value: updatablePropertyPath || "" },
1734
1878
  { key: "exportRequestSize", value: tableProperties.tableDefinition.control.exportRequestSize }
1735
1879
  ];
1736
-
1880
+ let rowPressHandler;
1881
+ if (tableType === "ResponsiveTable") {
1882
+ rowPressHandler = parameters.handlerProvider.rowPress ? parameters.handlerProvider.noop : undefined;
1883
+ }
1737
1884
  return (
1738
1885
  <MDCTable
1739
1886
  core:require={getCoreRequire(tableProperties.tableDefinition)}
@@ -1746,6 +1893,7 @@ export function getMDCTableTemplate(tableProperties: TableBlockProperties, param
1746
1893
  busyIndicatorDelay={0}
1747
1894
  enableExport={tableProperties.tableDefinition.control.enableExport}
1748
1895
  delegate={JSON.parse(delegate)}
1896
+ rowPress={rowPressHandler}
1749
1897
  beforeOpenContextMenu={parameters.handlerProvider.beforeOpenContextMenu}
1750
1898
  autoBindOnInit={tableProperties.useBasicSearch || !tableProperties.filterBar}
1751
1899
  selectionMode={tableProperties.tableDefinition.annotation.selectionMode || "None"}
@@ -0,0 +1,59 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlockObjectProperty"], function (ClassSupport, BuildingBlockObjectProperty) {
6
+ "use strict";
7
+
8
+ var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
9
+ var _exports = {};
10
+ var property = ClassSupport.property;
11
+ var defineUI5Class = ClassSupport.defineUI5Class;
12
+ function _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }
13
+ function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
14
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
15
+ function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }
16
+ function _initializerWarningHelper(r, e) { throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform."); }
17
+ /**
18
+ * Configuration of toolbar separators to be used inside the table toolbar
19
+ * @public
20
+ */
21
+ let OverflowGroup = (_dec = defineUI5Class("sap.fe.macros.table.OverflowGroup"), _dec2 = property({
22
+ type: "int",
23
+ required: true
24
+ }), _dec3 = property({
25
+ type: "boolean"
26
+ }), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockObjectP) {
27
+ function OverflowGroup(settings) {
28
+ var _this;
29
+ _this = _BuildingBlockObjectP.call(this, settings) || this;
30
+ /**
31
+ * Defines the group of the toolbar separator in the overflow toolbar.
32
+ * @public
33
+ */
34
+ _initializerDefineProperty(_this, "overflowGroup", _descriptor, _this);
35
+ /**
36
+ * Defines if a toolbar separator should be displayed.
37
+ * @public
38
+ */
39
+ _initializerDefineProperty(_this, "showSeparator", _descriptor2, _this);
40
+ return _this;
41
+ }
42
+ _exports = OverflowGroup;
43
+ _inheritsLoose(OverflowGroup, _BuildingBlockObjectP);
44
+ return OverflowGroup;
45
+ }(BuildingBlockObjectProperty), _descriptor = _applyDecoratedDescriptor(_class2.prototype, "overflowGroup", [_dec2], {
46
+ configurable: true,
47
+ enumerable: true,
48
+ writable: true,
49
+ initializer: null
50
+ }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "showSeparator", [_dec3], {
51
+ configurable: true,
52
+ enumerable: true,
53
+ writable: true,
54
+ initializer: null
55
+ }), _class2)) || _class);
56
+ _exports = OverflowGroup;
57
+ return _exports;
58
+ }, false);
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPdmVyZmxvd0dyb3VwIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJyZXF1aXJlZCIsIl9kZWMzIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrT2JqZWN0UCIsInNldHRpbmdzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk92ZXJmbG93R3JvdXBzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSwgdHlwZSBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL0J1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb2YgdG9vbGJhciBzZXBhcmF0b3JzIHRvIGJlIHVzZWQgaW5zaWRlIHRoZSB0YWJsZSB0b29sYmFyXG4gKiBAcHVibGljXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MudGFibGUuT3ZlcmZsb3dHcm91cFwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgT3ZlcmZsb3dHcm91cCBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBncm91cCBvZiB0aGUgdG9vbGJhciBzZXBhcmF0b3IgaW4gdGhlIG92ZXJmbG93IHRvb2xiYXIuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiaW50XCIsIHJlcXVpcmVkOiB0cnVlIH0pXG5cdG92ZXJmbG93R3JvdXAhOiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaWYgYSB0b29sYmFyIHNlcGFyYXRvciBzaG91bGQgYmUgZGlzcGxheWVkLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93U2VwYXJhdG9yPzogYm9vbGVhbjtcblxuXHRjb25zdHJ1Y3RvcihzZXR0aW5nczogUHJvcGVydGllc09mPE92ZXJmbG93R3JvdXA+KSB7XG5cdFx0c3VwZXIoc2V0dGluZ3MpO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHQTtBQUNBO0FBQ0E7QUFDQTtFQUhBLElBS3FCQSxhQUFhLElBQUFDLElBQUEsR0FEakNDLGNBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFBQyxLQUFBLEdBTWxEQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLEtBQUs7SUFBRUMsUUFBUSxFQUFFO0VBQUssQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FPekNILFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsRUFBQUosSUFBQSxDQUFBTyxNQUFBLElBQUFDLE9BQUEsMEJBQUFDLHFCQUFBO0lBRzlCLFNBQUFWLGNBQVlXLFFBQXFDLEVBQUU7TUFBQSxJQUFBQyxLQUFBO01BQ2xEQSxLQUFBLEdBQUFGLHFCQUFBLENBQUFHLElBQUEsT0FBTUYsUUFBUSxDQUFDO01BZmhCO0FBQ0Q7QUFDQTtBQUNBO01BSENHLDBCQUFBLENBQUFGLEtBQUEsbUJBQUFHLFdBQUEsRUFBQUgsS0FBQTtNQU9BO0FBQ0Q7QUFDQTtBQUNBO01BSENFLDBCQUFBLENBQUFGLEtBQUEsbUJBQUFJLFlBQUEsRUFBQUosS0FBQTtNQUFBLE9BQUFBLEtBQUE7SUFTQTtJQUFDSyxRQUFBLEdBQUFqQixhQUFBO0lBQUFrQixjQUFBLENBQUFsQixhQUFBLEVBQUFVLHFCQUFBO0lBQUEsT0FBQVYsYUFBQTtFQUFBLEVBakJ5Q21CLDJCQUEyQixHQUFBSixXQUFBLEdBQUFLLHlCQUFBLENBQUFYLE9BQUEsQ0FBQVksU0FBQSxvQkFBQWxCLEtBQUE7SUFBQW1CLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBVCxZQUFBLEdBQUFJLHlCQUFBLENBQUFYLE9BQUEsQ0FBQVksU0FBQSxvQkFBQWQsS0FBQTtJQUFBZSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQWhCLE9BQUEsTUFBQUQsTUFBQTtFQUFBUyxRQUFBLEdBQUFqQixhQUFBO0VBQUEsT0FBQWlCLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,27 @@
1
+ import { defineUI5Class, property, type PropertiesOf } from "sap/fe/base/ClassSupport";
2
+ import BuildingBlockObjectProperty from "sap/fe/macros/controls/BuildingBlockObjectProperty";
3
+
4
+ /**
5
+ * Configuration of toolbar separators to be used inside the table toolbar
6
+ * @public
7
+ */
8
+ @defineUI5Class("sap.fe.macros.table.OverflowGroup")
9
+ export default class OverflowGroup extends BuildingBlockObjectProperty {
10
+ /**
11
+ * Defines the group of the toolbar separator in the overflow toolbar.
12
+ * @public
13
+ */
14
+ @property({ type: "int", required: true })
15
+ overflowGroup!: number;
16
+
17
+ /**
18
+ * Defines if a toolbar separator should be displayed.
19
+ * @public
20
+ */
21
+ @property({ type: "boolean" })
22
+ showSeparator?: boolean;
23
+
24
+ constructor(settings: PropertiesOf<OverflowGroup>) {
25
+ super(settings);
26
+ }
27
+ }