@openui5/sap.ui.table 1.98.0 → 1.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +6 -6
  3. package/package.json +3 -3
  4. package/src/sap/ui/table/.library +1 -1
  5. package/src/sap/ui/table/AnalyticalColumn.js +5 -3
  6. package/src/sap/ui/table/AnalyticalColumnMenu.js +3 -3
  7. package/src/sap/ui/table/AnalyticalTable.js +2 -6
  8. package/src/sap/ui/table/Column.js +28 -11
  9. package/src/sap/ui/table/ColumnMenu.js +7 -9
  10. package/src/sap/ui/table/CreationRow.js +3 -2
  11. package/src/sap/ui/table/Row.js +3 -2
  12. package/src/sap/ui/table/RowAction.js +3 -2
  13. package/src/sap/ui/table/RowActionItem.js +1 -1
  14. package/src/sap/ui/table/RowActionRenderer.js +3 -3
  15. package/src/sap/ui/table/RowSettings.js +1 -1
  16. package/src/sap/ui/table/Table.js +34 -14
  17. package/src/sap/ui/table/TablePersoController.js +1 -1
  18. package/src/sap/ui/table/TableRenderer.js +4 -2
  19. package/src/sap/ui/table/TreeTable.js +2 -2
  20. package/src/sap/ui/table/extensions/Accessibility.js +19 -6
  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 +1 -1
  26. package/src/sap/ui/table/extensions/Pointer.js +5 -1
  27. package/src/sap/ui/table/extensions/Scrolling.js +6 -5
  28. package/src/sap/ui/table/extensions/ScrollingIOS.js +1 -1
  29. package/src/sap/ui/table/extensions/Synchronization.js +4 -4
  30. package/src/sap/ui/table/library.js +20 -23
  31. package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
  32. package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +0 -4
  33. package/src/sap/ui/table/plugins/PluginBase.js +1 -1
  34. package/src/sap/ui/table/plugins/SelectionModelSelection.js +1 -1
  35. package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
  36. package/src/sap/ui/table/plugins/V4Aggregation.js +1 -1
  37. package/src/sap/ui/table/rowmodes/AutoRowMode.js +5 -3
  38. package/src/sap/ui/table/rowmodes/FixedRowMode.js +1 -1
  39. package/src/sap/ui/table/rowmodes/InteractiveRowMode.js +1 -1
  40. package/src/sap/ui/table/rowmodes/RowMode.js +1 -3
  41. package/src/sap/ui/table/rowmodes/VariableRowMode.js +1 -1
  42. package/src/sap/ui/table/rules/Rows.support.js +3 -2
  43. package/src/sap/ui/table/themes/base/Table.less +12 -6
  44. package/src/sap/ui/table/themes/sap_hcb/Table.less +3 -3
  45. package/src/sap/ui/table/utils/TableUtils.js +27 -13
  46. package/src/sap/ui/table/utils/_BindingUtils.js +1 -1
  47. package/src/sap/ui/table/utils/_ColumnUtils.js +2 -9
  48. package/src/sap/ui/table/utils/_GroupingUtils.js +2 -3
  49. package/src/sap/ui/table/utils/_HookUtils.js +2 -2
  50. package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
@@ -11,9 +11,8 @@ sap.ui.define([
11
11
  "../utils/TableUtils",
12
12
  "../library",
13
13
  "sap/ui/core/Control",
14
- "sap/ui/Device",
15
14
  "sap/ui/thirdparty/jquery"
16
- ], function(ExtensionBase, AccRenderExtension, TableUtils, library, Control, Device, jQuery) {
15
+ ], function(ExtensionBase, AccRenderExtension, TableUtils, library, Control, jQuery) {
17
16
  "use strict";
18
17
 
19
18
  // shortcuts
@@ -866,8 +865,22 @@ sap.ui.define([
866
865
 
867
866
  case AccExtension.ELEMENTTYPES.NODATA: //The no data container
868
867
  mAttributes["role"] = "gridcell";
869
- var oNoData = oTable.getNoData();
870
- mAttributes["aria-labelledby"] = [oNoData instanceof Control ? oNoData.getId() : (sTableId + "-noDataMsg")];
868
+ var oNoContentMessage = TableUtils.getNoContentMessage(oTable);
869
+ var aLabels = [];
870
+
871
+ if (oNoContentMessage instanceof Control) {
872
+ if (oNoContentMessage.isA("sap.m.IllustratedMessage")) {
873
+ var oAccRef = oNoContentMessage.getAccessibilityReferences();
874
+ aLabels.push(oAccRef.title);
875
+ aLabels.push(oAccRef.description);
876
+ } else {
877
+ aLabels.push(oNoContentMessage.getId());
878
+ }
879
+ } else {
880
+ aLabels.push(sTableId + "-noDataMsg");
881
+ }
882
+
883
+ mAttributes["aria-labelledby"] = aLabels;
871
884
  addAriaForOverlayOrNoData(oTable, mAttributes, true, false);
872
885
  break;
873
886
 
@@ -907,7 +920,7 @@ sap.ui.define([
907
920
  * @class Extension for sap.ui.table.Table which handles ACC related things.
908
921
  * @extends sap.ui.table.extensions.ExtensionBase
909
922
  * @author SAP SE
910
- * @version 1.98.0
923
+ * @version 1.101.0
911
924
  * @constructor
912
925
  * @private
913
926
  * @alias sap.ui.table.extensions.Accessibility
@@ -1187,7 +1200,7 @@ sap.ui.define([
1187
1200
  *
1188
1201
  * @param {sap.ui.table.Row} oRow Instance of the row.
1189
1202
  * @param {jQuery} $Ref The jQuery references to the DOM areas of the row.
1190
- * @param {string} sSelectReference The text for the tooltip.
1203
+ * @param {string} sTextMouse The text for the tooltip.
1191
1204
  * @public
1192
1205
  */
1193
1206
  AccExtension.prototype.updateRowTooltips = function(oRow, $Ref, sTextMouse) {
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @class Extension for sap.ui.table.TableRenderer which handles ACC related things.
43
43
  * @extends sap.ui.table.extensions.ExtensionBase
44
44
  * @author SAP SE
45
- * @version 1.98.0
45
+ * @version 1.101.0
46
46
  * @constructor
47
47
  * @private
48
48
  * @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.98.0
247
+ * @version 1.101.0
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.98.0
22
+ * @version 1.101.0
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.98.0
270
+ * @version 1.101.0
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.98.0
67
+ * @version 1.101.0
68
68
  * @constructor
69
69
  * @private
70
70
  * @alias sap.ui.table.extensions.KeyboardDelegate
@@ -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.98.0
799
+ * @version 1.101.0
796
800
  * @constructor
797
801
  * @private
798
802
  * @alias sap.ui.table.extensions.Pointer
@@ -12,7 +12,8 @@ sap.ui.define([
12
12
  "sap/ui/Device",
13
13
  "sap/ui/performance/trace/Interaction",
14
14
  "sap/base/Log",
15
- "sap/ui/thirdparty/jquery"
15
+ "sap/ui/thirdparty/jquery",
16
+ "sap/ui/dom/jquery/scrollLeftRTL" // provides jQuery.fn.scrollLeftRTL
16
17
  ], function(ExtensionBase, TableUtils, library, Device, Interaction, Log, jQuery) {
17
18
  "use strict";
18
19
 
@@ -63,7 +64,7 @@ sap.ui.define([
63
64
  /**
64
65
  * The configuration options for event listeners.
65
66
  *
66
- * @typedef {Object} sap.ui.table.extensions.Scrolling.EventListenerOptions
67
+ * @typedef {object} sap.ui.table.extensions.Scrolling.EventListenerOptions
67
68
  * @property {sap.ui.table.extensions.Scrolling.ScrollDirection} scrollDirection The scroll direction.
68
69
  * @private
69
70
  */
@@ -81,7 +82,7 @@ sap.ui.define([
81
82
  /**
82
83
  * The interface of a process.
83
84
  *
84
- * @typedef {Object} ProcessInterface
85
+ * @typedef {object} ProcessInterface
85
86
  * @property {function} cancel Cancels the process.
86
87
  * @property {function():boolean} isCancelled Whether the process is cancelled.
87
88
  * @property {function(function)} addCancelListener Adds a listener that is called when the process is cancelled.
@@ -93,7 +94,7 @@ sap.ui.define([
93
94
  /**
94
95
  * Information about a process.
95
96
  *
96
- * @typedef {Object} ProcessInfo
97
+ * @typedef {object} ProcessInfo
97
98
  * @property {string} id The id.
98
99
  * @property {int} rank The rank.
99
100
  * @property {boolean} cancellable Whether the process can be cancelled.
@@ -2256,7 +2257,7 @@ sap.ui.define([
2256
2257
  * @class Extension for sap.ui.table.Table which handles scrolling.
2257
2258
  * @extends sap.ui.table.extensions.ExtensionBase
2258
2259
  * @author SAP SE
2259
- * @version 1.98.0
2260
+ * @version 1.101.0
2260
2261
  * @constructor
2261
2262
  * @private
2262
2263
  * @alias sap.ui.table.extensions.Scrolling
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @class Extension for sap.ui.table.Table which handles the scrollbar on iOS.
28
28
  * @extends sap.ui.table.extensions.ExtensionBase
29
29
  * @author SAP SE
30
- * @version 1.98.0
30
+ * @version 1.101.0
31
31
  * @constructor
32
32
  * @private
33
33
  * @alias sap.ui.table.extensions.ScrollingIOS
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "./ExtensionBase", "../Table", "../utils/TableUtils", "../library", "sap/base/Log"
9
- ], function(ExtensionBase, Table, TableUtils, library, Log) {
8
+ "./ExtensionBase", "../utils/TableUtils", "../library", "sap/base/Log"
9
+ ], function(ExtensionBase, TableUtils, library, Log) {
10
10
  "use strict";
11
11
 
12
12
  /**
@@ -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.98.0
145
+ * @version 1.101.0
146
146
  * @constructor
147
147
  * @private
148
148
  * @alias sap.ui.table.extensions.Synchronization
@@ -238,7 +238,7 @@ sap.ui.define([
238
238
  /**
239
239
  * Synchronizes the layout information.
240
240
  *
241
- * @param {{top:number, headerHeight:number, contentHeight:number}} mLayoutData The layout information.
241
+ * @param {{top: number, headerHeight: number, contentHeight: number}} mLayoutData The layout information.
242
242
  */
243
243
  SyncExtension.prototype.syncLayout = function(mLayoutData) {
244
244
  this.callInterfaceHook("layout", arguments);
@@ -14,10 +14,19 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
14
14
 
15
15
  "use strict";
16
16
 
17
- // delegate further initialization of this library to the Core
18
- sap.ui.getCore().initLibrary({
17
+ /**
18
+ * Table-like controls, mainly for desktop scenarios.
19
+ *
20
+ * @namespace
21
+ * @alias sap.ui.table
22
+ * @author SAP SE
23
+ * @version 1.101.0
24
+ * @since 0.8
25
+ * @public
26
+ */
27
+ var thisLib = sap.ui.getCore().initLibrary({
19
28
  name : "sap.ui.table",
20
- version: "1.98.0",
29
+ version: "1.101.0",
21
30
  dependencies : ["sap.ui.core","sap.ui.unified"],
22
31
  designtime: "sap/ui/table/designtime/library.designtime",
23
32
  types: [
@@ -68,22 +77,10 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
68
77
  }
69
78
  });
70
79
 
71
- /**
72
- * Table-like controls, mainly for desktop scenarios.
73
- *
74
- * @namespace
75
- * @alias sap.ui.table
76
- * @author SAP SE
77
- * @version 1.98.0
78
- * @since 0.8
79
- * @public
80
- */
81
- var thisLib = sap.ui.table;
82
-
83
80
  /**
84
81
  * Navigation mode of the table
85
82
  *
86
- * @version 1.98.0
83
+ * @version 1.101.0
87
84
  * @enum {string}
88
85
  * @public
89
86
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -111,7 +108,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
111
108
  /**
112
109
  * Row Action types.
113
110
  *
114
- * @version 1.98.0
111
+ * @version 1.101.0
115
112
  * @enum {string}
116
113
  * @public
117
114
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -142,7 +139,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
142
139
  /**
143
140
  * Selection behavior of the table
144
141
  *
145
- * @version 1.98.0
142
+ * @version 1.101.0
146
143
  * @enum {string}
147
144
  * @public
148
145
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -173,7 +170,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
173
170
  /**
174
171
  * Selection mode of the table
175
172
  *
176
- * @version 1.98.0
173
+ * @version 1.101.0
177
174
  * @enum {string}
178
175
  * @public
179
176
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -211,7 +208,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
211
208
  /**
212
209
  * Sort order of a column
213
210
  *
214
- * @version 1.98.0
211
+ * @version 1.101.0
215
212
  * @enum {string}
216
213
  * @public
217
214
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -236,7 +233,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
236
233
  /**
237
234
  * VisibleRowCountMode of the table
238
235
  *
239
- * @version 1.98.0
236
+ * @version 1.101.0
240
237
  * @enum {string}
241
238
  * @public
242
239
  * @ui5-metamodel This enumeration also will be described in the UI5 (legacy) designtime metamodel
@@ -268,7 +265,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
268
265
  *
269
266
  * Contains IDs of shared DOM references, which should be accessible to inheriting controls via getDomRef() function.
270
267
  *
271
- * @version 1.98.0
268
+ * @version 1.101.0
272
269
  * @enum {string}
273
270
  * @public
274
271
  */
@@ -366,7 +363,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/model/TreeAutoExpandMode',
366
363
  *
367
364
  * This is an alias for {@link sap.ui.model.TreeAutoExpandMode} and kept for compatibility reasons.
368
365
  *
369
- * @version 1.98.0
366
+ * @version 1.101.0
370
367
  * @typedef {sap.ui.model.TreeAutoExpandMode}
371
368
  * @public
372
369
  */
@@ -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.98.0
25
+ * @version 1.101.0
26
26
  * @constructor
27
27
  * @private
28
28
  * @alias sap.ui.table.plugins.BindingSelection
@@ -5,8 +5,6 @@
5
5
  */
6
6
  sap.ui.define([
7
7
  "./SelectionPlugin",
8
- "./SelectionModelSelection",
9
- "./BindingSelection",
10
8
  "../library",
11
9
  "../utils/TableUtils",
12
10
  "sap/ui/core/Icon",
@@ -14,8 +12,6 @@ sap.ui.define([
14
12
  "sap/base/Log"
15
13
  ], function(
16
14
  SelectionPlugin,
17
- SelectionModelSelectionPlugin,
18
- BindingSelectionPlugin,
19
15
  library,
20
16
  TableUtils,
21
17
  Icon,
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.core.Element
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.98.0
31
+ * @version 1.101.0
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.98.0
26
+ * @version 1.101.0
27
27
  * @constructor
28
28
  * @private
29
29
  * @alias sap.ui.table.plugins.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.98.0
32
+ * @version 1.101.0
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.98.0
35
+ * @version 1.101.0
36
36
  * @private
37
37
  * @since 1.76
38
38
  * @experimental
@@ -7,12 +7,14 @@ sap.ui.define([
7
7
  "../library",
8
8
  "../utils/TableUtils",
9
9
  "./RowMode",
10
- "sap/ui/Device"
10
+ "sap/ui/Device",
11
+ "sap/ui/thirdparty/jquery"
11
12
  ], function(
12
13
  library,
13
14
  TableUtils,
14
15
  RowMode,
15
- Device
16
+ Device,
17
+ jQuery
16
18
  ) {
17
19
  "use strict";
18
20
 
@@ -33,7 +35,7 @@ sap.ui.define([
33
35
  * @ui5-restricted sap.ui.mdc
34
36
  *
35
37
  * @author SAP SE
36
- * @version 1.98.0
38
+ * @version 1.101.0
37
39
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
38
40
  */
39
41
  var AutoRowMode = RowMode.extend("sap.ui.table.rowmodes.AutoRowMode", /** @lends sap.ui.table.rowmodes.AutoRowMode.prototype */ {
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @ui5-restricted sap.ui.mdc
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.98.0
32
+ * @version 1.101.0
33
33
  *
34
34
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
35
35
  */
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @ui5-restricted sap.ui.mdc
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.98.0
36
+ * @version 1.101.0
37
37
  *
38
38
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
39
39
  */
@@ -7,13 +7,11 @@ sap.ui.define([
7
7
  "../library",
8
8
  "../utils/TableUtils",
9
9
  "sap/ui/core/Element",
10
- "sap/base/Log",
11
10
  "sap/ui/thirdparty/jquery"
12
11
  ], function(
13
12
  library,
14
13
  TableUtils,
15
14
  Element,
16
- Log,
17
15
  jQuery
18
16
  ) {
19
17
  "use strict";
@@ -36,7 +34,7 @@ sap.ui.define([
36
34
  * @ui5-restricted sap.ui.mdc
37
35
  *
38
36
  * @author SAP SE
39
- * @version 1.98.0
37
+ * @version 1.101.0
40
38
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
41
39
  */
42
40
  var RowMode = Element.extend("sap.ui.table.rowmodes.RowMode", /** @lends sap.ui.table.rowmodes.RowMode.prototype */ {
@@ -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.98.0
26
+ * @version 1.101.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -6,8 +6,9 @@
6
6
  sap.ui.define([
7
7
  "./TableHelper.support",
8
8
  "sap/ui/support/library",
9
- "sap/ui/Device"
10
- ], function(SupportHelper, SupportLibrary, Device) {
9
+ "sap/ui/Device",
10
+ "sap/ui/thirdparty/jquery"
11
+ ], function(SupportHelper, SupportLibrary, Device, jQuery) {
11
12
  "use strict";
12
13
 
13
14
  var Categories = SupportLibrary.Categories;
@@ -13,9 +13,9 @@
13
13
  @_sap_ui_table_Table_TableHeaderBorderColor: @sapUiListVerticalBorderColor;
14
14
 
15
15
  // Can be used in other themes to add styles for which there are no style definitions in the base theme and therefore no theme parameters.
16
- ._sap_ui_table_Table_Header() {}
17
- ._sap_ui_table_Table_Extension() {}
18
- ._sap_ui_table_Table_Table() {}
16
+ ._sap_ui_table_Table_TitleContainer() {}
17
+ ._sap_ui_table_Table_ExtensionContainer() {}
18
+ ._sap_ui_table_Table_GridContainer() {}
19
19
 
20
20
  /*******************************************************************************
21
21
  * MAIN TABLE SECTIONS (First Level Elements)
@@ -41,7 +41,7 @@
41
41
  flex: 1 1 auto;
42
42
  }
43
43
 
44
- ._sap_ui_table_Table_Header();
44
+ ._sap_ui_table_Table_TitleContainer();
45
45
  }
46
46
 
47
47
  .sapUiTableHdrTitle {
@@ -53,7 +53,7 @@
53
53
 
54
54
  .sapUiTableTbr,
55
55
  .sapUiTableExt {
56
- ._sap_ui_table_Table_Extension();
56
+ ._sap_ui_table_Table_ExtensionContainer();
57
57
  }
58
58
 
59
59
  .sapUiTableCnt {
@@ -64,7 +64,7 @@
64
64
  border-right: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
65
65
  border-top: @_sap_ui_table_BaseBorderWidth solid @sapUiListBorderColor;
66
66
  background-color: @sapBackgroundColor;
67
- ._sap_ui_table_Table_Table();
67
+ ._sap_ui_table_Table_GridContainer();
68
68
  }
69
69
 
70
70
  .sapUiTableFtr {
@@ -164,6 +164,12 @@
164
164
  }
165
165
  }
166
166
 
167
+ .sapUiTableCtrlEmpty > .sapMIllustratedMessage {
168
+ position: absolute;
169
+ top: 50%;
170
+ transform: translate(0, -50%);
171
+ }
172
+
167
173
  .sapUiTableOverlayArea {
168
174
  background-color: transparent;
169
175
  z-index: 12;
@@ -6,15 +6,15 @@
6
6
  @_sap_ui_table_Table_FocusOutlineOffset: -3px;
7
7
  @_sap_ui_table_Table_TableHeaderBorderWidth: 3px;
8
8
 
9
- ._sap_ui_table_Table_Header() {
9
+ ._sap_ui_table_Table_TitleContainer() {
10
10
  border-bottom: 3px solid @sapUiListHeaderBorderColor;
11
11
  }
12
12
 
13
- ._sap_ui_table_Table_Extension() {
13
+ ._sap_ui_table_Table_ExtensionContainer() {
14
14
  border-bottom: @_sap_ui_table_BaseBorderWidth solid @sapUiListHeaderBorderColor;
15
15
  padding: 0.125rem;
16
16
  }
17
17
 
18
- ._sap_ui_table_Table_Table() {
18
+ ._sap_ui_table_Table_GridContainer() {
19
19
  border: @_sap_ui_table_BaseBorderWidth solid @sapUiListBorderColor;
20
20
  }
@@ -54,7 +54,7 @@ sap.ui.define([
54
54
  * @type {sap.ui.table.utils.TableUtils.CellType}
55
55
  * @static
56
56
  * @constant
57
- * @typedef {Object} sap.ui.table.utils.TableUtils.CellType
57
+ * @typedef {object} sap.ui.table.utils.TableUtils.CellType
58
58
  * @property {int} DATACELL - Data cell.
59
59
  * @property {int} COLUMNHEADER - Column header cell.
60
60
  * @property {int} ROWHEADER - Row header cell.
@@ -84,7 +84,7 @@ sap.ui.define([
84
84
  *
85
85
  * @type {sap.ui.table.utils.TableUtils.BaseSize}
86
86
  * @static
87
- * @typedef {Object} sap.ui.table.utils.TableUtils.BaseSize
87
+ * @typedef {object} sap.ui.table.utils.TableUtils.BaseSize
88
88
  * @property {int} sapUiSizeCondensed - The default base size in pixels in condensed content density.
89
89
  * @property {int} sapUiSizeCompact - The default base siz in pixels in compact content density.
90
90
  * @property {int} sapUiSizeCozy - The default base siz in pixels in cozy content density.
@@ -119,7 +119,7 @@ sap.ui.define([
119
119
  *
120
120
  * @type {sap.ui.table.utils.TableUtils.DefaultRowHeight}
121
121
  * @static
122
- * @typedef {Object} sap.ui.table.utils.TableUtils.DefaultRowHeight
122
+ * @typedef {object} sap.ui.table.utils.TableUtils.DefaultRowHeight
123
123
  * @property {int} sapUiSizeCondensed - The default height of a row in pixels in condensed content density.
124
124
  * @property {int} sapUiSizeCompact - The default height of a row in pixels in compact content density.
125
125
  * @property {int} sapUiSizeCozy - The default height of a row in pixels in cozy content density.
@@ -137,7 +137,7 @@ sap.ui.define([
137
137
  *
138
138
  * @type {sap.ui.table.utils.TableUtils.ThemeParameters}
139
139
  * @static
140
- * @typedef {Object} sap.ui.table.utils.TableUtils.ThemeParameters
140
+ * @typedef {object} sap.ui.table.utils.TableUtils.ThemeParameters
141
141
  * @property {string} navigationIcon - Name of the navigation icon.
142
142
  * @property {string} deleteIcon - Name of the delete icon.
143
143
  * @property {string} clearSelectionIcon - Name of the clearSelection icon.
@@ -156,7 +156,7 @@ sap.ui.define([
156
156
  * @type {sap.ui.table.utils.TableUtils.ROWS_UPDATE_REASON}
157
157
  * @static
158
158
  * @constant
159
- * @typedef {Object} sap.ui.table.utils.TableUtils.ROWS_UPDATE_REASON
159
+ * @typedef {object} sap.ui.table.utils.TableUtils.ROWS_UPDATE_REASON
160
160
  * @property {string} Sort - {@link sap.ui.model.ChangeReason.Sort}
161
161
  * @property {string} Filter - {@link sap.ui.model.ChangeReason.Filter}
162
162
  * @property {string} Change - {@link sap.ui.model.ChangeReason.Change}
@@ -203,7 +203,7 @@ sap.ui.define([
203
203
  * Static collection of utility functions related to the sap.ui.table.Table, ...
204
204
  *
205
205
  * @author SAP SE
206
- * @version 1.98.0
206
+ * @version 1.101.0
207
207
  * @namespace
208
208
  * @alias sap.ui.table.utils.TableUtils
209
209
  * @private
@@ -478,7 +478,21 @@ sap.ui.define([
478
478
  }
479
479
  },
480
480
 
481
- /**
481
+ /**
482
+ * Gets the message to be displayed if the table contains no columns or no data.
483
+ *
484
+ * @param oTable Instance of the table.
485
+ * @returns {Control | string} The no data control or text message.
486
+ */
487
+ getNoContentMessage: function(oTable) {
488
+ if (oTable._getVisibleColumns().length > 0) {
489
+ return oTable.getNoData();
490
+ } else {
491
+ return oTable.getAggregation("_noColumnsMessage");
492
+ }
493
+ },
494
+
495
+ /**
482
496
  * Gets the text to be displayed as the "no data text".
483
497
  * If a control is set for the <code>noData</code> aggregation, <code>null</code> is returned.
484
498
  *
@@ -486,12 +500,12 @@ sap.ui.define([
486
500
  * @returns {string | null} The no data text.
487
501
  */
488
502
  getNoDataText: function(oTable) {
489
- if (TableUtils.getVisibleColumnCount(oTable) === 0) {
503
+ var vNoData = oTable.getNoData();
504
+
505
+ if (TableUtils.getVisibleColumnCount(oTable) === 0 && !TableUtils.isA(vNoData, "sap.m.IllustratedMessage")) {
490
506
  return TableUtils.getResourceText("TBL_NO_COLUMNS");
491
507
  }
492
508
 
493
- var vNoData = oTable.getNoData();
494
-
495
509
  if (TableUtils.isA(vNoData, "sap.ui.core.Control")) {
496
510
  return null;
497
511
  } else if (typeof vNoData === "string") {
@@ -565,7 +579,7 @@ sap.ui.define([
565
579
  * @param {sap.ui.table.Table} oTable Instance of the table.
566
580
  * @returns {sap.ui.table.utils.TableUtils.FocusedItemInfo | null} Returns the information about the focused item, or <code>null</code>, if the
567
581
  * item navigation is not yet initialized.
568
- * @typedef {Object} sap.ui.table.utils.TableUtils.FocusedItemInfo
582
+ * @typedef {object} sap.ui.table.utils.TableUtils.FocusedItemInfo
569
583
  * @property {int} cell Index of focused cell in the ItemNavigation.
570
584
  * @property {int} columnCount Number of columns in the ItemNavigation.
571
585
  * @property {int} cellInRow Index of the cell in the row.
@@ -649,7 +663,7 @@ sap.ui.define([
649
663
  * <li><b>cell</b>: Is <code>null</code>, if the cell is not a table cell.</li>
650
664
  * </ul>
651
665
  *
652
- * @typedef {Object} sap.ui.table.utils.TableUtils.CellInfo
666
+ * @typedef {object} sap.ui.table.utils.TableUtils.CellInfo
653
667
  * @property {sap.ui.table.utils.TableUtils.CellType} [type] The type of the cell.
654
668
  * @property {int | null} [rowIndex] The index of the row the cell is inside.
655
669
  * @property {int | null} columnIndex The index of the column, in the <code>columns</code> aggregation, the cell is inside.
@@ -970,7 +984,7 @@ sap.ui.define([
970
984
  * sapUiSizeCompact, sapUiSizeCondensed, sapUiSizeCozy
971
985
  *
972
986
  * @param {sap.ui.table.Table} oControl Instance of the table.
973
- * @returns {String | undefined} name of the content density style class or undefined if none was found.
987
+ * @returns {string | undefined} name of the content density style class or undefined if none was found.
974
988
  */
975
989
  getContentDensity: function(oControl) {
976
990
  var sContentDensity;