@openui5/sap.ui.table 1.97.1 → 1.99.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/.reuse/dep5 +25 -30
  2. package/THIRDPARTY.txt +14 -21
  3. package/package.json +3 -3
  4. package/src/sap/ui/table/.library +1 -1
  5. package/src/sap/ui/table/AnalyticalColumn.js +1 -1
  6. package/src/sap/ui/table/AnalyticalColumnMenu.js +1 -1
  7. package/src/sap/ui/table/AnalyticalTable.js +11 -24
  8. package/src/sap/ui/table/Column.js +20 -2
  9. package/src/sap/ui/table/ColumnMenu.js +2 -2
  10. package/src/sap/ui/table/CreationRow.js +7 -3
  11. package/src/sap/ui/table/Row.js +1 -1
  12. package/src/sap/ui/table/RowAction.js +1 -1
  13. package/src/sap/ui/table/RowActionItem.js +1 -1
  14. package/src/sap/ui/table/RowActionRenderer.js +1 -1
  15. package/src/sap/ui/table/RowSettings.js +1 -1
  16. package/src/sap/ui/table/Table.js +128 -152
  17. package/src/sap/ui/table/TablePersoController.js +1 -1
  18. package/src/sap/ui/table/TableRenderer.js +24 -36
  19. package/src/sap/ui/table/TreeTable.js +24 -8
  20. package/src/sap/ui/table/extensions/Accessibility.js +8 -3
  21. package/src/sap/ui/table/extensions/AccessibilityRender.js +1 -1
  22. package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
  23. package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
  24. package/src/sap/ui/table/extensions/Keyboard.js +1 -1
  25. package/src/sap/ui/table/extensions/KeyboardDelegate.js +4 -4
  26. package/src/sap/ui/table/extensions/Pointer.js +5 -1
  27. package/src/sap/ui/table/extensions/Scrolling.js +12 -49
  28. package/src/sap/ui/table/extensions/ScrollingIOS.js +13 -61
  29. package/src/sap/ui/table/extensions/Synchronization.js +2 -2
  30. package/src/sap/ui/table/library.js +10 -10
  31. package/src/sap/ui/table/messagebundle_it.properties +8 -8
  32. package/src/sap/ui/table/messagebundle_pl.properties +1 -1
  33. package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
  34. package/src/sap/ui/table/plugins/PluginBase.js +1 -1
  35. package/src/sap/ui/table/plugins/SelectionModelSelection.js +9 -17
  36. package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
  37. package/src/sap/ui/table/plugins/V4Aggregation.js +2 -4
  38. package/src/sap/ui/table/rowmodes/AutoRowMode.js +5 -7
  39. package/src/sap/ui/table/rowmodes/FixedRowMode.js +2 -2
  40. package/src/sap/ui/table/rowmodes/InteractiveRowMode.js +2 -2
  41. package/src/sap/ui/table/rowmodes/RowMode.js +4 -10
  42. package/src/sap/ui/table/rowmodes/VariableRowMode.js +1 -1
  43. package/src/sap/ui/table/themes/base/Scrolling.less +18 -38
  44. package/src/sap/ui/table/themes/base/ScrollingIOS.less +11 -19
  45. package/src/sap/ui/table/themes/base/Table.less +6 -6
  46. package/src/sap/ui/table/themes/sap_hcb/Table.less +3 -3
  47. package/src/sap/ui/table/utils/TableUtils.js +9 -37
  48. package/src/sap/ui/table/utils/_BindingUtils.js +1 -1
  49. package/src/sap/ui/table/utils/_ColumnUtils.js +1 -1
  50. package/src/sap/ui/table/utils/_GroupingUtils.js +1 -1
  51. package/src/sap/ui/table/utils/_HookUtils.js +1 -1
  52. package/src/sap/ui/table/utils/_MenuUtils.js +14 -7
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  *
65
65
  * @extends sap.ui.base.Object
66
66
  * @author SAP SE
67
- * @version 1.97.1
67
+ * @version 1.99.1
68
68
  * @constructor
69
69
  * @private
70
70
  * @alias sap.ui.table.extensions.KeyboardDelegate
@@ -591,15 +591,15 @@ sap.ui.define([
591
591
  bSilentFocus = false;
592
592
  }
593
593
 
594
- TableUtils.deselectElementText(document.activeElement);
595
-
596
594
  if (bSilentFocus) {
597
595
  oTable._getKeyboardExtension().setSilentFocus(oElement);
598
596
  } else {
599
597
  oElement.focus();
600
598
  }
601
599
 
602
- TableUtils.selectElementText(oElement);
600
+ if (oElement instanceof window.HTMLInputElement) {
601
+ oElement.select();
602
+ }
603
603
  };
604
604
 
605
605
  /**
@@ -741,6 +741,10 @@ sap.ui.define([
741
741
  return;
742
742
  }
743
743
 
744
+ if (oCellInfo.isOfType(TableUtils.CELLTYPE.COLUMNROWHEADER)) {
745
+ window.getSelection().empty();
746
+ }
747
+
744
748
  var sSelectedText = window.getSelection().toString();
745
749
  if (!oEvent.shiftKey && sSelectedText.length > 0 && sSelectedText !== "\n") {
746
750
  Log.debug("DOM Selection detected -> Click event on table skipped, Target: " + oEvent.target);
@@ -792,7 +796,7 @@ sap.ui.define([
792
796
  * @class Extension for sap.ui.table.Table which handles mouse and touch related things.
793
797
  * @extends sap.ui.table.extensions.ExtensionBase
794
798
  * @author SAP SE
795
- * @version 1.97.1
799
+ * @version 1.99.1
796
800
  * @constructor
797
801
  * @private
798
802
  * @alias sap.ui.table.extensions.Pointer
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  /**
64
64
  * The configuration options for event listeners.
65
65
  *
66
- * @typedef {Object} sap.ui.table.extensions.Scrolling.EventListenerOptions
66
+ * @typedef {object} sap.ui.table.extensions.Scrolling.EventListenerOptions
67
67
  * @property {sap.ui.table.extensions.Scrolling.ScrollDirection} scrollDirection The scroll direction.
68
68
  * @private
69
69
  */
@@ -81,7 +81,7 @@ sap.ui.define([
81
81
  /**
82
82
  * The interface of a process.
83
83
  *
84
- * @typedef {Object} ProcessInterface
84
+ * @typedef {object} ProcessInterface
85
85
  * @property {function} cancel Cancels the process.
86
86
  * @property {function():boolean} isCancelled Whether the process is cancelled.
87
87
  * @property {function(function)} addCancelListener Adds a listener that is called when the process is cancelled.
@@ -93,7 +93,7 @@ sap.ui.define([
93
93
  /**
94
94
  * Information about a process.
95
95
  *
96
- * @typedef {Object} ProcessInfo
96
+ * @typedef {object} ProcessInfo
97
97
  * @property {string} id The id.
98
98
  * @property {int} rank The rank.
99
99
  * @property {boolean} cancellable Whether the process can be cancelled.
@@ -1692,34 +1692,10 @@ sap.ui.define([
1692
1692
  * @private
1693
1693
  */
1694
1694
  onUpdateTableSizes: function(sReason) {
1695
- VerticalScrollingHelper.updateScrollbarPosition(this);
1696
1695
  VerticalScrollingHelper.updateScrollbarVisibility(this);
1697
1696
  HorizontalScrollingHelper.updateScrollbar(this);
1698
1697
  },
1699
1698
 
1700
- updateScrollbarPosition: function(oTable) {
1701
- var oScrollExtension = oTable._getScrollExtension();
1702
- var oVSb = oScrollExtension.getVerticalScrollbar();
1703
- var oTableCCnt = oTable.getDomRef("tableCCnt");
1704
-
1705
- if (!oVSb || !oTableCCnt) {
1706
- return;
1707
- }
1708
-
1709
- var iTop = oTableCCnt.offsetTop;
1710
-
1711
- var oVSbBg = oTable.getDomRef("vsb-bg");
1712
- if (oVSbBg) {
1713
- oVSbBg.style.top = iTop + "px";
1714
- }
1715
-
1716
- if (oTable._getRowCounts().fixedTop > 0) {
1717
- iTop += oTable._iVsbTop;
1718
- }
1719
-
1720
- oVSb.style.top = iTop + "px";
1721
- },
1722
-
1723
1699
  updateScrollbarVisibility: function(oTable) {
1724
1700
  var oScrollExtension = oTable._getScrollExtension();
1725
1701
  var oVSb = oScrollExtension.getVerticalScrollbar();
@@ -1731,19 +1707,8 @@ sap.ui.define([
1731
1707
 
1732
1708
  var bVerticalScrollbarRequired = oScrollExtension.isVerticalScrollbarRequired();
1733
1709
 
1734
- // Show the currently invisible scrollbar.
1735
- if (bVerticalScrollbarRequired && !oScrollExtension.isVerticalScrollbarVisible()) {
1736
- if (!oScrollExtension.isVerticalScrollbarExternal()) {
1737
- oTableElement.classList.add("sapUiTableVScr");
1738
- }
1739
- oVSb.classList.remove("sapUiTableHidden");
1740
- }
1741
-
1742
- // Hide the currently visible scrollbar.
1743
- if (!bVerticalScrollbarRequired && oScrollExtension.isVerticalScrollbarVisible()) {
1744
- oTableElement.classList.remove("sapUiTableVScr");
1745
- oVSb.classList.add("sapUiTableHidden");
1746
- }
1710
+ oTableElement.classList.toggle("sapUiTableVScr", bVerticalScrollbarRequired && !oScrollExtension.isVerticalScrollbarExternal());
1711
+ oVSb.parentElement.classList.toggle("sapUiTableHidden", !bVerticalScrollbarRequired);
1747
1712
  },
1748
1713
 
1749
1714
  /**
@@ -2291,7 +2256,7 @@ sap.ui.define([
2291
2256
  * @class Extension for sap.ui.table.Table which handles scrolling.
2292
2257
  * @extends sap.ui.table.extensions.ExtensionBase
2293
2258
  * @author SAP SE
2294
- * @version 1.97.1
2259
+ * @version 1.99.1
2295
2260
  * @constructor
2296
2261
  * @private
2297
2262
  * @alias sap.ui.table.extensions.Scrolling
@@ -2454,12 +2419,9 @@ sap.ui.define([
2454
2419
  /**
2455
2420
  * Gets DOM reference of the vertical scrollbar.
2456
2421
  *
2457
- * @param {boolean} [bIgnoreDOMConnection=false] Whether the scrollbar should also be returned if it is not connected with the DOM. This can
2458
- * happen if the table's DOM is removed without notifying the table. For example, if the parent
2459
- * of the table is made invisible.
2460
2422
  * @returns {HTMLElement|null} Returns <code>null</code>, if the vertical scrollbar does not exist.
2461
2423
  */
2462
- ScrollExtension.prototype.getVerticalScrollbar = function(bIgnoreDOMConnection) {
2424
+ ScrollExtension.prototype.getVerticalScrollbar = function() {
2463
2425
  var oTable = this.getTable();
2464
2426
  var bIsExternal = this.isVerticalScrollbarExternal();
2465
2427
 
@@ -2468,8 +2430,9 @@ sap.ui.define([
2468
2430
  }
2469
2431
 
2470
2432
  if (!oTable._bInvalid && !_private(oTable).oVerticalScrollbar) {
2471
- // If the table is invalid and about to be (re-)rendered, the scrollbar element will be removed from DOM. The reference to the new
2472
- // scrollbar element can be obtained only after rendering.
2433
+ // The scrollbar element might not yet be in the DOM, for example if it is initially rendered, or going to be re-rendered as a child
2434
+ // of a control that is still using the old string-based rendering engine. In these cases, the reference to the new scrollbar element
2435
+ // can be obtained only after rendering.
2473
2436
  // Table#getDomRef (document#getElementById) returns null if the element does not exist in the DOM.
2474
2437
  _private(oTable).oVerticalScrollbar = oTable.getDomRef(SharedDomRef.VerticalScrollBar);
2475
2438
 
@@ -2480,7 +2443,7 @@ sap.ui.define([
2480
2443
 
2481
2444
  var oScrollbar = _private(oTable).oVerticalScrollbar;
2482
2445
 
2483
- if (oScrollbar && !bIsExternal && !bIgnoreDOMConnection && !oScrollbar.isConnected) {
2446
+ if (oScrollbar && !bIsExternal && !oScrollbar.isConnected) {
2484
2447
  // The internal scrollbar was removed from DOM without notifying the table.
2485
2448
  // This can be the case, for example, if the parent of the table was made invisible.
2486
2449
  return null;
@@ -2506,7 +2469,7 @@ sap.ui.define([
2506
2469
  */
2507
2470
  ScrollExtension.prototype.isVerticalScrollbarVisible = function() {
2508
2471
  var oVSb = this.getVerticalScrollbar();
2509
- return oVSb != null && !oVSb.classList.contains("sapUiTableHidden");
2472
+ return oVSb != null && !oVSb.parentElement.classList.contains("sapUiTableHidden");
2510
2473
  };
2511
2474
 
2512
2475
  /**
@@ -13,9 +13,7 @@ sap.ui.define([
13
13
 
14
14
  var ExtensionDelegate = {
15
15
  onAfterRendering: function() {
16
- var oScrollIOSExtension = this._getScrollIOSExtension();
17
- oScrollIOSExtension.attachScrollbar();
18
- oScrollIOSExtension.updateVerticalScrollbar();
16
+ this.attachScrollbar();
19
17
  }
20
18
  };
21
19
 
@@ -29,7 +27,7 @@ sap.ui.define([
29
27
  * @class Extension for sap.ui.table.Table which handles the scrollbar on iOS.
30
28
  * @extends sap.ui.table.extensions.ExtensionBase
31
29
  * @author SAP SE
32
- * @version 1.97.1
30
+ * @version 1.99.1
33
31
  * @constructor
34
32
  * @private
35
33
  * @alias sap.ui.table.extensions.ScrollingIOS
@@ -41,13 +39,8 @@ sap.ui.define([
41
39
  * @returns {string} The name of this extension.
42
40
  */
43
41
  _init: function(oTable) {
44
- TableUtils.addDelegate(oTable, ExtensionDelegate, oTable);
45
- oTable.addStyleClass("sapUiTableVSbIOSActive");
46
-
47
- if (this.attachScrollbar()) {
48
- this.updateVerticalScrollbar();
49
- }
50
-
42
+ TableUtils.addDelegate(oTable, ExtensionDelegate, this);
43
+ this.attachScrollbar();
51
44
  return "ScrollIOSExtension";
52
45
  },
53
46
 
@@ -59,7 +52,6 @@ sap.ui.define([
59
52
  var oTable = this.getTable();
60
53
 
61
54
  TableUtils.removeDelegate(oTable, ExtensionDelegate);
62
- oTable.removeStyleClass("sapUiTableVSbIOSActive");
63
55
  clearTimeout(this._iUpdateDefaultScrollbarPositionTimeoutId);
64
56
  ExtensionBase.prototype.destroy.apply(this, arguments);
65
57
  },
@@ -106,20 +98,16 @@ sap.ui.define([
106
98
  });
107
99
 
108
100
  ScrollIOSExtension.prototype.onUpdateTableSizes = function() {
109
- this.updateVerticalScrollbarVisibility();
110
101
  this.updateVerticalScrollbarThumbHeight();
111
102
  this.updateVerticalScrollbarThumbPosition();
112
103
  };
113
104
 
114
105
  ScrollIOSExtension.prototype.onTotalRowCountChanged = function() {
115
- this.updateVerticalScrollbarVisibility();
116
106
  this.updateVerticalScrollbarThumbHeight();
117
107
  };
118
108
 
119
109
  /**
120
110
  * Inserts the scrollbar into the DOM if it does not yet exist.
121
- *
122
- * @returns {boolean} Whether the scrollbar was attached.
123
111
  */
124
112
  ScrollIOSExtension.prototype.attachScrollbar = function() {
125
113
  var oTable = this.getTable();
@@ -128,7 +116,7 @@ sap.ui.define([
128
116
  var oVSbThumb = this.getVerticalScrollbarThumb();
129
117
 
130
118
  if (!oVSb) {
131
- return false; // Cannot attach
119
+ return;
132
120
  }
133
121
 
134
122
  // Render scrollbar
@@ -154,7 +142,7 @@ sap.ui.define([
154
142
  oVSb.addEventListener("scroll", this._onVerticalScrollEventHandler);
155
143
  }
156
144
 
157
- return true;
145
+ this.updateVerticalScrollbar();
158
146
  };
159
147
 
160
148
  /**
@@ -177,58 +165,18 @@ sap.ui.define([
177
165
  return oVSb ? oVSb.firstElementChild : null;
178
166
  };
179
167
 
180
- /**
181
- * Checks whether the vertical scrollbar is visible.
182
- *
183
- * @returns {boolean} Returns <code>true</code>, if the vertical scrollbar is visible.
184
- */
185
- ScrollIOSExtension.prototype.isVerticalScrollbarVisible = function() {
186
- var oVSbIOS = this.getVerticalScrollbar();
187
- return oVSbIOS ? !oVSbIOS.classList.contains("sapUiTableHidden") : false;
188
- };
189
-
190
168
  /**
191
169
  * Performs a full update of the vertical scrollbar.
192
170
  */
193
171
  ScrollIOSExtension.prototype.updateVerticalScrollbar = function() {
194
172
  var oTable = this.getTable();
195
- var oTableCCnt = oTable.getDomRef("tableCCnt");
196
- var oScrollExtension = oTable._getScrollExtension();
197
-
198
173
  var oVSbIOS = this.getVerticalScrollbar();
199
- var iTop = oScrollExtension.isVerticalScrollbarExternal() ? 0 : oTableCCnt.offsetTop;
200
-
201
- if (oTable._getRowCounts().fixedTop > 0) {
202
- iTop += oTable._iVsbTop;
203
- }
204
174
 
205
- oVSbIOS.style.height = oScrollExtension.getVerticalScrollbarHeight() + "px";
206
- oVSbIOS.style.top = iTop + "px";
175
+ oVSbIOS.style.height = oTable._getScrollExtension().getVerticalScrollbarHeight() + "px";
176
+ oVSbIOS.style.top = Math.max(0, oTable._getRowCounts().fixedTop * oTable._getBaseRowHeight() - 1) + "px";
207
177
 
208
- this.updateVerticalScrollbarVisibility();
209
- this.updateVerticalScrollbarThumbHeight();
210
178
  this.updateVerticalScrollbarThumbPosition();
211
- };
212
-
213
- /**
214
- * Updates the visibility of the vertical scrollbar.
215
- */
216
- ScrollIOSExtension.prototype.updateVerticalScrollbarVisibility = function() {
217
- var oTable = this.getTable();
218
- var oScrollExtension = oTable._getScrollExtension();
219
- var oVSbIOS = this.getVerticalScrollbar();
220
-
221
- if (!oVSbIOS) {
222
- return;
223
- }
224
-
225
- if (oScrollExtension.isVerticalScrollbarRequired() && !this.isVerticalScrollbarVisible()) {
226
- // Show the currently invisible scrollbar.
227
- oVSbIOS.classList.remove("sapUiTableHidden");
228
- } else if (!oScrollExtension.isVerticalScrollbarRequired() && this.isVerticalScrollbarVisible()) {
229
- // Hide the currently visible scrollbar.
230
- oVSbIOS.classList.add("sapUiTableHidden");
231
- }
179
+ this.updateVerticalScrollbarThumbHeight();
232
180
  };
233
181
 
234
182
  /**
@@ -304,6 +252,7 @@ sap.ui.define([
304
252
  var iOffset = Math.min(oScrollExtension.getVerticalScrollbarHeight() - iThumbHeight, Math.max(0, iTop));
305
253
 
306
254
  oEvent.preventDefault();
255
+ oEvent.stopPropagation();
307
256
  oVSbThumb.style.top = iOffset + "px";
308
257
 
309
258
  clearTimeout(this._iUpdateDefaultScrollbarPositionTimeoutId);
@@ -327,6 +276,9 @@ sap.ui.define([
327
276
  var iTop = oVSbThumb.offsetTop + oEvent.clientY - iThumbTop - iThumbHeight / 2;
328
277
  var iOffset = Math.min(oScrollExtension.getVerticalScrollbarHeight() - iThumbHeight, Math.max(0, iTop));
329
278
 
279
+ oEvent.preventDefault();
280
+ oEvent.stopPropagation();
281
+
330
282
  oVSbThumb.style.top = iOffset + "px";
331
283
  this.updateDefaultScrollbarPosition(iOffset, iThumbHeight);
332
284
  };
@@ -76,7 +76,7 @@ sap.ui.define([
76
76
  oTable.invalidate();
77
77
  } else {
78
78
  // To avoid table invalidation on every call of this method, the scrollbar that is still in memory is inserted back into the DOM.
79
- oHTMLElement.appendChild(oScrollExtension.getVerticalScrollbar());
79
+ oHTMLElement.appendChild(oScrollExtension.getVerticalScrollbar().parentElement);
80
80
 
81
81
  // If an element is removed from DOM and is inserted again, the scroll position is reset to 0 and needs to be restored.
82
82
  oScrollExtension.restoreVerticalScrollPosition();
@@ -142,7 +142,7 @@ sap.ui.define([
142
142
  * @class Extension for sap.ui.table.Table that allows synchronization with a table.
143
143
  * @extends sap.ui.table.extensions.ExtensionBase
144
144
  * @author SAP SE
145
- * @version 1.97.1
145
+ * @version 1.99.1
146
146
  * @constructor
147
147
  * @private
148
148
  * @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.97.1",
20
+ version: "1.99.1",
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.97.1
77
+ * @version 1.99.1
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.97.1
86
+ * @version 1.99.1
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.97.1
114
+ * @version 1.99.1
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.97.1
145
+ * @version 1.99.1
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.97.1
176
+ * @version 1.99.1
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.97.1
214
+ * @version 1.99.1
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.97.1
239
+ * @version 1.99.1
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.97.1
271
+ * @version 1.99.1
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.97.1
369
+ * @version 1.99.1
370
370
  * @typedef {sap.ui.model.TreeAutoExpandMode}
371
371
  * @public
372
372
  */
@@ -20,9 +20,9 @@ TBL_HIDE_COLUMN=Nascondi
20
20
  TBL_COL_VISBILITY_MENUITEM_SHOW=Visualizza colonna
21
21
  TBL_COL_VISBILITY_MENUITEM_HIDE=Nascondi colonna
22
22
 
23
- TBL_ROW_SELECT=Fare clic per selezionare
24
- TBL_ROW_DESELECT=Fare clic per deselezionare
25
- TBL_ROW_SELECT_MULTI_TOGGLE=Fare clic per selezionare o premere MAIUSC e fare clic per selezionare un intervallo
23
+ TBL_ROW_SELECT=Fai clic per selezionare
24
+ TBL_ROW_DESELECT=Fai clic per deselezionare
25
+ TBL_ROW_SELECT_MULTI_TOGGLE=Fai clic per selezionare o premi MAIUSC e fai clic per selezionare un intervallo
26
26
 
27
27
  TBL_TABLE_SELECTION_MULTI=Tabella con selezione multipla attivata
28
28
  TBL_TABLE_SELECTION_SINGLE=Tabella con selezione singola attivata
@@ -31,8 +31,8 @@ TBL_TABLE_INVALID=Tabella non valida
31
31
 
32
32
  TBL_DATA_ROWS_COLS=La tabella contiene {0} righe e {1} colonne
33
33
 
34
- TBL_ROW_SELECT_KEY=Premere la barra spaziatrice per selezionare la riga
35
- TBL_ROW_DESELECT_KEY=Premere la barra spaziatrice per annullare la selezione
34
+ TBL_ROW_SELECT_KEY=Premi la barra spaziatrice per selezionare la riga
35
+ TBL_ROW_DESELECT_KEY=Premi la barra spaziatrice per annullare la selezione
36
36
 
37
37
  TBL_ANALYTICAL_TABLE_ROLE_DESCRIPTION=Tabella analitica
38
38
 
@@ -43,7 +43,7 @@ TBL_NO_DATA=Nessun dato
43
43
  TBL_SELECT_ALL=Seleziona tutto
44
44
  TBL_DESELECT_ALL=Deseleziona tutto
45
45
 
46
- TBL_TOGGLE_EDIT_KEY=Per passare a una cella della tabella premere F2
46
+ TBL_TOGGLE_EDIT_KEY=Per passare a una cella della tabella premi F2
47
47
 
48
48
  TBL_EXPAND=Esplodi nodo
49
49
 
@@ -109,9 +109,9 @@ TBL_ROW_STATE_SUCCESS=Corretta esecuzione
109
109
 
110
110
  TBL_ROW_STATE_NAVIGATED=Navigato
111
111
 
112
- TBL_ROW_EXPAND_KEY=Per esplodere una riga, premere la barra spaziatrice
112
+ TBL_ROW_EXPAND_KEY=Per esplodere una riga, premi la barra spaziatrice
113
113
 
114
- TBL_ROW_COLLAPSE_KEY=Per comprimere una riga, premere la barra spaziatrice
114
+ TBL_ROW_COLLAPSE_KEY=Per comprimere una riga, premi la barra spaziatrice
115
115
 
116
116
  TBL_CREATIONROW_APPLY=Aggiungi riga
117
117
 
@@ -40,7 +40,7 @@ TBL_NO_COLUMNS=W tej chwili nie ma widocznych kolumn w tabeli. Wybierz wymagane
40
40
 
41
41
  TBL_NO_DATA=Brak danych
42
42
 
43
- TBL_SELECT_ALL=Wybierz wszystko
43
+ TBL_SELECT_ALL=Zaznacz wszystko
44
44
  TBL_DESELECT_ALL=Odznacz wszystko
45
45
 
46
46
  TBL_TOGGLE_EDIT_KEY=Naci\u015Bnij klawisz F2, aby przej\u015B\u0107 do kom\u00F3rki tabeli
@@ -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.97.1
25
+ * @version 1.99.1
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.97.1
31
+ * @version 1.99.1
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.97.1
26
+ * @version 1.99.1
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.97.1
32
+ * @version 1.99.1
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.97.1
35
+ * @version 1.99.1
36
36
  * @private
37
37
  * @since 1.76
38
38
  * @experimental
@@ -396,9 +396,7 @@ sap.ui.define([
396
396
  }
397
397
  }.bind(this));
398
398
 
399
- if (oAggregateInfo.search) {
400
- this._sSearch = oAggregateInfo.search;
401
- }
399
+ this._sSearch = oAggregateInfo.search;
402
400
  }
403
401
 
404
402
  this._mColumnState = oAggregateInfo.columnState;
@@ -7,14 +7,12 @@ sap.ui.define([
7
7
  "../library",
8
8
  "../utils/TableUtils",
9
9
  "./RowMode",
10
- "sap/ui/Device",
11
- "sap/base/Log"
10
+ "sap/ui/Device"
12
11
  ], function(
13
12
  library,
14
13
  TableUtils,
15
14
  RowMode,
16
- Device,
17
- Log
15
+ Device
18
16
  ) {
19
17
  "use strict";
20
18
 
@@ -35,7 +33,7 @@ sap.ui.define([
35
33
  * @ui5-restricted sap.ui.mdc
36
34
  *
37
35
  * @author SAP SE
38
- * @version 1.97.1
36
+ * @version 1.99.1
39
37
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
40
38
  */
41
39
  var AutoRowMode = RowMode.extend("sap.ui.table.rowmodes.AutoRowMode", /** @lends sap.ui.table.rowmodes.AutoRowMode.prototype */ {
@@ -397,12 +395,12 @@ sap.ui.define([
397
395
  if (!isRowCountInitial(this)) {
398
396
  this.initTableRowsAfterDataRequested(iConfiguredRowCount);
399
397
  }
400
- this.getRowContexts(iConfiguredRowCount, true); // Trigger data request.
398
+ this.getRowContexts(iConfiguredRowCount); // Trigger data request.
401
399
  }
402
400
  };
403
401
 
404
402
  /**
405
- * Gets the row count as configured with the <code>rowCount</code>, <code>minRowCount</code> and <code>maxRowCount</code> properties.
403
+ * Gets the row count as configured with the <code>minRowCount</code> and <code>maxRowCount</code> properties.
406
404
  *
407
405
  * @returns {int} The configured row count.
408
406
  * @private
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @ui5-restricted sap.ui.mdc
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.97.1
32
+ * @version 1.99.1
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