@openui5/sap.ui.table 1.96.24 → 1.96.25

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 (45) hide show
  1. package/package.json +3 -3
  2. package/src/sap/ui/table/.library +1 -1
  3. package/src/sap/ui/table/AnalyticalColumn.js +1 -1
  4. package/src/sap/ui/table/AnalyticalColumnMenu.js +1 -1
  5. package/src/sap/ui/table/AnalyticalTable.js +5 -13
  6. package/src/sap/ui/table/Column.js +1 -1
  7. package/src/sap/ui/table/ColumnMenu.js +1 -1
  8. package/src/sap/ui/table/CreationRow.js +1 -1
  9. package/src/sap/ui/table/Row.js +1 -1
  10. package/src/sap/ui/table/RowAction.js +1 -1
  11. package/src/sap/ui/table/RowActionItem.js +1 -1
  12. package/src/sap/ui/table/RowSettings.js +1 -1
  13. package/src/sap/ui/table/Table.js +44 -81
  14. package/src/sap/ui/table/TablePersoController.js +1 -1
  15. package/src/sap/ui/table/TreeTable.js +24 -8
  16. package/src/sap/ui/table/extensions/Accessibility.js +1 -1
  17. package/src/sap/ui/table/extensions/AccessibilityRender.js +3 -1
  18. package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
  19. package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
  20. package/src/sap/ui/table/extensions/Keyboard.js +1 -1
  21. package/src/sap/ui/table/extensions/KeyboardDelegate.js +1 -1
  22. package/src/sap/ui/table/extensions/Pointer.js +1 -1
  23. package/src/sap/ui/table/extensions/Scrolling.js +8 -1
  24. package/src/sap/ui/table/extensions/ScrollingIOS.js +1 -1
  25. package/src/sap/ui/table/extensions/Synchronization.js +1 -1
  26. package/src/sap/ui/table/library.js +10 -10
  27. package/src/sap/ui/table/messagebundle_en.properties +75 -0
  28. package/src/sap/ui/table/messagebundle_sh.properties +2 -2
  29. package/src/sap/ui/table/messagebundle_sr.properties +2 -2
  30. package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
  31. package/src/sap/ui/table/plugins/PluginBase.js +1 -1
  32. package/src/sap/ui/table/plugins/SelectionModelSelection.js +9 -17
  33. package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
  34. package/src/sap/ui/table/plugins/V4Aggregation.js +1 -1
  35. package/src/sap/ui/table/rowmodes/AutoRowMode.js +2 -2
  36. package/src/sap/ui/table/rowmodes/FixedRowMode.js +2 -2
  37. package/src/sap/ui/table/rowmodes/InteractiveRowMode.js +2 -2
  38. package/src/sap/ui/table/rowmodes/RowMode.js +4 -10
  39. package/src/sap/ui/table/rowmodes/VariableRowMode.js +1 -1
  40. package/src/sap/ui/table/utils/TableUtils.js +1 -1
  41. package/src/sap/ui/table/utils/_BindingUtils.js +1 -1
  42. package/src/sap/ui/table/utils/_ColumnUtils.js +1 -1
  43. package/src/sap/ui/table/utils/_GroupingUtils.js +1 -1
  44. package/src/sap/ui/table/utils/_HookUtils.js +1 -1
  45. package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.table",
3
- "version": "1.96.24",
3
+ "version": "1.96.25",
4
4
  "description": "OpenUI5 UI Library sap.ui.table",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,7 +14,7 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.ui.core": "1.96.24",
18
- "@openui5/sap.ui.unified": "1.96.24"
17
+ "@openui5/sap.ui.core": "1.96.25",
18
+ "@openui5/sap.ui.unified": "1.96.25"
19
19
  }
20
20
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.96.24</version>
9
+ <version>1.96.25</version>
10
10
 
11
11
  <documentation>Table-like controls, mainly for desktop scenarios.</documentation>
12
12
 
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  * @extends sap.ui.table.Column
47
47
  *
48
48
  * @author SAP SE
49
- * @version 1.96.24
49
+ * @version 1.96.25
50
50
  *
51
51
  * @constructor
52
52
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(['./ColumnMenu', "sap/ui/unified/MenuRenderer", './library', "sap/
23
23
  * @extends sap.ui.table.ColumnMenu
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.96.24
26
+ * @version 1.96.25
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @see http://scn.sap.com/docs/DOC-44986
61
61
  *
62
62
  * @extends sap.ui.table.Table
63
- * @version 1.96.24
63
+ * @version 1.96.25
64
64
  *
65
65
  * @constructor
66
66
  * @public
@@ -298,19 +298,11 @@ sap.ui.define([
298
298
  return oModel;
299
299
  };
300
300
 
301
- /**
302
- * handler for change events of the binding
303
- * @param {sap.ui.base.Event} oEvent change event
304
- * @private
305
- */
306
- AnalyticalTable.prototype._onBindingChange = function(oEvent) {
307
- Table.prototype._onBindingChange.apply(this, arguments);
308
- // the column menus have to be invalidated when the amount
309
- // of data changes in the Table; this happens on normal changes
310
- // of the Table as well as when filtering
311
- var sReason = typeof (oEvent) === "object" ? oEvent.getParameter("reason") : oEvent;
301
+ AnalyticalTable.prototype.updateRows = function(sReason) {
302
+ Table.prototype.updateRows.apply(this, arguments);
303
+
312
304
  if (sReason !== "sort") {
313
- this._invalidateColumnMenus();
305
+ this._invalidateColumnMenus(); // TODO: Is this needed?
314
306
  }
315
307
  };
316
308
 
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * @class
71
71
  * The column allows you to define column specific properties that will be applied when rendering the table.
72
72
  * @extends sap.ui.core.Element
73
- * @version 1.96.24
73
+ * @version 1.96.25
74
74
  *
75
75
  * @constructor
76
76
  * @public
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @class
41
41
  * The column menu provides all common actions that can be performed on a column.
42
42
  * @extends sap.ui.unified.Menu
43
- * @version 1.96.24
43
+ * @version 1.96.25
44
44
  *
45
45
  * @constructor
46
46
  * @public
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * <code>sap.ui.commons</code> library.
33
33
  * @extends sap.ui.core.Control
34
34
  * @author SAP SE
35
- * @version 1.96.24
35
+ * @version 1.96.25
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -135,7 +135,7 @@ sap.ui.define([
135
135
  * @class
136
136
  * The row.
137
137
  * @extends sap.ui.core.Element
138
- * @version 1.96.24
138
+ * @version 1.96.25
139
139
  *
140
140
  * @constructor
141
141
  * @public
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * If more action items are available as the available space allows to display an overflow mechanism is provided.
36
36
  * This control must only be used in the context of the <code>sap.ui.table.Table</code> control to define row actions.
37
37
  * @extends sap.ui.core.Control
38
- * @version 1.96.24
38
+ * @version 1.96.25
39
39
  *
40
40
  * @constructor
41
41
  * @public
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.96.24
27
+ * @version 1.96.25
28
28
  * @since 1.45
29
29
  *
30
30
  * @constructor
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * The <code>RowSettings</code> control allows you to configure a row.
25
25
  * You can only use this control in the context of the <code>sap.ui.table.Table</code> control to define row settings.
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.96.24
27
+ * @version 1.96.25
28
28
  *
29
29
  * @constructor
30
30
  * @public
@@ -94,7 +94,7 @@ sap.ui.define([
94
94
  * the data model and binding being used.
95
95
  * </p>
96
96
  * @extends sap.ui.core.Control
97
- * @version 1.96.24
97
+ * @version 1.96.25
98
98
  *
99
99
  * @constructor
100
100
  * @public
@@ -1430,6 +1430,7 @@ sap.ui.define([
1430
1430
  }
1431
1431
 
1432
1432
  this._updateTableSizes(TableUtils.RowsUpdateReason.Render, true);
1433
+ this._adjustFirstVisibleRowToTotalRowCount(); // The number of rendered rows might have changed.
1433
1434
  TableUtils.registerResizeHandler(this, "Table", this._onTableResize.bind(this));
1434
1435
 
1435
1436
  this._bFirstRendering = false;
@@ -2086,13 +2087,7 @@ sap.ui.define([
2086
2087
  * @param {sap.ui.base.Event} oEvent change event
2087
2088
  * @private
2088
2089
  */
2089
- Table.prototype._onBindingChange = function(oEvent) {
2090
- var sReason = oEvent.getParameter("reason");
2091
-
2092
- if (sReason === ChangeReason.Sort || sReason === ChangeReason.Filter) {
2093
- this.setFirstVisibleRow(0);
2094
- }
2095
- };
2090
+ Table.prototype._onBindingChange = function(oEvent) {};
2096
2091
 
2097
2092
  /*
2098
2093
  * @see JSDoc generated by SAPUI5 control API generator
@@ -2349,101 +2344,53 @@ sap.ui.define([
2349
2344
  * @returns {Object[]} Array of row contexts returned from the binding.
2350
2345
  * @private
2351
2346
  */
2352
- Table.prototype._getRowContexts = function(iRequestLength, bSuppressAdjustToBindingLength, bSecondCall) {
2347
+ Table.prototype._getRowContexts = function(iRequestLength) {
2353
2348
  var oBinding = this.getBinding();
2354
- var iRowCount = this.getRows().length;
2349
+ var mRowCounts = this._getRowCounts();
2355
2350
  var iThreshold = this.getThreshold();
2356
2351
 
2357
- iRequestLength = iRequestLength == null ? iRowCount : iRequestLength;
2352
+ iRequestLength = iRequestLength == null ? mRowCounts.count : iRequestLength;
2358
2353
 
2359
- // If the threshold is not explicitly disabled by setting it to 0, the default threshold should be the number of rows.
2360
- iThreshold = iThreshold > 0 ? Math.max(iRequestLength, iThreshold) : 0;
2354
+ // If the threshold is not explicitly disabled by setting it to 0, the threshold should be at least the number of scrollable rows.
2355
+ if (iThreshold !== 0) {
2356
+ iThreshold = Math.max(iRequestLength - mRowCounts.fixedTop - mRowCounts.fixedBottom, iThreshold);
2357
+ }
2361
2358
 
2362
- iRequestLength = Math.max(iRequestLength, this._getRowMode().getMinRequestLength());
2359
+ iRequestLength = Math.max(iRequestLength, this._getRowMode().getMinRequestLength(), 0);
2363
2360
 
2364
- if (!oBinding || iRequestLength <= 0) {
2365
- // Without binding there are no contexts to be retrieved.
2361
+ if (!oBinding || iRequestLength === 0) {
2366
2362
  return [];
2367
2363
  }
2368
2364
 
2369
- bSuppressAdjustToBindingLength = bSuppressAdjustToBindingLength === true;
2370
- bSecondCall = bSecondCall === true;
2365
+ // Data can be requested with a single getContexts call if the fixed and the scrollable rows overlap.
2366
+ // Because of the AnalyticalTable, the fixed bottom rows can only be requested separately.
2371
2367
 
2372
2368
  var iFirstRenderedRowIndex = this._getFirstRenderedRowIndex();
2373
- var mRowCounts = this._getRowCounts();
2374
2369
  var aContexts = [];
2375
- var aTmpContexts;
2376
-
2377
- // because of the analytical table the fixed bottom row must always be requested separately as it is the grand
2378
- // total row for the table.
2379
- var iLength = iRequestLength - mRowCounts.fixedBottom;
2380
- var iMergeOffsetScrollRows = 0;
2381
- var iMergeOffsetBottomRow = iLength;
2382
-
2383
- // data can be requested with a single getContexts call if the fixed rows and the scrollable rows overlap.
2384
- var iStartIndex = iFirstRenderedRowIndex;
2385
-
2386
- var fnMergeArrays = function(aTarget, aSource, iStartIndex) {
2387
- for (var i = 0; i < aSource.length; i++) {
2388
- aTarget[iStartIndex + i] = aSource[i];
2389
- }
2390
- };
2391
2370
 
2392
2371
  if (mRowCounts.fixedTop > 0 && iFirstRenderedRowIndex > 0) {
2393
- // since there is a gap between first visible row and fixed rows it must be requested separately
2394
- // the first visible row always starts counting with 0 in the scroll part of the table no matter
2395
- // how many fixed rows there are.
2396
- iStartIndex = iFirstRenderedRowIndex + mRowCounts.fixedTop;
2397
- // length must be reduced by number of fixed rows since they were just requested separately
2398
- iLength -= mRowCounts.fixedTop;
2399
- iMergeOffsetScrollRows = mRowCounts.fixedTop;
2400
- // retrieve fixed rows separately
2401
- aTmpContexts = this._getFixedRowContexts();
2402
- aContexts = aContexts.concat(aTmpContexts);
2403
- }
2404
-
2405
- // request scroll part contexts but may include fixed rows depending on scroll and length settings
2406
- // if this is done before requesting fixed bottom rows, it saves some performance for the analytical table
2407
- // since the tree gets only build once (as result of getContexts call). If first the fixed bottom row would
2408
- // be requested the analytical binding would build the tree twice.
2409
- aTmpContexts = this._getContexts(iStartIndex, iLength, iThreshold);
2410
-
2411
- if (!bSuppressAdjustToBindingLength) {
2412
- this._adjustToTotalRowCount();
2372
+ // If there is a gap between the first visible row and fixed top rows, the fixed top rows need to be requested separately.
2373
+ // The first visible row always starts at index 0 in the scrollable part, no matter how many fixed top rows there are.
2374
+ mergeContextArrays(aContexts, this._getFixedRowContexts(), 0);
2375
+ mergeContextArrays(aContexts, this._getContexts(iFirstRenderedRowIndex + mRowCounts.fixedTop, iRequestLength - mRowCounts.fixedBottom - mRowCounts.fixedTop, iThreshold), mRowCounts.fixedTop);
2376
+ } else {
2377
+ mergeContextArrays(aContexts, this._getContexts(iFirstRenderedRowIndex, iRequestLength - mRowCounts.fixedBottom, iThreshold), 0);
2413
2378
  }
2414
2379
 
2415
- var iTotalRowCount = this._getTotalRowCount();
2416
-
2417
- // get the binding length after getContext call to make sure that for TreeBindings the client tree was correctly rebuilt
2418
- // this step can be moved to an earlier point when the TreeBindingAdapters all implement tree invalidation in case of getLength calls
2419
- fnMergeArrays(aContexts, aTmpContexts, iMergeOffsetScrollRows);
2420
-
2421
- // request binding length after getContexts call to make sure that in case of tree binding and analytical binding
2422
- // the tree gets only built once (by getContexts call).
2423
- iMergeOffsetBottomRow = Math.min(iMergeOffsetBottomRow, Math.max(iTotalRowCount - mRowCounts.fixedBottom, 0));
2424
2380
  if (mRowCounts.fixedBottom > 0) {
2425
- // retrieve fixed bottom rows separately
2426
- // instead of just concatenating them to the existing contexts it must be made sure that they are put
2427
- // to the correct row index otherwise they would flip into the scroll area in case data gets requested for
2428
- // the scroll part.
2429
- aTmpContexts = this._getFixedBottomRowContexts();
2430
- fnMergeArrays(aContexts, aTmpContexts, iMergeOffsetBottomRow);
2431
- }
2432
-
2433
- // If the Binding#getContexts call triggers recalculation of the binding length, the first visible row index needs to be corrected and a new
2434
- // context range needs to be requested.
2435
-
2436
- var iMaxRowIndex = this._getMaxFirstRenderedRowIndex();
2437
- if (iMaxRowIndex < iFirstRenderedRowIndex && this._bContextsAvailable && !bSecondCall) {
2438
- this._setFirstVisibleRowIndex(this.getFirstVisibleRow(), {
2439
- onlySetProperty: true
2440
- });
2441
- aContexts = this._getRowContexts(iRequestLength, bSuppressAdjustToBindingLength, true);
2381
+ mergeContextArrays(aContexts, this._getFixedBottomRowContexts(),
2382
+ Math.min(mRowCounts.fixedTop + mRowCounts.scrollable, Math.max(this._getTotalRowCount() - mRowCounts.fixedBottom, 0)));
2442
2383
  }
2443
2384
 
2444
2385
  return aContexts;
2445
2386
  };
2446
2387
 
2388
+ function mergeContextArrays(aTarget, aSource, iStartIndex) {
2389
+ for (var i = 0; i < aSource.length; i++) {
2390
+ aTarget[iStartIndex + i] = aSource[i];
2391
+ }
2392
+ }
2393
+
2447
2394
  /**
2448
2395
  * Updates the UI according to the current total row count.
2449
2396
  *
@@ -2455,10 +2402,20 @@ sap.ui.define([
2455
2402
  if (this._iBindingLength !== iTotalRowCount) {
2456
2403
  this._iBindingLength = iTotalRowCount;
2457
2404
  this._updateFixedBottomRows();
2405
+ this._adjustFirstVisibleRowToTotalRowCount();
2458
2406
  TableUtils.Hook.call(this, Hook.TotalRowCountChanged);
2459
2407
  }
2460
2408
  };
2461
2409
 
2410
+ Table.prototype._adjustFirstVisibleRowToTotalRowCount = function() {
2411
+ var iCurrentIndex = this.getFirstVisibleRow();
2412
+ var iMaxIndex = this._getMaxFirstVisibleRowIndex();
2413
+
2414
+ if (iMaxIndex < iCurrentIndex && this._bContextsAvailable) {
2415
+ this._setFirstVisibleRowIndex(iMaxIndex, {onlySetProperty: true});
2416
+ }
2417
+ };
2418
+
2462
2419
  /**
2463
2420
  * Notifies about a binding refresh - called internally by the <code>ManagedObject</code> when the binding fires a "refresh" event.
2464
2421
  * Only relevant for server-side bindings. The table is expected to call <code>Binding#getContexts</code>, which triggers a data request. The
@@ -2504,6 +2461,12 @@ sap.ui.define([
2504
2461
  }
2505
2462
 
2506
2463
  this._bContextsAvailable = true;
2464
+
2465
+ if (sReason === ChangeReason.Sort || sReason === ChangeReason.Filter) {
2466
+ this.setFirstVisibleRow(0);
2467
+ }
2468
+
2469
+ this._adjustToTotalRowCount();
2507
2470
  triggerRowsUpdate(this, sReason);
2508
2471
  };
2509
2472
 
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.ui.base.ManagedObject
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.96.24
33
+ * @version 1.96.25
34
34
  * @since 1.21.1
35
35
  *
36
36
  * @constructor
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @class
41
41
  * The TreeTable control provides a comprehensive set of features to display hierarchical data.
42
42
  * @extends sap.ui.table.Table
43
- * @version 1.96.24
43
+ * @version 1.96.25
44
44
  *
45
45
  * @constructor
46
46
  * @public
@@ -376,17 +376,33 @@ sap.ui.define([
376
376
  }
377
377
  };
378
378
 
379
- TreeTable.prototype._getRowContexts = function() {
380
- var iOldTotalRowCount = this._getTotalRowCount();
381
- var aRowContexts = Table.prototype._getRowContexts.apply(this, arguments);
382
- var iNewTotalRowCount = this._getTotalRowCount();
379
+ TreeTable.prototype._getRowContexts = function(iRequestLength) {
380
+ return getRowContexts(this, iRequestLength);
381
+ };
382
+
383
+ function getRowContexts(oTable, iRequestLength, bSecondCall) {
384
+ var iOldTotalRowCount = oTable._getTotalRowCount();
385
+ var aRowContexts = Table.prototype._getRowContexts.call(oTable, iRequestLength);
386
+
387
+ if (bSecondCall === true) {
388
+ return aRowContexts;
389
+ }
383
390
 
384
- if (TableUtils.isVariableRowHeightEnabled(this) && iOldTotalRowCount !== iNewTotalRowCount) {
385
- return Table.prototype._getRowContexts.apply(this, arguments);
391
+ var iNewTotalRowCount = oTable._getTotalRowCount();
392
+ var iFirstVisibleRow = oTable._getFirstRenderedRowIndex();
393
+ var iMaxRowIndex = oTable._getMaxFirstRenderedRowIndex();
394
+
395
+ oTable._adjustToTotalRowCount();
396
+
397
+ if (iMaxRowIndex < iFirstVisibleRow && oTable._bContextsAvailable) {
398
+ // Get the contexts again, this time with the maximum possible value for the first visible row.
399
+ aRowContexts = getRowContexts(oTable, iRequestLength, true);
400
+ } else if (iOldTotalRowCount !== iNewTotalRowCount) {
401
+ aRowContexts = getRowContexts(oTable, iRequestLength, true);
386
402
  }
387
403
 
388
404
  return aRowContexts;
389
- };
405
+ }
390
406
 
391
407
  TreeTable.prototype._onGroupHeaderChanged = function(iRowIndex, bExpanded) {
392
408
  this.fireToggleOpenState({
@@ -902,7 +902,7 @@ sap.ui.define([
902
902
  * @class Extension for sap.ui.table.Table which handles ACC related things.
903
903
  * @extends sap.ui.table.extensions.ExtensionBase
904
904
  * @author SAP SE
905
- * @version 1.96.24
905
+ * @version 1.96.25
906
906
  * @constructor
907
907
  * @private
908
908
  * @alias sap.ui.table.extensions.Accessibility
@@ -28,6 +28,8 @@ sap.ui.define([
28
28
  oRm.openEnd();
29
29
  if (sText) {
30
30
  oRm.text(sText);
31
+ } else {
32
+ oRm.text("-"); // This is a workaround for a Chrome bug, BCP: 2370127818
31
33
  }
32
34
  oRm.close("span");
33
35
  };
@@ -42,7 +44,7 @@ sap.ui.define([
42
44
  * @class Extension for sap.ui.table.TableRenderer which handles ACC related things.
43
45
  * @extends sap.ui.table.extensions.ExtensionBase
44
46
  * @author SAP SE
45
- * @version 1.96.24
47
+ * @version 1.96.25
46
48
  * @constructor
47
49
  * @private
48
50
  * @alias sap.ui.table.extensions.AccessibilityRender
@@ -244,7 +244,7 @@ sap.ui.define([
244
244
  *
245
245
  * @extends sap.ui.table.extensions.ExtensionBase
246
246
  * @author SAP SE
247
- * @version 1.96.24
247
+ * @version 1.96.25
248
248
  * @constructor
249
249
  * @private
250
250
  * @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.96.24
22
+ * @version 1.96.25
23
23
  * @constructor
24
24
  * @private
25
25
  * @alias sap.ui.table.extensions.ExtensionBase
@@ -267,7 +267,7 @@ sap.ui.define([
267
267
  * @class Extension for sap.ui.table.Table which handles keyboard related things.
268
268
  * @extends sap.ui.table.extensions.ExtensionBase
269
269
  * @author SAP SE
270
- * @version 1.96.24
270
+ * @version 1.96.25
271
271
  * @constructor
272
272
  * @private
273
273
  * @alias sap.ui.table.extensions.Keyboard
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  *
65
65
  * @extends sap.ui.base.Object
66
66
  * @author SAP SE
67
- * @version 1.96.24
67
+ * @version 1.96.25
68
68
  * @constructor
69
69
  * @private
70
70
  * @alias sap.ui.table.extensions.KeyboardDelegate
@@ -792,7 +792,7 @@ sap.ui.define([
792
792
  * @class Extension for sap.ui.table.Table which handles mouse and touch related things.
793
793
  * @extends sap.ui.table.extensions.ExtensionBase
794
794
  * @author SAP SE
795
- * @version 1.96.24
795
+ * @version 1.96.25
796
796
  * @constructor
797
797
  * @private
798
798
  * @alias sap.ui.table.extensions.Pointer
@@ -1869,6 +1869,13 @@ sap.ui.define([
1869
1869
 
1870
1870
  } else if (!bHorizontalScrolling && (mOptions.scrollDirection === ScrollDirection.VERTICAL
1871
1871
  || mOptions.scrollDirection === ScrollDirection.BOTH)) {
1872
+ if (oEvent.target instanceof window.HTMLTextAreaElement) {
1873
+ var oTextAreaRef = oEvent.target;
1874
+ if (oTextAreaRef.clientHeight < oTextAreaRef.scrollHeight) {
1875
+ return;
1876
+ }
1877
+ }
1878
+
1872
1879
  var oVSb = oScrollExtension.getVerticalScrollbar();
1873
1880
  var oVerticalScrollPosition = _private(this).oVerticalScrollPosition;
1874
1881
 
@@ -2291,7 +2298,7 @@ sap.ui.define([
2291
2298
  * @class Extension for sap.ui.table.Table which handles scrolling.
2292
2299
  * @extends sap.ui.table.extensions.ExtensionBase
2293
2300
  * @author SAP SE
2294
- * @version 1.96.24
2301
+ * @version 1.96.25
2295
2302
  * @constructor
2296
2303
  * @private
2297
2304
  * @alias sap.ui.table.extensions.Scrolling
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @class Extension for sap.ui.table.Table which handles the scrollbar on iOS.
30
30
  * @extends sap.ui.table.extensions.ExtensionBase
31
31
  * @author SAP SE
32
- * @version 1.96.24
32
+ * @version 1.96.25
33
33
  * @constructor
34
34
  * @private
35
35
  * @alias sap.ui.table.extensions.ScrollingIOS
@@ -143,7 +143,7 @@ sap.ui.define([
143
143
  * @class Extension for sap.ui.table.Table that allows synchronization with a table.
144
144
  * @extends sap.ui.table.extensions.ExtensionBase
145
145
  * @author SAP SE
146
- * @version 1.96.24
146
+ * @version 1.96.25
147
147
  * @constructor
148
148
  * @private
149
149
  * @alias sap.ui.table.extensions.Synchronization
@@ -17,7 +17,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
17
17
  // delegate further initialization of this library to the Core
18
18
  sap.ui.getCore().initLibrary({
19
19
  name : "sap.ui.table",
20
- version: "1.96.24",
20
+ version: "1.96.25",
21
21
  dependencies : ["sap.ui.core","sap.ui.unified"],
22
22
  designtime: "sap/ui/table/designtime/library.designtime",
23
23
  types: [
@@ -74,7 +74,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
74
74
  * @namespace
75
75
  * @alias sap.ui.table
76
76
  * @author SAP SE
77
- * @version 1.96.24
77
+ * @version 1.96.25
78
78
  * @since 0.8
79
79
  * @public
80
80
  */
@@ -83,7 +83,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
83
83
  /**
84
84
  * Navigation mode of the table
85
85
  *
86
- * @version 1.96.24
86
+ * @version 1.96.25
87
87
  * @enum {string}
88
88
  * @public
89
89
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -111,7 +111,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
111
111
  /**
112
112
  * Row Action types.
113
113
  *
114
- * @version 1.96.24
114
+ * @version 1.96.25
115
115
  * @enum {string}
116
116
  * @public
117
117
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -142,7 +142,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
142
142
  /**
143
143
  * Selection behavior of the table
144
144
  *
145
- * @version 1.96.24
145
+ * @version 1.96.25
146
146
  * @enum {string}
147
147
  * @public
148
148
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -173,7 +173,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
173
173
  /**
174
174
  * Selection mode of the table
175
175
  *
176
- * @version 1.96.24
176
+ * @version 1.96.25
177
177
  * @enum {string}
178
178
  * @public
179
179
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -211,7 +211,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
211
211
  /**
212
212
  * Sort order of a column
213
213
  *
214
- * @version 1.96.24
214
+ * @version 1.96.25
215
215
  * @enum {string}
216
216
  * @public
217
217
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -236,7 +236,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
236
236
  /**
237
237
  * VisibleRowCountMode of the table
238
238
  *
239
- * @version 1.96.24
239
+ * @version 1.96.25
240
240
  * @enum {string}
241
241
  * @public
242
242
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -268,7 +268,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
268
268
  *
269
269
  * Contains IDs of shared DOM references, which should be accessible to inheriting controls via getDomRef() function.
270
270
  *
271
- * @version 1.96.24
271
+ * @version 1.96.25
272
272
  * @enum {string}
273
273
  * @public
274
274
  */
@@ -366,7 +366,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
366
366
  *
367
367
  * This is an alias for {@link sap.ui.model.TreeAutoExpandMode} and kept for compatibility reasons.
368
368
  *
369
- * @version 1.96.24
369
+ * @version 1.96.25
370
370
  * @typedef {sap.ui.model.TreeAutoExpandMode}
371
371
  * @public
372
372
  */
@@ -1,122 +1,197 @@
1
+ #This is the resource bundle for the sap.ui.table library
2
+ #
1
3
 
4
+ #XMIT: Menuitem to filter
2
5
  TBL_FILTER=Filter
6
+ #XMIT: Menuitem to e.g. open a filter dialog
3
7
  TBL_FILTER_ITEM=Filter...
8
+ #XMIT: Menuitem to sort descending
4
9
  TBL_SORT_ASC=Sort Ascending
10
+ #XMIT: Menuitem to sort descending
5
11
  TBL_SORT_DESC=Sort Descending
12
+ #XMIT: Menuitem to group the column by its values
6
13
  TBL_GROUP=Group
14
+ #XMIT: Menuitem to ungroup the column
7
15
  TBL_UNGROUP=Ungroup
16
+ #XMIT: Menuitem to ungroup all columns
8
17
  TBL_UNGROUP_ALL=Ungroup All
18
+ #XMIT: Menuitem to show the column visibility menu
9
19
  TBL_COLUMNS=Columns
20
+ #XMIT: Menuitem to freeze the columns till the current one
10
21
  TBL_FREEZE=Freeze
22
+ #XMIT: Menuitem to unfreeze the columns
11
23
  TBL_UNFREEZE=Unfreeze
24
+ #XMIT: Menuitem to move a group up one level
12
25
  TBL_MOVE_UP=Move Up
26
+ #XMIT: Menuitem to move a group down one level
13
27
  TBL_MOVE_DOWN=Move Down
28
+ #XMIT: Menuitem to expand all groups in a specific level
14
29
  TBL_EXPAND_LEVEL=Expand Level
30
+ #XMIT: Menuitem to collapse all groups in a specific level
15
31
  TBL_COLLAPSE_LEVEL=Collapse Level
32
+ #XMIT: Menuitem to expand all groups
16
33
  TBL_EXPAND_ALL=Expand All
34
+ #XMIT: Menuitem to collapse all open groups
17
35
  TBL_COLLAPSE_ALL=Collapse All
36
+ #XMIT: Menuitem to set grouped column visible
18
37
  TBL_SHOW_COLUMN=Show
38
+ #XMIT: Menuitem to hide grouped column
19
39
  TBL_HIDE_COLUMN=Hide
40
+ #XMIT: Menuitem in column visibility menu to set column visible
20
41
  TBL_COL_VISBILITY_MENUITEM_SHOW=Show Column
42
+ #XMIT: Menuitem in column visibility menu to hide column
21
43
  TBL_COL_VISBILITY_MENUITEM_HIDE=Hide Column
22
44
 
45
+ #XTOL: tooltip for row selection
23
46
  TBL_ROW_SELECT=Click to Select
47
+ #XTOL: tooltip for row deselection
24
48
  TBL_ROW_DESELECT=Click to Deselect
49
+ #XTOL: tooltip for row selection in multi toggle selection mode
25
50
  TBL_ROW_SELECT_MULTI_TOGGLE=Click to select or press SHIFT and click to select a range
26
51
 
52
+ #XACT: accessibilty description for a table with enabled mutli-selection for rows (for the ScreenReader)
27
53
  TBL_TABLE_SELECTION_MULTI=Multi-Selection Table
54
+ #XACT: accessibilty description for a table with enabled single-selection for rows (for the ScreenReader)
28
55
  TBL_TABLE_SELECTION_SINGLE=Single-Selection Table
29
56
 
57
+ #XACT: accessibilty description for an invalid table (for the ScreenReader)
30
58
  TBL_TABLE_INVALID=Invalid Table
31
59
 
60
+ #XACT: accessibilty description for count of rows and columns
32
61
  TBL_DATA_ROWS_COLS=Table contains {0} rows and {1} columns
33
62
 
63
+ #XACT: accessibilty description for row selection via keyboard
34
64
  TBL_ROW_SELECT_KEY=To select row, press SPACEBAR
65
+ #XACT: accessibilty description for row deselection via keyboard
35
66
  TBL_ROW_DESELECT_KEY=To deselect row, press SPACEBAR
36
67
 
68
+ #XACT: accessability description for Analytical Table
37
69
  TBL_ANALYTICAL_TABLE_ROLE_DESCRIPTION=Analytical Table
38
70
 
71
+ #XMSG: Table content text when all table columns are hidden
39
72
  TBL_NO_COLUMNS=Right now, there are no visible columns in the table. Please select the columns you need in the table settings.
40
73
 
74
+ #XMSG: Table content text when no controls are rendered
41
75
  TBL_NO_DATA=No data
42
76
 
77
+ #XTOL: Tooltip for the select all row header
43
78
  TBL_SELECT_ALL=Select All
79
+ #XTOL: Tooltip for the select all row header
44
80
  TBL_DESELECT_ALL=Deselect All
45
81
 
82
+ #XACT: accessibilty description for toggling the edit mode on a cell via keyboard
46
83
  TBL_TOGGLE_EDIT_KEY=To enter a table cell, press F2
47
84
 
85
+ #XTOL: Expand a tree table node
48
86
  TBL_EXPAND=Expand Node
49
87
 
88
+ #XTOL: Collapse a tree table node
50
89
  TBL_COLLAPSE=Collapse Node
51
90
 
91
+ #XTOL: Tree Leaf Node
52
92
  TBL_LEAF=Node
53
93
 
94
+ #XMIT: Menuitem to sum
54
95
  TBL_TOTAL=Total
55
96
 
97
+ #XACT: accessability description for total summary row. This is a row that displays, for example, the sum, min, max or average values of the entire data.
56
98
  TBL_GRAND_TOTAL_ROW=Total summary
57
99
 
100
+ #XACT: accessability description for group summary row. This is a row that displays, for example, the sum, min, max or average values of a group.
58
101
  TBL_GROUP_TOTAL_ROW=Group Summary
59
102
 
103
+ #XACT: accessibilty description fixed columns
60
104
  TBL_FIXED_COLUMN=Fixed Column
61
105
 
106
+ #XACT: accessibility description for focused row count
62
107
  TBL_ROW_ROWCOUNT=Row {0} of {1}
63
108
 
109
+ #XACT: accessibility description for focused column count
64
110
  TBL_COL_COLCOUNT=Column {0} of {1}
65
111
 
112
+ #XACT: accessibility label for a grouping row
66
113
  TBL_ROW_GROUP_LABEL=Group Row
67
114
 
115
+ #XTXT: Title of group headers. For example: "Country: Germany"
68
116
  TBL_ROW_GROUP_TITLE={0}\: {1}
69
117
 
118
+ #XTXT: Title of group headers with a combination of ID and text. For example: "Country: 001 - Germany"
70
119
  TBL_ROW_GROUP_TITLE_FULL={0}\: {1} - {2}
71
120
 
121
+ #XACT: accessibility description for a selected row
72
122
  TBL_ROW_DESC_SELECTED=Row Selected
73
123
 
124
+ #XACT: accessibility description for a column when menu is available
74
125
  TBL_COL_DESC_MENU=Menu Available
75
126
 
127
+ #XACT: accessibility description for a filtered column
76
128
  TBL_COL_DESC_FILTERED=Filtered
77
129
 
130
+ #XACT: accessibility description for a sorted column
78
131
  TBL_COL_DESC_SORTED_ASC=Sorted Ascending
79
132
 
133
+ #XACT: accessibility description for a sorted column
80
134
  TBL_COL_DESC_SORTED_DES=Sorted Descending
81
135
 
136
+ #XACT: accessibility description of how many columns are spanned by a column header
82
137
  TBL_COL_DESC_SPAN=Spans {0} columns
83
138
 
139
+ #XACT: state which should be announced by screenreaders if the element in a table cell is disabled
84
140
  TBL_CTRL_STATE_DISABLED=Disabled
85
141
 
142
+ #XACT: state which should be announced by screenreaders if the element in a table cell is readonly
86
143
  TBL_CTRL_STATE_READONLY=Read Only
87
144
 
145
+ #XTIT: Title of the Row Action Column
88
146
  TBL_ROW_ACTION_COLUMN_LABEL=Row Actions
89
147
 
148
+ #XACT: Screenreader should announce when no actions are available
90
149
  TBL_ROW_ACTION_NO_ACTION=No actions available
91
150
 
151
+ #XACT: Screenreader should announce when a action is available
92
152
  TBL_ROW_ACTION_SINGLE_ACTION=1 action available
93
153
 
154
+ #XACT: Screenreader should announce when several actions are available
94
155
  TBL_ROW_ACTION_MULTIPLE_ACTION={0} actions available
95
156
 
157
+ #XTOL: Tooltip for Navigation Action Icon in Table Row
96
158
  TBL_ROW_ACTION_NAVIGATE=Details
97
159
 
160
+ #XTOL: Tooltip for Delete Action Icon in Table Row
98
161
  TBL_ROW_ACTION_DELETE=Delete
99
162
 
163
+ #XTOL: Tooltip for More Actions Icon in Table Row
100
164
  TBL_ROW_ACTION_MORE=More
101
165
 
166
+ #XACT: ARIA announcement for the information state of the table row
102
167
  TBL_ROW_STATE_INFORMATION=Information
103
168
 
169
+ #XACT: ARIA announcement for the error state of the table row
104
170
  TBL_ROW_STATE_ERROR=Error
105
171
 
172
+ #XACT: ARIA announcement for the warning state of the table row
106
173
  TBL_ROW_STATE_WARNING=Warning
107
174
 
175
+ #XACT: ARIA announcement for the success state of the table row
108
176
  TBL_ROW_STATE_SUCCESS=Success
109
177
 
178
+ #XACT ARIA announcement for the navigated state of the table row
110
179
  TBL_ROW_STATE_NAVIGATED=Navigated
111
180
 
181
+ #XACT: accessibilty description for expanding the table row via keyboard
112
182
  TBL_ROW_EXPAND_KEY=To expand a row, press the spacebar
113
183
 
184
+ #XACT: accessibilty description for collapsing the table row via keyboard
114
185
  TBL_ROW_COLLAPSE_KEY=To collapse a row, press the spacebar
115
186
 
187
+ #XBUT: Text of the apply button to save the data entered in the "creation row", a form in the table for creating new rows.
116
188
  TBL_CREATIONROW_APPLY=Add Row
117
189
 
190
+ #XACT: Accessibilty label for the table creation row
118
191
  TBL_CREATEROW_LABEL=Create new table entry
119
192
 
193
+ #XTIT: Title of the message popover on the last selected item, when the selection was limited
120
194
  TBL_SELECT_LIMIT_TITLE=Selection Limit
121
195
 
196
+ #XMSG: Message popover on the last selected item, when the selection was limited
122
197
  TBL_SELECT_LIMIT=In this table, you cannot add more than {0} items to your selection at a time.\n\nYou can continue to add to your selection as often as you like, but only {0} items can be selected at a time.
@@ -69,7 +69,7 @@ TBL_ROW_GROUP_TITLE={0}\: {1}
69
69
 
70
70
  TBL_ROW_GROUP_TITLE_FULL={0}\: {1} - {2}
71
71
 
72
- TBL_ROW_DESC_SELECTED=Row Selected
72
+ TBL_ROW_DESC_SELECTED=Red izabran
73
73
 
74
74
  TBL_COL_DESC_MENU=Meni dostupan
75
75
 
@@ -119,4 +119,4 @@ TBL_CREATEROW_LABEL=Kreiraj novi unos u tabelu
119
119
 
120
120
  TBL_SELECT_LIMIT_TITLE=Ograni\u010Denje odabira
121
121
 
122
- TBL_SELECT_LIMIT=U ovoj tabeli ne mo\u017Eete dodavati vi\u0161e od {0} stavki istovremeno u odabir.\n\nMo\u017Eete nastaviti da dodajete u odabir koliko god \u010Desto \u017Eelite, ali istovremeno mo\u017Ee biti odabrano samo {0} stavki.
122
+ TBL_SELECT_LIMIT=U ovoj tabeli ne mo\u017Eete dodavati vi\u0161e od {0} stavki istovremenu u odabir.\n\nMo\u017Eete da nastavite da dodajete u odabir koliko \u017Eelite, ali samo {0} stavki mo\u017Ee biti odabrano istovremeno.
@@ -69,7 +69,7 @@ TBL_ROW_GROUP_TITLE={0}\: {1}
69
69
 
70
70
  TBL_ROW_GROUP_TITLE_FULL={0}\: {1} - {2}
71
71
 
72
- TBL_ROW_DESC_SELECTED=Row Selected
72
+ TBL_ROW_DESC_SELECTED=\u0420\u0435\u0434 \u0438\u0437\u0430\u0431\u0440\u0430\u043D
73
73
 
74
74
  TBL_COL_DESC_MENU=\u041C\u0435\u043D\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u0430\u043D
75
75
 
@@ -119,4 +119,4 @@ TBL_CREATEROW_LABEL=\u041A\u0440\u0435\u0438\u0440\u0430\u0458 \u043D\u043E\u043
119
119
 
120
120
  TBL_SELECT_LIMIT_TITLE=\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u045A\u0435 \u043E\u0434\u0430\u0431\u0438\u0440\u0430
121
121
 
122
- TBL_SELECT_LIMIT=\u0423 \u043E\u0432\u043E\u0458 \u0442\u0430\u0431\u0435\u043B\u0438 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0434\u0430\u0432\u0430\u0442\u0438 \u0432\u0438\u0448\u0435 \u043E\u0434 {0} \u0441\u0442\u0430\u0432\u043A\u0438 \u0438\u0441\u0442\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043E \u0443 \u043E\u0434\u0430\u0431\u0438\u0440.\n\n\u041C\u043E\u0436\u0435\u0442\u0435 \u043D\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0434\u0430 \u0434\u043E\u0434\u0430\u0458\u0435\u0442\u0435 \u0443 \u043E\u0434\u0430\u0431\u0438\u0440 \u043A\u043E\u043B\u0438\u043A\u043E \u0433\u043E\u0434 \u0447\u0435\u0441\u0442\u043E \u0436\u0435\u043B\u0438\u0442\u0435, \u0430\u043B\u0438 \u0438\u0441\u0442\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043E \u043C\u043E\u0436\u0435 \u0431\u0438\u0442\u0438 \u043E\u0434\u0430\u0431\u0440\u0430\u043D\u043E \u0441\u0430\u043C\u043E {0} \u0441\u0442\u0430\u0432\u043A\u0438.
122
+ TBL_SELECT_LIMIT=\u0423 \u043E\u0432\u043E\u0458 \u0442\u0430\u0431\u0435\u043B\u0438 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0434\u0430\u0432\u0430\u0442\u0438 \u0432\u0438\u0448\u0435 \u043E\u0434 {0} \u0441\u0442\u0430\u0432\u043A\u0438 \u0438\u0441\u0442\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u0443 \u0443 \u043E\u0434\u0430\u0431\u0438\u0440.\n\n\u041C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u043D\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0434\u0430 \u0434\u043E\u0434\u0430\u0458\u0435\u0442\u0435 \u0443 \u043E\u0434\u0430\u0431\u0438\u0440 \u043A\u043E\u043B\u0438\u043A\u043E \u0436\u0435\u043B\u0438\u0442\u0435, \u0430\u043B\u0438 \u0441\u0430\u043C\u043E {0} \u0441\u0442\u0430\u0432\u043A\u0438 \u043C\u043E\u0436\u0435 \u0431\u0438\u0442\u0438 \u043E\u0434\u0430\u0431\u0440\u0430\u043D\u043E \u0438\u0441\u0442\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043E.
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @class Implements the selection methods for TreeTable and AnalyticalTable
24
24
  * @extends sap.ui.table.plugins.SelectionPlugin
25
- * @version 1.96.24
25
+ * @version 1.96.25
26
26
  * @constructor
27
27
  * @private
28
28
  * @alias sap.ui.table.plugins.BindingSelection
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.core.Element
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.96.24
31
+ * @version 1.96.25
32
32
  *
33
33
  * @private
34
34
  * @experimental Since 1.75
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  *
24
24
  * @class Implements the selection methods for a Table
25
25
  * @extends sap.ui.table.plugins.SelectionPlugin
26
- * @version 1.96.24
26
+ * @version 1.96.25
27
27
  * @constructor
28
28
  * @private
29
29
  * @alias sap.ui.table.plugins.SelectionModelSelection
@@ -79,7 +79,7 @@ sap.ui.define([
79
79
  SelectionPlugin.prototype.onActivate.apply(this, arguments);
80
80
  this.oSelectionModel.attachSelectionChanged(onSelectionChange, this);
81
81
  TableUtils.Hook.register(oTable, TableUtils.Hook.Keys.Table.TotalRowCountChanged, onTotalRowCountChanged, this);
82
- this._bIgnoreNextTotalRowCountChange = oTable._getTotalRowCount() === 0;
82
+ this._iTotalRowCount = oTable._getTotalRowCount();
83
83
  };
84
84
 
85
85
  /**
@@ -294,12 +294,6 @@ sap.ui.define([
294
294
  */
295
295
  SelectionModelSelection.prototype.onTableRowsBound = function(oBinding) {
296
296
  SelectionPlugin.prototype.onTableRowsBound.apply(this, arguments);
297
- if (!this.hasOwnProperty("_bIgnoreNextTotalRowCountChange")) {
298
- this._bIgnoreNextTotalRowCountChange = true;
299
- }
300
- if (!this.getTable()._bContextsAvailable) {
301
- this._bWaitForBindingChange = true;
302
- }
303
297
  attachToBinding(this, oBinding);
304
298
  };
305
299
 
@@ -341,20 +335,18 @@ sap.ui.define([
341
335
  if (sReason === "sort" || sReason === "filter") {
342
336
  this.clearSelection();
343
337
  }
344
-
345
- if (this._bWaitForBindingChange) {
346
- this._bIgnoreNextTotalRowCountChange = true;
347
- delete this._bWaitForBindingChange;
348
- }
349
338
  }
350
339
 
351
340
  function onTotalRowCountChanged() {
352
- if (!this._bIgnoreNextTotalRowCountChange) {
353
- // If rows are added or removed, the index-based selection of the SelectionModel is invalid and needs to be cleared.
354
- // The initial change is ignored for compatibility, so it is possible to select something before the initial rows update is done.
341
+ var iTotalRowCount = this.getTable()._getTotalRowCount();
342
+
343
+ // If rows are added or removed, the index-based selection of the SelectionModel is invalid and needs to be cleared.
344
+ // Changes from 0 are ignored for compatibility, so it is possible to select something before the initial rows update is done.
345
+ if (this._iTotalRowCount > 0 && this._iTotalRowCount !== iTotalRowCount) {
355
346
  this.clearSelection();
356
347
  }
357
- delete this._bIgnoreNextTotalRowCountChange;
348
+
349
+ this._iTotalRowCount = iTotalRowCount;
358
350
  }
359
351
 
360
352
  return SelectionModelSelection;
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @class Implements the selection methods for a table.
30
30
  * @extends sap.ui.core.Element
31
31
  * @author SAP SE
32
- * @version 1.96.24
32
+ * @version 1.96.25
33
33
  * @public
34
34
  * @since 1.64
35
35
  * @experimental As of version 1.64
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @class TODO (don't forget to document fixed row count restrictions because fixed rows are set by this plugin)
33
33
  * @extends sap.ui.table.plugins.PluginBase
34
34
  * @author SAP SE
35
- * @version 1.96.24
35
+ * @version 1.96.25
36
36
  * @private
37
37
  * @since 1.76
38
38
  * @experimental
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @ui5-restricted sap.ui.mdc
36
36
  *
37
37
  * @author SAP SE
38
- * @version 1.96.24
38
+ * @version 1.96.25
39
39
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
40
40
  */
41
41
  var AutoRowMode = RowMode.extend("sap.ui.table.rowmodes.AutoRowMode", /** @lends sap.ui.table.rowmodes.AutoRowMode.prototype */ {
@@ -397,7 +397,7 @@ sap.ui.define([
397
397
  if (!isRowCountInitial(this)) {
398
398
  this.initTableRowsAfterDataRequested(iConfiguredRowCount);
399
399
  }
400
- this.getRowContexts(iConfiguredRowCount, true); // Trigger data request.
400
+ this.getRowContexts(iConfiguredRowCount); // Trigger data request.
401
401
  }
402
402
  };
403
403
 
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @ui5-restricted sap.ui.mdc
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.96.24
32
+ * @version 1.96.25
33
33
  *
34
34
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
35
35
  */
@@ -276,7 +276,7 @@ sap.ui.define([
276
276
  }
277
277
 
278
278
  this.initTableRowsAfterDataRequested(iRowCount);
279
- this.getRowContexts(iRowCount, true); // Trigger data request.
279
+ this.getRowContexts(iRowCount); // Trigger data request.
280
280
  }
281
281
  };
282
282
 
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @ui5-restricted sap.ui.mdc
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.96.24
36
+ * @version 1.96.25
37
37
  *
38
38
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
39
39
  */
@@ -251,7 +251,7 @@ sap.ui.define([
251
251
 
252
252
  if (iRowCount > 0) {
253
253
  this.initTableRowsAfterDataRequested(iRowCount);
254
- this.getRowContexts(iRowCount, true); // Trigger data request.
254
+ this.getRowContexts(iRowCount); // Trigger data request.
255
255
  }
256
256
  };
257
257
 
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @ui5-restricted sap.ui.mdc
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.96.24
39
+ * @version 1.96.25
40
40
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
41
41
  */
42
42
  var RowMode = Element.extend("sap.ui.table.rowmodes.RowMode", /** @lends sap.ui.table.rowmodes.RowMode.prototype */ {
@@ -669,19 +669,13 @@ sap.ui.define([
669
669
  * Gets contexts from the table's rows aggregation binding. Requests at least as many contexts as the table has rows or as is returned
670
670
  * by {@link RowMode#getMinRequestLength}.
671
671
  *
672
- * @param {int} [iRequestLength] The number of context to request.
673
- * @param {boolean} [bSuppressAdjustToBindingLength=false] Whether the table should be adjusted to a possibly new binding length.
672
+ * @param {int} [iRequestLength] The number of contexts to request.
674
673
  * @returns {Object[]} The contexts returned from the binding.
675
674
  * @private
676
675
  */
677
- RowMode.prototype.getRowContexts = function(iRequestLength, bSuppressAdjustToBindingLength) {
676
+ RowMode.prototype.getRowContexts = function(iRequestLength) {
678
677
  var oTable = this.getTable();
679
-
680
- if (!oTable) {
681
- return [];
682
- }
683
-
684
- return oTable._getRowContexts(iRequestLength, bSuppressAdjustToBindingLength === true);
678
+ return oTable ? oTable._getRowContexts(iRequestLength) : [];
685
679
  };
686
680
 
687
681
  /**
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.table.rowmodes.RowMode
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.96.24
26
+ * @version 1.96.25
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -209,7 +209,7 @@ sap.ui.define([
209
209
  * Static collection of utility functions related to the sap.ui.table.Table, ...
210
210
  *
211
211
  * @author SAP SE
212
- * @version 1.96.24
212
+ * @version 1.96.25
213
213
  * @namespace
214
214
  * @alias sap.ui.table.utils.TableUtils
215
215
  * @private
@@ -14,7 +14,7 @@ sap.ui.define([], function() {
14
14
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Binding...</code>
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.96.24
17
+ * @version 1.96.25
18
18
  * @namespace
19
19
  * @alias sap.ui.table.utils._BindingUtils
20
20
  * @private
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Column...</code>
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.96.24
21
+ * @version 1.96.25
22
22
  * @namespace
23
23
  * @alias sap.ui.table.utils._ColumnUtils
24
24
  * @private
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Grouping...</code>
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.96.24
26
+ * @version 1.96.25
27
27
  * @namespace
28
28
  * @alias sap.ui.table.utils._GroupingUtils
29
29
  * @private
@@ -22,7 +22,7 @@ sap.ui.define(["sap/ui/base/DataType", "sap/base/Log"], function(DataType, Log)
22
22
  * - There is no concept for public or protected hooks. Never expose a hook directly, only indirectly as can be seen in the examples.
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.96.24
25
+ * @version 1.96.25
26
26
  * @namespace
27
27
  * @alias sap.ui.table.utils._HookUtils
28
28
  *
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Menu...</code>
43
43
  *
44
44
  * @author SAP SE
45
- * @version 1.96.24
45
+ * @version 1.96.25
46
46
  * @namespace
47
47
  * @alias sap.ui.table.utils._MenuUtils
48
48
  * @private