@openui5/sap.ui.mdc 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 (189) hide show
  1. package/README.md +2 -2
  2. package/REUSE.toml +39 -1
  3. package/THIRDPARTY.txt +36 -3
  4. package/package.json +4 -4
  5. package/src/sap/ui/mdc/.library +1 -1
  6. package/src/sap/ui/mdc/ActionToolbar.js +89 -63
  7. package/src/sap/ui/mdc/Chart.js +1 -1
  8. package/src/sap/ui/mdc/Control.js +1 -1
  9. package/src/sap/ui/mdc/DefaultTypeMap.js +1 -1
  10. package/src/sap/ui/mdc/Element.js +1 -1
  11. package/src/sap/ui/mdc/Field.js +31 -8
  12. package/src/sap/ui/mdc/FilterBar.js +1 -1
  13. package/src/sap/ui/mdc/FilterField.js +11 -11
  14. package/src/sap/ui/mdc/Geomap.js +571 -0
  15. package/src/sap/ui/mdc/GeomapDelegate.js +285 -0
  16. package/src/sap/ui/mdc/GeomapRenderer.js +76 -0
  17. package/src/sap/ui/mdc/Link.js +1 -1
  18. package/src/sap/ui/mdc/MultiValueField.js +7 -7
  19. package/src/sap/ui/mdc/Table.js +141 -116
  20. package/src/sap/ui/mdc/TableDelegate.js +3 -2
  21. package/src/sap/ui/mdc/ValueHelp.js +1 -1
  22. package/src/sap/ui/mdc/ValueHelpDelegate.js +4 -1
  23. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  24. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +1 -1
  25. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  26. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  27. package/src/sap/ui/mdc/chart/ToolbarControlFactory.js +1 -1
  28. package/src/sap/ui/mdc/chart/Util.js +5 -2
  29. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  30. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  31. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  32. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  33. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +1 -1
  34. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  35. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
  36. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  37. package/src/sap/ui/mdc/designtime/geomap/Geomap.designtime.js +23 -0
  38. package/src/sap/ui/mdc/enums/GeomapControlPosition.js +46 -0
  39. package/src/sap/ui/mdc/enums/TableActionPosition.js +123 -0
  40. package/src/sap/ui/mdc/enums/TablePopinDisplay.js +36 -0
  41. package/src/sap/ui/mdc/field/ConditionType.js +1 -1
  42. package/src/sap/ui/mdc/field/ConditionTypeMixin.js +1 -1
  43. package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
  44. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  45. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
  46. package/src/sap/ui/mdc/field/FieldBase.js +137 -66
  47. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  48. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  49. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  50. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  51. package/src/sap/ui/mdc/field/FieldSelect.js +7 -1
  52. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  53. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +22 -0
  54. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  55. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  56. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  57. package/src/sap/ui/mdc/field/content/ContentFactory.js +3 -0
  58. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +35 -1
  59. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +3 -0
  60. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  61. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
  62. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  63. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  64. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  65. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  66. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +1 -1
  67. package/src/sap/ui/mdc/flexibility/SortFlex.js +12 -5
  68. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +17 -11
  69. package/src/sap/ui/mdc/flexibility/actiontoolbar/CombineAction.js +1 -1
  70. package/src/sap/ui/mdc/flexibility/actiontoolbar/SplitAction.js +1 -1
  71. package/src/sap/ui/mdc/flexibility/helpers/getAffectedSorter.js +25 -0
  72. package/src/sap/ui/mdc/geomap/Item.js +48 -0
  73. package/src/sap/ui/mdc/geomap/PropertyHelper.js +70 -0
  74. package/src/sap/ui/mdc/library.js +19 -4
  75. package/src/sap/ui/mdc/link/Factory.js +1 -1
  76. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  77. package/src/sap/ui/mdc/link/Panel.js +1 -1
  78. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  79. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  80. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  81. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  82. package/src/sap/ui/mdc/messagebundle.properties +15 -1
  83. package/src/sap/ui/mdc/messagebundle_ar.properties +8 -0
  84. package/src/sap/ui/mdc/messagebundle_bg.properties +8 -0
  85. package/src/sap/ui/mdc/messagebundle_ca.properties +8 -0
  86. package/src/sap/ui/mdc/messagebundle_cnr.properties +8 -0
  87. package/src/sap/ui/mdc/messagebundle_cs.properties +8 -0
  88. package/src/sap/ui/mdc/messagebundle_cy.properties +9 -1
  89. package/src/sap/ui/mdc/messagebundle_da.properties +8 -0
  90. package/src/sap/ui/mdc/messagebundle_de.properties +10 -2
  91. package/src/sap/ui/mdc/messagebundle_el.properties +9 -1
  92. package/src/sap/ui/mdc/messagebundle_en.properties +9 -1
  93. package/src/sap/ui/mdc/messagebundle_en_GB.properties +9 -1
  94. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +12 -1
  95. package/src/sap/ui/mdc/messagebundle_es.properties +10 -2
  96. package/src/sap/ui/mdc/messagebundle_es_MX.properties +8 -0
  97. package/src/sap/ui/mdc/messagebundle_et.properties +8 -0
  98. package/src/sap/ui/mdc/messagebundle_fi.properties +8 -0
  99. package/src/sap/ui/mdc/messagebundle_fr.properties +11 -3
  100. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +8 -0
  101. package/src/sap/ui/mdc/messagebundle_hi.properties +8 -0
  102. package/src/sap/ui/mdc/messagebundle_hr.properties +9 -1
  103. package/src/sap/ui/mdc/messagebundle_hu.properties +8 -0
  104. package/src/sap/ui/mdc/messagebundle_id.properties +11 -3
  105. package/src/sap/ui/mdc/messagebundle_it.properties +8 -0
  106. package/src/sap/ui/mdc/messagebundle_iw.properties +8 -0
  107. package/src/sap/ui/mdc/messagebundle_ja.properties +9 -1
  108. package/src/sap/ui/mdc/messagebundle_kk.properties +9 -1
  109. package/src/sap/ui/mdc/messagebundle_ko.properties +8 -0
  110. package/src/sap/ui/mdc/messagebundle_lt.properties +8 -0
  111. package/src/sap/ui/mdc/messagebundle_lv.properties +8 -0
  112. package/src/sap/ui/mdc/messagebundle_mk.properties +8 -0
  113. package/src/sap/ui/mdc/messagebundle_ms.properties +9 -1
  114. package/src/sap/ui/mdc/messagebundle_nl.properties +8 -0
  115. package/src/sap/ui/mdc/messagebundle_no.properties +8 -0
  116. package/src/sap/ui/mdc/messagebundle_pl.properties +8 -0
  117. package/src/sap/ui/mdc/messagebundle_pt.properties +9 -1
  118. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +8 -0
  119. package/src/sap/ui/mdc/messagebundle_ro.properties +9 -1
  120. package/src/sap/ui/mdc/messagebundle_ru.properties +9 -1
  121. package/src/sap/ui/mdc/messagebundle_sh.properties +8 -0
  122. package/src/sap/ui/mdc/messagebundle_sk.properties +8 -0
  123. package/src/sap/ui/mdc/messagebundle_sl.properties +9 -1
  124. package/src/sap/ui/mdc/messagebundle_sr.properties +8 -0
  125. package/src/sap/ui/mdc/messagebundle_sv.properties +8 -0
  126. package/src/sap/ui/mdc/messagebundle_th.properties +8 -0
  127. package/src/sap/ui/mdc/messagebundle_tr.properties +9 -1
  128. package/src/sap/ui/mdc/messagebundle_uk.properties +8 -0
  129. package/src/sap/ui/mdc/messagebundle_vi.properties +11 -3
  130. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +9 -1
  131. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +8 -0
  132. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  133. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  134. package/src/sap/ui/mdc/mixin/FilterBarLayoutMixin.js +1 -1
  135. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  136. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  137. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
  138. package/src/sap/ui/mdc/odata/TypeMap.js +1 -1
  139. package/src/sap/ui/mdc/odata/v4/GeomapDelegate.js +60 -0
  140. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +53 -2
  141. package/src/sap/ui/mdc/odata/v4/TypeMap.js +1 -1
  142. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +16 -0
  143. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  144. package/src/sap/ui/mdc/p13n/StateUtil.js +1 -1
  145. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +3 -0
  146. package/src/sap/ui/mdc/p13n/subcontroller/ColumnFreezeController.js +1 -1
  147. package/src/sap/ui/mdc/p13n/subcontroller/ShowDetailsController.js +1 -1
  148. package/src/sap/ui/mdc/rules/Table.support.js +149 -118
  149. package/src/sap/ui/mdc/table/ActionLayoutData.js +47 -0
  150. package/src/sap/ui/mdc/table/Column.js +40 -186
  151. package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
  152. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  153. package/src/sap/ui/mdc/table/DragDropConfig.js +1 -1
  154. package/src/sap/ui/mdc/table/GridTableType.js +35 -21
  155. package/src/sap/ui/mdc/table/ODataV4PropertyHelper.js +1 -1
  156. package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
  157. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  158. package/src/sap/ui/mdc/table/ResponsiveTableType.js +97 -14
  159. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  160. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  161. package/src/sap/ui/mdc/table/TableSettings.js +34 -7
  162. package/src/sap/ui/mdc/table/TableTypeBase.js +38 -7
  163. package/src/sap/ui/mdc/table/utils/Personalization.js +1 -1
  164. package/src/sap/ui/mdc/themes/base/Geomap.less +50 -0
  165. package/src/sap/ui/mdc/ushell/SemanticObjectMapping.js +1 -1
  166. package/src/sap/ui/mdc/ushell/SemanticObjectMappingItem.js +1 -1
  167. package/src/sap/ui/mdc/ushell/SemanticObjectUnavailableAction.js +1 -1
  168. package/src/sap/ui/mdc/util/InfoBar.js +1 -1
  169. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  170. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  171. package/src/sap/ui/mdc/util/PropertyHelperUtil.js +1 -1
  172. package/src/sap/ui/mdc/valuehelp/Dialog.js +2 -2
  173. package/src/sap/ui/mdc/valuehelp/FilterBar.js +22 -3
  174. package/src/sap/ui/mdc/valuehelp/Popover.js +1 -1
  175. package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -1
  176. package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
  177. package/src/sap/ui/mdc/valuehelp/base/DefineConditionPanel.js +140 -26
  178. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  179. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +4 -3
  180. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  181. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  182. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  183. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  184. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +1 -1
  185. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
  186. package/src/sap/ui/mdc/valuehelp/content/MTable.js +7 -5
  187. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +36 -0
  188. package/test/sap/ui/mdc/testutils/opa/filterfield/Actions.js +20 -3
  189. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +33 -1
@@ -6,26 +6,32 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "./TableTypeBase",
9
+ "./ActionLayoutData",
9
10
  "./utils/Personalization",
11
+ "sap/ui/mdc/enums/TableGrowingMode",
12
+ "sap/ui/mdc/enums/TableRowActionType",
13
+ "sap/ui/mdc/enums/TablePopinDisplay",
14
+ "sap/ui/mdc/enums/TableActionPosition",
10
15
  "sap/m/plugins/ColumnResizer",
11
16
  "sap/m/SegmentedButton",
12
17
  "sap/m/SegmentedButtonItem",
13
18
  "sap/ui/Device",
14
19
  "sap/ui/core/Element",
15
- "sap/ui/core/Lib",
16
- "sap/ui/mdc/enums/TableGrowingMode",
17
- "sap/ui/mdc/enums/TableRowActionType"
20
+ "sap/ui/core/Lib"
18
21
  ], (
19
22
  TableTypeBase,
23
+ ActionLayoutData,
20
24
  PersonalizationUtils,
25
+ GrowingMode,
26
+ RowActionType,
27
+ PopinDisplay,
28
+ TableActionPosition,
21
29
  ColumnResizer,
22
30
  SegmentedButton,
23
31
  SegmentedButtonItem,
24
32
  Device,
25
33
  Element,
26
- Library,
27
- GrowingMode,
28
- RowActionType
34
+ Library
29
35
  ) => {
30
36
  "use strict";
31
37
 
@@ -98,6 +104,16 @@ sap.ui.define([
98
104
  type: "sap.m.PopinLayout",
99
105
  group: "Appearance",
100
106
  defaultValue: "Block"
107
+ },
108
+ /**
109
+ * Defines how the pop-in content is displayed.
110
+ *
111
+ * @since 1.143
112
+ */
113
+ popinDisplay: {
114
+ type: "sap.ui.mdc.enums.TablePopinDisplay",
115
+ group: "Appearance",
116
+ defaultValue: PopinDisplay.Inline
101
117
  }
102
118
  }
103
119
  }
@@ -165,20 +181,20 @@ sap.ui.define([
165
181
  }
166
182
  };
167
183
 
168
- ResponsiveTableType.prototype.createTable = function(sId) {
184
+ ResponsiveTableType.prototype.createTable = function() {
169
185
  const oTable = this.getTable();
170
186
 
171
187
  if (!oTable || !InnerTable) {
172
188
  return null;
173
189
  }
174
190
 
175
- return new InnerTable(sId, this.getTableSettings());
191
+ return new InnerTable(this.getTableSettings());
176
192
  };
177
193
 
178
194
  ResponsiveTableType.prototype.getTableSettings = function() {
179
195
  const oTable = this.getTable();
180
-
181
196
  const mSettings = {
197
+ ...TableTypeBase.prototype.getTableSettings.apply(this, arguments),
182
198
  autoPopinMode: true,
183
199
  contextualWidth: "Auto",
184
200
  growing: true,
@@ -199,7 +215,7 @@ sap.ui.define([
199
215
  mSettings.itemPress = [onItemPress, this];
200
216
  }
201
217
 
202
- return Object.assign({}, TableTypeBase.prototype.getTableSettings.apply(this, arguments), mSettings);
218
+ return mSettings;
203
219
  };
204
220
 
205
221
  function onItemPress(oEvent) {
@@ -223,8 +239,72 @@ sap.ui.define([
223
239
  });
224
240
  }
225
241
 
226
- ResponsiveTableType.createColumn = function(sId, mSettings) {
227
- return new InnerColumn(sId, mSettings);
242
+ ResponsiveTableType.prototype.createColumn = function(oColumn) {
243
+ return new InnerColumn(this.getColumnSettings(oColumn));
244
+ };
245
+
246
+ ResponsiveTableType.prototype.getColumnSettings = function(oColumn) {
247
+ const mSettings = TableTypeBase.prototype.getColumnSettings.apply(this, arguments);
248
+
249
+ mSettings.header = oColumn.getHeaderLabel({
250
+ tooltip: mSettings.tooltip,
251
+ wrapping: {
252
+ parts: [
253
+ {path: "$sap.ui.mdc.table.Column>/headerVisible"},
254
+ {path: "$sap.ui.mdc.Table>/enableColumnResize"}
255
+ ],
256
+ formatter: function(bHeaderVisible, bResizable) {
257
+ return bHeaderVisible && !bResizable;
258
+ }
259
+ },
260
+ wrappingType: "Hyphenated"
261
+ });
262
+ delete mSettings.tooltip;
263
+
264
+ return {
265
+ ...mSettings,
266
+ autoPopinWidth: "{$sap.ui.mdc.table.Column>/minWidth}",
267
+ importance: {
268
+ parts: [
269
+ {path: "$sap.ui.mdc.table.Column>/extendedSettings/@className"},
270
+ {path: "$sap.ui.mdc.table.Column>/extendedSettings/importance"},
271
+ {path: "$sap.ui.mdc.table.Column>/importance"}
272
+ ],
273
+ formatter: function(sExtendedSettingsType, sImportance, sLegacyImportance) {
274
+ if (sExtendedSettingsType === "sap.ui.mdc.table.ResponsiveColumnSettings") {
275
+ return sImportance;
276
+ }
277
+ return sLegacyImportance;
278
+ }
279
+ },
280
+ popinDisplay: {
281
+ parts: [
282
+ {path: "$sap.ui.mdc.table.Column>/headerVisible"},
283
+ {path: "$sap.ui.mdc.Table#type>/popinDisplay"}
284
+ ],
285
+ formatter: function(bHeaderVisible, sPopinDisplay) {
286
+ return bHeaderVisible ? sPopinDisplay : "WithoutHeader";
287
+ }
288
+ },
289
+ mergeDuplicates: {
290
+ parts: [
291
+ {path: "$sap.ui.mdc.table.Column>/extendedSettings/@className"},
292
+ {path: "$sap.ui.mdc.table.Column>/extendedSettings/mergeFunction"}
293
+ ],
294
+ formatter: function(sExtendedSettingsType, sMergeFunction) {
295
+ return sExtendedSettingsType === "sap.ui.mdc.table.ResponsiveColumnSettings" && !!sMergeFunction;
296
+ }
297
+ },
298
+ mergeFunctionName: {
299
+ parts: [
300
+ {path: "$sap.ui.mdc.table.Column>/extendedSettings/@className"},
301
+ {path: "$sap.ui.mdc.table.Column>/extendedSettings/mergeFunction"}
302
+ ],
303
+ formatter: function(sExtendedSettingsType, sMergeFunction) {
304
+ return sExtendedSettingsType === "sap.ui.mdc.table.ResponsiveColumnSettings" ? sMergeFunction : null;
305
+ }
306
+ }
307
+ };
228
308
  };
229
309
 
230
310
  ResponsiveTableType.prototype.createRowTemplate = function(sId) {
@@ -509,7 +589,10 @@ sap.ui.define([
509
589
  }, this
510
590
  ]
511
591
  })
512
- ]
592
+ ],
593
+ layoutData: new ActionLayoutData({
594
+ position: TableActionPosition.PersonalizationActionsShowHideDetails
595
+ })
513
596
  });
514
597
  }
515
598
  return this._oShowDetailsButton;
@@ -678,7 +761,7 @@ sap.ui.define([
678
761
  * @returns {boolean} whether the xConfig state should be shown
679
762
  */
680
763
  ResponsiveTableType.prototype.showXConfigState = function() {
681
- return this._oShowDetailsButton?.getVisible();
764
+ return this.getShowDetailsButton();
682
765
  };
683
766
 
684
767
  ResponsiveTableType.prototype.exit = function() {
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * The <code>RowActionItem</code> control represents a action for a row.
22
22
  * This control can only be used in the context of <code>sap.ui.mdc.Table</code> control to define row actions.
23
23
  * @extends sap.ui.core.Element
24
- * @version 1.141.2
24
+ * @version 1.143.0
25
25
  *
26
26
  * @constructor
27
27
  * @public
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * The <code>RowSettings</code> control is used to configure a row.
23
23
  * This control can only be used in the context of the <code>sap.ui.mdc.Table</code> control to define row settings.
24
24
  * @extends sap.ui.core.Element
25
- * @version 1.141.2
25
+ * @version 1.143.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -15,7 +15,9 @@ sap.ui.define([
15
15
  "sap/ui/Device",
16
16
  "sap/ui/core/ShortcutHintsMixin",
17
17
  "sap/ui/core/theming/Parameters",
18
- "sap/ui/performance/trace/FESRHelper"
18
+ "sap/ui/performance/trace/FESRHelper",
19
+ "sap/ui/mdc/enums/TableActionPosition",
20
+ "./ActionLayoutData"
19
21
  ], (
20
22
  OverflowToolbarButton,
21
23
  MLibrary,
@@ -27,7 +29,9 @@ sap.ui.define([
27
29
  Device,
28
30
  ShortcutHintsMixin,
29
31
  ThemeParameters,
30
- FESRHelper
32
+ FESRHelper,
33
+ TableActionPosition,
34
+ ActionLayoutData
31
35
  ) => {
32
36
  "use strict";
33
37
 
@@ -52,7 +56,10 @@ sap.ui.define([
52
56
  text: oRb.getText("table.SETTINGS"),
53
57
  press: aEventInfo,
54
58
  tooltip: oRb.getText("table.SETTINGS"),
55
- ariaHasPopup: HasPopup.Dialog
59
+ ariaHasPopup: HasPopup.Dialog,
60
+ layoutData: new ActionLayoutData({
61
+ position: TableActionPosition.PersonalizationActionsSettings
62
+ })
56
63
  });
57
64
 
58
65
  FESRHelper.setSemanticStepname(oBtn, "press", "mdc:tbl:p13n");
@@ -65,8 +72,20 @@ sap.ui.define([
65
72
 
66
73
  return oBtn;
67
74
  },
75
+ createCopyButton: function(sIdPrefix, oCopyProvider) {
76
+ return oCopyProvider.getCopyButton({
77
+ id: sIdPrefix + "-copy",
78
+ layoutData: new ActionLayoutData({
79
+ position: TableActionPosition.ModificationActionsCopy
80
+ })
81
+ });
82
+ },
68
83
  createPasteButton: function(sIdPrefix) {
69
- const oPasteButton = this._createButton(sIdPrefix + "-paste");
84
+ const oPasteButton = this._createButton(sIdPrefix + "-paste", {
85
+ layoutData: new ActionLayoutData({
86
+ position: TableActionPosition.ModificationActionsPaste
87
+ })
88
+ });
70
89
 
71
90
  FESRHelper.setSemanticStepname(oPasteButton, "press", "mdc:tbl:paste");
72
91
 
@@ -90,7 +109,10 @@ sap.ui.define([
90
109
  type: MLibrary.ButtonType[sButtonType],
91
110
  buttonMode: MLibrary.MenuButtonMode.Split,
92
111
  useDefaultActionOnly: true,
93
- defaultAction: mEventInfo.default
112
+ defaultAction: mEventInfo.default,
113
+ layoutData: new ActionLayoutData({
114
+ position: TableActionPosition.ExportActionsExport
115
+ })
94
116
  });
95
117
 
96
118
  const oMenu = new Menu({
@@ -129,7 +151,10 @@ sap.ui.define([
129
151
  icon: bIsExpand ? "sap-icon://expand-all" : "sap-icon://collapse-all",
130
152
  text: sText,
131
153
  press: fnPressEvent,
132
- tooltip: sText
154
+ tooltip: sText,
155
+ layoutData: new ActionLayoutData({
156
+ position: bIsExpand ? TableActionPosition.PersonalizationActionsExpandAll : TableActionPosition.PersonalizationActionsCollapseAll
157
+ })
133
158
  });
134
159
 
135
160
  FESRHelper.setSemanticStepname(oButton, "press", "mdc:tbl:" + (bIsExpand ? "expandAll" : "collapseAll"));
@@ -153,9 +178,11 @@ sap.ui.define([
153
178
  new MenuItem({text: sTree, press: mItemEventInfo.tree}),
154
179
  new MenuItem({text: sNode, press: mItemEventInfo.node})
155
180
  ]
181
+ }),
182
+ layoutData: new ActionLayoutData({
183
+ position: bIsExpand ? TableActionPosition.PersonalizationActionsExpandAll : TableActionPosition.PersonalizationActionsCollapseAll
156
184
  })
157
185
  });
158
-
159
186
  return oMenuButton;
160
187
  },
161
188
  _createButton: function(sId, mSettings) {
@@ -93,11 +93,6 @@ sap.ui.define([
93
93
 
94
94
  TableTypeBase.prototype.getTableSettings = function() {
95
95
  const oTable = this.getTable();
96
-
97
- if (!oTable) {
98
- return {};
99
- }
100
-
101
96
  const oDragDropInfo = new DragDropInfo({
102
97
  sourceAggregation: "columns",
103
98
  targetAggregation: "columns",
@@ -109,12 +104,47 @@ sap.ui.define([
109
104
  oDragDropInfo.bIgnoreMetadataCheck = true;
110
105
 
111
106
  return {
107
+ id: oTable.getId() + "-innerTable",
112
108
  dragDropConfig: [oDragDropInfo],
113
- busyIndicatorDelay: oTable.getBusyIndicatorDelay(),
109
+ busyIndicatorDelay: "{$sap.ui.mdc.Table>/busyIndicatorDelay}",
114
110
  paste: [this._onPaste, this]
115
111
  };
116
112
  };
117
113
 
114
+ TableTypeBase.prototype.getColumnSettings = function(oColumn) {
115
+ const oTable = this.getTable();
116
+
117
+ return {
118
+ id: oColumn.getId() + "-innerColumn",
119
+ width: {
120
+ parts: [
121
+ {path: "$sap.ui.mdc.table.Column>/width"},
122
+ {path: "$sap.ui.mdc.table.Column>/@custom/calculatedWidth"},
123
+ {path: "$sap.ui.mdc.table.Column>/@custom/p13nWidth"}
124
+ ],
125
+ formatter: function(sWidth, sCalculatedWidth, sP13nWidth) {
126
+ return sP13nWidth || sCalculatedWidth || sWidth;
127
+ }
128
+ },
129
+ tooltip: {
130
+ parts: [
131
+ {path: "$sap.ui.mdc.table.Column>/tooltip"},
132
+ {path: "$sap.ui.mdc.table.Column>/header"},
133
+ {path: "$sap.ui.mdc.table.Column>/headerVisible"},
134
+ {path: "$sap.ui.mdc.Table>/useColumnLabelsAsTooltips"}
135
+ ],
136
+ formatter: function(sTooltip, sHeader, bHeaderVisible, bUseColumnLabelsAsTooltips) {
137
+ if (sTooltip || !bUseColumnLabelsAsTooltips) {
138
+ return sTooltip;
139
+ }
140
+ return bHeaderVisible ? sHeader : "";
141
+ }
142
+ },
143
+ hAlign: "{$sap.ui.mdc.table.Column>/hAlign}",
144
+ headerMenu: oTable.getId() + "-columnHeaderMenu"
145
+ };
146
+ };
147
+
118
148
  TableTypeBase.prototype.getRowSettingsConfig = function() {
119
149
  const oTable = this.getTable();
120
150
  const oRowSettings = oTable ? oTable.getRowSettings() : null;
@@ -168,7 +198,8 @@ sap.ui.define([
168
198
  TableTypeBase.prototype.updateRowSettings = function() {};
169
199
  TableTypeBase.prototype.prepareRowPress = function() {};
170
200
  TableTypeBase.prototype.cleanupRowPress = function() {};
171
- TableTypeBase.prototype.createTable = function(sId) {};
201
+ TableTypeBase.prototype.createTable = function() { };
202
+ TableTypeBase.prototype.createColumn = function(oColumn) { };
172
203
  TableTypeBase.prototype.getRowBinding = function() {};
173
204
  TableTypeBase.prototype.bindRows = function(oBindingInfo) {};
174
205
  TableTypeBase.prototype.isTableBound = function() {};
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * P13n utilities.
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.141.2
20
+ * @version 1.143.0
21
21
  * @namespace
22
22
  * @alias sap.ui.mdc.table.utils.Personalization
23
23
  * @private
@@ -0,0 +1,50 @@
1
+ @_sap_ui_mdc_Chart_ToolbarDesign: ~"Transparent";
2
+
3
+ .sapUiMDCGeomap {
4
+ background: @sapUiChartBackgroundColor;
5
+ border-radius: @sapUiElementBorderCornerRadius;
6
+ padding-bottom: 1rem;
7
+ display: grid;
8
+ }
9
+
10
+ .sapUiMDCGeomapTempTextOuter{
11
+ grid-template-rows: auto 1fr;
12
+ }
13
+
14
+ .sapUiMDCChartTempText {
15
+ display: flex;
16
+ justify-content: center;
17
+ align-items: center;
18
+ }
19
+
20
+ .sapUiMDCGeomapGrid{
21
+ grid-template-rows: auto auto 1fr;
22
+ grid-template-columns: minmax(0, 1fr);
23
+ }
24
+
25
+
26
+ .sapUiMDCGeomap .sapUiMDCGeomapBreadcrumbs {
27
+ margin-left: 1rem;
28
+ margin-top: 0.5rem;
29
+ max-width: 85%;
30
+ }
31
+
32
+ .sapUiMDCGeomap .sapMIBar.sapMTBHeader-CTX {
33
+ border-top-right-radius: @sapUiElementBorderCornerRadius;
34
+ border-top-left-radius: @sapUiElementBorderCornerRadius;
35
+ }
36
+
37
+ .sapUiMDCGeomap .sapUiMDCChartTempInnerText {
38
+ justify-content: center;
39
+ align-content: center;
40
+ }
41
+
42
+ .sapUiMDCSelectionButton.sapMPopover .sapMIBar.sapMSubHeader-CTX {
43
+ border-top-left-radius: @sapUiElementBorderCornerRadius;
44
+ border-top-right-radius: @sapUiElementBorderCornerRadius;;
45
+ }
46
+
47
+ .sapUiMDCGeomapInternal {
48
+ width: 100%;
49
+ padding: 1.25rem
50
+ }
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] initial settings for the new control
17
17
  * @class Type for...
18
18
  * @extends sap.ui.core.Element
19
- * @version 1.141.2
19
+ * @version 1.143.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.120
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] initial settings for the new control
17
17
  * @class Type for...
18
18
  * @extends sap.ui.core.Element
19
- * @version 1.141.2
19
+ * @version 1.143.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.120
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] initial settings for the new control
17
17
  * @class Type for...
18
18
  * @extends sap.ui.core.Element
19
- * @version 1.141.2
19
+ * @version 1.143.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.120
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class The <code>InfoBar</code> control provides an easy way of displaying filter information inside an <code>sap.ui.mdc.Chart</code> and an <code>sap.ui.mdc.Table</code>.
25
25
  * @extends sap.ui.core.Control
26
26
  * @author SAP SE
27
- * @version 1.141.2
27
+ * @version 1.143.0
28
28
  * @constructor
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.mdc
@@ -45,7 +45,7 @@ sap.ui.define(
45
45
  * Destroying the cache will cancel all registered promises and delete references. Convenience methods for promise creation, wrapping and replacement are offered.
46
46
  *
47
47
  * @author SAP SE
48
- * @version 1.141.2
48
+ * @version 1.143.0
49
49
  * @alias sap.ui.mdc.util.PromiseCache
50
50
  * @since 1.85.0
51
51
  * @private
@@ -591,7 +591,7 @@ sap.ui.define([
591
591
  * @extends sap.ui.base.Object
592
592
  *
593
593
  * @author SAP SE
594
- * @version 1.141.2
594
+ * @version 1.143.0
595
595
  *
596
596
  * @private
597
597
  * @since 1.83
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * Provides validation functions for checking the (required) usage of the PropertyHelper.
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.141.2
24
+ * @version 1.143.0
25
25
  * @alias sap.ui.mdc.util.PropertyHelperUtil
26
26
  * @namespace
27
27
  * @since 1.132.0
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  * @param {object} [mSettings] Initial settings for the new control
69
69
  * @class Container for the {@link sap.ui.mdc.ValueHelp ValueHelp} element showing a dialog.
70
70
  * @extends sap.ui.mdc.valuehelp.base.Container
71
- * @version 1.141.2
71
+ * @version 1.143.0
72
72
  * @constructor
73
73
  * @public
74
74
  * @since 1.95.0
@@ -297,7 +297,7 @@ sap.ui.define([
297
297
 
298
298
  DensityHelper.syncDensity(oDialog);
299
299
 
300
- oDialog.setModel(this._oManagedObjectModel, "$help");
300
+ this.setModel(this._oManagedObjectModel, "$help");
301
301
  this.setAggregation("_container", oDialog, true);
302
302
 
303
303
  oDialog.isPopupAdaptationAllowed = function() {
@@ -12,7 +12,8 @@ sap.ui.define(
12
12
  "sap/ui/mdc/valuehelp/FilterContainer",
13
13
  "sap/m/Button",
14
14
  "sap/m/p13n/enums/PersistenceMode",
15
- "sap/m/OverflowToolbarLayoutData"
15
+ "sap/m/OverflowToolbarLayoutData",
16
+ "sap/ui/core/InvisibleText"
16
17
  ],
17
18
  (
18
19
  mLibrary,
@@ -22,7 +23,8 @@ sap.ui.define(
22
23
  FilterContainer,
23
24
  Button,
24
25
  PersistenceMode,
25
- OverflowToolbarLayoutData
26
+ OverflowToolbarLayoutData,
27
+ InvisibleText
26
28
  ) => {
27
29
  "use strict";
28
30
  const {OverflowToolbarPriority} = mLibrary;
@@ -39,7 +41,7 @@ sap.ui.define(
39
41
  * <b>Note:</b> The <code>FilterBar</code> can only be used for a {@link sap.ui.mdc.valuehelp.Dialog Dialog} and not on its own.
40
42
  * @extends sap.ui.mdc.filterbar.FilterBarBase
41
43
  * @author SAP SE
42
- * @version 1.141.2
44
+ * @version 1.143.0
43
45
  * @constructor
44
46
  * @public
45
47
  * @since 1.124.0
@@ -251,6 +253,8 @@ sap.ui.define(
251
253
  };
252
254
 
253
255
  FilterBar.prototype.setBasicSearchField = function(oBasicSearchField) {
256
+ const fnGetAriaLabelId = (sSearchFieldId) => this.getId() + "__" + sSearchFieldId + "-labelledBy";
257
+
254
258
  if (this._oBasicSearchField) {
255
259
  const oLD = this._oBasicSearchField.getLayoutData();
256
260
  if (oLD && oLD._bSetByFilterBar) {
@@ -261,6 +265,10 @@ sap.ui.define(
261
265
  this._oFilterBarLayout.removeControl(this._oBasicSearchField);
262
266
  }
263
267
  this._oBasicSearchField.detachSubmit(this._handleFilterItemSubmit, this);
268
+
269
+ const sAriaLabelId = fnGetAriaLabelId(this._oBasicSearchField.getId());
270
+ this._oBasicSearchField.removeAriaLabelledBy(sAriaLabelId);
271
+ this.getInvisibleText(sAriaLabelId)?.destroy();
264
272
  }
265
273
  this._oBasicSearchField = oBasicSearchField;
266
274
 
@@ -276,6 +284,17 @@ sap.ui.define(
276
284
  this.setExpandFilterFields(false);
277
285
  }
278
286
 
287
+ const sAriaLabelId = fnGetAriaLabelId(oBasicSearchField.getId());
288
+ let oBasicSearchFieldAriaLabel = this.getInvisibleText(sAriaLabelId);
289
+ if (!oBasicSearchFieldAriaLabel) {
290
+ oBasicSearchFieldAriaLabel = new InvisibleText(sAriaLabelId, { text: {
291
+ path: "$help>/title",
292
+ formatter: (sTitle) => this._oRb.getText("valuehelp.SEARCHFIELD_ARIA_LABEL", [sTitle])
293
+ }});
294
+ this.addInvisibleText(oBasicSearchFieldAriaLabel);
295
+ }
296
+ oBasicSearchField.addAriaLabelledBy(oBasicSearchFieldAriaLabel);
297
+
279
298
  if (this._oFilterBarLayout) {
280
299
  this._oFilterBarLayout.insertControl(oBasicSearchField, this._oCollectiveSearch ? 1 : 0);
281
300
  }
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @param {object} [mSettings] Initial settings for the new control
38
38
  * @class Container for the {@link sap.ui.mdc.ValueHelp ValueHelp} element showing a popover.
39
39
  * @extends sap.ui.mdc.valuehelp.base.Container
40
- * @version 1.141.2
40
+ * @version 1.143.0
41
41
  * @constructor
42
42
  *
43
43
  * @public
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @param {object} [mSettings] Initial settings for the new element
27
27
  * @class Container for the {@link sap.ui.mdc.ValueHelp ValueHelp} element.
28
28
  * @extends sap.ui.core.Element
29
- * @version 1.141.2
29
+ * @version 1.143.0
30
30
  * @constructor
31
31
  * @abstract
32
32
  *
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @param {object} [mSettings] Initial settings for the new element
37
37
  * @class Content for the {@link sap.ui.mdc.valuehelp.base.Container Container} element.
38
38
  * @extends sap.ui.core.Element
39
- * @version 1.141.2
39
+ * @version 1.143.0
40
40
  * @constructor
41
41
  * @abstract
42
42
  *