@openui5/sap.ui.table 1.93.3 → 1.96.2

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 (53) hide show
  1. package/.reuse/dep5 +6 -11
  2. package/THIRDPARTY.txt +10 -16
  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 +51 -12
  8. package/src/sap/ui/table/Column.js +29 -6
  9. package/src/sap/ui/table/ColumnMenu.js +3 -1
  10. package/src/sap/ui/table/CreationRow.js +1 -1
  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/RowSettings.js +3 -2
  15. package/src/sap/ui/table/Table.js +79 -98
  16. package/src/sap/ui/table/TablePersoController.js +1 -1
  17. package/src/sap/ui/table/TableRenderer.js +9 -3
  18. package/src/sap/ui/table/TreeTable.js +27 -2
  19. package/src/sap/ui/table/extensions/Accessibility.js +45 -26
  20. package/src/sap/ui/table/extensions/AccessibilityRender.js +1 -1
  21. package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
  22. package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
  23. package/src/sap/ui/table/extensions/Keyboard.js +25 -45
  24. package/src/sap/ui/table/extensions/KeyboardDelegate.js +67 -46
  25. package/src/sap/ui/table/extensions/Pointer.js +1 -14
  26. package/src/sap/ui/table/extensions/Scrolling.js +133 -126
  27. package/src/sap/ui/table/extensions/ScrollingIOS.js +369 -0
  28. package/src/sap/ui/table/extensions/Synchronization.js +1 -1
  29. package/src/sap/ui/table/library.js +10 -10
  30. package/src/sap/ui/table/messagebundle_fr.properties +1 -1
  31. package/src/sap/ui/table/messagebundle_it.properties +3 -3
  32. package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
  33. package/src/sap/ui/table/plugins/PluginBase.js +1 -1
  34. package/src/sap/ui/table/plugins/SelectionModelSelection.js +17 -28
  35. package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
  36. package/src/sap/ui/table/plugins/V4Aggregation.js +9 -2
  37. package/src/sap/ui/table/rowmodes/AutoRowMode.js +16 -1
  38. package/src/sap/ui/table/rowmodes/FixedRowMode.js +16 -1
  39. package/src/sap/ui/table/rowmodes/InteractiveRowMode.js +23 -9
  40. package/src/sap/ui/table/rowmodes/RowMode.js +10 -28
  41. package/src/sap/ui/table/rowmodes/VariableRowMode.js +1 -1
  42. package/src/sap/ui/table/themes/base/Cell.less +1 -10
  43. package/src/sap/ui/table/themes/base/Grouping.less +4 -1
  44. package/src/sap/ui/table/themes/base/ScrollingIOS.less +26 -0
  45. package/src/sap/ui/table/themes/base/Table.less +1 -1
  46. package/src/sap/ui/table/themes/base/library.source.less +1 -0
  47. package/src/sap/ui/table/utils/TableUtils.js +25 -60
  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 +5 -1
  51. package/src/sap/ui/table/utils/_HookUtils.js +1 -1
  52. package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
  53. package/ui5.yaml +4 -1
@@ -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.93.3",
20
+ version: "1.96.2",
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.93.3
77
+ * @version 1.96.2
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.93.3
86
+ * @version 1.96.2
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.93.3
114
+ * @version 1.96.2
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.93.3
145
+ * @version 1.96.2
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.93.3
176
+ * @version 1.96.2
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.93.3
214
+ * @version 1.96.2
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.93.3
239
+ * @version 1.96.2
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.93.3
271
+ * @version 1.96.2
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.93.3
369
+ * @version 1.96.2
370
370
  * @typedef {sap.ui.model.TreeAutoExpandMode}
371
371
  * @public
372
372
  */
@@ -22,7 +22,7 @@ TBL_COL_VISBILITY_MENUITEM_HIDE=Masquer colonne
22
22
 
23
23
  TBL_ROW_SELECT=Cliquer pour s\u00E9lectionner
24
24
  TBL_ROW_DESELECT=Cliquer pour d\u00E9s\u00E9lectionner
25
- TBL_ROW_SELECT_MULTI_TOGGLE=Cliquez pour s\u00E9lectionner ou cliquez en maintenant MAJ pour s\u00E9lectionner une plage.
25
+ TBL_ROW_SELECT_MULTI_TOGGLE=Cliquez pour s\u00E9lectionner ou appuyez sur MAJ et cliquez pour s\u00E9lectionner une plage.
26
26
 
27
27
  TBL_TABLE_SELECTION_MULTI=Table avec s\u00E9lection multiple activ\u00E9e
28
28
  TBL_TABLE_SELECTION_SINGLE=Table avec s\u00E9lection simple activ\u00E9e
@@ -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=Fai clic per selezionare
24
- TBL_ROW_DESELECT=Fai clic per deselezionare
25
- TBL_ROW_SELECT_MULTI_TOGGLE=Fai clic per selezionare la riga oppure premi MAIUSC e fai clic per selezionare un intervallo di righe
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
26
26
 
27
27
  TBL_TABLE_SELECTION_MULTI=Tabella con selezione multipla attivata
28
28
  TBL_TABLE_SELECTION_SINGLE=Tabella con selezione singola attivata
@@ -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.93.3
25
+ * @version 1.96.2
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.93.3
31
+ * @version 1.96.2
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.93.3
26
+ * @version 1.96.2
27
27
  * @constructor
28
28
  * @private
29
29
  * @alias sap.ui.table.plugins.SelectionModelSelection
@@ -77,7 +77,7 @@ sap.ui.define([
77
77
  */
78
78
  SelectionModelSelection.prototype.onActivate = function(oTable) {
79
79
  SelectionPlugin.prototype.onActivate.apply(this, arguments);
80
- this.oSelectionModel.attachSelectionChanged(this._onSelectionChange, this);
80
+ this.oSelectionModel.attachSelectionChanged(onSelectionChange, this);
81
81
  TableUtils.Hook.register(oTable, TableUtils.Hook.Keys.Table.TotalRowCountChanged, onTotalRowCountChanged, this);
82
82
  this._bIgnoreNextTotalRowCountChange = oTable._getTotalRowCount() === 0;
83
83
  };
@@ -87,7 +87,7 @@ sap.ui.define([
87
87
  */
88
88
  SelectionModelSelection.prototype.onDeactivate = function(oTable) {
89
89
  SelectionPlugin.prototype.onDeactivate.apply(this, arguments);
90
- this.oSelectionModel.detachSelectionChanged(this._onSelectionChange, this);
90
+ this.oSelectionModel.detachSelectionChanged(onSelectionChange, this);
91
91
  this.oSelectionModel.clearSelection();
92
92
  detachFromBinding(this, this.getTableBinding());
93
93
  TableUtils.Hook.deregister(oTable, TableUtils.Hook.Keys.Table.TotalRowCountChanged, onTotalRowCountChanged, this);
@@ -289,22 +289,6 @@ sap.ui.define([
289
289
  return oBinding ? oBinding.getLength() - 1 : -1;
290
290
  };
291
291
 
292
- /**
293
- * Fires the selectionChange event
294
- *
295
- * @param {sap.ui.base.Event} oEvent
296
- * @private
297
- */
298
- SelectionModelSelection.prototype._onSelectionChange = function(oEvent) {
299
- var aRowIndices = oEvent.getParameter("rowIndices");
300
- var bSelectAll = oEvent.getParameter("selectAll");
301
-
302
- this.fireSelectionChange({
303
- rowIndices: aRowIndices,
304
- selectAll: bSelectAll
305
- });
306
- };
307
-
308
292
  /**
309
293
  * @inheritDoc
310
294
  */
@@ -329,24 +313,29 @@ sap.ui.define([
329
313
  this._resume();
330
314
  };
331
315
 
316
+ function onSelectionChange(oEvent) {
317
+ var aRowIndices = oEvent.getParameter("rowIndices");
318
+ var bSelectAll = oEvent.getParameter("selectAll");
319
+
320
+ this.fireSelectionChange({
321
+ rowIndices: aRowIndices,
322
+ selectAll: bSelectAll
323
+ });
324
+ }
325
+
332
326
  function attachToBinding(oPlugin, oBinding) {
333
327
  if (oBinding) {
334
- oBinding.attachChange(oPlugin._onBindingChange, oPlugin);
328
+ oBinding.attachChange(onBindingChange, oPlugin);
335
329
  }
336
330
  }
337
331
 
338
332
  function detachFromBinding(oPlugin, oBinding) {
339
333
  if (oBinding) {
340
- oBinding.detachChange(oPlugin._onBindingChange, oPlugin);
334
+ oBinding.detachChange(onBindingChange, oPlugin);
341
335
  }
342
336
  }
343
337
 
344
- /**
345
- *
346
- * @param {sap.ui.base.Event} oEvent
347
- * @private
348
- */
349
- SelectionModelSelection.prototype._onBindingChange = function(oEvent) {
338
+ function onBindingChange(oEvent) {
350
339
  var sReason = typeof (oEvent) === "object" ? oEvent.getParameter("reason") : oEvent;
351
340
 
352
341
  if (sReason === "sort" || sReason === "filter") {
@@ -357,7 +346,7 @@ sap.ui.define([
357
346
  this._bIgnoreNextTotalRowCountChange = true;
358
347
  delete this._bWaitForBindingChange;
359
348
  }
360
- };
349
+ }
361
350
 
362
351
  function onTotalRowCountChanged() {
363
352
  if (!this._bIgnoreNextTotalRowCountChange) {
@@ -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.93.3
32
+ * @version 1.96.2
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.93.3
35
+ * @version 1.96.2
36
36
  * @private
37
37
  * @since 1.76
38
38
  * @experimental
@@ -271,6 +271,7 @@ sap.ui.define([
271
271
  * The state is an object with the following keys:
272
272
  * - subtotals: boolean - Whether the cell content should be visible in subtotal rows
273
273
  * - grandTotal: boolean - Whether the cell content should be visible in grand total rows
274
+ * @param {string} [oAggregateInfo.search] A search string used to search transformation (see {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation}) for details..
274
275
  */
275
276
  V4Aggregation.prototype.setAggregationInfo = function(oAggregateInfo) {
276
277
  oAggregateInfo = Object.assign({
@@ -281,6 +282,7 @@ sap.ui.define([
281
282
  this._mGroup = undefined;
282
283
  this._mAggregate = undefined;
283
284
  this._aGroupLevels = undefined;
285
+ this._sSearch = undefined;
284
286
  } else {
285
287
  var aAllUnitProperties = [];
286
288
  var aAllAdditionalProperties = [];
@@ -393,6 +395,10 @@ sap.ui.define([
393
395
  delete this._mGroup[sKey];
394
396
  }
395
397
  }.bind(this));
398
+
399
+ if (oAggregateInfo.search) {
400
+ this._sSearch = oAggregateInfo.search;
401
+ }
396
402
  }
397
403
 
398
404
  this._mColumnState = oAggregateInfo.columnState;
@@ -411,7 +417,8 @@ sap.ui.define([
411
417
  group: deepClone(this._mGroup),
412
418
  groupLevels: this._aGroupLevels ? this._aGroupLevels.map(function(mGroupLevelInfo) {
413
419
  return mGroupLevelInfo.property.path;
414
- }) : undefined
420
+ }) : undefined,
421
+ search: this._sSearch
415
422
  };
416
423
 
417
424
  if (mAggregation.aggregate) {
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @ui5-restricted sap.ui.mdc
36
36
  *
37
37
  * @author SAP SE
38
- * @version 1.93.3
38
+ * @version 1.96.2
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 */ {
@@ -260,6 +260,21 @@ sap.ui.define([
260
260
  return iRequestLength;
261
261
  };
262
262
 
263
+ /**
264
+ * @inheritDoc
265
+ */
266
+ AutoRowMode.prototype.updateTableRows = function() {
267
+ if (this.getHideEmptyRows() && this.getComputedRowCounts().count === 0) {
268
+ var iConfiguredRowCount = this.getConfiguredRowCount();
269
+
270
+ if (iConfiguredRowCount > 0) {
271
+ return this.getRowContexts(iConfiguredRowCount, true).length > 0;
272
+ }
273
+ } else {
274
+ return RowMode.prototype.updateTableRows.call(this);
275
+ }
276
+ };
277
+
263
278
  /**
264
279
  * @inheritDoc
265
280
  */
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @ui5-restricted sap.ui.mdc
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.93.3
32
+ * @version 1.96.2
33
33
  *
34
34
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
35
35
  */
@@ -157,6 +157,21 @@ sap.ui.define([
157
157
  return Math.max(0, this.getRowCount());
158
158
  };
159
159
 
160
+ /**
161
+ * @inheritDoc
162
+ */
163
+ FixedRowMode.prototype.updateTableRows = function() {
164
+ if (this.getHideEmptyRows() && this.getComputedRowCounts().count === 0) {
165
+ var iRowCount = this.getRowCount();
166
+
167
+ if (iRowCount > 0) {
168
+ return this.getRowContexts(iRowCount, true).length > 0;
169
+ }
170
+ } else {
171
+ return RowMode.prototype.updateTableRows.call(this);
172
+ }
173
+ };
174
+
160
175
  /**
161
176
  * @inheritDoc
162
177
  */
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @ui5-restricted sap.ui.mdc
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.93.3
36
+ * @version 1.96.2
37
37
  *
38
38
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
39
39
  */
@@ -168,7 +168,11 @@ sap.ui.define([
168
168
  * @inheritDoc
169
169
  */
170
170
  InteractiveRowMode.prototype.getComputedRowCounts = function() {
171
- return this.computeStandardizedRowCounts(this.getConfiguredRowCount(), this.getFixedTopRowCount(), this.getFixedBottomRowCount());
171
+ var iRowCount = this.getConfiguredRowCount();
172
+ var iFixedTopRowCount = this.getFixedTopRowCount();
173
+ var iFixedBottomRowCount = this.getFixedBottomRowCount();
174
+
175
+ return this.computeStandardizedRowCounts(iRowCount, iFixedTopRowCount, iFixedBottomRowCount);
172
176
  };
173
177
 
174
178
  /**
@@ -315,13 +319,23 @@ sap.ui.define([
315
319
  var width = $Splitter.width();
316
320
  var bTouch = oTable._isTouchEvent(oEvent);
317
321
 
318
- $Body.append(
319
- "<div id=\"" + oTable.getId() + "-ghost\" class=\"sapUiTableInteractiveResizerGhost\" style =\" height:" + height + "px; width:"
320
- + width + "px; left:" + offset.left + "px; top:" + offset.top + "px\" ></div>");
321
-
322
- // Append overlay over splitter to enable correct functionality of moving the splitter
323
- $Splitter.append(
324
- "<div id=\"" + oTable.getId() + "-rzoverlay\" style =\"left: 0px; right: 0px; bottom: 0px; top: 0px; position:absolute\" ></div>");
322
+ var oGhostDiv = document.createElement("div");
323
+ oGhostDiv.style.width = width + "px";
324
+ oGhostDiv.style.height = height + "px";
325
+ oGhostDiv.style.left = offset.left + "px";
326
+ oGhostDiv.style.top = offset.top + "px";
327
+ oGhostDiv.className = "sapUiTableInteractiveResizerGhost";
328
+ oGhostDiv.id = oTable.getId() + "-ghost";
329
+ $Body.append(oGhostDiv);
330
+
331
+ var oOverlayDiv = document.createElement("div");
332
+ oOverlayDiv.style.top = "0px";
333
+ oOverlayDiv.style.bottom = "0px";
334
+ oOverlayDiv.style.left = "0px";
335
+ oOverlayDiv.style.right = "0px";
336
+ oOverlayDiv.style.position = "absolute";
337
+ oOverlayDiv.id = oTable.getId() + "-rzoverlay";
338
+ $Splitter.append(oOverlayDiv);
325
339
 
326
340
  $Document.on((bTouch ? "touchend" : "mouseup") + ".sapUiTableInteractiveResize",
327
341
  ResizeHelper.exitInteractiveResizing.bind(oTable, oMode));
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @ui5-restricted sap.ui.mdc
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.93.3
39
+ * @version 1.96.2
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 */ {
@@ -578,9 +578,9 @@ sap.ui.define([
578
578
  // There is no need to have rows in the aggregation if the NoData overlay is enabled and no binding is available.
579
579
  if (TableUtils.isNoDataVisible(oTable) && !oTable.getBinding()) {
580
580
  iNewNumberOfRows = 0;
581
- } else if (TableUtils.isVariableRowHeightEnabled(oTable)) {
581
+ } else if (TableUtils.isVariableRowHeightEnabled(oTable) && iNewNumberOfRows > 0) {
582
582
  // TODO: Move this to VariableRowMode#getComputedRowCounts
583
- iNewNumberOfRows = iNewNumberOfRows + 1; // Create one additional row for partial row scrolling.
583
+ iNewNumberOfRows++; // Create one additional row for partial row scrolling.
584
584
  }
585
585
 
586
586
  // Destroy rows if they are invalid, but keep the DOM in case the table is going to render.
@@ -725,24 +725,10 @@ sap.ui.define([
725
725
  */
726
726
  RowMode.prototype.disableNoData = function() {
727
727
  var oTable = this.getTable();
728
- var bNoDataVisible;
729
728
 
730
- if (this.isNoDataDisabled()) {
731
- return;
732
- }
733
-
734
- bNoDataVisible = oTable ? TableUtils.isNoDataVisible(oTable) : false;
735
- _private(this).bNoDataDisabled = true;
736
-
737
- if (!oTable) {
738
- return;
739
- }
740
-
741
- if (bNoDataVisible && oTable.getRows().length === 0) {
742
- // If the NoData text is disabled, but there is no data, the table needs to be invalidated to make sure that empty rows are rendered.
729
+ if (oTable && !this.isNoDataDisabled()) {
730
+ _private(this).bNoDataDisabled = true;
743
731
  oTable.invalidate();
744
- } else if (!oTable._bInvalid) {
745
- oTable._updateNoData();
746
732
  }
747
733
  };
748
734
 
@@ -755,14 +741,9 @@ sap.ui.define([
755
741
  RowMode.prototype.enableNoData = function() {
756
742
  var oTable = this.getTable();
757
743
 
758
- if (!this.isNoDataDisabled()) {
759
- return;
760
- }
761
-
762
- _private(this).bNoDataDisabled = false;
763
-
764
- if (oTable && !oTable._bInvalid) {
765
- oTable._updateNoData();
744
+ if (oTable && this.isNoDataDisabled()) {
745
+ _private(this).bNoDataDisabled = false;
746
+ oTable.invalidate();
766
747
  }
767
748
  };
768
749
 
@@ -804,12 +785,13 @@ sap.ui.define([
804
785
  */
805
786
  function updateBindingContextsOfRows(oMode, aRows) {
806
787
  var oTable = oMode.getTable();
807
- var aContexts = oMode.getRowContexts(aRows.length);
808
788
 
809
789
  if (!oTable || aRows.length === 0) {
810
790
  return;
811
791
  }
812
792
 
793
+ var aContexts = oMode.getRowContexts(aRows.length);
794
+
813
795
  for (var i = 0; i < aRows.length; i++) {
814
796
  aRows[i].setRowBindingContext(aContexts[i], oTable);
815
797
  }
@@ -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.93.3
26
+ * @version 1.96.2
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -337,15 +337,6 @@
337
337
  overflow: hidden;
338
338
  padding: @_sap_ui_table_Cell_Padding;
339
339
  white-space: nowrap;
340
-
341
- .sapUiSizeCondensed & {
342
- padding: 0;
343
-
344
- > * {
345
- box-sizing: border-box;
346
- padding: @_sap_ui_table_Cell_Padding;
347
- }
348
- }
349
340
  }
350
341
  }
351
342
 
@@ -390,7 +381,7 @@
390
381
  border-left: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
391
382
  pointer-events: none;
392
383
  .sapUiTableContentRow & {
393
- background-color: @sapUiListBackground !important;
384
+ background-color: @sapBackgroundColor !important;
394
385
  }
395
386
  }
396
387
 
@@ -104,6 +104,10 @@ html[dir=rtl] {
104
104
  }
105
105
  }
106
106
 
107
+ .sapUiTableTreeIcon.sapUiTableTreeIconLeaf {
108
+ visibility: hidden;
109
+ }
110
+
107
111
  .sapUiTableGroupHeaderFading(@color) {
108
112
  box-shadow: inset @_sap_ui_table_Grouping_GroupHeaderFadingWidth 0 @_sap_ui_table_Grouping_GroupHeaderFadingWidth / 2 -@_sap_ui_table_Grouping_GroupHeaderFadingWidth / 2 @color;
109
113
  }
@@ -201,7 +205,6 @@ html[dir=rtl] {
201
205
  }
202
206
 
203
207
  .sapUiTableGroupMode .sapUiTableTr.sapUiTableGroupHeaderRow > .sapUiTableCellDummy {
204
- border-bottom: @_sap_ui_table_BaseBorderWidth solid @sapUiListBorderColor;
205
208
  background-color: @_sap_ui_table_Grouping_GroupHeaderBackground;
206
209
  }
207
210
 
@@ -0,0 +1,26 @@
1
+ /* =============================== */
2
+ /* CSS for sap.ui.table/ScrollingIOS */
3
+ /* Base theme */
4
+ /* =============================== */
5
+
6
+ .sapUiTableVSbIOSActive {
7
+ .sapUiTableVSb,
8
+ .sapUiTableVSbExternal {
9
+ touch-action: none;
10
+ }
11
+ }
12
+
13
+ .sapUiTableVSbIOS {
14
+ position: absolute;
15
+ right: 0;
16
+ z-index: 5;
17
+ width: @_sap_ui_table_Scrolling_ScrollbarSizeMobile;
18
+ }
19
+
20
+ .sapUiTableVSbIOSThumb {
21
+ position: relative;
22
+ background-color: #949494;
23
+ border-radius: 0.25rem;
24
+ left: @_sap_ui_table_BaseBorderWidth;
25
+ width: calc(@_sap_ui_table_Scrolling_ScrollbarSizeMobile ~"-" calc(2 * @_sap_ui_table_BaseBorderWidth));
26
+ }
@@ -63,7 +63,7 @@
63
63
  border-left: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
64
64
  border-right: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
65
65
  border-top: @_sap_ui_table_BaseBorderWidth solid @sapUiListBorderColor;
66
- background-color: @sapUiListBackground;
66
+ background-color: @sapBackgroundColor;
67
67
  ._sap_ui_table_Table_Table();
68
68
  }
69
69
 
@@ -56,6 +56,7 @@
56
56
  @import "RowSelection.less";
57
57
  @import "RowAction.less";
58
58
  @import "Scrolling.less";
59
+ @import "ScrollingIOS.less";
59
60
  @import "DragDrop.less";
60
61
  @import "Grouping.less";
61
62
  @import "AnalyticalTable.less";