@openui5/sap.ui.table 1.129.0 → 1.130.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.
- package/THIRDPARTY.txt +1 -1
- package/package.json +3 -3
- package/src/sap/ui/table/.library +1 -1
- package/src/sap/ui/table/AnalyticalColumn.js +1 -1
- package/src/sap/ui/table/AnalyticalColumnMenu.js +1 -1
- package/src/sap/ui/table/AnalyticalTable.js +2 -2
- package/src/sap/ui/table/Column.js +1 -1
- package/src/sap/ui/table/ColumnMenu.js +1 -1
- package/src/sap/ui/table/CreationRow.js +1 -1
- package/src/sap/ui/table/Row.js +1 -1
- package/src/sap/ui/table/RowAction.js +1 -1
- package/src/sap/ui/table/RowActionItem.js +1 -1
- package/src/sap/ui/table/RowSettings.js +1 -1
- package/src/sap/ui/table/Table.js +3 -2
- package/src/sap/ui/table/TablePersoController.js +1 -1
- package/src/sap/ui/table/TreeTable.js +1 -1
- package/src/sap/ui/table/extensions/Accessibility.js +1 -1
- package/src/sap/ui/table/extensions/AccessibilityRender.js +1 -1
- package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
- package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
- package/src/sap/ui/table/extensions/Keyboard.js +1 -1
- package/src/sap/ui/table/extensions/KeyboardDelegate.js +3 -3
- package/src/sap/ui/table/extensions/Pointer.js +1 -1
- package/src/sap/ui/table/extensions/Scrolling.js +1 -1
- package/src/sap/ui/table/extensions/ScrollingIOS.js +1 -1
- package/src/sap/ui/table/extensions/Synchronization.js +1 -1
- package/src/sap/ui/table/library.js +11 -11
- package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +1 -1
- package/src/sap/ui/table/menus/GroupHeaderContextMenuAdapter.js +1 -1
- package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +1 -1
- package/src/sap/ui/table/messagebundle_et.properties +1 -1
- package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
- package/src/sap/ui/table/plugins/PluginBase.js +1 -1
- package/src/sap/ui/table/plugins/SelectionModelSelection.js +1 -1
- package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
- package/src/sap/ui/table/plugins/V4Aggregation.js +58 -59
- package/src/sap/ui/table/rowmodes/Auto.js +1 -1
- package/src/sap/ui/table/rowmodes/Fixed.js +1 -1
- package/src/sap/ui/table/rowmodes/Interactive.js +4 -11
- package/src/sap/ui/table/rowmodes/RowMode.js +1 -1
- package/src/sap/ui/table/rowmodes/Variable.js +1 -1
- package/src/sap/ui/table/utils/TableUtils.js +1 -1
- package/src/sap/ui/table/utils/_BindingUtils.js +1 -1
- package/src/sap/ui/table/utils/_ColumnUtils.js +1 -1
- package/src/sap/ui/table/utils/_GroupingUtils.js +1 -1
- package/src/sap/ui/table/utils/_HookUtils.js +1 -1
- package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
package/THIRDPARTY.txt
CHANGED
|
@@ -6,7 +6,7 @@ The full text of all referenced licenses is appended at the end of this file.
|
|
|
6
6
|
|
|
7
7
|
Library: sap.m:
|
|
8
8
|
|
|
9
|
-
Component: purify.js, version:
|
|
9
|
+
Component: purify.js, version: 3.1.7
|
|
10
10
|
Copyright: Mario Heiderich
|
|
11
11
|
License: Apache-2.0
|
|
12
12
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.ui.table",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.130.0",
|
|
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.
|
|
18
|
-
"@openui5/sap.ui.unified": "1.
|
|
17
|
+
"@openui5/sap.ui.core": "1.130.0",
|
|
18
|
+
"@openui5/sap.ui.unified": "1.130.0"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
|
|
8
8
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
|
|
9
|
-
<version>1.
|
|
9
|
+
<version>1.130.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>Table-like controls, mainly for desktop scenarios.</documentation>
|
|
12
12
|
|
|
@@ -50,7 +50,7 @@ sap.ui.define([
|
|
|
50
50
|
* @see https://github.com/SAP/odata-vocabularies/blob/main/docs/v2-annotations.md
|
|
51
51
|
*
|
|
52
52
|
* @extends sap.ui.table.Table
|
|
53
|
-
* @version 1.
|
|
53
|
+
* @version 1.130.0
|
|
54
54
|
*
|
|
55
55
|
* @constructor
|
|
56
56
|
* @public
|
|
@@ -158,7 +158,7 @@ sap.ui.define([
|
|
|
158
158
|
dirty: {type: "boolean", group: "Appearance", defaultValue: null, deprecated: true},
|
|
159
159
|
|
|
160
160
|
/**
|
|
161
|
-
* If set to <code>true</code>, the full set of <code>MenuItem</code> instances shown in
|
|
161
|
+
* If set to <code>true</code>, the full set of <code>MenuItem</code> instances is shown in the group header menu. The value
|
|
162
162
|
* <code>false</code> means that only a reduced set of group header menu items is shown.
|
|
163
163
|
*/
|
|
164
164
|
extendedGroupHeaderMenu: {type: "boolean", group: "Behavior", defaultValue: true, visibility: "hidden"}
|
package/src/sap/ui/table/Row.js
CHANGED
|
@@ -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.
|
|
38
|
+
* @version 1.130.0
|
|
39
39
|
*
|
|
40
40
|
* @constructor
|
|
41
41
|
* @public
|
|
@@ -27,7 +27,7 @@ sap.ui.define([
|
|
|
27
27
|
* The <code>RowSettings</code> control allows you to configure a row.
|
|
28
28
|
* You can only use this control in the context of the <code>sap.ui.table.Table</code> control to define row settings.
|
|
29
29
|
* @extends sap.ui.core.Element
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.130.0
|
|
31
31
|
*
|
|
32
32
|
* @constructor
|
|
33
33
|
* @public
|
|
@@ -102,7 +102,7 @@ sap.ui.define([
|
|
|
102
102
|
* the data model and binding being used.
|
|
103
103
|
* </p>
|
|
104
104
|
* @extends sap.ui.core.Control
|
|
105
|
-
* @version 1.
|
|
105
|
+
* @version 1.130.0
|
|
106
106
|
*
|
|
107
107
|
* @constructor
|
|
108
108
|
* @public
|
|
@@ -2665,7 +2665,8 @@ sap.ui.define([
|
|
|
2665
2665
|
/**
|
|
2666
2666
|
* Triggers automatic resizing of a column to the widest content.
|
|
2667
2667
|
*
|
|
2668
|
-
* @
|
|
2668
|
+
* See {@link sap.ui.table.Column#autoResize} for details about the auto-resize feature.
|
|
2669
|
+
*
|
|
2669
2670
|
* @param {int} iColIndex The index of the column in the list of visible columns.
|
|
2670
2671
|
* @function
|
|
2671
2672
|
* @public
|
|
@@ -969,7 +969,7 @@ sap.ui.define([
|
|
|
969
969
|
* @class Extension for sap.ui.table.Table which handles ACC related things.
|
|
970
970
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
971
971
|
* @author SAP SE
|
|
972
|
-
* @version 1.
|
|
972
|
+
* @version 1.130.0
|
|
973
973
|
* @constructor
|
|
974
974
|
* @private
|
|
975
975
|
* @alias sap.ui.table.extensions.Accessibility
|
|
@@ -44,7 +44,7 @@ sap.ui.define([
|
|
|
44
44
|
* @class Extension for sap.ui.table.TableRenderer which handles ACC related things.
|
|
45
45
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
46
46
|
* @author SAP SE
|
|
47
|
-
* @version 1.
|
|
47
|
+
* @version 1.130.0
|
|
48
48
|
* @constructor
|
|
49
49
|
* @private
|
|
50
50
|
* @alias sap.ui.table.extensions.AccessibilityRender
|
|
@@ -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.
|
|
270
|
+
* @version 1.130.0
|
|
271
271
|
* @constructor
|
|
272
272
|
* @private
|
|
273
273
|
* @alias sap.ui.table.extensions.Keyboard
|
|
@@ -65,7 +65,7 @@ sap.ui.define([
|
|
|
65
65
|
*
|
|
66
66
|
* @extends sap.ui.base.Object
|
|
67
67
|
* @author SAP SE
|
|
68
|
-
* @version 1.
|
|
68
|
+
* @version 1.130.0
|
|
69
69
|
* @constructor
|
|
70
70
|
* @private
|
|
71
71
|
* @alias sap.ui.table.extensions.KeyboardDelegate
|
|
@@ -1019,7 +1019,7 @@ sap.ui.define([
|
|
|
1019
1019
|
const oBusyIndicator = this.getDomRef("busyIndicator");
|
|
1020
1020
|
if (oBusyIndicator) {
|
|
1021
1021
|
this._getKeyboardExtension().setSilentFocus(oBusyIndicator);
|
|
1022
|
-
} else if (this.getColumnHeaderVisible() && (TableUtils.getVisibleColumnCount(this) ||
|
|
1022
|
+
} else if (this.getColumnHeaderVisible() && (TableUtils.getVisibleColumnCount(this) || TableUtils.hasRowHeader(this))) {
|
|
1023
1023
|
setFocusOnColumnHeaderOfLastFocusedDataCell(this, oEvent);
|
|
1024
1024
|
} else if (bNoData) {
|
|
1025
1025
|
this._getKeyboardExtension().setSilentFocus(this.$("noDataCnt"));
|
|
@@ -1031,7 +1031,7 @@ sap.ui.define([
|
|
|
1031
1031
|
this._getKeyboardExtension().setSilentFocus(oBusyIndicator);
|
|
1032
1032
|
} else if (this.getRows().length && !TableUtils.isNoDataVisible(this)) {
|
|
1033
1033
|
restoreFocusOnLastFocusedDataCell(this, oEvent);
|
|
1034
|
-
} else if (this.getColumnHeaderVisible() && (TableUtils.getVisibleColumnCount(this) ||
|
|
1034
|
+
} else if (this.getColumnHeaderVisible() && (TableUtils.getVisibleColumnCount(this) || TableUtils.hasRowHeader(this))) {
|
|
1035
1035
|
setFocusOnColumnHeaderOfLastFocusedDataCell(this, oEvent);
|
|
1036
1036
|
}
|
|
1037
1037
|
}
|
|
@@ -670,7 +670,7 @@ sap.ui.define([
|
|
|
670
670
|
* @class Extension for sap.ui.table.Table which handles mouse and touch related things.
|
|
671
671
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
672
672
|
* @author SAP SE
|
|
673
|
-
* @version 1.
|
|
673
|
+
* @version 1.130.0
|
|
674
674
|
* @constructor
|
|
675
675
|
* @private
|
|
676
676
|
* @alias sap.ui.table.extensions.Pointer
|
|
@@ -2295,7 +2295,7 @@ sap.ui.define([
|
|
|
2295
2295
|
* @class Extension for sap.ui.table.Table which handles scrolling.
|
|
2296
2296
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
2297
2297
|
* @author SAP SE
|
|
2298
|
-
* @version 1.
|
|
2298
|
+
* @version 1.130.0
|
|
2299
2299
|
* @constructor
|
|
2300
2300
|
* @private
|
|
2301
2301
|
* @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.
|
|
30
|
+
* @version 1.130.0
|
|
31
31
|
* @constructor
|
|
32
32
|
* @private
|
|
33
33
|
* @alias sap.ui.table.extensions.ScrollingIOS
|
|
@@ -185,7 +185,7 @@ sap.ui.define([
|
|
|
185
185
|
* @class Extension for sap.ui.table.Table that allows synchronization with a table.
|
|
186
186
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
187
187
|
* @author SAP SE
|
|
188
|
-
* @version 1.
|
|
188
|
+
* @version 1.130.0
|
|
189
189
|
* @constructor
|
|
190
190
|
* @private
|
|
191
191
|
* @alias sap.ui.table.extensions.Synchronization
|
|
@@ -27,14 +27,14 @@ sap.ui.define([
|
|
|
27
27
|
* @namespace
|
|
28
28
|
* @alias sap.ui.table
|
|
29
29
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.130.0
|
|
31
31
|
* @since 0.8
|
|
32
32
|
* @public
|
|
33
33
|
*/
|
|
34
34
|
const thisLib = Library.init({
|
|
35
35
|
name: "sap.ui.table",
|
|
36
36
|
apiVersion: 2,
|
|
37
|
-
version: "1.
|
|
37
|
+
version: "1.130.0",
|
|
38
38
|
dependencies: ["sap.ui.core", "sap.ui.unified"],
|
|
39
39
|
designtime: "sap/ui/table/designtime/library.designtime",
|
|
40
40
|
types: [
|
|
@@ -96,7 +96,7 @@ sap.ui.define([
|
|
|
96
96
|
/**
|
|
97
97
|
* Navigation mode of the table
|
|
98
98
|
*
|
|
99
|
-
* @version 1.
|
|
99
|
+
* @version 1.130.0
|
|
100
100
|
* @enum {string}
|
|
101
101
|
* @deprecated As of version 1.38, the concept has been discarded.
|
|
102
102
|
* @public
|
|
@@ -127,7 +127,7 @@ sap.ui.define([
|
|
|
127
127
|
/**
|
|
128
128
|
* Row Action types.
|
|
129
129
|
*
|
|
130
|
-
* @version 1.
|
|
130
|
+
* @version 1.130.0
|
|
131
131
|
* @enum {string}
|
|
132
132
|
* @public
|
|
133
133
|
*/
|
|
@@ -158,7 +158,7 @@ sap.ui.define([
|
|
|
158
158
|
/**
|
|
159
159
|
* Selection behavior of the table
|
|
160
160
|
*
|
|
161
|
-
* @version 1.
|
|
161
|
+
* @version 1.130.0
|
|
162
162
|
* @enum {string}
|
|
163
163
|
* @public
|
|
164
164
|
*/
|
|
@@ -189,7 +189,7 @@ sap.ui.define([
|
|
|
189
189
|
/**
|
|
190
190
|
* Selection mode of the table
|
|
191
191
|
*
|
|
192
|
-
* @version 1.
|
|
192
|
+
* @version 1.130.0
|
|
193
193
|
* @enum {string}
|
|
194
194
|
* @public
|
|
195
195
|
*/
|
|
@@ -227,7 +227,7 @@ sap.ui.define([
|
|
|
227
227
|
/**
|
|
228
228
|
* Sort order of a column
|
|
229
229
|
*
|
|
230
|
-
* @version 1.
|
|
230
|
+
* @version 1.130.0
|
|
231
231
|
* @enum {string}
|
|
232
232
|
* @public
|
|
233
233
|
* @deprecated As of version 1.120, replaced with <code>sap.ui.core.SortOrder</code>
|
|
@@ -254,7 +254,7 @@ sap.ui.define([
|
|
|
254
254
|
/**
|
|
255
255
|
* VisibleRowCountMode of the table
|
|
256
256
|
*
|
|
257
|
-
* @version 1.
|
|
257
|
+
* @version 1.130.0
|
|
258
258
|
* @enum {string}
|
|
259
259
|
* @deprecated As of version 1.119, see the <code>rowMode</code> aggregation of <code>sap.ui.table.Table</code> for more details.
|
|
260
260
|
* @public
|
|
@@ -299,7 +299,7 @@ sap.ui.define([
|
|
|
299
299
|
*
|
|
300
300
|
* Contains IDs of shared DOM references, which should be accessible to inheriting controls via getDomRef() function.
|
|
301
301
|
*
|
|
302
|
-
* @version 1.
|
|
302
|
+
* @version 1.130.0
|
|
303
303
|
* @enum {string}
|
|
304
304
|
* @public
|
|
305
305
|
*/
|
|
@@ -400,7 +400,7 @@ sap.ui.define([
|
|
|
400
400
|
*
|
|
401
401
|
* This is an alias for {@link sap.ui.model.TreeAutoExpandMode} and kept for compatibility reasons.
|
|
402
402
|
*
|
|
403
|
-
* @version 1.
|
|
403
|
+
* @version 1.130.0
|
|
404
404
|
* @typedef {sap.ui.model.TreeAutoExpandMode}
|
|
405
405
|
* @public
|
|
406
406
|
* @deprecated As of version 1.120, replaced by <code>sap.ui.model.TreeAutoExpandMode</code>
|
|
@@ -414,7 +414,7 @@ sap.ui.define([
|
|
|
414
414
|
/**
|
|
415
415
|
* Mode of a selection plugin
|
|
416
416
|
*
|
|
417
|
-
* @version 1.
|
|
417
|
+
* @version 1.130.0
|
|
418
418
|
* @enum {string}
|
|
419
419
|
* @private
|
|
420
420
|
*/
|
|
@@ -6,7 +6,7 @@ TBL_SORT_ASC=Sordi kasvavalt
|
|
|
6
6
|
TBL_SORT_DESC=Sordi kahanevalt
|
|
7
7
|
TBL_GROUP=Grupp
|
|
8
8
|
TBL_UNGROUP=T\u00FChista grupeering
|
|
9
|
-
TBL_UNGROUP_LEVEL=
|
|
9
|
+
TBL_UNGROUP_LEVEL=T\u00FChista taseme grupeering
|
|
10
10
|
TBL_UNGROUP_ALL=T\u00FChista k\u00F5ik grupeeringud
|
|
11
11
|
TBL_COLUMNS=Veerud
|
|
12
12
|
TBL_FREEZE=K\u00FClmuta
|
|
@@ -21,7 +21,7 @@ sap.ui.define([
|
|
|
21
21
|
*
|
|
22
22
|
* @class Implements the selection methods for TreeTable and AnalyticalTable
|
|
23
23
|
* @extends sap.ui.table.plugins.SelectionPlugin
|
|
24
|
-
* @version 1.
|
|
24
|
+
* @version 1.130.0
|
|
25
25
|
* @constructor
|
|
26
26
|
* @private
|
|
27
27
|
* @alias sap.ui.table.plugins.BindingSelection
|
|
@@ -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.
|
|
26
|
+
* @version 1.130.0
|
|
27
27
|
* @constructor
|
|
28
28
|
* @private
|
|
29
29
|
* @alias sap.ui.table.plugins.SelectionModelSelection
|
|
@@ -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.
|
|
35
|
+
* @version 1.130.0
|
|
36
36
|
* @private
|
|
37
37
|
* @since 1.76
|
|
38
38
|
* @ui5-restricted sap.ui.mdc
|
|
@@ -277,59 +277,56 @@ sap.ui.define([
|
|
|
277
277
|
this._aGroupLevels = undefined;
|
|
278
278
|
this._sSearch = undefined;
|
|
279
279
|
} else {
|
|
280
|
-
const
|
|
281
|
-
|
|
282
|
-
|
|
280
|
+
const oAllUnitPropertyPaths = new Set();
|
|
281
|
+
const oAllAdditionalPropertyPaths = new Set();
|
|
282
|
+
const aVisiblePropertyKeys = oAggregateInfo.visible.concat(); // Copy
|
|
283
283
|
|
|
284
284
|
// Always use keys in the properties to be grouped
|
|
285
285
|
this._mGroup = this.getPropertyInfos().reduce(function(mGroup, oPropertyInfo) {
|
|
286
286
|
if (oPropertyInfo.isKey) {
|
|
287
287
|
mGroup[oPropertyInfo.path] = {};
|
|
288
|
-
aAdditionalProperties = getAdditionalPropertyPaths(this, oPropertyInfo);
|
|
289
|
-
if (aAdditionalProperties) {
|
|
290
|
-
mGroup[oPropertyInfo.path].additionally = aAdditionalProperties;
|
|
291
|
-
aAllAdditionalProperties.concat(aAdditionalProperties);
|
|
292
|
-
}
|
|
293
288
|
}
|
|
294
289
|
return mGroup;
|
|
295
|
-
}
|
|
296
|
-
|
|
290
|
+
}, {});
|
|
297
291
|
this._mAggregate = {};
|
|
298
292
|
|
|
299
|
-
//
|
|
300
|
-
const aVisible = oAggregateInfo.visible.concat(); // Copy
|
|
293
|
+
// We need to consider groupLevels as visible properties, to add them in the query properly if they have additional properties
|
|
301
294
|
if (oAggregateInfo.groupLevels) {
|
|
302
|
-
// We need to consider groupLevels as visible properties, to add them in the query properly if they have an 'additionally' property
|
|
303
295
|
oAggregateInfo.groupLevels.forEach(function(sGroupLevelName) {
|
|
304
|
-
if (
|
|
305
|
-
|
|
296
|
+
if (aVisiblePropertyKeys.indexOf(sGroupLevelName) < 0) {
|
|
297
|
+
aVisiblePropertyKeys.push(sGroupLevelName);
|
|
306
298
|
}
|
|
307
299
|
});
|
|
308
300
|
}
|
|
309
|
-
aVisible.forEach(function(sVisiblePropertyName) {
|
|
310
|
-
const oPropertyInfo = this.findPropertyInfo(sVisiblePropertyName);
|
|
311
301
|
|
|
312
|
-
|
|
313
|
-
|
|
302
|
+
for (const sPropertyKey of aVisiblePropertyKeys) {
|
|
303
|
+
const oPropertyInfo = this.findPropertyInfo(sPropertyKey);
|
|
304
|
+
|
|
305
|
+
if (!oPropertyInfo || !oPropertyInfo.groupable && !oPropertyInfo.aggregatable) {
|
|
306
|
+
continue;
|
|
314
307
|
}
|
|
315
308
|
|
|
309
|
+
// Skip text property if its id is visible.
|
|
310
|
+
const oAdditionalProperty = this.findPropertyInfo(oPropertyInfo.additionalProperties?.[0]);
|
|
311
|
+
if (oAdditionalProperty?.text === oPropertyInfo.key && aVisiblePropertyKeys.includes(oAdditionalProperty.key)) {
|
|
312
|
+
continue;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
// TODO: We cannot really support properties that are both groupable and aggregatable. Either text or unit will be missing. Let
|
|
316
|
+
// property validation fail in MDC if both technicallyAggregatable and technicallyGroupable are true?
|
|
317
|
+
|
|
316
318
|
if (oPropertyInfo.groupable) {
|
|
317
319
|
this._mGroup[oPropertyInfo.path] = {};
|
|
318
|
-
aAdditionalProperties = getAdditionalPropertyPaths(this, oPropertyInfo);
|
|
319
|
-
if (aAdditionalProperties) {
|
|
320
|
-
this._mGroup[oPropertyInfo.path].additionally = aAdditionalProperties;
|
|
321
|
-
aAllAdditionalProperties = aAllAdditionalProperties.concat(aAdditionalProperties);
|
|
322
|
-
}
|
|
323
320
|
}
|
|
324
321
|
|
|
325
322
|
if (oPropertyInfo.aggregatable) {
|
|
326
323
|
this._mAggregate[oPropertyInfo.path] = {};
|
|
327
324
|
|
|
328
|
-
if (oAggregateInfo.grandTotal && (oAggregateInfo.grandTotal.indexOf(
|
|
325
|
+
if (oAggregateInfo.grandTotal && (oAggregateInfo.grandTotal.indexOf(oPropertyInfo.key) >= 0)) {
|
|
329
326
|
this._mAggregate[oPropertyInfo.path].grandTotal = true;
|
|
330
327
|
}
|
|
331
328
|
|
|
332
|
-
if (oAggregateInfo.subtotals && (oAggregateInfo.subtotals.indexOf(
|
|
329
|
+
if (oAggregateInfo.subtotals && (oAggregateInfo.subtotals.indexOf(oPropertyInfo.key) >= 0)) {
|
|
333
330
|
this._mAggregate[oPropertyInfo.path].subtotals = true;
|
|
334
331
|
}
|
|
335
332
|
|
|
@@ -337,30 +334,34 @@ sap.ui.define([
|
|
|
337
334
|
const oUnitPropertyInfo = this.findPropertyInfo(oPropertyInfo.unit);
|
|
338
335
|
if (oUnitPropertyInfo) {
|
|
339
336
|
this._mAggregate[oPropertyInfo.path].unit = oUnitPropertyInfo.path;
|
|
340
|
-
|
|
337
|
+
oAllUnitPropertyPaths.add(oUnitPropertyInfo.path);
|
|
341
338
|
}
|
|
342
339
|
}
|
|
343
340
|
|
|
344
|
-
if (oPropertyInfo.aggregationDetails
|
|
345
|
-
oPropertyInfo.aggregationDetails.customAggregate &&
|
|
346
|
-
oPropertyInfo.aggregationDetails.customAggregate.contextDefiningProperties) {
|
|
347
|
-
|
|
341
|
+
if (!oPropertyInfo.additionalProperties?.length && oPropertyInfo.aggregationDetails?.customAggregate?.contextDefiningProperties) {
|
|
348
342
|
oPropertyInfo.aggregationDetails.customAggregate.contextDefiningProperties.forEach(function(sContextDefiningPropertyName) {
|
|
349
343
|
const oDefiningPropertyInfo = this.findPropertyInfo(sContextDefiningPropertyName);
|
|
350
344
|
if (oDefiningPropertyInfo) {
|
|
351
345
|
this._mGroup[oDefiningPropertyInfo.path] = {};
|
|
352
|
-
aAdditionalProperties = getAdditionalPropertyPaths(this, oPropertyInfo);
|
|
353
|
-
if (aAdditionalProperties) {
|
|
354
|
-
this._mGroup[oDefiningPropertyInfo.path].additionally = aAdditionalProperties;
|
|
355
|
-
aAllAdditionalProperties = aAllAdditionalProperties.concat(aAdditionalProperties);
|
|
356
|
-
}
|
|
357
346
|
}
|
|
358
347
|
}.bind(this));
|
|
359
348
|
}
|
|
360
349
|
}
|
|
361
|
-
}.bind(this));
|
|
362
350
|
|
|
363
|
-
|
|
351
|
+
// Additional properties
|
|
352
|
+
const aAdditionalPropertyPaths = getAdditionalPropertyPaths(this, oPropertyInfo);
|
|
353
|
+
|
|
354
|
+
if (oPropertyInfo.aggregatable) {
|
|
355
|
+
for (const sPropertyPath of aAdditionalPropertyPaths) {
|
|
356
|
+
this._mGroup[sPropertyPath] = {};
|
|
357
|
+
}
|
|
358
|
+
} else if (oPropertyInfo.groupable && oPropertyInfo.path in this._mGroup) {
|
|
359
|
+
this._mGroup[oPropertyInfo.path].additionally = aAdditionalPropertyPaths;
|
|
360
|
+
aAdditionalPropertyPaths.forEach((sPath) => oAllAdditionalPropertyPaths.add(sPath));
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
// Visual grouping (expandable groups)
|
|
364
365
|
this._aGroupLevels = [];
|
|
365
366
|
if (oAggregateInfo.groupLevels) {
|
|
366
367
|
oAggregateInfo.groupLevels.forEach(function(sGroupLevelName) {
|
|
@@ -375,29 +376,22 @@ sap.ui.define([
|
|
|
375
376
|
}
|
|
376
377
|
|
|
377
378
|
// Sanitize the aggregation info
|
|
378
|
-
|
|
379
|
+
for (const sPath in this._mGroup) {
|
|
379
380
|
// A property may not be in both "group" and "aggregate".
|
|
380
|
-
if (this._mAggregate
|
|
381
|
-
if (this._mAggregate[
|
|
382
|
-
delete this._mGroup[
|
|
383
|
-
|
|
381
|
+
if (sPath in this._mAggregate) {
|
|
382
|
+
if (this._mAggregate[sPath].grandTotal || this._mAggregate[sPath].subtotals) {
|
|
383
|
+
delete this._mGroup[sPath];
|
|
384
|
+
continue;
|
|
384
385
|
} else {
|
|
385
|
-
delete this._mAggregate[
|
|
386
|
+
delete this._mAggregate[sPath];
|
|
386
387
|
}
|
|
387
388
|
}
|
|
388
389
|
|
|
389
|
-
// A property may not be in "group.additionally" if it is in "aggregation.unit".
|
|
390
|
-
if (this._mGroup[sKey].additionally) {
|
|
391
|
-
this._mGroup[sKey].additionally = this._mGroup[sKey].additionally.filter(function(sAdditionalProperty) {
|
|
392
|
-
return aAllUnitProperties.indexOf(sAdditionalProperty) === -1;
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
|
-
|
|
396
390
|
// A property may not be in "group" if it is in "group.additionally".
|
|
397
|
-
if (
|
|
398
|
-
delete this._mGroup[
|
|
391
|
+
if (oAllAdditionalPropertyPaths.has(sPath)) {
|
|
392
|
+
delete this._mGroup[sPath];
|
|
399
393
|
}
|
|
400
|
-
}
|
|
394
|
+
}
|
|
401
395
|
|
|
402
396
|
this._sSearch = oAggregateInfo.search;
|
|
403
397
|
}
|
|
@@ -431,14 +425,19 @@ sap.ui.define([
|
|
|
431
425
|
};
|
|
432
426
|
|
|
433
427
|
function getAdditionalPropertyPaths(oPlugin, oPropertyInfo) {
|
|
428
|
+
const oPropertyPaths = new Set();
|
|
429
|
+
|
|
434
430
|
if (oPropertyInfo.text) {
|
|
435
431
|
const oTextPropertyInfo = oPlugin.findPropertyInfo(oPropertyInfo.text);
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
432
|
+
oPropertyPaths.add(oTextPropertyInfo.path);
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
for (const sPropertyKey of oPropertyInfo.additionalProperties ?? []) {
|
|
436
|
+
const oPropertyInfo = oPlugin.findPropertyInfo(sPropertyKey);
|
|
437
|
+
oPropertyPaths.add(oPropertyInfo.path);
|
|
439
438
|
}
|
|
440
439
|
|
|
441
|
-
return
|
|
440
|
+
return Array.from(oPropertyPaths);
|
|
442
441
|
}
|
|
443
442
|
|
|
444
443
|
function expandRow(oRow) {
|
|
@@ -27,16 +27,9 @@ sap.ui.define([
|
|
|
27
27
|
* @param {object} [mSettings] initial settings for the new control
|
|
28
28
|
*
|
|
29
29
|
* @class
|
|
30
|
-
* The user can change the number of displayed rows by dragging a resizer.
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* <ul>
|
|
34
|
-
* <li>The functionality targets only the mouse interaction (drag and drop). There is no keyboard alternative available.
|
|
35
|
-
* An accessible alternative must be provided by applications, for example, by giving the user the possibility to enter
|
|
36
|
-
* the number of required rows in an input field.</li>
|
|
37
|
-
* <li>The resize interaction is not optimized for touch devices from a design and interaction perspective.
|
|
38
|
-
* We do not recommend to use this mode in such scenarios.</li>
|
|
39
|
-
* </ul>
|
|
30
|
+
* The user can change the number of displayed rows by dragging a resizer. The resizer is focusable and allows resizing via keyboard shortcuts and
|
|
31
|
+
* context menu.
|
|
32
|
+
* Double clicking the bar performs a quick resize that toggles between the minimum, the default, and the maximum row count.
|
|
40
33
|
*
|
|
41
34
|
* @extends sap.ui.table.rowmodes.RowMode
|
|
42
35
|
* @constructor
|
|
@@ -45,7 +38,7 @@ sap.ui.define([
|
|
|
45
38
|
* @public
|
|
46
39
|
*
|
|
47
40
|
* @author SAP SE
|
|
48
|
-
* @version 1.
|
|
41
|
+
* @version 1.130.0
|
|
49
42
|
*/
|
|
50
43
|
const InteractiveRowMode = RowMode.extend("sap.ui.table.rowmodes.Interactive", /** @lends sap.ui.table.rowmodes.Interactive.prototype */ {
|
|
51
44
|
metadata: {
|
|
@@ -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.
|
|
17
|
+
* @version 1.130.0
|
|
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.
|
|
21
|
+
* @version 1.130.0
|
|
22
22
|
* @namespace
|
|
23
23
|
* @alias sap.ui.table.utils._ColumnUtils
|
|
24
24
|
* @private
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Grouping...</code>
|
|
25
25
|
*
|
|
26
26
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
27
|
+
* @version 1.130.0
|
|
28
28
|
* @namespace
|
|
29
29
|
* @alias sap.ui.table.utils._GroupingUtils
|
|
30
30
|
* @private
|
|
@@ -22,7 +22,7 @@ sap.ui.define(["sap/ui/base/DataType", "sap/ui/model/ChangeReason"], function(Da
|
|
|
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.
|
|
25
|
+
* @version 1.130.0
|
|
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.
|
|
45
|
+
* @version 1.130.0
|
|
46
46
|
* @namespace
|
|
47
47
|
* @alias sap.ui.table.utils._MenuUtils
|
|
48
48
|
* @private
|