@openui5/sap.ui.table 1.112.2 → 1.114.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 +2 -2
- 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 -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 +2 -2
- 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 +60 -54
- package/src/sap/ui/table/TablePersoController.js +1 -1
- package/src/sap/ui/table/TableRenderer.js +8 -8
- package/src/sap/ui/table/TreeTable.js +1 -1
- package/src/sap/ui/table/extensions/Accessibility.js +22 -19
- package/src/sap/ui/table/extensions/AccessibilityRender.js +3 -14
- 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 +83 -50
- package/src/sap/ui/table/extensions/Pointer.js +7 -33
- 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 +2 -2
- package/src/sap/ui/table/library.js +48 -17
- package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +1 -1
- package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +1 -1
- package/src/sap/ui/table/messagebundle_bg.properties +6 -6
- package/src/sap/ui/table/messagebundle_da.properties +1 -1
- package/src/sap/ui/table/plugins/BindingSelection.js +61 -19
- package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +33 -21
- package/src/sap/ui/table/plugins/ODataV4Selection.js +490 -0
- package/src/sap/ui/table/plugins/PluginBase.js +1 -1
- package/src/sap/ui/table/plugins/SelectionModelSelection.js +71 -24
- package/src/sap/ui/table/plugins/SelectionPlugin.js +47 -160
- package/src/sap/ui/table/plugins/V4Aggregation.js +8 -6
- package/src/sap/ui/table/rowmodes/AutoRowMode.js +1 -1
- package/src/sap/ui/table/rowmodes/FixedRowMode.js +1 -1
- package/src/sap/ui/table/rowmodes/InteractiveRowMode.js +1 -1
- package/src/sap/ui/table/rowmodes/RowMode.js +1 -1
- package/src/sap/ui/table/rowmodes/VariableRowMode.js +1 -1
- package/src/sap/ui/table/rules/Accessibility.support.js +2 -2
- package/src/sap/ui/table/utils/TableUtils.js +21 -64
- 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 +2 -2
- package/src/sap/ui/table/utils/_HookUtils.js +1 -1
- package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
package/THIRDPARTY.txt
CHANGED
|
@@ -478,7 +478,7 @@ License: Apache-2.0
|
|
|
478
478
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
479
479
|
Contained in: lib/jsdoc/ui5/plugin.js
|
|
480
480
|
|
|
481
|
-
Component: SAP Theming Base Content, version: 11.
|
|
481
|
+
Component: SAP Theming Base Content, version: 11.3.0
|
|
482
482
|
Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
|
|
483
483
|
License: Apache-2.0
|
|
484
484
|
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.114.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.114.0",
|
|
18
|
+
"@openui5/sap.ui.unified": "1.114.0"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2009-2023 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.114.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>Table-like controls, mainly for desktop scenarios.</documentation>
|
|
12
12
|
|
|
@@ -48,7 +48,7 @@ sap.ui.define([
|
|
|
48
48
|
* @extends sap.ui.table.Column
|
|
49
49
|
*
|
|
50
50
|
* @author SAP SE
|
|
51
|
-
* @version 1.
|
|
51
|
+
* @version 1.114.0
|
|
52
52
|
*
|
|
53
53
|
* @constructor
|
|
54
54
|
* @public
|
|
@@ -301,7 +301,7 @@ sap.ui.define([
|
|
|
301
301
|
|
|
302
302
|
AnalyticalColumn.prototype._getDefaultTooltip = function() {
|
|
303
303
|
var oParent = this.getParent();
|
|
304
|
-
if (isInstanceOfAnalyticalTable(oParent)) {
|
|
304
|
+
if (isInstanceOfAnalyticalTable(oParent) && !oParent._getHideStandardTooltips()) {
|
|
305
305
|
var oBinding = oParent.getBinding();
|
|
306
306
|
if (oBinding && this.getLeadingProperty()) {
|
|
307
307
|
return oBinding.getPropertyQuickInfo(this.getLeadingProperty());
|
package/src/sap/ui/table/Row.js
CHANGED
|
@@ -135,7 +135,7 @@ sap.ui.define([
|
|
|
135
135
|
* @class
|
|
136
136
|
* The row.
|
|
137
137
|
* @extends sap.ui.core.Element
|
|
138
|
-
* @version 1.
|
|
138
|
+
* @version 1.114.0
|
|
139
139
|
*
|
|
140
140
|
* @constructor
|
|
141
141
|
* @public
|
|
@@ -353,7 +353,7 @@ sap.ui.define([
|
|
|
353
353
|
*/
|
|
354
354
|
Row.prototype._updateSelection = function() {
|
|
355
355
|
var oTable = this.getTable();
|
|
356
|
-
var bIsSelected = oTable._getSelectionPlugin().
|
|
356
|
+
var bIsSelected = oTable._getSelectionPlugin().isSelected(this);
|
|
357
357
|
|
|
358
358
|
this._setSelected(bIsSelected);
|
|
359
359
|
oTable._getAccExtension().updateSelectionStateOfRow(this);
|
|
@@ -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.114.0
|
|
39
39
|
*
|
|
40
40
|
* @constructor
|
|
41
41
|
* @public
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* The <code>RowSettings</code> control allows you to configure a row.
|
|
25
25
|
* You can only use this control in the context of the <code>sap.ui.table.Table</code> control to define row settings.
|
|
26
26
|
* @extends sap.ui.core.Element
|
|
27
|
-
* @version 1.
|
|
27
|
+
* @version 1.114.0
|
|
28
28
|
*
|
|
29
29
|
* @constructor
|
|
30
30
|
* @public
|
|
@@ -92,7 +92,7 @@ sap.ui.define([
|
|
|
92
92
|
* the data model and binding being used.
|
|
93
93
|
* </p>
|
|
94
94
|
* @extends sap.ui.core.Control
|
|
95
|
-
* @version 1.
|
|
95
|
+
* @version 1.114.0
|
|
96
96
|
*
|
|
97
97
|
* @constructor
|
|
98
98
|
* @public
|
|
@@ -374,7 +374,7 @@ sap.ui.define([
|
|
|
374
374
|
/**
|
|
375
375
|
* Control or text of title section of the Table (if not set it will be hidden)
|
|
376
376
|
*
|
|
377
|
-
* @deprecated As of 1.72. Use the <code>extension</code> aggregation instead.
|
|
377
|
+
* @deprecated As of version 1.72. Use, for example, a <code>sap.m.Title</code> control in the <code>extension</code> aggregation instead.
|
|
378
378
|
*/
|
|
379
379
|
title: {type: "sap.ui.core.Control", altTypes: ["string"], multiple: false, deprecated: true},
|
|
380
380
|
|
|
@@ -387,7 +387,7 @@ sap.ui.define([
|
|
|
387
387
|
* Toolbar of the Table
|
|
388
388
|
* If not set, no toolbar area will be rendered.
|
|
389
389
|
* Note: The CSS class sapMTBHeader-CTX is applied on the given toolbar.
|
|
390
|
-
* @deprecated
|
|
390
|
+
* @deprecated As of version 1.38. This aggregation is deprecated, use the <code>extension</code> aggregation instead.
|
|
391
391
|
*/
|
|
392
392
|
toolbar: {type: "sap.ui.core.Toolbar", multiple: false, deprecated: true},
|
|
393
393
|
|
|
@@ -417,6 +417,11 @@ sap.ui.define([
|
|
|
417
417
|
* The actions of rows can be defined with the {@link sap.ui.table.Table#setRowActionTemplate rowActionTemplate} aggregation of the table.
|
|
418
418
|
* Furthermore, row-specific settings can be defined with the {@link sap.ui.table.Table#setRowSettingsTemplate rowSettingsTemplate}
|
|
419
419
|
* aggregation of the table.
|
|
420
|
+
*
|
|
421
|
+
* <b>Note:</b> During the binding of rows, the (exact) count needs to be available in the table and has to be requested.
|
|
422
|
+
* If the count is not requested, this may lead to unexpected behavior in the table, such as scrolling, accessibility, or keyboard issues.
|
|
423
|
+
* Please refer to the documentation of the used model for information on requesting the count, for example, {@link sap.ui.model.odata.v2.ODataModel}
|
|
424
|
+
* or {@link sap.ui.model.odata.v4.ODataModel}.
|
|
420
425
|
*/
|
|
421
426
|
rows: {type: "sap.ui.table.Row", multiple: true, singularName: "row", bindable: "bindable", selector: "#{id}-tableCCnt", dnd: true},
|
|
422
427
|
|
|
@@ -749,7 +754,7 @@ sap.ui.define([
|
|
|
749
754
|
/**
|
|
750
755
|
* fired when the user clicks a cell of the table.
|
|
751
756
|
* @since 1.21.0
|
|
752
|
-
* @deprecated As of 1.54, replaced by <code>beforeOpenContextMenu</code>.
|
|
757
|
+
* @deprecated As of version 1.54, replaced by <code>beforeOpenContextMenu</code>.
|
|
753
758
|
*/
|
|
754
759
|
cellContextmenu: {
|
|
755
760
|
allowPreventDefault: true,
|
|
@@ -992,7 +997,7 @@ sap.ui.define([
|
|
|
992
997
|
this._mAnimationFrames = {};
|
|
993
998
|
|
|
994
999
|
// TBD: Tooltips are not desired by Visual Design, discuss whether to switch it off by default
|
|
995
|
-
this.
|
|
1000
|
+
this._setHideStandardTooltips(false);
|
|
996
1001
|
|
|
997
1002
|
this._aRowHeights = [];
|
|
998
1003
|
this._aSortedColumns = [];
|
|
@@ -1579,7 +1584,7 @@ sap.ui.define([
|
|
|
1579
1584
|
var oDummyColumn = this.getDomRef("dummycolhdr");
|
|
1580
1585
|
|
|
1581
1586
|
if (oDummyColumn) {
|
|
1582
|
-
var bDummyColumnHasWidth = oDummyColumn.clientWidth >
|
|
1587
|
+
var bDummyColumnHasWidth = oDummyColumn.clientWidth > 1;
|
|
1583
1588
|
|
|
1584
1589
|
if (!bHasFlexibleRowActions && bDummyColumnHasWidth) {
|
|
1585
1590
|
var iColumnsWidth = this.getColumns().reduce(function(iColumnsWidth, oColumn) {
|
|
@@ -1658,8 +1663,8 @@ sap.ui.define([
|
|
|
1658
1663
|
/**
|
|
1659
1664
|
* Sets the focus to the stored focus DOM reference.
|
|
1660
1665
|
*
|
|
1661
|
-
* If
|
|
1662
|
-
* the focus will be set as accurately as possible according to the information provided by {@
|
|
1666
|
+
* If <code>oFocusInfo.targetInfo</code> is of type {@link sap.ui.core.message.Message},
|
|
1667
|
+
* the focus will be set as accurately as possible according to the information provided by {@link sap.ui.core.message.Message}.
|
|
1663
1668
|
*
|
|
1664
1669
|
* @param {object} [oFocusInfo={}] Options for setting the focus
|
|
1665
1670
|
* @param {boolean} [oFocusInfo.preventScroll=false] @since 1.60 If set to <code>true</code>, the focused
|
|
@@ -3163,7 +3168,7 @@ sap.ui.define([
|
|
|
3163
3168
|
}
|
|
3164
3169
|
|
|
3165
3170
|
if (mRenderConfig.headerSelector.type === "toggle") {
|
|
3166
|
-
var bAllRowsSelected =
|
|
3171
|
+
var bAllRowsSelected = mRenderConfig.headerSelector.selected;
|
|
3167
3172
|
|
|
3168
3173
|
$SelectAll.toggleClass("sapUiTableSelAll", !bAllRowsSelected);
|
|
3169
3174
|
this._getAccExtension().setSelectAllState(bAllRowsSelected);
|
|
@@ -3182,20 +3187,42 @@ sap.ui.define([
|
|
|
3182
3187
|
|
|
3183
3188
|
if (sSelectAllResourceTextID) {
|
|
3184
3189
|
sSelectAllText = TableUtils.getResourceText(sSelectAllResourceTextID);
|
|
3185
|
-
|
|
3186
|
-
$SelectAll.attr('title', sSelectAllText);
|
|
3187
|
-
} else if (mRenderConfig.headerSelector.type === "toggle") {
|
|
3188
|
-
this.getDomRef("ariaselectall").innerText = sSelectAllText;
|
|
3189
|
-
}
|
|
3190
|
+
$SelectAll.attr('title', sSelectAllText);
|
|
3190
3191
|
}
|
|
3191
3192
|
};
|
|
3192
3193
|
|
|
3193
3194
|
/**
|
|
3194
|
-
* Returns
|
|
3195
|
+
* Returns whether certain additional standard tooltips should be shown or not.
|
|
3196
|
+
*
|
|
3197
|
+
* see <code>_setHideStandardTooltips</code> for more details
|
|
3198
|
+
*
|
|
3199
|
+
* @private
|
|
3200
|
+
* @returns {boolean} <code>true</code>, when additional standard tooltips should be shown
|
|
3201
|
+
*/
|
|
3202
|
+
Table.prototype._getHideStandardTooltips = function() {
|
|
3203
|
+
return this._bHideStandardTooltips;
|
|
3204
|
+
};
|
|
3205
|
+
|
|
3206
|
+
/**
|
|
3207
|
+
* Defines whether certain additional standard tooltips should be shown or hidden.
|
|
3208
|
+
* The tooltips which are affected by this setting are:
|
|
3209
|
+
*
|
|
3210
|
+
* <ul>
|
|
3211
|
+
* <li>Text on Group headers</li>
|
|
3212
|
+
* <li>Tooltips on Row Selectors and Row for Selection</li>
|
|
3213
|
+
* <li>Default tooltips on AnalyticalColumn headers</li>
|
|
3214
|
+
* </ul>
|
|
3215
|
+
*
|
|
3216
|
+
* Other tooltips like for Select All / Clear All icons, Expand / Collapse icons or Row Actions are not affected.
|
|
3217
|
+
*
|
|
3218
|
+
* <b>Note: The changes only take effect after a full invalidation / rerendering of the table.</b>
|
|
3219
|
+
*
|
|
3220
|
+
* @param {boolean} bHideStandardTooltips Whether to show the additional tooltips or not
|
|
3195
3221
|
* @private
|
|
3222
|
+
* @ui5-restricted sap.ui.comp, sap.ui.mdc
|
|
3196
3223
|
*/
|
|
3197
|
-
Table.prototype.
|
|
3198
|
-
|
|
3224
|
+
Table.prototype._setHideStandardTooltips = function(bHideStandardTooltips) {
|
|
3225
|
+
this._bHideStandardTooltips = bHideStandardTooltips;
|
|
3199
3226
|
};
|
|
3200
3227
|
|
|
3201
3228
|
/**
|
|
@@ -3203,24 +3230,26 @@ sap.ui.define([
|
|
|
3203
3230
|
* @private
|
|
3204
3231
|
*/
|
|
3205
3232
|
Table.prototype._onSelectionChanged = function(oEvent) {
|
|
3233
|
+
this._updateSelection();
|
|
3234
|
+
|
|
3235
|
+
// If a selection plugin is applied to the table, the "rowSelectionChange" event should not be fired.
|
|
3236
|
+
if (this._hasSelectionPlugin()) {
|
|
3237
|
+
return;
|
|
3238
|
+
}
|
|
3239
|
+
|
|
3206
3240
|
var oSelectionPlugin = this._getSelectionPlugin();
|
|
3207
3241
|
var aRowIndices = oEvent.getParameter("rowIndices");
|
|
3208
3242
|
var bSelectAll = oEvent.getParameter("selectAll");
|
|
3209
3243
|
var iRowIndex = this._iSourceRowIndex !== undefined ? this._iSourceRowIndex : oSelectionPlugin.getSelectedIndex();
|
|
3210
3244
|
|
|
3211
|
-
this.
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
rowIndices: aRowIndices,
|
|
3220
|
-
selectAll: bSelectAll,
|
|
3221
|
-
userInteraction: this._iSourceRowIndex !== undefined
|
|
3222
|
-
});
|
|
3223
|
-
}
|
|
3245
|
+
this.setProperty("selectedIndex", oSelectionPlugin.getSelectedIndex(), true);
|
|
3246
|
+
this.fireRowSelectionChange({
|
|
3247
|
+
rowIndex: iRowIndex,
|
|
3248
|
+
rowContext: this.getContextByIndex(iRowIndex),
|
|
3249
|
+
rowIndices: aRowIndices,
|
|
3250
|
+
selectAll: bSelectAll,
|
|
3251
|
+
userInteraction: this._iSourceRowIndex !== undefined
|
|
3252
|
+
});
|
|
3224
3253
|
};
|
|
3225
3254
|
|
|
3226
3255
|
/**
|
|
@@ -3826,7 +3855,7 @@ sap.ui.define([
|
|
|
3826
3855
|
* @param {object} [mSettings] settings for the new Export, see {@link sap.ui.core.util.Export} <code>constructor</code>
|
|
3827
3856
|
* @returns {sap.ui.core.util.Export} Export object
|
|
3828
3857
|
* @experimental Experimental because the property for the column/cell definitions (sortProperty) could change in future.
|
|
3829
|
-
* @deprecated As of 1.56, replaced by the <code>sap.ui.export</code> library.
|
|
3858
|
+
* @deprecated As of version 1.56, replaced by the <code>sap.ui.export</code> library.
|
|
3830
3859
|
* @public
|
|
3831
3860
|
*/
|
|
3832
3861
|
Table.prototype.exportData = function(mSettings) {
|
|
@@ -3915,29 +3944,6 @@ sap.ui.define([
|
|
|
3915
3944
|
}
|
|
3916
3945
|
};
|
|
3917
3946
|
|
|
3918
|
-
/**
|
|
3919
|
-
* Toggles the selection state of all cells.
|
|
3920
|
-
* @private
|
|
3921
|
-
*/
|
|
3922
|
-
Table.prototype._toggleSelectAll = function() {
|
|
3923
|
-
if (!TableUtils.hasData(this) || this.getSelectionMode() !== SelectionMode.MultiToggle) {
|
|
3924
|
-
return;
|
|
3925
|
-
}
|
|
3926
|
-
|
|
3927
|
-
var oSelectionPlugin = this._getSelectionPlugin();
|
|
3928
|
-
|
|
3929
|
-
// in order to fire the rowSelectionChanged event, the SourceRowIndex mus be set to -1
|
|
3930
|
-
// to indicate that the selection was changed by user interaction
|
|
3931
|
-
if (TableUtils.areAllRowsSelected(this)) {
|
|
3932
|
-
this._iSourceRowIndex = -1;
|
|
3933
|
-
oSelectionPlugin.clearSelection();
|
|
3934
|
-
} else {
|
|
3935
|
-
this._iSourceRowIndex = 0;
|
|
3936
|
-
oSelectionPlugin.selectAll();
|
|
3937
|
-
}
|
|
3938
|
-
this._iSourceRowIndex = undefined;
|
|
3939
|
-
};
|
|
3940
|
-
|
|
3941
3947
|
Table.prototype.setBusy = function(bBusy) {
|
|
3942
3948
|
var bOldBusyState = this.getBusy();
|
|
3943
3949
|
var vReturn = Control.prototype.setBusy.call(this, bBusy, "sapUiTableGridCnt");
|
|
@@ -437,7 +437,7 @@ sap.ui.define(['sap/ui/Device', './library', "./Column", './utils/TableUtils', "
|
|
|
437
437
|
|
|
438
438
|
var sSelectAllResourceTextID;
|
|
439
439
|
if (mRenderConfig.headerSelector.visible) {
|
|
440
|
-
var bAllRowsSelected =
|
|
440
|
+
var bAllRowsSelected = mRenderConfig.headerSelector.selected;
|
|
441
441
|
|
|
442
442
|
if (mRenderConfig.headerSelector.type === "toggle") {
|
|
443
443
|
sSelectAllResourceTextID = bAllRowsSelected ? "TBL_DESELECT_ALL" : "TBL_SELECT_ALL";
|
|
@@ -450,7 +450,7 @@ sap.ui.define(['sap/ui/Device', './library', "./Column", './utils/TableUtils', "
|
|
|
450
450
|
}
|
|
451
451
|
}
|
|
452
452
|
|
|
453
|
-
if (
|
|
453
|
+
if (sSelectAllResourceTextID) {
|
|
454
454
|
rm.attr("title", TableUtils.getResourceText(sSelectAllResourceTextID));
|
|
455
455
|
}
|
|
456
456
|
if (!bAllRowsSelected) {
|
|
@@ -678,7 +678,7 @@ sap.ui.define(['sap/ui/Device', './library', "./Column", './utils/TableUtils', "
|
|
|
678
678
|
};
|
|
679
679
|
|
|
680
680
|
TableRenderer.renderRowAddon = function(rm, oTable, oRow, iRowIndex, bHeader) {
|
|
681
|
-
var bRowSelected = oTable._getSelectionPlugin().
|
|
681
|
+
var bRowSelected = oTable._getSelectionPlugin().isSelected(oRow);
|
|
682
682
|
|
|
683
683
|
rm.openStart("div");
|
|
684
684
|
var oRowSettings = oRow.getAggregation("_settings");
|
|
@@ -726,7 +726,7 @@ sap.ui.define(['sap/ui/Device', './library', "./Column", './utils/TableUtils', "
|
|
|
726
726
|
rm.openEnd();
|
|
727
727
|
if (bHeader) {
|
|
728
728
|
this.writeRowHighlightContent(rm, oTable, oRow, iRowIndex);
|
|
729
|
-
this.writeRowSelectorContent(rm, oTable, oRow
|
|
729
|
+
this.writeRowSelectorContent(rm, oTable, oRow);
|
|
730
730
|
} else {
|
|
731
731
|
var oAction = oRow.getRowAction();
|
|
732
732
|
if (oAction) {
|
|
@@ -948,8 +948,8 @@ sap.ui.define(['sap/ui/Device', './library', "./Column", './utils/TableUtils', "
|
|
|
948
948
|
rm.close("table");
|
|
949
949
|
};
|
|
950
950
|
|
|
951
|
-
TableRenderer.writeRowSelectorContent = function(rm, oTable, oRow
|
|
952
|
-
oTable._getAccRenderExtension().writeAccRowSelectorText(rm, oTable, oRow
|
|
951
|
+
TableRenderer.writeRowSelectorContent = function(rm, oTable, oRow) {
|
|
952
|
+
oTable._getAccRenderExtension().writeAccRowSelectorText(rm, oTable, oRow);
|
|
953
953
|
|
|
954
954
|
if (TableUtils.Grouping.isInGroupMode(oTable)) {
|
|
955
955
|
rm.openStart("div");
|
|
@@ -1105,7 +1105,7 @@ sap.ui.define(['sap/ui/Device', './library', "./Column", './utils/TableUtils', "
|
|
|
1105
1105
|
if (bDraggable && bFixedTable) {
|
|
1106
1106
|
rm.attr("draggable", true);
|
|
1107
1107
|
}
|
|
1108
|
-
if (oSelectionPlugin.
|
|
1108
|
+
if (oSelectionPlugin.isSelected(oRow)) {
|
|
1109
1109
|
rm.class("sapUiTableRowSel");
|
|
1110
1110
|
}
|
|
1111
1111
|
}
|
|
@@ -1129,7 +1129,7 @@ sap.ui.define(['sap/ui/Device', './library', "./Column", './utils/TableUtils', "
|
|
|
1129
1129
|
|
|
1130
1130
|
rm.openEnd();
|
|
1131
1131
|
|
|
1132
|
-
var bSelected = !oRow.isEmpty() && oSelectionPlugin.
|
|
1132
|
+
var bSelected = !oRow.isEmpty() && oSelectionPlugin.isSelected(oRow); //see TableRenderer.renderRowAddon
|
|
1133
1133
|
var aCells = oRow.getCells();
|
|
1134
1134
|
|
|
1135
1135
|
for (var cell = 0, count = aCells.length; cell < count; cell++) {
|
|
@@ -224,23 +224,32 @@ sap.ui.define([
|
|
|
224
224
|
},
|
|
225
225
|
|
|
226
226
|
/*
|
|
227
|
-
* Returns the tooltip of the column or the contained label, if any.
|
|
227
|
+
* Returns the tooltip of the column or the contained label, if any and if it differs from the label itself.
|
|
228
228
|
*/
|
|
229
229
|
getColumnTooltip: function(oColumn) {
|
|
230
230
|
if (!oColumn) {
|
|
231
231
|
return null;
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
+
var oLabel = oColumn.getLabel();
|
|
235
|
+
|
|
236
|
+
function isTooltipEqualToLabel(sTooltip) {
|
|
237
|
+
if (!sTooltip) {
|
|
238
|
+
return false;
|
|
239
|
+
}
|
|
240
|
+
var sText = oLabel && oLabel.getText ? oLabel.getText() : "";
|
|
241
|
+
return sTooltip == sText;
|
|
242
|
+
}
|
|
243
|
+
|
|
234
244
|
var sTooltip = oColumn.getTooltip_AsString();
|
|
235
|
-
if (sTooltip) {
|
|
245
|
+
if (!isTooltipEqualToLabel(sTooltip)) {
|
|
236
246
|
return sTooltip;
|
|
237
247
|
}
|
|
238
248
|
|
|
239
|
-
var oLabel = oColumn.getLabel();
|
|
240
249
|
if (TableUtils.isA(oLabel, "sap.ui.core.Control")) {
|
|
241
250
|
sTooltip = oLabel.getTooltip_AsString();
|
|
242
251
|
}
|
|
243
|
-
if (sTooltip) {
|
|
252
|
+
if (!isTooltipEqualToLabel(sTooltip)) {
|
|
244
253
|
return sTooltip;
|
|
245
254
|
}
|
|
246
255
|
|
|
@@ -665,15 +674,12 @@ sap.ui.define([
|
|
|
665
674
|
}
|
|
666
675
|
}
|
|
667
676
|
}
|
|
668
|
-
if (!oTable._getShowStandardTooltips() && mRenderConfig.headerSelector.type === "toggle") {
|
|
669
|
-
mAttributes["aria-labelledby"] = [sTableId + "-ariaselectall"];
|
|
670
|
-
}
|
|
671
677
|
break;
|
|
672
678
|
|
|
673
679
|
case AccExtension.ELEMENTTYPES.ROWHEADER:
|
|
674
680
|
mAttributes["role"] = "gridcell";
|
|
675
681
|
mAttributes["aria-colindex"] = 1;
|
|
676
|
-
if (TableUtils.hasRowHeader(oTable) && oTable.
|
|
682
|
+
if (TableUtils.hasRowHeader(oTable) && oTable.getSelectionMode() === SelectionMode.None) {
|
|
677
683
|
mAttributes["aria-labelledby"] = [sTableId + "-rowselecthdr"];
|
|
678
684
|
}
|
|
679
685
|
break;
|
|
@@ -854,11 +860,8 @@ sap.ui.define([
|
|
|
854
860
|
if (mParams && mParams.row) {
|
|
855
861
|
if (mParams.row.isExpandable()) {
|
|
856
862
|
var sText = TableUtils.getResourceText("TBL_COLLAPSE_EXPAND");
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
} else {
|
|
860
|
-
mAttributes["aria-label"] = sText;
|
|
861
|
-
}
|
|
863
|
+
mAttributes["title"] = sText;
|
|
864
|
+
|
|
862
865
|
mAttributes["aria-expanded"] = "" + (!!mParams.row.isExpanded());
|
|
863
866
|
mAttributes["aria-hidden"] = "false";
|
|
864
867
|
mAttributes["role"] = "button";
|
|
@@ -929,7 +932,7 @@ sap.ui.define([
|
|
|
929
932
|
* @class Extension for sap.ui.table.Table which handles ACC related things.
|
|
930
933
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
931
934
|
* @author SAP SE
|
|
932
|
-
* @version 1.
|
|
935
|
+
* @version 1.114.0
|
|
933
936
|
* @constructor
|
|
934
937
|
* @private
|
|
935
938
|
* @alias sap.ui.table.extensions.Accessibility
|
|
@@ -1218,7 +1221,7 @@ sap.ui.define([
|
|
|
1218
1221
|
}
|
|
1219
1222
|
|
|
1220
1223
|
var oTable = this.getTable();
|
|
1221
|
-
var bShowRowTooltips = !oRow.isEmpty() && !oRow.isGroupHeader() && !oRow.isSummary() && oTable.
|
|
1224
|
+
var bShowRowTooltips = !oRow.isEmpty() && !oRow.isGroupHeader() && !oRow.isSummary() && !oTable._getHideStandardTooltips();
|
|
1222
1225
|
|
|
1223
1226
|
if ($Ref.row) {
|
|
1224
1227
|
if (bShowRowTooltips && TableUtils.isRowSelectionAllowed(oTable) && !$Ref.row.hasClass("sapUiTableRowHidden")) {
|
|
@@ -1268,7 +1271,7 @@ sap.ui.define([
|
|
|
1268
1271
|
if (!oRow.isEmpty() && !oRow.isGroupHeader() && !oRow.isSummary()) {
|
|
1269
1272
|
var mTooltipTexts = this.getAriaTextsForSelectionMode(true);
|
|
1270
1273
|
var oTable = this.getTable();
|
|
1271
|
-
var bIsSelected = oTable._getSelectionPlugin().
|
|
1274
|
+
var bIsSelected = oTable._getSelectionPlugin().isSelected(oRow);
|
|
1272
1275
|
|
|
1273
1276
|
if ($Ref.row) {
|
|
1274
1277
|
$Ref.row.add($Ref.row.children(".sapUiTableCell")).attr("aria-selected", bIsSelected ? "true" : "false");
|
|
@@ -1394,7 +1397,7 @@ sap.ui.define([
|
|
|
1394
1397
|
sSelectionMode = oTable.getSelectionMode();
|
|
1395
1398
|
}
|
|
1396
1399
|
|
|
1397
|
-
var bShowTooltips = oTable.
|
|
1400
|
+
var bShowTooltips = !oTable._getHideStandardTooltips();
|
|
1398
1401
|
var mTooltipTexts = {
|
|
1399
1402
|
mouse: {
|
|
1400
1403
|
rowSelect: "",
|
|
@@ -1406,7 +1409,7 @@ sap.ui.define([
|
|
|
1406
1409
|
}
|
|
1407
1410
|
};
|
|
1408
1411
|
|
|
1409
|
-
var
|
|
1412
|
+
var iSelectedCount = oTable._getSelectionPlugin().getSelectedCount();
|
|
1410
1413
|
|
|
1411
1414
|
if (sSelectionMode === SelectionMode.Single) {
|
|
1412
1415
|
mTooltipTexts.mouse.rowSelect = bShowTooltips ? TableUtils.getResourceText("TBL_ROW_SELECT") : "";
|
|
@@ -1421,7 +1424,7 @@ sap.ui.define([
|
|
|
1421
1424
|
// text for de-select is the same like for single selection
|
|
1422
1425
|
mTooltipTexts.keyboard.rowDeselect = TableUtils.getResourceText("TBL_ROW_DESELECT_KEY");
|
|
1423
1426
|
|
|
1424
|
-
if (bConsiderSelectionState === true &&
|
|
1427
|
+
if (bConsiderSelectionState === true && iSelectedCount === 0) {
|
|
1425
1428
|
// if there is no row selected yet, the selection is like in single selection case
|
|
1426
1429
|
mTooltipTexts.mouse.rowSelect = bShowTooltips ? TableUtils.getResourceText("TBL_ROW_SELECT") : "";
|
|
1427
1430
|
}
|
|
@@ -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.
|
|
45
|
+
* @version 1.114.0
|
|
46
46
|
* @constructor
|
|
47
47
|
* @private
|
|
48
48
|
* @alias sap.ui.table.extensions.AccessibilityRender
|
|
@@ -82,16 +82,6 @@ sap.ui.define([
|
|
|
82
82
|
_writeAccText(oRm, sTableId, "ariacount");
|
|
83
83
|
// aria description for toggling the edit mode
|
|
84
84
|
_writeAccText(oRm, sTableId, "toggleedit", TableUtils.getResourceText("TBL_TOGGLE_EDIT_KEY"));
|
|
85
|
-
// aria description for select all button
|
|
86
|
-
var bAllRowsSelected = TableUtils.areAllRowsSelected(oTable);
|
|
87
|
-
var mRenderConfig = oTable._getSelectionPlugin().getRenderConfig();
|
|
88
|
-
var sSelectAllResourceTextID;
|
|
89
|
-
if (mRenderConfig.headerSelector.type === "toggle") {
|
|
90
|
-
sSelectAllResourceTextID = bAllRowsSelected ? "TBL_DESELECT_ALL" : "TBL_SELECT_ALL";
|
|
91
|
-
} else if (mRenderConfig.headerSelector.type === "clear") {
|
|
92
|
-
sSelectAllResourceTextID = "TBL_DESELECT_ALL";
|
|
93
|
-
}
|
|
94
|
-
_writeAccText(oRm, sTableId, "ariaselectall", TableUtils.getResourceText(sSelectAllResourceTextID));
|
|
95
85
|
// aria label for group rows
|
|
96
86
|
_writeAccText(oRm, sTableId, "ariarowgrouplabel", TableUtils.getResourceText("TBL_ROW_GROUP_LABEL"));
|
|
97
87
|
// aria label for grand total sums
|
|
@@ -183,16 +173,15 @@ sap.ui.define([
|
|
|
183
173
|
* @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the Render-Output-Buffer.
|
|
184
174
|
* @param {sap.ui.table.Table} oTable Instance of the table.
|
|
185
175
|
* @param {sap.ui.table.Row} oRow Instance of the row.
|
|
186
|
-
* @param {int} iRowIndex The index of the row.
|
|
187
176
|
* @see sap.ui.table.TableRenderer.writeRowSelectorContent
|
|
188
177
|
* @public
|
|
189
178
|
*/
|
|
190
|
-
writeAccRowSelectorText: function(oRm, oTable, oRow
|
|
179
|
+
writeAccRowSelectorText: function(oRm, oTable, oRow) {
|
|
191
180
|
if (!oTable._getAccExtension().getAccMode()) {
|
|
192
181
|
return;
|
|
193
182
|
}
|
|
194
183
|
|
|
195
|
-
var bIsSelected = oTable._getSelectionPlugin().
|
|
184
|
+
var bIsSelected = oTable._getSelectionPlugin().isSelected(oRow);
|
|
196
185
|
var mTooltipTexts = oTable._getAccExtension().getAriaTextsForSelectionMode(true);
|
|
197
186
|
var sText = mTooltipTexts.keyboard[bIsSelected ? "rowDeselect" : "rowSelect"];
|
|
198
187
|
|
|
@@ -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.114.0
|
|
271
271
|
* @constructor
|
|
272
272
|
* @private
|
|
273
273
|
* @alias sap.ui.table.extensions.Keyboard
|