@openui5/sap.ui.table 1.132.1 → 1.134.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 (104) hide show
  1. package/.reuse/dep5 +2 -9
  2. package/LICENSES/LicenseRef-Unicode-3.0.txt +39 -0
  3. package/THIRDPARTY.txt +45 -78
  4. package/package.json +3 -3
  5. package/src/sap/ui/table/.library +1 -1
  6. package/src/sap/ui/table/AnalyticalColumn.js +18 -13
  7. package/src/sap/ui/table/AnalyticalColumnMenu.js +1 -1
  8. package/src/sap/ui/table/AnalyticalTable.js +7 -3
  9. package/src/sap/ui/table/Column.js +1 -1
  10. package/src/sap/ui/table/ColumnMenu.js +1 -1
  11. package/src/sap/ui/table/CreationRow.js +1 -1
  12. package/src/sap/ui/table/CreationRowRenderer.js +2 -2
  13. package/src/sap/ui/table/Row.js +1 -1
  14. package/src/sap/ui/table/RowAction.js +1 -1
  15. package/src/sap/ui/table/RowActionItem.js +1 -1
  16. package/src/sap/ui/table/RowSettings.js +6 -6
  17. package/src/sap/ui/table/Table.js +22 -8
  18. package/src/sap/ui/table/TablePersoController.js +1 -1
  19. package/src/sap/ui/table/TableRenderer.js +48 -49
  20. package/src/sap/ui/table/TreeTable.js +7 -3
  21. package/src/sap/ui/table/extensions/Accessibility.js +535 -375
  22. package/src/sap/ui/table/extensions/AccessibilityRender.js +1 -9
  23. package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
  24. package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
  25. package/src/sap/ui/table/extensions/Keyboard.js +2 -4
  26. package/src/sap/ui/table/extensions/KeyboardDelegate.js +9 -46
  27. package/src/sap/ui/table/extensions/Pointer.js +1 -1
  28. package/src/sap/ui/table/extensions/Scrolling.js +1 -1
  29. package/src/sap/ui/table/extensions/ScrollingIOS.js +1 -1
  30. package/src/sap/ui/table/extensions/Synchronization.js +1 -1
  31. package/src/sap/ui/table/library.js +11 -11
  32. package/src/sap/ui/table/menus/AnalyticalTableContextMenu.js +1 -1
  33. package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +1 -1
  34. package/src/sap/ui/table/menus/ContextMenu.js +1 -1
  35. package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +54 -44
  36. package/src/sap/ui/table/messagebundle.properties +10 -14
  37. package/src/sap/ui/table/messagebundle_ar.properties +6 -9
  38. package/src/sap/ui/table/messagebundle_bg.properties +6 -9
  39. package/src/sap/ui/table/messagebundle_ca.properties +6 -9
  40. package/src/sap/ui/table/messagebundle_cnr.properties +6 -9
  41. package/src/sap/ui/table/messagebundle_cs.properties +6 -9
  42. package/src/sap/ui/table/messagebundle_cy.properties +6 -9
  43. package/src/sap/ui/table/messagebundle_da.properties +6 -9
  44. package/src/sap/ui/table/messagebundle_de.properties +4 -7
  45. package/src/sap/ui/table/messagebundle_el.properties +5 -8
  46. package/src/sap/ui/table/messagebundle_en.properties +6 -9
  47. package/src/sap/ui/table/messagebundle_en_GB.properties +4 -7
  48. package/src/sap/ui/table/messagebundle_en_US_saprigi.properties +6 -9
  49. package/src/sap/ui/table/messagebundle_es.properties +6 -9
  50. package/src/sap/ui/table/messagebundle_es_MX.properties +5 -8
  51. package/src/sap/ui/table/messagebundle_et.properties +6 -9
  52. package/src/sap/ui/table/messagebundle_fi.properties +6 -9
  53. package/src/sap/ui/table/messagebundle_fr.properties +6 -9
  54. package/src/sap/ui/table/messagebundle_fr_CA.properties +6 -9
  55. package/src/sap/ui/table/messagebundle_hi.properties +6 -9
  56. package/src/sap/ui/table/messagebundle_hr.properties +6 -9
  57. package/src/sap/ui/table/messagebundle_hu.properties +6 -9
  58. package/src/sap/ui/table/messagebundle_id.properties +6 -9
  59. package/src/sap/ui/table/messagebundle_it.properties +6 -9
  60. package/src/sap/ui/table/messagebundle_iw.properties +6 -9
  61. package/src/sap/ui/table/messagebundle_ja.properties +5 -8
  62. package/src/sap/ui/table/messagebundle_kk.properties +10 -13
  63. package/src/sap/ui/table/messagebundle_ko.properties +5 -8
  64. package/src/sap/ui/table/messagebundle_lt.properties +4 -7
  65. package/src/sap/ui/table/messagebundle_lv.properties +5 -8
  66. package/src/sap/ui/table/messagebundle_mk.properties +6 -9
  67. package/src/sap/ui/table/messagebundle_ms.properties +5 -8
  68. package/src/sap/ui/table/messagebundle_nl.properties +6 -9
  69. package/src/sap/ui/table/messagebundle_no.properties +6 -9
  70. package/src/sap/ui/table/messagebundle_pl.properties +6 -9
  71. package/src/sap/ui/table/messagebundle_pt.properties +6 -9
  72. package/src/sap/ui/table/messagebundle_pt_PT.properties +4 -7
  73. package/src/sap/ui/table/messagebundle_ro.properties +6 -9
  74. package/src/sap/ui/table/messagebundle_ru.properties +6 -9
  75. package/src/sap/ui/table/messagebundle_sh.properties +6 -9
  76. package/src/sap/ui/table/messagebundle_sk.properties +6 -9
  77. package/src/sap/ui/table/messagebundle_sl.properties +6 -9
  78. package/src/sap/ui/table/messagebundle_sr.properties +6 -9
  79. package/src/sap/ui/table/messagebundle_sv.properties +6 -9
  80. package/src/sap/ui/table/messagebundle_th.properties +6 -9
  81. package/src/sap/ui/table/messagebundle_tr.properties +6 -9
  82. package/src/sap/ui/table/messagebundle_uk.properties +4 -7
  83. package/src/sap/ui/table/messagebundle_vi.properties +6 -9
  84. package/src/sap/ui/table/messagebundle_zh_CN.properties +4 -7
  85. package/src/sap/ui/table/messagebundle_zh_TW.properties +6 -9
  86. package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
  87. package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +2 -2
  88. package/src/sap/ui/table/plugins/PluginBase.js +1 -1
  89. package/src/sap/ui/table/plugins/SelectionModelSelection.js +3 -1
  90. package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
  91. package/src/sap/ui/table/plugins/V4Aggregation.js +1 -1
  92. package/src/sap/ui/table/rowmodes/Auto.js +1 -1
  93. package/src/sap/ui/table/rowmodes/Fixed.js +1 -1
  94. package/src/sap/ui/table/rowmodes/Interactive.js +19 -12
  95. package/src/sap/ui/table/rowmodes/RowMode.js +1 -1
  96. package/src/sap/ui/table/rowmodes/Variable.js +1 -1
  97. package/src/sap/ui/table/utils/TableUtils.js +15 -4
  98. package/src/sap/ui/table/utils/_BindingUtils.js +1 -1
  99. package/src/sap/ui/table/utils/_ColumnUtils.js +1 -1
  100. package/src/sap/ui/table/utils/_GroupingUtils.js +1 -1
  101. package/src/sap/ui/table/utils/_HookUtils.js +1 -1
  102. package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
  103. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
  104. package/LICENSES/Unicode-DFS-2015.txt +0 -51
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @class Extension for sap.ui.table.TableRenderer which handles ACC related things.
45
45
  * @extends sap.ui.table.extensions.ExtensionBase
46
46
  * @author SAP SE
47
- * @version 1.132.1
47
+ * @version 1.134.0
48
48
  * @constructor
49
49
  * @private
50
50
  * @alias sap.ui.table.extensions.AccessibilityRender
@@ -80,20 +80,12 @@ sap.ui.define([
80
80
  oRm.attr("aria-hidden", "true");
81
81
  oRm.openEnd();
82
82
 
83
- // aria description for the row and column count
84
- _writeAccText(oRm, sTableId, "ariacount");
85
- // aria description for toggling the edit mode
86
- _writeAccText(oRm, sTableId, "toggleedit", TableUtils.getResourceText("TBL_TOGGLE_EDIT_KEY"));
87
83
  // aria label for group rows
88
84
  _writeAccText(oRm, sTableId, "ariarowgrouplabel", TableUtils.getResourceText("TBL_ROW_GROUP_LABEL"));
89
85
  // aria label for grand total sums
90
86
  _writeAccText(oRm, sTableId, "ariagrandtotallabel", TableUtils.getResourceText("TBL_GRAND_TOTAL_ROW"));
91
87
  // aria label for group total sums
92
88
  _writeAccText(oRm, sTableId, "ariagrouptotallabel", TableUtils.getResourceText("TBL_GROUP_TOTAL_ROW"));
93
- // aria description for table row count
94
- _writeAccText(oRm, sTableId, "rownumberofrows");
95
- // aria description for table column count
96
- _writeAccText(oRm, sTableId, "colnumberofcols");
97
89
  // aria description for table cell content
98
90
  _writeAccText(oRm, sTableId, "cellacc");
99
91
  // aria description for column menu
@@ -274,7 +274,7 @@ sap.ui.define([
274
274
  *
275
275
  * @extends sap.ui.table.extensions.ExtensionBase
276
276
  * @author SAP SE
277
- * @version 1.132.1
277
+ * @version 1.134.0
278
278
  * @constructor
279
279
  * @private
280
280
  * @alias sap.ui.table.extensions.DragAndDrop
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @abstract
20
20
  * @extends sap.ui.base.Object
21
21
  * @author SAP SE
22
- * @version 1.132.1
22
+ * @version 1.134.0
23
23
  * @constructor
24
24
  * @private
25
25
  * @alias sap.ui.table.extensions.ExtensionBase
@@ -213,9 +213,7 @@ sap.ui.define([
213
213
  }
214
214
 
215
215
  if (bHasRowActions) {
216
- // Only add a dummy (inivisible inner text) to fullfill matrix for item navigation.
217
- // Header should not be focuable.
218
- aHeaderDomRefs.push($Table.find(".sapUiTableRowActionHeaderCell").children().get(0));
216
+ aHeaderDomRefs.push(oTable.getDomRef("rowacthdr"));
219
217
  }
220
218
  }
221
219
 
@@ -267,7 +265,7 @@ sap.ui.define([
267
265
  * @class Extension for sap.ui.table.Table which handles keyboard related things.
268
266
  * @extends sap.ui.table.extensions.ExtensionBase
269
267
  * @author SAP SE
270
- * @version 1.132.1
268
+ * @version 1.134.0
271
269
  * @constructor
272
270
  * @private
273
271
  * @alias sap.ui.table.extensions.Keyboard
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  *
66
66
  * @extends sap.ui.base.Object
67
67
  * @author SAP SE
68
- * @version 1.132.1
68
+ * @version 1.134.0
69
69
  * @constructor
70
70
  * @private
71
71
  * @alias sap.ui.table.extensions.KeyboardDelegate
@@ -217,7 +217,7 @@ sap.ui.define([
217
217
 
218
218
  if (oCellInfo.rowIndex === 0) {
219
219
  // Let the item navigation focus the column header cell, but not in the row action column.
220
- preventItemNavigation(oEvent, oCellInfo.isOfType(CellType.ROWACTION) || bActionModeNavigation);
220
+ preventItemNavigation(oEvent, bActionModeNavigation);
221
221
 
222
222
  // Leave the action mode when trying to navigate up on the first row.
223
223
  if (!bActionMode && $ParentCell) {
@@ -241,34 +241,6 @@ sap.ui.define([
241
241
  && (bCtrlKeyPressed || !(oEvent.target instanceof window.HTMLInputElement) && !(oEvent.target instanceof window.HTMLTextAreaElement));
242
242
  }
243
243
 
244
- /**
245
- * Sets the focus to the previous cell in the same row.
246
- *
247
- * @param {sap.ui.table.Table} oTable Instance of the table.
248
- * @param {jQuery.Event} oEvent The keyboard event object.
249
- */
250
- function navigateLeft(oTable, oEvent) {
251
- if (oEvent.isMarked()) {
252
- return; // Do not interfere with embedded controls that react on the keyboard event.
253
- }
254
-
255
- const oCellInfo = TableUtils.getCellInfo(TableUtils.getCell(oTable, oEvent.target));
256
- const bIsRTL = Localization.getRTL();
257
-
258
- if (!oCellInfo.isOfType(CellType.COLUMNHEADER) || !bIsRTL) {
259
- return;
260
- }
261
-
262
- const oFocusedItemInfo = TableUtils.getFocusedItemInfo(oTable);
263
- const iFocusedColumn = oFocusedItemInfo.cellInRow - (TableUtils.hasRowHeader(oTable) ? 1 : 0);
264
- const iColumnCount = TableUtils.getVisibleColumnCount(oTable);
265
-
266
- if (TableUtils.hasRowActions(oTable) && iFocusedColumn === iColumnCount - 1) {
267
- // Do not navigate to the row actions column header cell.
268
- preventItemNavigation(oEvent);
269
- }
270
- }
271
-
272
244
  function waitForRowsUpdated(oTable) {
273
245
  return new Promise(function(resolve) {
274
246
  oTable.attachEventOnce("_rowsUpdated", resolve);
@@ -276,7 +248,7 @@ sap.ui.define([
276
248
  }
277
249
 
278
250
  function waitForData(oTable) {
279
- if (oTable._hasPendingRequests()) {
251
+ if (oTable._isWaitingForData()) {
280
252
  return waitForRowsUpdated(oTable).then(function() {
281
253
  return waitForData(oTable);
282
254
  });
@@ -1402,7 +1374,7 @@ sap.ui.define([
1402
1374
  }
1403
1375
 
1404
1376
  } else if (oCellInfo.isOfType(CellType.ANYCONTENTCELL) || oEvent.target === this.getDomRef("noDataCnt")) {
1405
- if (this.getColumnHeaderVisible() && (TableUtils.getVisibleColumnCount(this) || this.getSelectionMode() !== SelectionMode.None) && !oCellInfo.isOfType(CellType.ROWACTION)) {
1377
+ if (this.getColumnHeaderVisible() && (TableUtils.getVisibleColumnCount(this) || this.getSelectionMode() !== SelectionMode.None)) {
1406
1378
  setFocusOnColumnHeaderOfLastFocusedDataCell(this, oEvent);
1407
1379
  oEvent.preventDefault();
1408
1380
  } else {
@@ -1604,7 +1576,6 @@ sap.ui.define([
1604
1576
 
1605
1577
  KeyboardDelegate.prototype.onsapleft = function(oEvent) {
1606
1578
  handleNavigationEvent(oEvent);
1607
- navigateLeft(this, oEvent);
1608
1579
  };
1609
1580
 
1610
1581
  KeyboardDelegate.prototype.onsapleftmodifiers = function(oEvent) {
@@ -1781,7 +1752,7 @@ sap.ui.define([
1781
1752
 
1782
1753
  const oCellInfo = TableUtils.getCellInfo(oEvent.target);
1783
1754
 
1784
- if (oCellInfo.isOfType(CellType.DATACELL | CellType.ROWACTION | CellType.COLUMNHEADER)) {
1755
+ if (oCellInfo.isOfType(CellType.DATACELL | CellType.ROWACTION | CellType.COLUMNHEADER | CellType.ROWACTIONCOLUMNHEADER)) {
1785
1756
  const oFocusedItemInfo = TableUtils.getFocusedItemInfo(this);
1786
1757
  const iFocusedIndex = oFocusedItemInfo.cell;
1787
1758
  const iFocusedCellInRow = oFocusedItemInfo.cellInRow;
@@ -1853,7 +1824,7 @@ sap.ui.define([
1853
1824
  preventItemNavigation(oEvent);
1854
1825
  TableUtils.focusItem(this, iFocusedIndex + iFixedColumnCount - iFocusedCellInRow, null);
1855
1826
 
1856
- } else if (TableUtils.hasRowActions(this) && oCellInfo.isOfType(CellType.DATACELL) && iFocusedCellInRow < iColumnCount - 2) {
1827
+ } else if (TableUtils.hasRowActions(this) && iFocusedCellInRow < iColumnCount - 2) {
1857
1828
  // If the focus is on a data cell in the scrollable column area (except last cell),
1858
1829
  // then set the focus to the row actions cell.
1859
1830
  // Note: The END navigation from the last cell to the row action cell is handled by the item navigation.
@@ -1890,22 +1861,14 @@ sap.ui.define([
1890
1861
  /* Column header area */
1891
1862
  /* Top fixed area */
1892
1863
  if (iFocusedRow < iHeaderRowCount + mRowCounts.fixedTop) {
1893
- if (oCellInfo.isOfType(CellType.ROWACTION)) {
1894
- // Set the focus to the first row (row actions do not have a header).
1895
- TableUtils.focusItem(this, iFocusedIndex - iColumnCount * (iFocusedRow - iHeaderRowCount), oEvent);
1896
- } else {
1897
- // In case a column header exists, set the focus to the first row of the column header,
1898
- // otherwise set the focus to the first row of the top fixed area.
1899
- TableUtils.focusItem(this, iFocusedIndex - iColumnCount * iFocusedRow, oEvent);
1900
- }
1901
-
1864
+ TableUtils.focusItem(this, iFocusedIndex - iColumnCount * iFocusedRow, oEvent);
1902
1865
  /* Scrollable area */
1903
1866
  } else if (iFocusedRow >= iHeaderRowCount + mRowCounts.fixedTop &&
1904
1867
  iFocusedRow < iHeaderRowCount + TableUtils.getNonEmptyRowCount(this) - mRowCounts.fixedBottom) {
1905
1868
  this._getScrollExtension().scrollVerticallyMax(false);
1906
- // If a fixed top area exists or we are in the row action column (has no header), then set the focus to the first row (of
1869
+ // If a fixed top area exists, then set the focus to the first row (of
1907
1870
  // the top fixed area), otherwise set the focus to the first row of the column header area.
1908
- if (mRowCounts.fixedTop > 0 || oCellInfo.isOfType(CellType.ROWACTION)) {
1871
+ if (mRowCounts.fixedTop > 0) {
1909
1872
  TableUtils.focusItem(this, iFocusedIndex - iColumnCount * (iFocusedRow - iHeaderRowCount), oEvent);
1910
1873
  } else {
1911
1874
  TableUtils.focusItem(this, iFocusedIndex - iColumnCount * iFocusedRow, oEvent);
@@ -670,7 +670,7 @@ sap.ui.define([
670
670
  * @class Extension for sap.ui.table.Table which handles mouse and touch related things.
671
671
  * @extends sap.ui.table.extensions.ExtensionBase
672
672
  * @author SAP SE
673
- * @version 1.132.1
673
+ * @version 1.134.0
674
674
  * @constructor
675
675
  * @private
676
676
  * @alias sap.ui.table.extensions.Pointer
@@ -2295,7 +2295,7 @@ sap.ui.define([
2295
2295
  * @class Extension for sap.ui.table.Table which handles scrolling.
2296
2296
  * @extends sap.ui.table.extensions.ExtensionBase
2297
2297
  * @author SAP SE
2298
- * @version 1.132.1
2298
+ * @version 1.134.0
2299
2299
  * @constructor
2300
2300
  * @private
2301
2301
  * @alias sap.ui.table.extensions.Scrolling
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @class Extension for sap.ui.table.Table which handles the scrollbar on iOS.
28
28
  * @extends sap.ui.table.extensions.ExtensionBase
29
29
  * @author SAP SE
30
- * @version 1.132.1
30
+ * @version 1.134.0
31
31
  * @constructor
32
32
  * @private
33
33
  * @alias sap.ui.table.extensions.ScrollingIOS
@@ -185,7 +185,7 @@ sap.ui.define([
185
185
  * @class Extension for sap.ui.table.Table that allows synchronization with a table.
186
186
  * @extends sap.ui.table.extensions.ExtensionBase
187
187
  * @author SAP SE
188
- * @version 1.132.1
188
+ * @version 1.134.0
189
189
  * @constructor
190
190
  * @private
191
191
  * @alias sap.ui.table.extensions.Synchronization
@@ -27,14 +27,14 @@ sap.ui.define([
27
27
  * @namespace
28
28
  * @alias sap.ui.table
29
29
  * @author SAP SE
30
- * @version 1.132.1
30
+ * @version 1.134.0
31
31
  * @since 0.8
32
32
  * @public
33
33
  */
34
34
  const thisLib = Library.init({
35
35
  name: "sap.ui.table",
36
36
  apiVersion: 2,
37
- version: "1.132.1",
37
+ version: "1.134.0",
38
38
  dependencies: ["sap.ui.core", "sap.ui.unified"],
39
39
  designtime: "sap/ui/table/designtime/library.designtime",
40
40
  types: [
@@ -96,7 +96,7 @@ sap.ui.define([
96
96
  /**
97
97
  * Navigation mode of the table
98
98
  *
99
- * @version 1.132.1
99
+ * @version 1.134.0
100
100
  * @enum {string}
101
101
  * @deprecated As of version 1.38, the concept has been discarded.
102
102
  * @public
@@ -127,7 +127,7 @@ sap.ui.define([
127
127
  /**
128
128
  * Row Action types.
129
129
  *
130
- * @version 1.132.1
130
+ * @version 1.134.0
131
131
  * @enum {string}
132
132
  * @public
133
133
  */
@@ -158,7 +158,7 @@ sap.ui.define([
158
158
  /**
159
159
  * Selection behavior of the table
160
160
  *
161
- * @version 1.132.1
161
+ * @version 1.134.0
162
162
  * @enum {string}
163
163
  * @public
164
164
  */
@@ -189,7 +189,7 @@ sap.ui.define([
189
189
  /**
190
190
  * Selection mode of the table
191
191
  *
192
- * @version 1.132.1
192
+ * @version 1.134.0
193
193
  * @enum {string}
194
194
  * @public
195
195
  */
@@ -227,7 +227,7 @@ sap.ui.define([
227
227
  /**
228
228
  * Sort order of a column
229
229
  *
230
- * @version 1.132.1
230
+ * @version 1.134.0
231
231
  * @enum {string}
232
232
  * @public
233
233
  * @deprecated As of version 1.120, replaced with <code>sap.ui.core.SortOrder</code>
@@ -254,7 +254,7 @@ sap.ui.define([
254
254
  /**
255
255
  * VisibleRowCountMode of the table
256
256
  *
257
- * @version 1.132.1
257
+ * @version 1.134.0
258
258
  * @enum {string}
259
259
  * @deprecated As of version 1.119, see the <code>rowMode</code> aggregation of <code>sap.ui.table.Table</code> for more details.
260
260
  * @public
@@ -299,7 +299,7 @@ sap.ui.define([
299
299
  *
300
300
  * Contains IDs of shared DOM references, which should be accessible to inheriting controls via getDomRef() function.
301
301
  *
302
- * @version 1.132.1
302
+ * @version 1.134.0
303
303
  * @enum {string}
304
304
  * @public
305
305
  */
@@ -400,7 +400,7 @@ sap.ui.define([
400
400
  *
401
401
  * This is an alias for {@link sap.ui.model.TreeAutoExpandMode} and kept for compatibility reasons.
402
402
  *
403
- * @version 1.132.1
403
+ * @version 1.134.0
404
404
  * @typedef {sap.ui.model.TreeAutoExpandMode}
405
405
  * @public
406
406
  * @deprecated As of version 1.120, replaced by <code>sap.ui.model.TreeAutoExpandMode</code>
@@ -414,7 +414,7 @@ sap.ui.define([
414
414
  /**
415
415
  * Mode of a selection plugin
416
416
  *
417
- * @version 1.132.1
417
+ * @version 1.134.0
418
418
  * @enum {string}
419
419
  * @private
420
420
  */
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @class
36
36
  * @extends sap.ui.table.menus.ContextMenu
37
37
  * @author SAP SE
38
- * @version 1.132.1
38
+ * @version 1.134.0
39
39
  * @private
40
40
  * @alias sap.ui.table.menus.AnalyticalTableContextMenu
41
41
  */
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  *
36
36
  * @extends sap.ui.base.Object
37
37
  * @author SAP SE
38
- * @version 1.132.1
38
+ * @version 1.134.0
39
39
  * @private
40
40
  * @alias sap.ui.table.menus.ColumnHeaderMenuAdapter
41
41
  */
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @class
24
24
  * @extends sap.ui.core.Element
25
25
  * @author SAP SE
26
- * @version 1.132.1
26
+ * @version 1.134.0
27
27
  * @private
28
28
  * @alias sap.ui.table.menus.ContextMenu
29
29
  */
@@ -7,20 +7,18 @@
7
7
  sap.ui.define([
8
8
  "./ColumnHeaderMenuAdapter",
9
9
  "../utils/TableUtils",
10
- "../library",
11
10
  "sap/m/library",
12
11
  "sap/m/table/columnmenu/QuickAction",
13
- "sap/m/table/columnmenu/QuickActionContainer",
14
12
  "sap/m/table/columnmenu/QuickSort",
15
13
  "sap/m/table/columnmenu/QuickSortItem",
16
14
  "sap/m/table/columnmenu/QuickGroup",
17
15
  "sap/m/table/columnmenu/QuickGroupItem",
18
16
  "sap/m/table/columnmenu/QuickTotal",
19
17
  "sap/m/table/columnmenu/QuickTotalItem",
20
- "sap/m/table/columnmenu/Item",
21
18
  "sap/m/table/columnmenu/ItemContainer",
22
19
  "sap/m/table/columnmenu/ActionItem",
23
20
  "sap/m/Button",
21
+ "sap/m/Switch",
24
22
  "sap/m/Input",
25
23
  "sap/ui/core/Lib",
26
24
  "sap/ui/core/library",
@@ -28,20 +26,18 @@ sap.ui.define([
28
26
  ], function(
29
27
  ColumnHeaderMenuAdapter,
30
28
  TableUtils,
31
- library,
32
29
  MLibrary,
33
30
  QuickAction,
34
- QuickActionContainer,
35
31
  QuickSort,
36
32
  QuickSortItem,
37
33
  QuickGroup,
38
34
  QuickGroupItem,
39
35
  QuickTotal,
40
36
  QuickTotalItem,
41
- Item,
42
37
  ItemContainer,
43
38
  ActionItem,
44
39
  Button,
40
+ Switch,
45
41
  Input,
46
42
  Library,
47
43
  CoreLibrary,
@@ -59,11 +55,12 @@ sap.ui.define([
59
55
  *
60
56
  * @extends sap.ui.table.menus.ColumnHeaderMenuAdapter
61
57
  * @author SAP SE
62
- * @version 1.132.1
58
+ * @version 1.134.0
63
59
  * @private
64
60
  * @alias sap.ui.table.menus.MobileColumnHeaderMenuAdapter
65
61
  */
66
- const MobileColumnHeaderMenuAdapter = ColumnHeaderMenuAdapter.extend("sap.ui.table.menus.MobileColumnHeaderMenuAdapter", /** @lends sap.ui.table.menus.MobileColumnHeaderMenuAdapter.prototype */ {});
62
+ const MobileColumnHeaderMenuAdapter = ColumnHeaderMenuAdapter.extend("sap.ui.table.menus.MobileColumnHeaderMenuAdapter",
63
+ /** @lends sap.ui.table.menus.MobileColumnHeaderMenuAdapter.prototype */ {});
67
64
 
68
65
  /**
69
66
  * Injects entries to the column menu needed to utilize built-in column features.
@@ -77,7 +74,12 @@ sap.ui.define([
77
74
  this._oMenu = oMenu;
78
75
 
79
76
  this._prepareQuickActions(oColumn);
80
- oMenu.addAggregation("_quickActions", this._oQuickActionContainer);
77
+ this._oMenu.addAggregation("_quickActions", this._oQuickSort);
78
+ this._oMenu.addAggregation("_quickActions", this._oQuickFilter);
79
+ this._oMenu.addAggregation("_quickActions", this._oQuickGroup);
80
+ this._oMenu.addAggregation("_quickActions", this._oQuickTotal);
81
+ this._oMenu.addAggregation("_quickActions", this._oQuickFreeze);
82
+ this._oMenu.addAggregation("_quickActions", this._oQuickResize);
81
83
 
82
84
  this._prepareItems(oColumn);
83
85
  oMenu.addAggregation("_items", this._oItemContainer);
@@ -90,7 +92,13 @@ sap.ui.define([
90
92
  */
91
93
  MobileColumnHeaderMenuAdapter.prototype.removeMenuItems = function(oMenu) {
92
94
  delete this._oColumn;
93
- oMenu.removeAggregation("_quickActions", this._oQuickActionContainer);
95
+ oMenu.removeAggregation("_quickActions", this._oQuickSort);
96
+ oMenu.removeAggregation("_quickActions", this._oQuickFilter);
97
+ oMenu.removeAggregation("_quickActions", this._oQuickGroup);
98
+ oMenu.removeAggregation("_quickActions", this._oQuickTotal);
99
+ oMenu.removeAggregation("_quickActions", this._oQuickFreeze);
100
+ oMenu.removeAggregation("_quickActions", this._oQuickResize);
101
+
94
102
  oMenu.removeAggregation("_items", this._oItemContainer);
95
103
  };
96
104
 
@@ -105,12 +113,12 @@ sap.ui.define([
105
113
  return;
106
114
  }
107
115
 
108
- delete this._oQuickActionContainer;
109
116
  delete this._oQuickSort;
110
- delete this._oQuickFreeze;
111
117
  delete this._oQuickFilter;
112
118
  delete this._oQuickGroup;
113
119
  delete this._oQuickTotal;
120
+ delete this._oQuickFreeze;
121
+ delete this._oQuickResize;
114
122
 
115
123
  delete this._oItemContainer;
116
124
  delete this._oCustomFilterItem;
@@ -130,27 +138,13 @@ sap.ui.define([
130
138
  const oTable = oColumn._getTable();
131
139
 
132
140
  this._prepareQuickSort(oColumn);
133
-
134
141
  if (!oTable.getEnableCustomFilter()) {
135
142
  this._prepareQuickFilter(oColumn);
136
143
  }
137
-
138
144
  this._prepareQuickGroup(oColumn);
139
-
140
145
  this._prepareQuickTotal(oColumn);
141
146
  this._prepareQuickFreeze(oColumn);
142
147
  this._prepareQuickResize(oColumn);
143
-
144
- if (!this._oQuickActionContainer) {
145
- this._oQuickActionContainer = new QuickActionContainer();
146
- }
147
-
148
- this._oQuickActionContainer.addQuickAction(this._oQuickSort);
149
- this._oQuickActionContainer.addQuickAction(this._oQuickFilter);
150
- this._oQuickActionContainer.addQuickAction(this._oQuickGroup);
151
- this._oQuickActionContainer.addQuickAction(this._oQuickTotal);
152
- this._oQuickActionContainer.addQuickAction(this._oQuickFreeze);
153
- this._oQuickActionContainer.addQuickAction(this._oQuickResize);
154
148
  };
155
149
 
156
150
  MobileColumnHeaderMenuAdapter.prototype._prepareItems = function(oColumn) {
@@ -168,16 +162,31 @@ sap.ui.define([
168
162
  };
169
163
 
170
164
  MobileColumnHeaderMenuAdapter.prototype._destroyQuickActions = function() {
171
- if (this._oQuickActionContainer) {
172
- this._oQuickActionContainer.destroy();
165
+ if (this._oQuickSort) {
166
+ this._oQuickSort.destroy();
167
+ }
168
+ if (this._oQuickFilter) {
169
+ this._oQuickFilter.destroy();
170
+ }
171
+ if (this._oQuickGroup) {
172
+ this._oQuickGroup.destroy();
173
+ }
174
+ if (this._oQuickTotal) {
175
+ this._oQuickTotal.destroy();
176
+ }
177
+ if (this._oQuickFreeze) {
178
+ this._oQuickFreeze.destroy();
179
+ }
180
+ if (this._oQuickResize) {
181
+ this._oQuickResize.destroy();
173
182
  }
174
183
 
175
- delete this._oQuickActionContainer;
176
184
  delete this._oQuickSort;
177
185
  delete this._oQuickFilter;
178
186
  delete this._oQuickGroup;
179
187
  delete this._oQuickTotal;
180
188
  delete this._oQuickFreeze;
189
+ delete this._oQuickResize;
181
190
  };
182
191
 
183
192
  MobileColumnHeaderMenuAdapter.prototype._destroyItems = function() {
@@ -221,7 +230,7 @@ sap.ui.define([
221
230
  MobileColumnHeaderMenuAdapter.prototype._prepareQuickFilter = function(oColumn) {
222
231
  if (oColumn.getShowFilterMenuEntry() && oColumn.isFilterableByMenu()) {
223
232
  if (!this._oQuickFilter) {
224
- this._oQuickFilter = this._createQuickFilter();
233
+ this._oQuickFilter = this._createQuickFilter(oColumn);
225
234
  this._oQuickFilter._bHideLabelColon = true;
226
235
  }
227
236
  this._updateQuickFilter(oColumn);
@@ -251,10 +260,9 @@ sap.ui.define([
251
260
  };
252
261
 
253
262
  MobileColumnHeaderMenuAdapter.prototype._updateQuickFilter = function(oColumn) {
254
- const oSapMResourceBundle = Library.getResourceBundleFor("sap.m");
255
263
  const oFilterField = this._oQuickFilter.getContent()[0];
256
264
 
257
- this._oQuickFilter.setLabel(oSapMResourceBundle.getText("table.COLUMNMENU_QUICK_FILTER", [TableUtils.Column.getHeaderText(oColumn)]));
265
+ this._oQuickFilter.setLabel(TableUtils.Column.getHeaderText(oColumn));
258
266
  oFilterField.setValue(oColumn.getFilterValue());
259
267
  oFilterField.setValueState(oColumn._getFilterState());
260
268
  };
@@ -349,20 +357,21 @@ sap.ui.define([
349
357
 
350
358
  MobileColumnHeaderMenuAdapter.prototype._createQuickFreeze = function() {
351
359
  return new QuickAction({
352
- content: new Button({
353
- press: [function(oEvent) {
360
+ label: TableUtils.getResourceText("TBL_FREEZE"),
361
+ content: new Switch({
362
+ customTextOn: " ",
363
+ customTextOff: " ",
364
+ change: [function(oEvent) {
354
365
  const oTable = this._oColumn._getTable();
355
366
  const bExecuteDefault = oTable.fireColumnFreeze({
356
367
  column: this._oColumn
357
368
  });
358
369
 
359
370
  if (bExecuteDefault) {
360
- const bIsLastFixedColumn = oEvent.getSource().getText() === TableUtils.getResourceText("TBL_UNFREEZE");
361
-
362
- if (bIsLastFixedColumn) {
363
- oTable.setFixedColumnCount(0);
364
- } else {
371
+ if (oEvent.getSource().getState()) {
365
372
  oTable.setFixedColumnCount(this._oColumn.getIndex() + 1);
373
+ } else {
374
+ oTable.setFixedColumnCount(this._oColumn.getIndex());
366
375
  }
367
376
  }
368
377
 
@@ -373,10 +382,8 @@ sap.ui.define([
373
382
  };
374
383
 
375
384
  MobileColumnHeaderMenuAdapter.prototype._updateQuickFreeze = function(oColumn) {
376
- const bIsLastFixedColumn = oColumn.getIndex() + TableUtils.Column.getHeaderSpan(oColumn) === oColumn._getTable().getComputedFixedColumnCount();
377
- const sResourceTextKey = bIsLastFixedColumn ? "TBL_UNFREEZE" : "TBL_FREEZE";
378
-
379
- this._oQuickFreeze.getContent()[0].setText(TableUtils.getResourceText(sResourceTextKey));
385
+ const bFixed = oColumn.getIndex() + TableUtils.Column.getHeaderSpan(oColumn) <= oColumn._getTable().getComputedFixedColumnCount();
386
+ this._oQuickFreeze.getContent()[0].setState(bFixed);
380
387
  };
381
388
 
382
389
  MobileColumnHeaderMenuAdapter.prototype._prepareQuickResize = function(oColumn) {
@@ -392,10 +399,13 @@ sap.ui.define([
392
399
 
393
400
  MobileColumnHeaderMenuAdapter.prototype._createQuickResize = function(oColumn) {
394
401
  const oSapMResourceBundle = Library.getResourceBundleFor("sap.m");
402
+ const sLabel = oSapMResourceBundle.getText("table.COLUMNMENU_RESIZE");
395
403
 
396
404
  return new QuickAction({
405
+ label: sLabel,
397
406
  content: new Button({
398
- text: oSapMResourceBundle.getText("table.COLUMNMENU_RESIZE"),
407
+ icon: "sap-icon://resize-horizontal",
408
+ tooltip: sLabel,
399
409
  press: [function(oEvent) {
400
410
  this._startColumnResize(oColumn);
401
411
  this._oMenu.close();
@@ -53,16 +53,15 @@ TBL_COL_VISBILITY_MENUITEM_SHOW=Show Column
53
53
  TBL_COL_VISBILITY_MENUITEM_HIDE=Hide Column
54
54
 
55
55
  #XACT: accessibilty description for a table with enabled mutli-selection for rows (for the ScreenReader)
56
- TBL_TABLE_SELECTION_MULTI=Multi-Selection Table
56
+ TBL_TABLE_SELECTION_MULTI=Multi Selection Table
57
57
  #XACT: accessibilty description for a table with enabled single-selection for rows (for the ScreenReader)
58
- TBL_TABLE_SELECTION_SINGLE=Single-Selection Table
58
+ TBL_TABLE_SELECTION_SINGLE=Single Selection Table
59
+ #XACT: accessibilty label for the selection column (for the ScreenReader)
60
+ TBL_TABLE_SELECTION_COLUMNHEADER=Selection column
59
61
 
60
62
  #XACT: accessibilty description for an invalid table (for the ScreenReader)
61
63
  TBL_TABLE_INVALID=Invalid Table
62
64
 
63
- #XACT: accessibilty description for count of rows and columns
64
- TBL_DATA_ROWS_COLS=Table contains {0} rows and {1} columns
65
-
66
65
  #XACT: accessibilty description for row selection via keyboard
67
66
  TBL_ROW_SELECT_KEY=To select row, press SPACEBAR
68
67
  #XACT: accessibilty description for row deselection via keyboard
@@ -82,8 +81,8 @@ TBL_SELECT_ALL=Select All
82
81
  #XTOL: Tooltip for the select all row header
83
82
  TBL_DESELECT_ALL=Deselect All
84
83
 
85
- #XACT: accessibilty description for toggling the edit mode on a cell via keyboard
86
- TBL_TOGGLE_EDIT_KEY=To enter a table cell, press F2
84
+ #XACT: accessibility text for announcing the cell content
85
+ TBL_CELL_INCLUDES=Includes {0}
87
86
 
88
87
  #XTOL: Tooltip of the button to expand/collapse a tree table node
89
88
  TBL_COLLAPSE_EXPAND=Expand / Collapse Node
@@ -103,12 +102,6 @@ TBL_GROUP_TOTAL_ROW=Group summary
103
102
  #XACT: accessibilty description fixed columns
104
103
  TBL_FIXED_COLUMN=Fixed Column
105
104
 
106
- #XACT: accessibility description for focused row count
107
- TBL_ROW_ROWCOUNT=Row {0} of {1}
108
-
109
- #XACT: accessibility description for focused column count
110
- TBL_COL_COLCOUNT=Column {0} of {1}
111
-
112
105
  #XACT: accessibility label for a grouping row
113
106
  TBL_ROW_GROUP_LABEL=Group Row
114
107
 
@@ -224,4 +217,7 @@ TBL_RSZ_MINIMIZE_SHORTCUT=Home
224
217
  TBL_RSZ_MAXIMIZE=Maximize Section
225
218
 
226
219
  #XMIT: Keyboard shortcut to maximize section
227
- TBL_RSZ_MAXIMIZE_SHORTCUT=End
220
+ TBL_RSZ_MAXIMIZE_SHORTCUT=End
221
+
222
+ #XACT Screenreader should announce when the table is resized
223
+ TBL_RSZ_RESIZED={0} rows shown