@openui5/sap.ui.table 1.112.2 → 1.114.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 (51) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +3 -3
  3. package/src/sap/ui/table/.library +1 -1
  4. package/src/sap/ui/table/AnalyticalColumn.js +2 -2
  5. package/src/sap/ui/table/AnalyticalColumnMenu.js +1 -1
  6. package/src/sap/ui/table/AnalyticalTable.js +1 -1
  7. package/src/sap/ui/table/Column.js +1 -1
  8. package/src/sap/ui/table/ColumnMenu.js +1 -1
  9. package/src/sap/ui/table/CreationRow.js +1 -1
  10. package/src/sap/ui/table/Row.js +2 -2
  11. package/src/sap/ui/table/RowAction.js +1 -1
  12. package/src/sap/ui/table/RowActionItem.js +1 -1
  13. package/src/sap/ui/table/RowSettings.js +1 -1
  14. package/src/sap/ui/table/Table.js +60 -54
  15. package/src/sap/ui/table/TablePersoController.js +1 -1
  16. package/src/sap/ui/table/TableRenderer.js +8 -8
  17. package/src/sap/ui/table/TreeTable.js +1 -1
  18. package/src/sap/ui/table/extensions/Accessibility.js +22 -19
  19. package/src/sap/ui/table/extensions/AccessibilityRender.js +3 -14
  20. package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
  21. package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
  22. package/src/sap/ui/table/extensions/Keyboard.js +1 -1
  23. package/src/sap/ui/table/extensions/KeyboardDelegate.js +83 -50
  24. package/src/sap/ui/table/extensions/Pointer.js +7 -33
  25. package/src/sap/ui/table/extensions/Scrolling.js +1 -1
  26. package/src/sap/ui/table/extensions/ScrollingIOS.js +1 -1
  27. package/src/sap/ui/table/extensions/Synchronization.js +2 -2
  28. package/src/sap/ui/table/library.js +48 -17
  29. package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +1 -1
  30. package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +1 -1
  31. package/src/sap/ui/table/messagebundle_bg.properties +6 -6
  32. package/src/sap/ui/table/messagebundle_da.properties +1 -1
  33. package/src/sap/ui/table/plugins/BindingSelection.js +61 -19
  34. package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +33 -21
  35. package/src/sap/ui/table/plugins/ODataV4Selection.js +490 -0
  36. package/src/sap/ui/table/plugins/PluginBase.js +1 -1
  37. package/src/sap/ui/table/plugins/SelectionModelSelection.js +71 -24
  38. package/src/sap/ui/table/plugins/SelectionPlugin.js +47 -160
  39. package/src/sap/ui/table/plugins/V4Aggregation.js +8 -6
  40. package/src/sap/ui/table/rowmodes/AutoRowMode.js +1 -1
  41. package/src/sap/ui/table/rowmodes/FixedRowMode.js +1 -1
  42. package/src/sap/ui/table/rowmodes/InteractiveRowMode.js +1 -1
  43. package/src/sap/ui/table/rowmodes/RowMode.js +1 -1
  44. package/src/sap/ui/table/rowmodes/VariableRowMode.js +1 -1
  45. package/src/sap/ui/table/rules/Accessibility.support.js +2 -2
  46. package/src/sap/ui/table/utils/TableUtils.js +21 -64
  47. package/src/sap/ui/table/utils/_BindingUtils.js +1 -1
  48. package/src/sap/ui/table/utils/_ColumnUtils.js +1 -1
  49. package/src/sap/ui/table/utils/_GroupingUtils.js +2 -2
  50. package/src/sap/ui/table/utils/_HookUtils.js +1 -1
  51. package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  *
66
66
  * @extends sap.ui.base.Object
67
67
  * @author SAP SE
68
- * @version 1.112.2
68
+ * @version 1.114.0
69
69
  * @constructor
70
70
  * @private
71
71
  * @alias sap.ui.table.extensions.KeyboardDelegate
@@ -269,6 +269,22 @@ sap.ui.define([
269
269
  }
270
270
  }
271
271
 
272
+ function waitForRowsUpdated(oTable) {
273
+ return new Promise(function(resolve) {
274
+ oTable.attachEventOnce("_rowsUpdated", resolve);
275
+ });
276
+ }
277
+
278
+ function waitForData(oTable) {
279
+ if (oTable._hasPendingRequests()) {
280
+ return waitForRowsUpdated(oTable).then(function() {
281
+ return waitForData(oTable);
282
+ });
283
+ }
284
+
285
+ return Promise.resolve();
286
+ }
287
+
272
288
  function scrollDown(oTable, oEvent, bPage, fnFocus) {
273
289
  var bScrolledToEnd = oTable._getFirstRenderedRowIndex() === oTable._getMaxFirstRenderedRowIndex();
274
290
 
@@ -276,21 +292,17 @@ sap.ui.define([
276
292
  return null;
277
293
  }
278
294
 
279
- _scroll(oTable, oEvent, true, bPage, fnFocus);
280
-
281
- return true;
295
+ return _scroll(oTable, oEvent, true, bPage, fnFocus);
282
296
  }
283
297
 
284
298
  function scrollUp(oTable, oEvent, bPage, fnFocus) {
285
299
  var bScrolledToTop = oTable._getFirstRenderedRowIndex() === 0;
286
300
 
287
301
  if (bScrolledToTop) {
288
- return false;
302
+ return null;
289
303
  }
290
304
 
291
- _scroll(oTable, oEvent, false, bPage, fnFocus);
292
-
293
- return true;
305
+ return _scroll(oTable, oEvent, false, bPage, fnFocus);
294
306
  }
295
307
 
296
308
  function _scroll(oTable, oEvent, bDown, bPage, fnFocus) {
@@ -309,15 +321,13 @@ sap.ui.define([
309
321
  oTable._getScrollExtension().scrollVertically(bDown === true, bPage);
310
322
  }
311
323
 
312
- if (bActionModeNavigation || fnFocus) {
313
- oTable.attachEventOnce("rowsUpdated", function() {
314
- if (fnFocus) {
315
- fnFocus();
316
- } else {
317
- focusCell(oTable, oCellInfo.type, oCellInfo.rowIndex, oCellInfo.columnIndex, true);
318
- }
319
- });
320
- }
324
+ return waitForRowsUpdated(oTable).then(function() {
325
+ if (fnFocus) {
326
+ fnFocus();
327
+ } else if (bActionModeNavigation) {
328
+ focusCell(oTable, oCellInfo.type, oCellInfo.rowIndex, oCellInfo.columnIndex, true);
329
+ }
330
+ });
321
331
  }
322
332
 
323
333
  function scrollDownAndFocus(oTable, oEvent) {
@@ -521,9 +531,8 @@ sap.ui.define([
521
531
  function selectItems() {
522
532
  var _doSelect = null;
523
533
  if (oTable._legacyMultiSelection) {
524
- _doSelect = function(iRowIndex) {
525
- oTable._legacyMultiSelection(iRowIndex, oEvent);
526
- return true;
534
+ _doSelect = function(oRow) {
535
+ oTable._legacyMultiSelection(oRow.getIndex(), oEvent);
527
536
  };
528
537
  }
529
538
  TableUtils.toggleRowSelection(oTable, oEvent.target, null, _doSelect);
@@ -577,6 +586,19 @@ sap.ui.define([
577
586
  return -1;
578
587
  }
579
588
 
589
+ function moveRangeSelection(oTable, iRowIndex, bReverse) {
590
+ if (!bReverse) {
591
+ if (oTable._oRangeSelection.selected) {
592
+ TableUtils.toggleRowSelection(oTable, iRowIndex, true);
593
+ } else {
594
+ TableUtils.toggleRowSelection(oTable, iRowIndex, false);
595
+ }
596
+ } else {
597
+ // When moving back down to the row where the range selection started, the rows always get deselected.
598
+ TableUtils.toggleRowSelection(oTable, iRowIndex, false);
599
+ }
600
+ }
601
+
580
602
  /**
581
603
  * Focuses an element.
582
604
  *
@@ -890,7 +912,8 @@ sap.ui.define([
890
912
 
891
913
  function startRangeSelectionMode(oTable) {
892
914
  var iFocusedRowIndex = TableUtils.getRowIndexOfFocusedCell(oTable);
893
- var iDataRowIndex = oTable.getRows()[iFocusedRowIndex].getIndex();
915
+ var oRow = oTable.getRows()[iFocusedRowIndex];
916
+ var iAbsoluteRowIndex = oRow.getIndex();
894
917
  var oSelectionPlugin = oTable._getSelectionPlugin();
895
918
 
896
919
  /**
@@ -902,8 +925,8 @@ sap.ui.define([
902
925
  * @private
903
926
  */
904
927
  oTable._oRangeSelection = {
905
- startIndex: iDataRowIndex,
906
- selected: oSelectionPlugin.isIndexSelected(iDataRowIndex)
928
+ startIndex: iAbsoluteRowIndex,
929
+ selected: oSelectionPlugin.isSelected(oRow)
907
930
  };
908
931
  }
909
932
 
@@ -1195,7 +1218,7 @@ sap.ui.define([
1195
1218
  } else if (KeyboardDelegate._isKeyCombination(oEvent, KeyCodes.SPACE)) {
1196
1219
  handleSpaceAndEnter(this, oEvent);
1197
1220
  } else if (KeyboardDelegate._isKeyCombination(oEvent, KeyCodes.SPACE, ModKey.SHIFT)) {
1198
- TableUtils.toggleRowSelection(this, this.getRows()[oCellInfo.rowIndex].getIndex());
1221
+ TableUtils.toggleRowSelection(this, oCellInfo.rowIndex);
1199
1222
 
1200
1223
  startRangeSelectionMode(this);
1201
1224
  } else if (this._legacyMultiSelection && !oCellInfo.isOfType(CellType.COLUMNROWHEADER) &&
@@ -1432,30 +1455,35 @@ sap.ui.define([
1432
1455
  }
1433
1456
 
1434
1457
  var iFocusedRowIndex = TableUtils.getRowIndexOfFocusedCell(this);
1435
- var iDataRowIndex = this.getRows()[iFocusedRowIndex].getIndex();
1458
+ var iAbsoluteRowIndex = this.getRows()[iFocusedRowIndex].getIndex();
1459
+ var bReverse = this._oRangeSelection.startIndex > iAbsoluteRowIndex;
1460
+ var pScroll;
1436
1461
 
1437
1462
  // If we are in the last data row of the table we don't need to do anything.
1438
- if (iDataRowIndex === this._getTotalRowCount() - 1) {
1463
+ if (iAbsoluteRowIndex === this._getTotalRowCount() - 1) {
1439
1464
  return;
1440
1465
  }
1441
1466
 
1442
1467
  if (TableUtils.isLastScrollableRow(this, oEvent.target)) {
1443
- var bScrolled = scrollDown(this, oEvent);
1444
- if (bScrolled) {
1468
+ if (this._oRangeSelection.pScroll) { // A previous selection is still ongoing.
1445
1469
  preventItemNavigation(oEvent);
1470
+ return;
1471
+ } else {
1472
+ pScroll = scrollDown(this, oEvent);
1473
+ this._oRangeSelection.pScroll = pScroll;
1446
1474
  }
1447
1475
  }
1448
1476
 
1449
- if (this._oRangeSelection.startIndex <= iDataRowIndex) {
1450
- iDataRowIndex++;
1451
- if (this._oRangeSelection.selected) {
1452
- TableUtils.toggleRowSelection(this, iDataRowIndex, true);
1453
- } else {
1454
- TableUtils.toggleRowSelection(this, iDataRowIndex, false);
1455
- }
1477
+ if (pScroll) {
1478
+ preventItemNavigation(oEvent);
1479
+ pScroll.then(function() {
1480
+ return waitForData(this);
1481
+ }.bind(this)).then(function() {
1482
+ moveRangeSelection(this, iFocusedRowIndex - (bReverse ? 1 : 0), bReverse);
1483
+ delete this._oRangeSelection.pScroll;
1484
+ }.bind(this));
1456
1485
  } else {
1457
- // When moving back down to the row where the range selection started, the rows always get deselected.
1458
- TableUtils.toggleRowSelection(this, iDataRowIndex, false);
1486
+ moveRangeSelection(this, iFocusedRowIndex + (bReverse ? 0 : 1), bReverse);
1459
1487
  }
1460
1488
 
1461
1489
  } else {
@@ -1512,31 +1540,36 @@ sap.ui.define([
1512
1540
  }
1513
1541
 
1514
1542
  var iFocusedRowIndex = TableUtils.getRowIndexOfFocusedCell(this);
1515
- var iDataRowIndex = this.getRows()[iFocusedRowIndex].getIndex();
1543
+ var iAbsoluteRowIndex = this.getRows()[iFocusedRowIndex].getIndex();
1544
+ var bReverse = this._oRangeSelection.startIndex < iAbsoluteRowIndex;
1545
+ var pScroll;
1516
1546
 
1517
1547
  // Do not move up to the header when performing a range selection.
1518
- if (iDataRowIndex === 0) {
1548
+ if (iAbsoluteRowIndex === 0) {
1519
1549
  preventItemNavigation(oEvent);
1520
1550
  return;
1521
1551
  }
1522
1552
 
1523
1553
  if (TableUtils.isFirstScrollableRow(this, oEvent.target)) {
1524
- var bScrolled = scrollUp(this, oEvent);
1525
- if (bScrolled) {
1554
+ if (this._oRangeSelection.pScroll) { // A previous selection is still ongoing.
1526
1555
  preventItemNavigation(oEvent);
1556
+ return;
1557
+ } else {
1558
+ pScroll = scrollUp(this, oEvent);
1559
+ this._oRangeSelection.pScroll = pScroll;
1527
1560
  }
1528
1561
  }
1529
1562
 
1530
- if (this._oRangeSelection.startIndex >= iDataRowIndex) {
1531
- iDataRowIndex--;
1532
- if (this._oRangeSelection.selected) {
1533
- TableUtils.toggleRowSelection(this, iDataRowIndex, true);
1534
- } else {
1535
- TableUtils.toggleRowSelection(this, iDataRowIndex, false);
1536
- }
1563
+ if (pScroll) {
1564
+ preventItemNavigation(oEvent);
1565
+ pScroll.then(function() {
1566
+ return waitForData(this);
1567
+ }.bind(this)).then(function() {
1568
+ moveRangeSelection(this, bReverse ? 1 : 0, bReverse);
1569
+ delete this._oRangeSelection.pScroll;
1570
+ }.bind(this));
1537
1571
  } else {
1538
- // When moving back up to the row where the range selection started, the rows always get deselected.
1539
- TableUtils.toggleRowSelection(this, iDataRowIndex, false);
1572
+ moveRangeSelection(this, iFocusedRowIndex - (bReverse ? 0 : 1), bReverse);
1540
1573
  }
1541
1574
 
1542
1575
  } else {
@@ -98,42 +98,16 @@ sap.ui.define([
98
98
  * Changes the selection based on the given click event on the given row selector, data cell or row action cell.
99
99
  */
100
100
  _handleClickSelection: function(oEvent, $Cell, oTable) {
101
- TableUtils.toggleRowSelection(oTable, $Cell, null, function(iRowIndex) {
101
+ TableUtils.toggleRowSelection(oTable, $Cell, null, function(oRow) {
102
102
  var oSelectionPlugin = oTable._getSelectionPlugin();
103
- var oSelMode = oTable.getSelectionMode();
104
103
 
105
- // Single selection
106
- if (oSelMode === SelectionMode.Single) {
107
- if (!oSelectionPlugin.isIndexSelected(iRowIndex)) {
108
- oSelectionPlugin.setSelectedIndex(iRowIndex);
109
- } else {
110
- oSelectionPlugin.clearSelection();
111
- }
112
-
113
- // Multi selection (range)
114
- } else if (oEvent.shiftKey) {
115
- // If no row is selected, getSelectedIndex returns -1. Then we simply select the clicked row.
116
- var iSelectedIndex = oSelectionPlugin.getSelectedIndex();
117
- if (iSelectedIndex >= 0) {
118
- oSelectionPlugin.addSelectionInterval(iSelectedIndex, iRowIndex);
119
- } else if (oSelectionPlugin.getSelectedCount() === 0) {
120
- oSelectionPlugin.setSelectedIndex(iRowIndex);
121
- }
122
-
123
- // Multi selection (toggle)
124
- } else if (!oTable._legacyMultiSelection) {
125
- if (!oSelectionPlugin.isIndexSelected(iRowIndex)) {
126
- oSelectionPlugin.addSelectionInterval(iRowIndex, iRowIndex);
127
- } else {
128
- oSelectionPlugin.removeSelectionInterval(iRowIndex, iRowIndex);
129
- }
130
-
131
- // Multi selection (legacy)
104
+ if (oEvent.shiftKey) { // Range
105
+ oSelectionPlugin.setSelected(oRow, true, {range: true});
106
+ } else if (oTable._legacyMultiSelection) {
107
+ oTable._legacyMultiSelection(oRow.getIndex(), oEvent);
132
108
  } else {
133
- oTable._legacyMultiSelection(iRowIndex, oEvent);
109
+ oSelectionPlugin.setSelected(oRow, !oSelectionPlugin.isSelected(oRow));
134
110
  }
135
-
136
- return true;
137
111
  });
138
112
  }
139
113
  };
@@ -796,7 +770,7 @@ sap.ui.define([
796
770
  * @class Extension for sap.ui.table.Table which handles mouse and touch related things.
797
771
  * @extends sap.ui.table.extensions.ExtensionBase
798
772
  * @author SAP SE
799
- * @version 1.112.2
773
+ * @version 1.114.0
800
774
  * @constructor
801
775
  * @private
802
776
  * @alias sap.ui.table.extensions.Pointer
@@ -2256,7 +2256,7 @@ sap.ui.define([
2256
2256
  * @class Extension for sap.ui.table.Table which handles scrolling.
2257
2257
  * @extends sap.ui.table.extensions.ExtensionBase
2258
2258
  * @author SAP SE
2259
- * @version 1.112.2
2259
+ * @version 1.114.0
2260
2260
  * @constructor
2261
2261
  * @private
2262
2262
  * @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.112.2
30
+ * @version 1.114.0
31
31
  * @constructor
32
32
  * @private
33
33
  * @alias sap.ui.table.extensions.ScrollingIOS
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  var oRow = oTable.getRows()[iIndex];
25
25
 
26
26
  if (oRow && bSelected != null) {
27
- TableUtils.toggleRowSelection(oTable, oRow.getIndex(), bSelected);
27
+ TableUtils.toggleRowSelection(oTable, oRow, bSelected);
28
28
  }
29
29
  },
30
30
 
@@ -181,7 +181,7 @@ sap.ui.define([
181
181
  * @class Extension for sap.ui.table.Table that allows synchronization with a table.
182
182
  * @extends sap.ui.table.extensions.ExtensionBase
183
183
  * @author SAP SE
184
- * @version 1.112.2
184
+ * @version 1.114.0
185
185
  * @constructor
186
186
  * @private
187
187
  * @alias sap.ui.table.extensions.Synchronization
@@ -7,11 +7,15 @@
7
7
  /**
8
8
  * Initialization Code and shared classes of library sap.ui.table.
9
9
  */
10
- sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
11
- 'sap/ui/core/library', // library dependency
12
- 'sap/ui/unified/library'], // library dependency
13
- function(Core, TreeAutoExpandMode) {
14
-
10
+ sap.ui.define([
11
+ "sap/ui/core/Core",
12
+ "sap/ui/model/TreeAutoExpandMode",
13
+ "sap/ui/core/library", // library dependency
14
+ "sap/ui/unified/library" // library dependency
15
+ ], function(
16
+ Core,
17
+ TreeAutoExpandMode
18
+ ) {
15
19
  "use strict";
16
20
 
17
21
  /**
@@ -20,13 +24,13 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
20
24
  * @namespace
21
25
  * @alias sap.ui.table
22
26
  * @author SAP SE
23
- * @version 1.112.2
27
+ * @version 1.114.0
24
28
  * @since 0.8
25
29
  * @public
26
30
  */
27
31
  var thisLib = sap.ui.getCore().initLibrary({
28
32
  name: "sap.ui.table",
29
- version: "1.112.2",
33
+ version: "1.114.0",
30
34
  dependencies: ["sap.ui.core", "sap.ui.unified"],
31
35
  designtime: "sap/ui/table/designtime/library.designtime",
32
36
  types: [
@@ -36,7 +40,8 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
36
40
  "sap.ui.table.SelectionMode",
37
41
  "sap.ui.table.SortOrder",
38
42
  "sap.ui.table.VisibleRowCountMode",
39
- "sap.ui.table.TreeAutoExpandMode" /*Note: Only added here to ensure that a corresponding module is created automatically. Cannot be used as type for properties!*/
43
+ "sap.ui.table.TreeAutoExpandMode", /*Note: Only added here to ensure that a corresponding module is created automatically. Cannot be used as type for properties!*/
44
+ "sap.ui.table.plugins.SelectionMode"
40
45
  ],
41
46
  interfaces: [],
42
47
  controls: [
@@ -58,8 +63,9 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
58
63
  "sap.ui.table.rowmodes.FixedRowMode",
59
64
  "sap.ui.table.rowmodes.InteractiveRowMode",
60
65
  "sap.ui.table.rowmodes.AutoRowMode",
66
+ "sap.ui.table.plugins.SelectionPlugin",
61
67
  "sap.ui.table.plugins.MultiSelectionPlugin",
62
- "sap.ui.table.plugins.SelectionPlugin"
68
+ "sap.ui.table.plugins.ODataV4Selection"
63
69
  ],
64
70
  extensions: {
65
71
  flChangeHandlers: {
@@ -80,7 +86,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
80
86
  /**
81
87
  * Navigation mode of the table
82
88
  *
83
- * @version 1.112.2
89
+ * @version 1.114.0
84
90
  * @enum {string}
85
91
  * @public
86
92
  */
@@ -107,7 +113,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
107
113
  /**
108
114
  * Row Action types.
109
115
  *
110
- * @version 1.112.2
116
+ * @version 1.114.0
111
117
  * @enum {string}
112
118
  * @public
113
119
  */
@@ -136,7 +142,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
136
142
  /**
137
143
  * Selection behavior of the table
138
144
  *
139
- * @version 1.112.2
145
+ * @version 1.114.0
140
146
  * @enum {string}
141
147
  * @public
142
148
  */
@@ -165,7 +171,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
165
171
  /**
166
172
  * Selection mode of the table
167
173
  *
168
- * @version 1.112.2
174
+ * @version 1.114.0
169
175
  * @enum {string}
170
176
  * @public
171
177
  */
@@ -201,7 +207,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
201
207
  /**
202
208
  * Sort order of a column
203
209
  *
204
- * @version 1.112.2
210
+ * @version 1.114.0
205
211
  * @enum {string}
206
212
  * @public
207
213
  */
@@ -224,7 +230,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
224
230
  /**
225
231
  * VisibleRowCountMode of the table
226
232
  *
227
- * @version 1.112.2
233
+ * @version 1.114.0
228
234
  * @enum {string}
229
235
  * @public
230
236
  */
@@ -255,7 +261,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
255
261
  *
256
262
  * Contains IDs of shared DOM references, which should be accessible to inheriting controls via getDomRef() function.
257
263
  *
258
- * @version 1.112.2
264
+ * @version 1.114.0
259
265
  * @enum {string}
260
266
  * @public
261
267
  */
@@ -353,12 +359,37 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
353
359
  *
354
360
  * This is an alias for {@link sap.ui.model.TreeAutoExpandMode} and kept for compatibility reasons.
355
361
  *
356
- * @version 1.112.2
362
+ * @version 1.114.0
357
363
  * @typedef {sap.ui.model.TreeAutoExpandMode}
358
364
  * @public
359
365
  */
360
366
  thisLib.TreeAutoExpandMode = TreeAutoExpandMode;
361
367
 
368
+ if (!thisLib.plugins) {
369
+ thisLib.plugins = {};
370
+ }
371
+
372
+ /**
373
+ * Mode of a selection plugin
374
+ *
375
+ * @version 1.114.0
376
+ * @enum {string}
377
+ * @private
378
+ */
379
+ thisLib.plugins.SelectionMode = {
380
+ /**
381
+ * Only one row can be selected at a time.
382
+ * @public
383
+ */
384
+ Single: "Single",
385
+
386
+ /**
387
+ * Multiple rows can be selected.
388
+ * @public
389
+ */
390
+ MultiToggle: "MultiToggle"
391
+ };
392
+
362
393
  //factory for table to create labels and textviews to be overwritten by commons and mobile library
363
394
  if (!thisLib.TableHelper) {
364
395
  thisLib.TableHelper = {
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  *
32
32
  * @extends sap.ui.base.Object
33
33
  * @author SAP SE
34
- * @version 1.112.2
34
+ * @version 1.114.0
35
35
  * @private
36
36
  * @alias sap.ui.table.menus.ColumnHeaderMenuAdapter
37
37
  */
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  *
60
60
  * @extends sap.ui.table.menus.ColumnHeaderMenuAdapter
61
61
  * @author SAP SE
62
- * @version 1.112.2
62
+ * @version 1.114.0
63
63
  * @private
64
64
  * @alias sap.ui.table.menus.MobileColumnHeaderMenuAdapter
65
65
  */
@@ -12,16 +12,16 @@ TBL_UNFREEZE=\u041E\u0442\u043C\u044F\u043D\u0430 \u043D\u0430 \u0444\u0438\u043
12
12
  TBL_MOVE_UP=\u041F\u0440\u0438\u0434\u0432\u0438\u0436\u0432\u0430\u043D\u0435 \u043D\u0430\u0433\u043E\u0440\u0435
13
13
  TBL_MOVE_DOWN=\u041F\u0440\u0438\u0434\u0432\u0438\u0436\u0432\u0430\u043D\u0435 \u043D\u0430\u0434\u043E\u043B\u0443
14
14
  TBL_EXPAND_LEVEL=\u0420\u0430\u0437\u0448\u0438\u0440\u044F\u0432\u0430\u043D\u0435 \u043D\u0430 \u043D\u0438\u0432\u043E\u0442\u043E
15
- TBL_COLLAPSE_LEVEL=\u0421\u043A\u0440\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u043D\u0438\u0432\u043E\u0442\u043E
15
+ TBL_COLLAPSE_LEVEL=\u0421\u0432\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u043D\u0438\u0432\u043E\u0442\u043E
16
16
  TBL_EXPAND_ALL=\u0420\u0430\u0437\u0448\u0438\u0440\u044F\u0432\u0430\u043D\u0435 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438
17
- TBL_COLLAPSE_ALL=\u0421\u043A\u0440\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438
17
+ TBL_COLLAPSE_ALL=\u0421\u0432\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438
18
18
  TBL_SHOW_COLUMN=\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435
19
19
  TBL_HIDE_COLUMN=\u0421\u043A\u0440\u0438\u0432\u0430\u043D\u0435
20
20
  TBL_COL_VISBILITY_MENUITEM_SHOW=\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435 \u043D\u0430 \u043A\u043E\u043B\u043E\u043D\u0430\u0442\u0430
21
21
  TBL_COL_VISBILITY_MENUITEM_HIDE=\u0421\u043A\u0440\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u043A\u043E\u043B\u043E\u043D\u0430\u0442\u0430
22
22
 
23
23
  TBL_ROW_SELECT=\u041A\u043B\u0438\u043A\u043D\u0435\u0442\u0435, \u0437\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435.
24
- TBL_ROW_DESELECT=\u041A\u043B\u0438\u043A\u043D\u0435\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043F\u0440\u0435\u043C\u0430\u0445\u043D\u0435\u0442\u0435 \u043E\u0442 \u0438\u0437\u0431\u0440\u0430\u043D\u0438\u0442\u0435
24
+ TBL_ROW_DESELECT=\u041A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u0437\u0430 \u043E\u0442\u043C\u044F\u043D\u0430 \u043D\u0430 \u0438\u0437\u0431\u043E\u0440\u0430
25
25
  TBL_ROW_SELECT_MULTI_TOGGLE=\u041A\u043B\u0438\u043A\u043D\u0435\u0442\u0435, \u0437\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435, \u0438\u043B\u0438 \u043D\u0430\u0442\u0438\u0441\u043D\u0435\u0442\u0435 SHIFT \u0438 \u043A\u043B\u0438\u043A\u043D\u0435\u0442\u0435, \u0437\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D
26
26
 
27
27
  TBL_TABLE_SELECTION_MULTI=\u0422\u0430\u0431\u043B\u0438\u0446\u0430 \u0441 \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u0435\u043D \u0438\u0437\u0431\u043E\u0440
@@ -40,12 +40,12 @@ TBL_NO_COLUMNS=\u0412 \u043C\u043E\u043C\u0435\u043D\u0442\u0430 \u0432 \u0442\u
40
40
 
41
41
  TBL_NO_DATA=\u041D\u044F\u043C\u0430 \u0434\u0430\u043D\u043D\u0438
42
42
 
43
- TBL_SELECT_ALL=\u0418\u0437\u0431\u043E\u0440 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438
43
+ TBL_SELECT_ALL=\u0418\u0437\u0431\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438
44
44
  TBL_DESELECT_ALL=\u0420\u0430\u0437\u043C\u0430\u0440\u043A\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438
45
45
 
46
46
  TBL_TOGGLE_EDIT_KEY=\u0417\u0430 \u0434\u0430 \u0432\u044A\u0432\u0435\u0434\u0435\u0442\u0435 \u043A\u043B\u0435\u0442\u043A\u0430 \u043E\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0430, \u043D\u0430\u0442\u0438\u0441\u043D\u0435\u0442\u0435 F2
47
47
 
48
- TBL_COLLAPSE_EXPAND=\u0420\u0430\u0437\u0433\u044A\u0432\u0430\u043D\u0435/\u0441\u0432\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u0432\u044A\u0437\u0435\u043B
48
+ TBL_COLLAPSE_EXPAND=\u0420\u0430\u0437\u0433\u044A\u0432\u0430\u043D\u0435/\u0441\u0432\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u0432\u044A\u0437\u0435\u043B\u0430
49
49
 
50
50
  TBL_LEAF=\u0412\u044A\u0437\u0435\u043B
51
51
 
@@ -115,7 +115,7 @@ TBL_ROW_STATE_NAVIGATED=\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F
115
115
 
116
116
  TBL_ROW_EXPAND_KEY=\u0417\u0430 \u0434\u0430 \u0440\u0430\u0437\u0433\u044A\u0440\u043D\u0435\u0442\u0435 \u0440\u0435\u0434\u0430, \u043D\u0430\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0430 \u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B
117
117
 
118
- TBL_ROW_COLLAPSE_KEY=\u0417\u0430 \u0434\u0430 \u0441\u043A\u0440\u0438\u0435\u0442\u0435 \u0440\u0435\u0434\u0430, \u043D\u0430\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0430 \u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B
118
+ TBL_ROW_COLLAPSE_KEY=\u0417\u0430 \u0434\u0430 \u0441\u0432\u0438\u0435\u0442\u0435 \u0440\u0435\u0434\u0430, \u043D\u0430\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0430 \u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B
119
119
 
120
120
  TBL_CREATIONROW_APPLY=\u0414\u043E\u0431\u0430\u0432\u044F\u043D\u0435 \u043D\u0430 \u0440\u0435\u0434
121
121
 
@@ -32,7 +32,7 @@ TBL_TABLE_INVALID=Ugyldig tabel
32
32
  TBL_DATA_ROWS_COLS=Tabel indeholder {0} r\u00E6kker og {1} kolonner
33
33
 
34
34
  TBL_ROW_SELECT_KEY=Tryk p\u00E5 mellemrumstasten for at v\u00E6lge r\u00E6kke
35
- TBL_ROW_DESELECT_KEY=Tryk p\u00E5 mellemrumstasten for at oph\u00E6ve selektion
35
+ TBL_ROW_DESELECT_KEY=Tryk p\u00E5 mellemrumstasten for at slette markering af r\u00E6kke
36
36
 
37
37
  TBL_ANALYTICAL_TABLE_ROLE_DESCRIPTION=Analytisk tabel
38
38