@openui5/sap.ui.table 1.130.0 → 1.131.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 +1 -1
- package/src/sap/ui/table/Column.js +1 -4
- 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 +3 -2
- package/src/sap/ui/table/Table.js +11 -1
- 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 +1 -1
- 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.properties +0 -6
- package/src/sap/ui/table/messagebundle_en_US_saprigi.properties +0 -4
- package/src/sap/ui/table/messagebundle_no.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 +30 -382
- 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 +1 -1
- 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/themes/base/RowHighlight.less +10 -0
- package/src/sap/ui/table/themes/base/RowSelection.less +4 -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
|
@@ -468,7 +468,7 @@ License: Apache-2.0
|
|
|
468
468
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
469
469
|
Contained in: lib/jsdoc/ui5/plugin.js
|
|
470
470
|
|
|
471
|
-
Component: SAP Theming Base Content, version: 11.
|
|
471
|
+
Component: SAP Theming Base Content, version: 11.22.0
|
|
472
472
|
Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
|
|
473
473
|
License: Apache-2.0
|
|
474
474
|
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.131.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.131.0",
|
|
18
|
+
"@openui5/sap.ui.unified": "1.131.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.131.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>Table-like controls, mainly for desktop scenarios.</documentation>
|
|
12
12
|
|
|
@@ -63,7 +63,7 @@ sap.ui.define([
|
|
|
63
63
|
* @class
|
|
64
64
|
* The column allows you to define column specific properties that will be applied when rendering the table.
|
|
65
65
|
* @extends sap.ui.core.Element
|
|
66
|
-
* @version 1.
|
|
66
|
+
* @version 1.131.0
|
|
67
67
|
*
|
|
68
68
|
* @constructor
|
|
69
69
|
* @public
|
|
@@ -619,7 +619,6 @@ sap.ui.define([
|
|
|
619
619
|
return !!(this.getSortProperty() && this.getShowSortMenuEntry());
|
|
620
620
|
};
|
|
621
621
|
|
|
622
|
-
// eslint-disable-next-line valid-jsdoc
|
|
623
622
|
/**
|
|
624
623
|
* This function checks whether a grouping column menu item will be created. Although it evaluates some column
|
|
625
624
|
* properties, it does not check the metadata. Since a property of the table must be checked, this function will
|
|
@@ -685,7 +684,6 @@ sap.ui.define([
|
|
|
685
684
|
return oHeaderMenu?.isOpen() || false;
|
|
686
685
|
};
|
|
687
686
|
|
|
688
|
-
// eslint-disable-next-line valid-jsdoc
|
|
689
687
|
/**
|
|
690
688
|
* @deprecated As of version 1.118.
|
|
691
689
|
* @private
|
|
@@ -711,7 +709,6 @@ sap.ui.define([
|
|
|
711
709
|
this.sort(this.getSorted() && this.getSortOrder() === SortOrder.Ascending);
|
|
712
710
|
};
|
|
713
711
|
|
|
714
|
-
// eslint-disable-next-line valid-jsdoc
|
|
715
712
|
/**
|
|
716
713
|
* Sorts the current column ascending or descending.
|
|
717
714
|
*
|
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.131.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.131.0
|
|
31
31
|
*
|
|
32
32
|
* @constructor
|
|
33
33
|
* @public
|
|
@@ -44,7 +44,8 @@ sap.ui.define([
|
|
|
44
44
|
*
|
|
45
45
|
* If the highlight is set to {@link sap.ui.core.MessageType sap.ui.core.MessageType.None} (default), no highlights are visible.
|
|
46
46
|
* Valid values for the <code>highlight</code> property are values of the enumerations {@link sap.ui.core.MessageType} or
|
|
47
|
-
* {@link sap.ui.core.IndicationColor}
|
|
47
|
+
* {@link sap.ui.core.IndicationColor} (only values of <code>Indication01</code> to <code>Indication10</code> are supported
|
|
48
|
+
* for accessibility contrast reasons).
|
|
48
49
|
*
|
|
49
50
|
* Accessibility support is provided through the associated {@link sap.ui.table.RowSettings#setHighlightText highlightText} property.
|
|
50
51
|
* If the <code>highlight</code> property is set to a value of {@link sap.ui.core.MessageType}, the <code>highlightText</code>
|
|
@@ -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.131.0
|
|
106
106
|
*
|
|
107
107
|
* @constructor
|
|
108
108
|
* @public
|
|
@@ -1189,6 +1189,16 @@ sap.ui.define([
|
|
|
1189
1189
|
this.firePaste({data: aData});
|
|
1190
1190
|
};
|
|
1191
1191
|
|
|
1192
|
+
// Override "focusfail" handler, see sap.ui.core.Element#onfocusfail
|
|
1193
|
+
Table.prototype.onfocusfail = function() {
|
|
1194
|
+
// Disable default handler for DragAndDrop.
|
|
1195
|
+
if (this._bReorderInProcess) {
|
|
1196
|
+
return undefined;
|
|
1197
|
+
} else {
|
|
1198
|
+
return Control.prototype.onfocusfail.apply(this, arguments);
|
|
1199
|
+
}
|
|
1200
|
+
};
|
|
1201
|
+
|
|
1192
1202
|
/**
|
|
1193
1203
|
* Theme changed
|
|
1194
1204
|
* @private
|
|
@@ -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.131.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.131.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.131.0
|
|
271
271
|
* @constructor
|
|
272
272
|
* @private
|
|
273
273
|
* @alias sap.ui.table.extensions.Keyboard
|
|
@@ -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.131.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.131.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.131.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.131.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.131.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.131.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.131.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.131.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.131.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.131.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.131.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.131.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.131.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.131.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.131.0
|
|
418
418
|
* @enum {string}
|
|
419
419
|
* @private
|
|
420
420
|
*/
|
|
@@ -112,12 +112,6 @@ TBL_COL_COLCOUNT=Column {0} of {1}
|
|
|
112
112
|
#XACT: accessibility label for a grouping row
|
|
113
113
|
TBL_ROW_GROUP_LABEL=Group Row
|
|
114
114
|
|
|
115
|
-
#XTXT: Title of group headers. For example: "Country: Germany"
|
|
116
|
-
TBL_ROW_GROUP_TITLE={0}: {1}
|
|
117
|
-
|
|
118
|
-
#XTXT: Title of group headers with a combination of ID and text. For example: "Country: 001 - Germany"
|
|
119
|
-
TBL_ROW_GROUP_TITLE_FULL={0}: {1} - {2}
|
|
120
|
-
|
|
121
115
|
#XACT: accessibility description for a column when menu is available
|
|
122
116
|
TBL_COL_DESC_MENU=Menu Available
|
|
123
117
|
|
|
@@ -64,10 +64,6 @@ TBL_COL_COLCOUNT=\u206A\u206A\u206A\u200C\u200D\u200C\u200D\u200B\u200C\u200D\u2
|
|
|
64
64
|
|
|
65
65
|
TBL_ROW_GROUP_LABEL=\u206A\u206A\u206A\u200C\u200B\u200C\u200C\u200B\u200C\u200B\u200D\u200C\u200D\u200C\u200D\u200C\u200D\u200C\u200D\u200C\u200B\u200C\u200C\u200C\u200D\u200B\u200C\u200C\u200C\u200C\u200C\u200B\u200C\u200D\u200C\u200D\u200B\u200C\u200B\u200D\u200D\u206AGroup Row\u206A\u206A
|
|
66
66
|
|
|
67
|
-
TBL_ROW_GROUP_TITLE=\u206A\u206A\u206A\u200C\u200B\u200C\u200B\u200B\u200D\u200B\u200D\u200C\u200B\u200C\u200B\u200C\u200D\u200B\u200B\u200C\u200D\u200C\u200C\u200D\u200B\u200C\u200C\u200C\u200C\u200C\u200C\u200C\u200C\u200D\u200C\u200C\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200D\u206A\u200B\u200B\u200B{0}\u200C\u200C\u200C\: \u200B\u200B\u200B{1}\u200C\u200C\u200C\u206A\u206A
|
|
68
|
-
|
|
69
|
-
TBL_ROW_GROUP_TITLE_FULL=\u206A\u206A\u206A\u200C\u200C\u200C\u200C\u200C\u200B\u200C\u200B\u200B\u200C\u200D\u200C\u200B\u200B\u200B\u200B\u200B\u200D\u200C\u200B\u200B\u200D\u200D\u200B\u200C\u200D\u200B\u200C\u200B\u200C\u200C\u200B\u200B\u200C\u200D\u200D\u200C\u200B\u200B\u200B\u200B\u206A\u200B\u200B\u200B{0}\u200C\u200C\u200C\: \u200B\u200B\u200B{1}\u200C\u200C\u200C - \u200B\u200B\u200B{2}\u200C\u200C\u200C\u206A\u206A
|
|
70
|
-
|
|
71
67
|
TBL_COL_DESC_MENU=\u206A\u206A\u206A\u200C\u200D\u200D\u200B\u200C\u200D\u200D\u200B\u200B\u200D\u200B\u200D\u200D\u200B\u200B\u200B\u200C\u200D\u200C\u200B\u200C\u200D\u200D\u200B\u200D\u200B\u200B\u200D\u200B\u200C\u200B\u200D\u200C\u200B\u200B\u200B\u200D\u200C\u200B\u206AMenu Available\u206A\u206A
|
|
72
68
|
|
|
73
69
|
TBL_COL_DESC_FILTERED=\u206A\u206A\u206A\u200C\u200B\u200D\u200D\u200D\u200B\u200D\u200B\u200D\u200B\u200B\u200D\u200D\u200D\u200B\u200C\u200B\u200D\u200C\u200C\u200C\u200B\u200D\u200B\u200C\u200D\u200B\u200C\u200C\u200B\u200B\u200D\u200C\u200B\u200B\u200D\u200D\u200C\u200C\u200D\u200B\u206AFiltered\u206A\u206A
|
|
@@ -118,7 +118,7 @@ TBL_ROW_EXPAND_KEY=Trykk p\u00E5 mellomromstasten for \u00E5 utvide en rad
|
|
|
118
118
|
|
|
119
119
|
TBL_ROW_COLLAPSE_KEY=Trykk p\u00E5 mellomromstasten for \u00E5 komprimere en rad
|
|
120
120
|
|
|
121
|
-
TBL_CREATIONROW_APPLY=
|
|
121
|
+
TBL_CREATIONROW_APPLY=Legg til rad
|
|
122
122
|
|
|
123
123
|
TBL_CREATEROW_LABEL=Opprett ny tabellpost
|
|
124
124
|
|
|
@@ -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.131.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.131.0
|
|
27
27
|
* @constructor
|
|
28
28
|
* @private
|
|
29
29
|
* @alias sap.ui.table.plugins.SelectionModelSelection
|
|
@@ -5,34 +5,20 @@
|
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
7
7
|
"./PluginBase",
|
|
8
|
-
"../utils/TableUtils"
|
|
9
|
-
"sap/base/util/deepClone"
|
|
8
|
+
"../utils/TableUtils"
|
|
10
9
|
], function(
|
|
11
10
|
PluginBase,
|
|
12
|
-
TableUtils
|
|
13
|
-
deepClone
|
|
11
|
+
TableUtils
|
|
14
12
|
) {
|
|
15
13
|
"use strict";
|
|
16
14
|
|
|
17
|
-
function defaultGroupHeaderFormatter(oContext, mGroupLevelInfo) {
|
|
18
|
-
let sResourceKey = "TBL_ROW_GROUP_TITLE";
|
|
19
|
-
const aValues = [mGroupLevelInfo.property.label, oContext.getProperty(mGroupLevelInfo.property.path, true)];
|
|
20
|
-
|
|
21
|
-
if (mGroupLevelInfo.textProperty) {
|
|
22
|
-
sResourceKey = "TBL_ROW_GROUP_TITLE_FULL";
|
|
23
|
-
aValues.push(oContext.getProperty(mGroupLevelInfo.textProperty.path, true));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return TableUtils.getResourceText(sResourceKey, aValues);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
15
|
/**
|
|
30
16
|
* Constructs an instance of sap.ui.table.plugins.V4Aggregation
|
|
31
17
|
*
|
|
32
|
-
* @class TODO
|
|
18
|
+
* @class TODO
|
|
33
19
|
* @extends sap.ui.table.plugins.PluginBase
|
|
34
20
|
* @author SAP SE
|
|
35
|
-
* @version 1.
|
|
21
|
+
* @version 1.131.0
|
|
36
22
|
* @private
|
|
37
23
|
* @since 1.76
|
|
38
24
|
* @ui5-restricted sap.ui.mdc
|
|
@@ -43,14 +29,6 @@ sap.ui.define([
|
|
|
43
29
|
metadata: {
|
|
44
30
|
library: "sap.ui.table",
|
|
45
31
|
properties: {
|
|
46
|
-
// None, Top, FixedTop, Bottom, FixedBottom, TopAndBottom, FixedTopAndBottom, TopAndFixedBottom, FixedTopAndFixedBottom
|
|
47
|
-
//totalSummary: {type: "string", defaultValue: "FixedBottom"},
|
|
48
|
-
totalSummaryOnTop: {type: "string", defaultValue: "Off"}, // On, Off, Fixed
|
|
49
|
-
totalSummaryOnBottom: {type: "string", defaultValue: "Fixed"}, // On, Off, Fixed
|
|
50
|
-
groupSummary: {type: "string", defaultValue: "Bottom"}, // None, Top, Bottom, TopAndBottom
|
|
51
|
-
//groupSummaryOnTop: {type: "string", defaultValue: "On"}, // On, Off
|
|
52
|
-
//groupSummaryOnBottom: {type: "string", defaultValue: "Off"}, // On, Off
|
|
53
|
-
|
|
54
32
|
/**
|
|
55
33
|
* If the formatter returns undefined, the default group header title is set.
|
|
56
34
|
*
|
|
@@ -91,12 +69,8 @@ sap.ui.define([
|
|
|
91
69
|
* @inheritDoc
|
|
92
70
|
*/
|
|
93
71
|
V4Aggregation.prototype.onActivate = function(oTable) {
|
|
94
|
-
this.setRowCountConstraints({
|
|
95
|
-
fixedTop: false,
|
|
96
|
-
fixedBottom: false
|
|
97
|
-
});
|
|
98
72
|
TableUtils.Grouping.setToDefaultGroupMode(oTable);
|
|
99
|
-
TableUtils.Hook.register(oTable, TableUtils.Hook.Keys.Row.UpdateState,
|
|
73
|
+
TableUtils.Hook.register(oTable, TableUtils.Hook.Keys.Row.UpdateState, updateRowState, this);
|
|
100
74
|
TableUtils.Hook.register(oTable, TableUtils.Hook.Keys.Row.Expand, expandRow, this);
|
|
101
75
|
TableUtils.Hook.register(oTable, TableUtils.Hook.Keys.Row.Collapse, collapseRow, this);
|
|
102
76
|
};
|
|
@@ -106,72 +80,15 @@ sap.ui.define([
|
|
|
106
80
|
* @inheritDoc
|
|
107
81
|
*/
|
|
108
82
|
V4Aggregation.prototype.onDeactivate = function(oTable) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
this._mColumnState = undefined;
|
|
113
|
-
this.setRowCountConstraints();
|
|
114
|
-
resetCellContentVisibilitySettings(this);
|
|
115
|
-
|
|
83
|
+
for (const oColumn of oTable.getColumns()) {
|
|
84
|
+
oColumn._setCellContentVisibilitySettings();
|
|
85
|
+
}
|
|
116
86
|
TableUtils.Grouping.setToDefaultFlatMode(oTable);
|
|
117
87
|
TableUtils.Hook.deregister(oTable, TableUtils.Hook.Keys.Row.UpdateState, this.updateRowState, this);
|
|
118
88
|
TableUtils.Hook.deregister(this, TableUtils.Hook.Keys.Row.Expand, expandRow, this);
|
|
119
89
|
TableUtils.Hook.deregister(this, TableUtils.Hook.Keys.Row.Collapse, collapseRow, this);
|
|
120
|
-
|
|
121
|
-
const oBinding = oTable.getBinding();
|
|
122
|
-
if (oBinding) {
|
|
123
|
-
oBinding.setAggregation();
|
|
124
|
-
}
|
|
125
90
|
};
|
|
126
91
|
|
|
127
|
-
/**
|
|
128
|
-
* Resets the cell content visibility settings of the columns in the table to the defaults.
|
|
129
|
-
*
|
|
130
|
-
* @param {sap.ui.table.plugins.V4Aggregation} oPlugin The instance of the plugin.
|
|
131
|
-
*/
|
|
132
|
-
function resetCellContentVisibilitySettings(oPlugin) {
|
|
133
|
-
const oTable = oPlugin.getTable();
|
|
134
|
-
|
|
135
|
-
if (oTable) {
|
|
136
|
-
oTable.getColumns().forEach(function(oColumn) {
|
|
137
|
-
oColumn._setCellContentVisibilitySettings();
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Updates the cell content visibility settings of the columns in the table.
|
|
144
|
-
*
|
|
145
|
-
* @param {sap.ui.table.plugins.V4Aggregation} oPlugin The instance of the plugin.
|
|
146
|
-
*/
|
|
147
|
-
function updateCellContentVisibilitySettings(oPlugin) {
|
|
148
|
-
const oTable = oPlugin.getTable();
|
|
149
|
-
const sGroupSummary = oPlugin.getGroupSummary();
|
|
150
|
-
|
|
151
|
-
if (!oTable || !oPlugin._mColumnState) {
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
oTable.getColumns().forEach(function(oColumn) {
|
|
156
|
-
const mColumnState = oPlugin._mColumnState[oColumn.getId()];
|
|
157
|
-
|
|
158
|
-
if (mColumnState) {
|
|
159
|
-
oColumn._setCellContentVisibilitySettings({
|
|
160
|
-
groupHeader: {
|
|
161
|
-
expanded: !!mColumnState.subtotals && (sGroupSummary === "Top" || sGroupSummary === "TopAndBottom"),
|
|
162
|
-
collapsed: !!mColumnState.subtotals && (sGroupSummary === "Bottom" || sGroupSummary === "TopAndBottom")
|
|
163
|
-
},
|
|
164
|
-
summary: {
|
|
165
|
-
group: !!mColumnState.subtotals,
|
|
166
|
-
total: !!mColumnState.grandTotal
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
} else {
|
|
170
|
-
oColumn._setCellContentVisibilitySettings();
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
|
|
175
92
|
/**
|
|
176
93
|
* @override
|
|
177
94
|
* @inheritDoc
|
|
@@ -187,16 +104,20 @@ sap.ui.define([
|
|
|
187
104
|
}
|
|
188
105
|
};
|
|
189
106
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
107
|
+
V4Aggregation.prototype.declareColumnsHavingTotals = function(aColumnsWithTotals) {
|
|
108
|
+
const aColumns = this.getTable()?.getColumns() ?? [];
|
|
109
|
+
|
|
110
|
+
for (const oColumn of aColumns) {
|
|
111
|
+
const bHasTotals = aColumnsWithTotals.includes(oColumn);
|
|
112
|
+
|
|
113
|
+
oColumn._setCellContentVisibilitySettings({
|
|
114
|
+
groupHeader: bHasTotals,
|
|
115
|
+
summary: bHasTotals
|
|
116
|
+
});
|
|
117
|
+
}
|
|
197
118
|
};
|
|
198
119
|
|
|
199
|
-
|
|
120
|
+
function updateRowState(oState) {
|
|
200
121
|
const iLevel = oState.context.getProperty("@$ui5.node.level");
|
|
201
122
|
const bContainsTotals = oState.context.getProperty("@$ui5.node.isTotal");
|
|
202
123
|
const bIsLeaf = oState.context.getProperty("@$ui5.node.isExpanded") === undefined;
|
|
@@ -210,234 +131,27 @@ sap.ui.define([
|
|
|
210
131
|
|
|
211
132
|
if (bIsGrandTotal || bIsGroupTotal) {
|
|
212
133
|
oState.type = oState.Type.Summary;
|
|
213
|
-
oState.level
|
|
134
|
+
oState.level = iLevel + 1;
|
|
214
135
|
} else if (bIsGroupHeader) {
|
|
215
136
|
oState.type = oState.Type.GroupHeader;
|
|
216
137
|
}
|
|
217
138
|
|
|
218
139
|
if (bIsGroupHeader) {
|
|
219
|
-
const
|
|
220
|
-
const
|
|
221
|
-
const sCustomGroupHeaderTitle = fnGroupHeaderFormatter ? fnGroupHeaderFormatter(oState.context, mGroupLevelInfo.property.key) : undefined;
|
|
222
|
-
|
|
223
|
-
if (sCustomGroupHeaderTitle === undefined) {
|
|
224
|
-
oState.title = defaultGroupHeaderFormatter(oState.context, mGroupLevelInfo);
|
|
225
|
-
} else if (typeof sCustomGroupHeaderTitle !== "string") {
|
|
226
|
-
throw new Error("The group header title must be a string or undefined");
|
|
227
|
-
} else {
|
|
228
|
-
oState.title = sCustomGroupHeaderTitle;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
V4Aggregation.prototype.setPropertyInfos = function(aPropertyInfos) {
|
|
234
|
-
this._aPropertyInfos = aPropertyInfos;
|
|
235
|
-
};
|
|
236
|
-
|
|
237
|
-
V4Aggregation.prototype.getPropertyInfos = function() {
|
|
238
|
-
return this._aPropertyInfos || [];
|
|
239
|
-
};
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* Retrieves a propertyInfo by its key.
|
|
243
|
-
*
|
|
244
|
-
* @param {string} sPropertyKey key of the propertyInfo to be found
|
|
245
|
-
* @returns {object|undefined} the property info with the corresponding key, or undefined
|
|
246
|
-
*/
|
|
247
|
-
V4Aggregation.prototype.findPropertyInfo = function(sPropertyKey) {
|
|
248
|
-
return this.getPropertyInfos().find(function(oPropertyInfo) {
|
|
249
|
-
return oPropertyInfo.key === sPropertyKey;
|
|
250
|
-
});
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* Sets aggregation info and derives the query options to be passed to the table list binding.
|
|
255
|
-
*
|
|
256
|
-
* @param {object} oAggregateInfo An object holding the information needed for data aggregation
|
|
257
|
-
* @param {string[]} oAggregateInfo.visible An array of property info names, containing the list of visible properties
|
|
258
|
-
* @param {string[]} oAggregateInfo.groupLevels An array of groupable property info names used to determine group levels (visual grouping).
|
|
259
|
-
* @param {string[]} oAggregateInfo.subtotals An array of aggregatable property info names for which the subtotals are displayed
|
|
260
|
-
* @param {string[]} oAggregateInfo.grandTotal An array of aggregatable property info names for which the grand total is displayed
|
|
261
|
-
* @param {object} [oAggregateInfo.columnState]
|
|
262
|
-
* A key-value map, where the key is the column id, and the value is the column's state information.
|
|
263
|
-
* The state is an object with the following keys:
|
|
264
|
-
* - subtotals: boolean - Whether the cell content should be visible in subtotal rows
|
|
265
|
-
* - grandTotal: boolean - Whether the cell content should be visible in grand total rows
|
|
266
|
-
* @param {string} [oAggregateInfo.search]
|
|
267
|
-
* A search string used to search transformation (see {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation} for details)
|
|
268
|
-
*/
|
|
269
|
-
V4Aggregation.prototype.setAggregationInfo = function(oAggregateInfo) {
|
|
270
|
-
oAggregateInfo = Object.assign({
|
|
271
|
-
columnState: {}
|
|
272
|
-
}, oAggregateInfo);
|
|
273
|
-
|
|
274
|
-
if (!Array.isArray(oAggregateInfo.visible)) {
|
|
275
|
-
this._mGroup = undefined;
|
|
276
|
-
this._mAggregate = undefined;
|
|
277
|
-
this._aGroupLevels = undefined;
|
|
278
|
-
this._sSearch = undefined;
|
|
279
|
-
} else {
|
|
280
|
-
const oAllUnitPropertyPaths = new Set();
|
|
281
|
-
const oAllAdditionalPropertyPaths = new Set();
|
|
282
|
-
const aVisiblePropertyKeys = oAggregateInfo.visible.concat(); // Copy
|
|
283
|
-
|
|
284
|
-
// Always use keys in the properties to be grouped
|
|
285
|
-
this._mGroup = this.getPropertyInfos().reduce(function(mGroup, oPropertyInfo) {
|
|
286
|
-
if (oPropertyInfo.isKey) {
|
|
287
|
-
mGroup[oPropertyInfo.path] = {};
|
|
288
|
-
}
|
|
289
|
-
return mGroup;
|
|
290
|
-
}, {});
|
|
291
|
-
this._mAggregate = {};
|
|
292
|
-
|
|
293
|
-
// We need to consider groupLevels as visible properties, to add them in the query properly if they have additional properties
|
|
294
|
-
if (oAggregateInfo.groupLevels) {
|
|
295
|
-
oAggregateInfo.groupLevels.forEach(function(sGroupLevelName) {
|
|
296
|
-
if (aVisiblePropertyKeys.indexOf(sGroupLevelName) < 0) {
|
|
297
|
-
aVisiblePropertyKeys.push(sGroupLevelName);
|
|
298
|
-
}
|
|
299
|
-
});
|
|
300
|
-
}
|
|
140
|
+
const sGroupHeaderPath = this.getTableBinding().getAggregation().groupLevels[iLevel - 1];
|
|
141
|
+
const fnCustomGroupHeaderFormatter = this.getGroupHeaderFormatter();
|
|
301
142
|
|
|
302
|
-
|
|
303
|
-
const
|
|
143
|
+
if (fnCustomGroupHeaderFormatter) {
|
|
144
|
+
const sCustomGroupHeaderTitle = fnCustomGroupHeaderFormatter(oState.context, sGroupHeaderPath);
|
|
304
145
|
|
|
305
|
-
if (
|
|
306
|
-
|
|
146
|
+
if (typeof sCustomGroupHeaderTitle !== "string") {
|
|
147
|
+
throw new Error("The group header title must be a string");
|
|
307
148
|
}
|
|
308
149
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
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
|
-
|
|
318
|
-
if (oPropertyInfo.groupable) {
|
|
319
|
-
this._mGroup[oPropertyInfo.path] = {};
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
if (oPropertyInfo.aggregatable) {
|
|
323
|
-
this._mAggregate[oPropertyInfo.path] = {};
|
|
324
|
-
|
|
325
|
-
if (oAggregateInfo.grandTotal && (oAggregateInfo.grandTotal.indexOf(oPropertyInfo.key) >= 0)) {
|
|
326
|
-
this._mAggregate[oPropertyInfo.path].grandTotal = true;
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
if (oAggregateInfo.subtotals && (oAggregateInfo.subtotals.indexOf(oPropertyInfo.key) >= 0)) {
|
|
330
|
-
this._mAggregate[oPropertyInfo.path].subtotals = true;
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
if (oPropertyInfo.unit) {
|
|
334
|
-
const oUnitPropertyInfo = this.findPropertyInfo(oPropertyInfo.unit);
|
|
335
|
-
if (oUnitPropertyInfo) {
|
|
336
|
-
this._mAggregate[oPropertyInfo.path].unit = oUnitPropertyInfo.path;
|
|
337
|
-
oAllUnitPropertyPaths.add(oUnitPropertyInfo.path);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
if (!oPropertyInfo.additionalProperties?.length && oPropertyInfo.aggregationDetails?.customAggregate?.contextDefiningProperties) {
|
|
342
|
-
oPropertyInfo.aggregationDetails.customAggregate.contextDefiningProperties.forEach(function(sContextDefiningPropertyName) {
|
|
343
|
-
const oDefiningPropertyInfo = this.findPropertyInfo(sContextDefiningPropertyName);
|
|
344
|
-
if (oDefiningPropertyInfo) {
|
|
345
|
-
this._mGroup[oDefiningPropertyInfo.path] = {};
|
|
346
|
-
}
|
|
347
|
-
}.bind(this));
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
|
|
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)
|
|
365
|
-
this._aGroupLevels = [];
|
|
366
|
-
if (oAggregateInfo.groupLevels) {
|
|
367
|
-
oAggregateInfo.groupLevels.forEach(function(sGroupLevelName) {
|
|
368
|
-
const oGroupedPropertyInfo = this.findPropertyInfo(sGroupLevelName);
|
|
369
|
-
if (oGroupedPropertyInfo) {
|
|
370
|
-
this._aGroupLevels.push({
|
|
371
|
-
property: oGroupedPropertyInfo,
|
|
372
|
-
textProperty: this.findPropertyInfo(oGroupedPropertyInfo.text)
|
|
373
|
-
});
|
|
374
|
-
}
|
|
375
|
-
}.bind(this));
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
// Sanitize the aggregation info
|
|
379
|
-
for (const sPath in this._mGroup) {
|
|
380
|
-
// A property may not be in both "group" and "aggregate".
|
|
381
|
-
if (sPath in this._mAggregate) {
|
|
382
|
-
if (this._mAggregate[sPath].grandTotal || this._mAggregate[sPath].subtotals) {
|
|
383
|
-
delete this._mGroup[sPath];
|
|
384
|
-
continue;
|
|
385
|
-
} else {
|
|
386
|
-
delete this._mAggregate[sPath];
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
// A property may not be in "group" if it is in "group.additionally".
|
|
391
|
-
if (oAllAdditionalPropertyPaths.has(sPath)) {
|
|
392
|
-
delete this._mGroup[sPath];
|
|
393
|
-
}
|
|
150
|
+
oState.title = sCustomGroupHeaderTitle;
|
|
151
|
+
} else {
|
|
152
|
+
oState.title = oState.context.getProperty(sGroupHeaderPath, true);
|
|
394
153
|
}
|
|
395
|
-
|
|
396
|
-
this._sSearch = oAggregateInfo.search;
|
|
397
154
|
}
|
|
398
|
-
|
|
399
|
-
this._mColumnState = oAggregateInfo.columnState;
|
|
400
|
-
updateCellContentVisibilitySettings(this);
|
|
401
|
-
|
|
402
|
-
this.updateAggregation();
|
|
403
|
-
};
|
|
404
|
-
|
|
405
|
-
V4Aggregation.prototype.getAggregationInfo = function() {
|
|
406
|
-
if (!Object.keys(this._mGroup || {}).length && !Object.keys(this._mAggregate || {}).length) {
|
|
407
|
-
return;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
const mAggregation = {
|
|
411
|
-
aggregate: deepClone(this._mAggregate),
|
|
412
|
-
group: deepClone(this._mGroup),
|
|
413
|
-
groupLevels: this._aGroupLevels ? this._aGroupLevels.map(function(mGroupLevelInfo) {
|
|
414
|
-
return mGroupLevelInfo.property.path;
|
|
415
|
-
}) : undefined,
|
|
416
|
-
search: this._sSearch
|
|
417
|
-
};
|
|
418
|
-
|
|
419
|
-
if (mAggregation.aggregate) {
|
|
420
|
-
handleGrandTotals(this, mAggregation);
|
|
421
|
-
handleGroupTotals(this, mAggregation);
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
return mAggregation;
|
|
425
|
-
};
|
|
426
|
-
|
|
427
|
-
function getAdditionalPropertyPaths(oPlugin, oPropertyInfo) {
|
|
428
|
-
const oPropertyPaths = new Set();
|
|
429
|
-
|
|
430
|
-
if (oPropertyInfo.text) {
|
|
431
|
-
const oTextPropertyInfo = oPlugin.findPropertyInfo(oPropertyInfo.text);
|
|
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);
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
return Array.from(oPropertyPaths);
|
|
441
155
|
}
|
|
442
156
|
|
|
443
157
|
function expandRow(oRow) {
|
|
@@ -456,71 +170,5 @@ sap.ui.define([
|
|
|
456
170
|
}
|
|
457
171
|
}
|
|
458
172
|
|
|
459
|
-
V4Aggregation.prototype.setTotalSummaryOnTop = function(sValue) {
|
|
460
|
-
this.setProperty("totalSummaryOnTop", sValue, true);
|
|
461
|
-
this.updateAggregation();
|
|
462
|
-
};
|
|
463
|
-
|
|
464
|
-
V4Aggregation.prototype.setTotalSummaryOnBottom = function(sValue) {
|
|
465
|
-
this.setProperty("totalSummaryOnBottom", sValue, true);
|
|
466
|
-
this.updateAggregation();
|
|
467
|
-
};
|
|
468
|
-
|
|
469
|
-
V4Aggregation.prototype.setGroupSummary = function(sValue) {
|
|
470
|
-
this.setProperty("groupSummary", sValue, true);
|
|
471
|
-
updateCellContentVisibilitySettings(this);
|
|
472
|
-
this.updateAggregation();
|
|
473
|
-
};
|
|
474
|
-
|
|
475
|
-
V4Aggregation.prototype.updateAggregation = function() {
|
|
476
|
-
const oBinding = this.getTableBinding();
|
|
477
|
-
if (oBinding) {
|
|
478
|
-
oBinding.setAggregation(this.getAggregationInfo());
|
|
479
|
-
}
|
|
480
|
-
};
|
|
481
|
-
|
|
482
|
-
function handleGrandTotals(oPlugin, mAggregation) {
|
|
483
|
-
const sTotalSummaryOnTop = oPlugin.getTotalSummaryOnTop();
|
|
484
|
-
const sTotalSummaryOnBottom = oPlugin.getTotalSummaryOnBottom();
|
|
485
|
-
const bShowTotalSummaryOnTop = sTotalSummaryOnTop === "On" || sTotalSummaryOnTop === "Fixed";
|
|
486
|
-
const bShowTotalSummaryOnBottom = sTotalSummaryOnBottom === "On" || sTotalSummaryOnBottom === "Fixed";
|
|
487
|
-
const bHasGrandTotals = Object.keys(mAggregation.aggregate).some(function(sKey) {
|
|
488
|
-
return mAggregation.aggregate[sKey].grandTotal;
|
|
489
|
-
});
|
|
490
|
-
|
|
491
|
-
if (bShowTotalSummaryOnTop && bShowTotalSummaryOnBottom) {
|
|
492
|
-
mAggregation.grandTotalAtBottomOnly = false;
|
|
493
|
-
} else if (bShowTotalSummaryOnBottom) {
|
|
494
|
-
mAggregation.grandTotalAtBottomOnly = true;
|
|
495
|
-
} else if (bShowTotalSummaryOnTop) {
|
|
496
|
-
mAggregation.grandTotalAtBottomOnly = undefined;
|
|
497
|
-
} else {
|
|
498
|
-
Object.keys(mAggregation.aggregate).forEach(function(sKey) {
|
|
499
|
-
delete mAggregation.aggregate[sKey].grandTotal;
|
|
500
|
-
});
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
oPlugin.setRowCountConstraints({
|
|
504
|
-
fixedTop: sTotalSummaryOnTop === "Fixed" && bHasGrandTotals,
|
|
505
|
-
fixedBottom: sTotalSummaryOnBottom === "Fixed" && bHasGrandTotals
|
|
506
|
-
});
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
function handleGroupTotals(oPlugin, mAggregation) {
|
|
510
|
-
const sGroupSummary = oPlugin.getGroupSummary();
|
|
511
|
-
|
|
512
|
-
if (sGroupSummary === "Top") {
|
|
513
|
-
mAggregation.subtotalsAtBottomOnly = undefined;
|
|
514
|
-
} else if (sGroupSummary === "Bottom") {
|
|
515
|
-
mAggregation.subtotalsAtBottomOnly = true;
|
|
516
|
-
} else if (sGroupSummary === "TopAndBottom") {
|
|
517
|
-
mAggregation.subtotalsAtBottomOnly = false;
|
|
518
|
-
} else {
|
|
519
|
-
Object.keys(mAggregation.aggregate).forEach(function(sKey) {
|
|
520
|
-
delete mAggregation.aggregate[sKey].subtotals;
|
|
521
|
-
});
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
|
|
525
173
|
return V4Aggregation;
|
|
526
174
|
});
|
|
@@ -38,7 +38,7 @@ sap.ui.define([
|
|
|
38
38
|
* @public
|
|
39
39
|
*
|
|
40
40
|
* @author SAP SE
|
|
41
|
-
* @version 1.
|
|
41
|
+
* @version 1.131.0
|
|
42
42
|
*/
|
|
43
43
|
const InteractiveRowMode = RowMode.extend("sap.ui.table.rowmodes.Interactive", /** @lends sap.ui.table.rowmodes.Interactive.prototype */ {
|
|
44
44
|
metadata: {
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
@_sap_ui_table_RowHighlight_Indication06Color: @sapUiIndication6;
|
|
16
16
|
@_sap_ui_table_RowHighlight_Indication07Color: @sapUiIndication7;
|
|
17
17
|
@_sap_ui_table_RowHighlight_Indication08Color: @sapUiIndication8;
|
|
18
|
+
@_sap_ui_table_RowHighlight_Indication09Color: @sapUiIndication9;
|
|
19
|
+
@_sap_ui_table_RowHighlight_Indication10Color: @sapUiIndication10;
|
|
18
20
|
|
|
19
21
|
.sapUiTableRowHighlight {
|
|
20
22
|
height: 100%;
|
|
@@ -77,4 +79,12 @@
|
|
|
77
79
|
&.sapUiTableRowHighlightIndication08 {
|
|
78
80
|
background-color: @_sap_ui_table_RowHighlight_Indication08Color;
|
|
79
81
|
}
|
|
82
|
+
|
|
83
|
+
&.sapUiTableRowHighlightIndication09 {
|
|
84
|
+
background-color: @_sap_ui_table_RowHighlight_Indication09Color;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&.sapUiTableRowHighlightIndication10 {
|
|
88
|
+
background-color: @_sap_ui_table_RowHighlight_Indication10Color;
|
|
89
|
+
}
|
|
80
90
|
}
|
|
@@ -126,7 +126,6 @@
|
|
|
126
126
|
display: block !important; /* otherwise will be overwritten by icon css rules in RTL */
|
|
127
127
|
position: absolute;
|
|
128
128
|
width: 100%;
|
|
129
|
-
vertical-align: baseline;
|
|
130
129
|
font-size: @_sap_ui_table_RowSelection_CheckBoxIconSizeCozy;
|
|
131
130
|
line-height: @_sap_ui_table_RowSelection_CheckBoxSizeCozy;
|
|
132
131
|
bottom: calc(~"(" @_sap_ui_table_ColumnHeaderHeight ~"-" @_sap_ui_table_RowSelection_CheckBoxSizeCozy ~") / 2");
|
|
@@ -134,6 +133,10 @@
|
|
|
134
133
|
.sapUiSizeCozy & {
|
|
135
134
|
bottom: calc(~"(" @_sap_ui_table_ColumnHeaderHeightCozy ~"-" @_sap_ui_table_RowSelection_CheckBoxSizeCozy ~") / 2");
|
|
136
135
|
}
|
|
136
|
+
|
|
137
|
+
.sapUiTableRowHighlights.sapUiTableRowSelectors & {
|
|
138
|
+
padding: 0 calc(~"(" @_sap_ui_table_RowHighlightWidth ~") / 2");
|
|
139
|
+
}
|
|
137
140
|
}
|
|
138
141
|
|
|
139
142
|
&:active {
|
|
@@ -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.131.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.131.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.131.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.131.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.131.0
|
|
46
46
|
* @namespace
|
|
47
47
|
* @alias sap.ui.table.utils._MenuUtils
|
|
48
48
|
* @private
|