@openui5/sap.ui.table 1.136.8 → 1.136.10
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/REUSE.toml +1 -1
- package/THIRDPARTY.txt +2 -2
- 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 -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 +1 -1
- package/src/sap/ui/table/TablePersoController.js +1 -1
- package/src/sap/ui/table/TableRenderer.js +42 -23
- package/src/sap/ui/table/TreeTable.js +1 -1
- package/src/sap/ui/table/extensions/Accessibility.js +47 -15
- 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 +10 -10
- package/src/sap/ui/table/menus/AnalyticalTableContextMenu.js +1 -1
- package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +1 -1
- package/src/sap/ui/table/menus/ContextMenu.js +1 -1
- package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +1 -1
- package/src/sap/ui/table/messagebundle.properties +6 -0
- package/src/sap/ui/table/messagebundle_en_US_saprigi.properties +4 -0
- package/src/sap/ui/table/messagebundle_es.properties +1 -1
- package/src/sap/ui/table/messagebundle_fr.properties +1 -1
- package/src/sap/ui/table/messagebundle_vi.properties +2 -2
- package/src/sap/ui/table/messagebundle_zh_TW.properties +2 -2
- package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
- package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +1 -1
- package/src/sap/ui/table/plugins/ODataV4Selection.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 +1 -1
- 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/rules/ColumnTemplate.support.js +2 -7
- 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/REUSE.toml
CHANGED
|
@@ -375,7 +375,7 @@ SPDX-FileComment = "these files belong to: handlebars"
|
|
|
375
375
|
[[annotations]]
|
|
376
376
|
path = "src/sap.ui.core/src/sap/ui/thirdparty/require.js"
|
|
377
377
|
precedence = "aggregate"
|
|
378
|
-
SPDX-FileCopyrightText = "2010-
|
|
378
|
+
SPDX-FileCopyrightText = "2010-2024, jQuery Foundation and other contributors"
|
|
379
379
|
SPDX-License-Identifier = "MIT"
|
|
380
380
|
SPDX-FileComment = "these files belong to: requireJS"
|
|
381
381
|
|
package/THIRDPARTY.txt
CHANGED
|
@@ -245,8 +245,8 @@ License: MIT
|
|
|
245
245
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
|
|
246
246
|
Contained in: src/sap.ui.core/src/sap/ui/thirdparty/handlebars.js
|
|
247
247
|
|
|
248
|
-
Component: requireJS, version: 2.
|
|
249
|
-
Copyright: 2010-
|
|
248
|
+
Component: requireJS, version: 2.3.7
|
|
249
|
+
Copyright: 2010-2024, jQuery Foundation and other contributors
|
|
250
250
|
License: MIT
|
|
251
251
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
|
|
252
252
|
Contained in: src/sap.ui.core/src/sap/ui/thirdparty/require.js
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.ui.table",
|
|
3
|
-
"version": "1.136.
|
|
3
|
+
"version": "1.136.10",
|
|
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.136.
|
|
18
|
-
"@openui5/sap.ui.unified": "1.136.
|
|
17
|
+
"@openui5/sap.ui.core": "1.136.10",
|
|
18
|
+
"@openui5/sap.ui.unified": "1.136.10"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2025 SAP SE or an SAP affiliate company.
|
|
8
8
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
|
|
9
|
-
<version>1.136.
|
|
9
|
+
<version>1.136.10</version>
|
|
10
10
|
|
|
11
11
|
<documentation>Table-like controls, mainly for desktop scenarios.</documentation>
|
|
12
12
|
|
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.136.
|
|
38
|
+
* @version 1.136.10
|
|
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.136.
|
|
30
|
+
* @version 1.136.10
|
|
31
31
|
*
|
|
32
32
|
* @constructor
|
|
33
33
|
* @public
|
|
@@ -97,6 +97,7 @@ sap.ui.define([
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
const oScrollExtension = oTable._getScrollExtension();
|
|
100
|
+
const oAccRenderExtension = oTable._getAccRenderExtension();
|
|
100
101
|
if (oScrollExtension.isVerticalScrollbarRequired() && !oScrollExtension.isVerticalScrollbarExternal()) {
|
|
101
102
|
rm.class("sapUiTableVScr"); // show vertical scrollbar
|
|
102
103
|
}
|
|
@@ -179,7 +180,7 @@ sap.ui.define([
|
|
|
179
180
|
this.renderTabElement(rm, "sapUiTableCtrlBefore", bDummyTabbable ? "0" : "-1");
|
|
180
181
|
|
|
181
182
|
rm.openStart("div", oTable.getId() + "-sapUiTableGridCnt");
|
|
182
|
-
|
|
183
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "Content");
|
|
183
184
|
rm.openEnd();
|
|
184
185
|
|
|
185
186
|
this.renderColRsz(rm, oTable);
|
|
@@ -199,12 +200,12 @@ sap.ui.define([
|
|
|
199
200
|
this.renderHSbBackground(rm, oTable);
|
|
200
201
|
this.renderHSb(rm, oTable);
|
|
201
202
|
|
|
202
|
-
|
|
203
|
+
oAccRenderExtension.writeHiddenAccTexts(rm, oTable);
|
|
203
204
|
|
|
204
205
|
rm.openStart("div", oTable.getId() + "-overlay");
|
|
205
206
|
rm.class("sapUiTableOverlayArea");
|
|
206
207
|
rm.attr("tabindex", "0");
|
|
207
|
-
|
|
208
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "Overlay");
|
|
208
209
|
rm.openEnd();
|
|
209
210
|
rm.close("div");
|
|
210
211
|
|
|
@@ -408,12 +409,28 @@ sap.ui.define([
|
|
|
408
409
|
let bEnabled = false;
|
|
409
410
|
let bSelAll = false;
|
|
410
411
|
const mRenderConfig = oTable._getSelectionPlugin().getRenderConfig();
|
|
412
|
+
const oAccRenderExtension = oTable._getAccRenderExtension();
|
|
411
413
|
|
|
412
414
|
rm.openStart("div");
|
|
413
|
-
|
|
415
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "ColumnRowHeaderRow");
|
|
414
416
|
rm.openEnd();
|
|
415
|
-
|
|
416
|
-
|
|
417
|
+
|
|
418
|
+
const iHeaderRowCount = TableUtils.getHeaderRowCount(oTable);
|
|
419
|
+
if (iHeaderRowCount > 1) {
|
|
420
|
+
// In multi label scenario extra hidden cells are rendered in order to maintain correct aria-ownns relationship for each header row. They
|
|
421
|
+
// are rendered in the same row which does not affect the announcement because the row has aria-hidden.
|
|
422
|
+
for (let i = 0; i < iHeaderRowCount - 1; i++) {
|
|
423
|
+
rm.openStart("div", oTable.getId() + "-rowcolhdr" + i);
|
|
424
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "ColumnRowHeaderCell", {bLabel: false});
|
|
425
|
+
rm.openEnd();
|
|
426
|
+
rm.close("div");
|
|
427
|
+
}
|
|
428
|
+
rm.openStart("div", oTable.getId() + "-rowcolhdr" + (iHeaderRowCount - 1));
|
|
429
|
+
} else {
|
|
430
|
+
rm.openStart("div", oTable.getId() + "-rowcolhdr");
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "ColumnRowHeaderCell", {bLabel: true});
|
|
417
434
|
rm.openEnd();
|
|
418
435
|
rm.openStart("div", oTable.getId() + "-selall");
|
|
419
436
|
|
|
@@ -451,7 +468,7 @@ sap.ui.define([
|
|
|
451
468
|
enabled: bEnabled,
|
|
452
469
|
checked: bSelAll
|
|
453
470
|
};
|
|
454
|
-
|
|
471
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "ColumnRowHeader", oParams);
|
|
455
472
|
|
|
456
473
|
rm.openEnd();
|
|
457
474
|
|
|
@@ -620,11 +637,12 @@ sap.ui.define([
|
|
|
620
637
|
// =============================================================================
|
|
621
638
|
|
|
622
639
|
TableRenderer.renderRowHdr = function(rm, oTable) {
|
|
640
|
+
const oAccRenderExtension = oTable._getAccRenderExtension();
|
|
623
641
|
rm.openStart("div", oTable.getId() + "-sapUiTableRowHdrScr");
|
|
624
|
-
|
|
642
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "Presentation");
|
|
625
643
|
rm.class("sapUiTableRowHdrScr");
|
|
626
644
|
rm.class("sapUiTableNoOpacity");
|
|
627
|
-
|
|
645
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "RowHeaderCol");
|
|
628
646
|
rm.openEnd();
|
|
629
647
|
|
|
630
648
|
// start with the first current top visible row
|
|
@@ -681,9 +699,10 @@ sap.ui.define([
|
|
|
681
699
|
|
|
682
700
|
TableRenderer.renderRowAddon = function(rm, oTable, oRow, iRowIndex, bHeader) {
|
|
683
701
|
const bRowSelected = oRow._isSelected();
|
|
702
|
+
const oAccRenderExtension = oTable._getAccRenderExtension();
|
|
684
703
|
|
|
685
704
|
rm.openStart("div");
|
|
686
|
-
|
|
705
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "RowAddon");
|
|
687
706
|
|
|
688
707
|
rm.attr("data-sap-ui-related", oRow.getId());
|
|
689
708
|
rm.attr("data-sap-ui-rowindex", iRowIndex);
|
|
@@ -718,7 +737,7 @@ sap.ui.define([
|
|
|
718
737
|
rowSelected: bRowSelected,
|
|
719
738
|
rowHidden: oRow.isEmpty()
|
|
720
739
|
};
|
|
721
|
-
|
|
740
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, bHeader ? "RowHeader" : "RowAction", oParams);
|
|
722
741
|
|
|
723
742
|
rm.openEnd();
|
|
724
743
|
if (bHeader) {
|
|
@@ -817,7 +836,8 @@ sap.ui.define([
|
|
|
817
836
|
rm.class(sClass);
|
|
818
837
|
});
|
|
819
838
|
|
|
820
|
-
oTable._getAccRenderExtension()
|
|
839
|
+
const oAccRenderExtension = oTable._getAccRenderExtension();
|
|
840
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, bHeader ? "Presentation" : "Table");
|
|
821
841
|
|
|
822
842
|
rm.class("sapUiTableCtrl");
|
|
823
843
|
if (bHeader) {
|
|
@@ -883,7 +903,7 @@ sap.ui.define([
|
|
|
883
903
|
if (oColParam.shouldRender) {
|
|
884
904
|
if (iStartRow === 0) {
|
|
885
905
|
rm.openStart("th", oTable.getId() + sSuffix + iCol);
|
|
886
|
-
|
|
906
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "Th", {column: oColumn});
|
|
887
907
|
} else {
|
|
888
908
|
rm.openStart("th");
|
|
889
909
|
}
|
|
@@ -908,7 +928,7 @@ sap.ui.define([
|
|
|
908
928
|
// dummy column to fill the table width
|
|
909
929
|
if (bRenderDummyColumn) {
|
|
910
930
|
rm.openStart("th", bHeader && oTable.getId() + "-dummycolhdr");
|
|
911
|
-
|
|
931
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "Presentation");
|
|
912
932
|
rm.openEnd().close("th");
|
|
913
933
|
}
|
|
914
934
|
|
|
@@ -1009,7 +1029,8 @@ sap.ui.define([
|
|
|
1009
1029
|
rm.class("sapUiTableRow");
|
|
1010
1030
|
rm.class("sapUiTableHeaderRow");
|
|
1011
1031
|
rm.class("sapUiTableColHdrTr");
|
|
1012
|
-
oTable._getAccRenderExtension()
|
|
1032
|
+
const oAccRenderExtension = oTable._getAccRenderExtension();
|
|
1033
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "ColumnHeaderRow", {rowIndex: iRow, fixedCol: bFixedTable});
|
|
1013
1034
|
rm.openEnd();
|
|
1014
1035
|
|
|
1015
1036
|
//
|
|
@@ -1061,7 +1082,7 @@ sap.ui.define([
|
|
|
1061
1082
|
|
|
1062
1083
|
if (!bFixedTable && bHasOnlyFixedColumns && aColumns.length > 0) {
|
|
1063
1084
|
rm.openStart("td").class("sapUiTableCellDummy");
|
|
1064
|
-
|
|
1085
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "Presentation");
|
|
1065
1086
|
rm.openEnd().close("td");
|
|
1066
1087
|
}
|
|
1067
1088
|
rm.close("tr");
|
|
@@ -1111,7 +1132,8 @@ sap.ui.define([
|
|
|
1111
1132
|
fixedCol: bFixedTable,
|
|
1112
1133
|
rowNavigated: oRowSettings ? oRowSettings.getNavigated() : false
|
|
1113
1134
|
};
|
|
1114
|
-
oTable._getAccRenderExtension()
|
|
1135
|
+
const oAccRenderExtension = oTable._getAccRenderExtension();
|
|
1136
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "Tr", oParams);
|
|
1115
1137
|
|
|
1116
1138
|
rm.openEnd();
|
|
1117
1139
|
|
|
@@ -1123,14 +1145,14 @@ sap.ui.define([
|
|
|
1123
1145
|
}
|
|
1124
1146
|
if (!bFixedTable && bHasOnlyFixedColumns && aCells.length > 0) {
|
|
1125
1147
|
rm.openStart("td").class("sapUiTableCellDummy");
|
|
1126
|
-
|
|
1148
|
+
oAccRenderExtension.writeAriaAttributesFor(rm, oTable, "Presentation");
|
|
1127
1149
|
rm.openEnd();
|
|
1128
1150
|
rm.close("td");
|
|
1129
1151
|
}
|
|
1130
1152
|
rm.close("tr");
|
|
1131
1153
|
};
|
|
1132
1154
|
|
|
1133
|
-
TableRenderer.renderTableCell = function(rm, oTable, oRow, oCell, iCellIndex, bFixedTable, iStartColumn, iEndColumn, aVisibleColumns, iLastFixedColumnIndex
|
|
1155
|
+
TableRenderer.renderTableCell = function(rm, oTable, oRow, oCell, iCellIndex, bFixedTable, iStartColumn, iEndColumn, aVisibleColumns, iLastFixedColumnIndex) {
|
|
1134
1156
|
const oColumn = Column.ofCell(oCell);
|
|
1135
1157
|
const iColIndex = oColumn.getIndex();
|
|
1136
1158
|
|
|
@@ -1146,10 +1168,7 @@ sap.ui.define([
|
|
|
1146
1168
|
const bIsLastFixedColumn = bFixedTable && iLastFixedColumnIndex === iColIndex;
|
|
1147
1169
|
|
|
1148
1170
|
const oParams = {
|
|
1149
|
-
column: oColumn
|
|
1150
|
-
row: oRow,
|
|
1151
|
-
fixed: bFixedTable,
|
|
1152
|
-
rowSelected: bSelected
|
|
1171
|
+
column: oColumn
|
|
1153
1172
|
};
|
|
1154
1173
|
oTable._getAccRenderExtension().writeAriaAttributesFor(rm, oTable, "DataCell", oParams);
|
|
1155
1174
|
|
|
@@ -639,10 +639,26 @@ sap.ui.define([
|
|
|
639
639
|
|
|
640
640
|
/**
|
|
641
641
|
* Returns the aria attributes for the column row header cell.
|
|
642
|
+
*
|
|
643
|
+
* @param {sap.ui.table.extensions.Accessibility} oExtension The accessibility extension
|
|
644
|
+
* @param {{bLabel: boolean}} mParams Whether an aria-label should be added
|
|
642
645
|
* @returns {object} An object containing the aria attributes
|
|
643
646
|
*/
|
|
644
|
-
getAriaAttributesForColumnRowHeaderCell: function() {
|
|
645
|
-
|
|
647
|
+
getAriaAttributesForColumnRowHeaderCell: function(oExtension, mParams) {
|
|
648
|
+
const mAttributes = {"role": "columnheader"};
|
|
649
|
+
const oTable = oExtension.getTable();
|
|
650
|
+
const sSelectionMode = oTable.getSelectionMode();
|
|
651
|
+
|
|
652
|
+
if (mParams.bLabel) {
|
|
653
|
+
if (sSelectionMode !== SelectionMode.None) {
|
|
654
|
+
mAttributes["aria-label"] = TableUtils.getResourceText("TBL_TABLE_SELECTION_COLUMNHEADER");
|
|
655
|
+
} else if (TableUtils.hasRowHeader(oTable)) {
|
|
656
|
+
// Table has no selection, but because group mode is active, selection column is still visible with focusable row header cells.
|
|
657
|
+
mAttributes["aria-label"] = TableUtils.getResourceText("TBL_ROW_SELECTION_COLUMN_LABEL");
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
return mAttributes;
|
|
646
662
|
},
|
|
647
663
|
|
|
648
664
|
/**
|
|
@@ -730,8 +746,8 @@ sap.ui.define([
|
|
|
730
746
|
* Returns the aria attributes for a column header.
|
|
731
747
|
*
|
|
732
748
|
* @param {sap.ui.table.extensions.Accessibility} oExtension The accessibility extension
|
|
733
|
-
* @param {{column: sap.ui.table.Column, headerId: string,
|
|
734
|
-
* column, the id of the header cell,
|
|
749
|
+
* @param {{column: sap.ui.table.Column, headerId: string, colspan: boolean}} mParams An object containing the instance of the
|
|
750
|
+
* column, the id of the header cell, and whether the column has span
|
|
735
751
|
* @returns {object} An object containing the aria attributes
|
|
736
752
|
*/
|
|
737
753
|
getAriaAttributesForColumnHeader: function(oExtension, mParams) {
|
|
@@ -783,9 +799,7 @@ sap.ui.define([
|
|
|
783
799
|
* Returns the aria attributes for a data cell.
|
|
784
800
|
*
|
|
785
801
|
* @param {sap.ui.table.extensions.Accessibility} oExtension The accessibility extension
|
|
786
|
-
* @param {{
|
|
787
|
-
* containing the index of the row, the instance of the column, the instance of the row, whether the column is fixed and whether the row is
|
|
788
|
-
* selected
|
|
802
|
+
* @param {{column: sap.ui.table.Column}} mParams An object containing the instance of the column
|
|
789
803
|
* @returns {object} An object containing the aria attributes
|
|
790
804
|
*/
|
|
791
805
|
getAriaAttributesForDataCell: function(oExtension, mParams) {
|
|
@@ -896,23 +910,37 @@ sap.ui.define([
|
|
|
896
910
|
* Returns the aria attributes for the row that contains the column headers.
|
|
897
911
|
*
|
|
898
912
|
* @param {sap.ui.table.extensions.Accessibility} oExtension The accessibility extension
|
|
899
|
-
* @param {
|
|
900
|
-
* @param {int} mParams.rowIndex The index of the row
|
|
913
|
+
* @param {{rowIndex: int, fixedCol: boolean}} mParams An object containing the index of the row and whether the column is fixed
|
|
901
914
|
* @returns {object} An object containing the aria attributes
|
|
902
915
|
*/
|
|
903
916
|
getAriaAttributesForColumnHeaderRow: function(oExtension, mParams) {
|
|
904
917
|
const mAttributes = {"role": "row"};
|
|
918
|
+
if (mParams.fixedCol) {
|
|
919
|
+
return mAttributes;
|
|
920
|
+
}
|
|
905
921
|
const oTable = oExtension.getTable();
|
|
906
922
|
const sTableId = oTable.getId();
|
|
907
923
|
|
|
908
924
|
mAttributes["aria-rowindex"] = mParams.rowIndex + 1;
|
|
909
925
|
mAttributes["aria-owns"] = [];
|
|
910
|
-
if (TableUtils.hasRowHeader(oTable)) {
|
|
911
|
-
mAttributes["aria-owns"].push(sTableId + "-rowcolhdr");
|
|
912
|
-
}
|
|
913
926
|
|
|
914
|
-
|
|
915
|
-
|
|
927
|
+
const aVisibleColumns = oTable._getVisibleColumns();
|
|
928
|
+
if (TableUtils.getHeaderRowCount(oTable) > 1) {
|
|
929
|
+
if (TableUtils.hasRowHeader(oTable)) {
|
|
930
|
+
mAttributes["aria-owns"].push(sTableId + "-rowcolhdr" + mParams.rowIndex);
|
|
931
|
+
}
|
|
932
|
+
let j = 0;
|
|
933
|
+
while (j < TableUtils.getVisibleColumnCount(oTable)) {
|
|
934
|
+
mAttributes["aria-owns"].push(aVisibleColumns[j].getId() + (mParams.rowIndex > 0 ? "_" + mParams.rowIndex : ""));
|
|
935
|
+
j += parseInt(aVisibleColumns[j].getHeaderSpan()[mParams.rowIndex]) || 1;
|
|
936
|
+
}
|
|
937
|
+
} else {
|
|
938
|
+
if (TableUtils.hasRowHeader(oTable)) {
|
|
939
|
+
mAttributes["aria-owns"].push(sTableId + "-rowcolhdr");
|
|
940
|
+
}
|
|
941
|
+
for (let j = 0; j < TableUtils.getVisibleColumnCount(oTable); j++) {
|
|
942
|
+
mAttributes["aria-owns"].push(aVisibleColumns[j].getId());
|
|
943
|
+
}
|
|
916
944
|
}
|
|
917
945
|
|
|
918
946
|
if (TableUtils.hasRowActions(oTable)) {
|
|
@@ -983,6 +1011,10 @@ sap.ui.define([
|
|
|
983
1011
|
mAttributes["aria-current"] = true;
|
|
984
1012
|
}
|
|
985
1013
|
|
|
1014
|
+
if (mParams.fixedCol) {
|
|
1015
|
+
return mAttributes;
|
|
1016
|
+
}
|
|
1017
|
+
|
|
986
1018
|
mAttributes["aria-owns"] = [];
|
|
987
1019
|
if (TableUtils.hasRowHeader(oTable)) {
|
|
988
1020
|
mAttributes["aria-owns"].push(sTableId + "-rowsel" + mParams.index);
|
|
@@ -1148,7 +1180,7 @@ sap.ui.define([
|
|
|
1148
1180
|
* @class Extension for sap.ui.table.Table which handles ACC related things.
|
|
1149
1181
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
1150
1182
|
* @author SAP SE
|
|
1151
|
-
* @version 1.136.
|
|
1183
|
+
* @version 1.136.10
|
|
1152
1184
|
* @constructor
|
|
1153
1185
|
* @private
|
|
1154
1186
|
* @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.136.
|
|
47
|
+
* @version 1.136.10
|
|
48
48
|
* @constructor
|
|
49
49
|
* @private
|
|
50
50
|
* @alias sap.ui.table.extensions.AccessibilityRender
|
|
@@ -265,7 +265,7 @@ sap.ui.define([
|
|
|
265
265
|
* @class Extension for sap.ui.table.Table which handles keyboard related things.
|
|
266
266
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
267
267
|
* @author SAP SE
|
|
268
|
-
* @version 1.136.
|
|
268
|
+
* @version 1.136.10
|
|
269
269
|
* @constructor
|
|
270
270
|
* @private
|
|
271
271
|
* @alias sap.ui.table.extensions.Keyboard
|
|
@@ -668,7 +668,7 @@ sap.ui.define([
|
|
|
668
668
|
* @class Extension for sap.ui.table.Table which handles mouse and touch related things.
|
|
669
669
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
670
670
|
* @author SAP SE
|
|
671
|
-
* @version 1.136.
|
|
671
|
+
* @version 1.136.10
|
|
672
672
|
* @constructor
|
|
673
673
|
* @private
|
|
674
674
|
* @alias sap.ui.table.extensions.Pointer
|
|
@@ -2320,7 +2320,7 @@ sap.ui.define([
|
|
|
2320
2320
|
* @class Extension for sap.ui.table.Table which handles scrolling.
|
|
2321
2321
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
2322
2322
|
* @author SAP SE
|
|
2323
|
-
* @version 1.136.
|
|
2323
|
+
* @version 1.136.10
|
|
2324
2324
|
* @constructor
|
|
2325
2325
|
* @private
|
|
2326
2326
|
* @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.136.
|
|
30
|
+
* @version 1.136.10
|
|
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.136.
|
|
188
|
+
* @version 1.136.10
|
|
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.136.
|
|
30
|
+
* @version 1.136.10
|
|
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.136.
|
|
37
|
+
version: "1.136.10",
|
|
38
38
|
dependencies: ["sap.ui.core", "sap.ui.unified"],
|
|
39
39
|
...{
|
|
40
40
|
interactionDocumentation: true
|
|
@@ -98,7 +98,7 @@ sap.ui.define([
|
|
|
98
98
|
/**
|
|
99
99
|
* Navigation mode of the table
|
|
100
100
|
*
|
|
101
|
-
* @version 1.136.
|
|
101
|
+
* @version 1.136.10
|
|
102
102
|
* @enum {string}
|
|
103
103
|
* @deprecated As of version 1.38, the concept has been discarded.
|
|
104
104
|
* @public
|
|
@@ -129,7 +129,7 @@ sap.ui.define([
|
|
|
129
129
|
/**
|
|
130
130
|
* Row Action types.
|
|
131
131
|
*
|
|
132
|
-
* @version 1.136.
|
|
132
|
+
* @version 1.136.10
|
|
133
133
|
* @enum {string}
|
|
134
134
|
* @public
|
|
135
135
|
*/
|
|
@@ -160,7 +160,7 @@ sap.ui.define([
|
|
|
160
160
|
/**
|
|
161
161
|
* Selection behavior of the table
|
|
162
162
|
*
|
|
163
|
-
* @version 1.136.
|
|
163
|
+
* @version 1.136.10
|
|
164
164
|
* @enum {string}
|
|
165
165
|
* @public
|
|
166
166
|
*/
|
|
@@ -191,7 +191,7 @@ sap.ui.define([
|
|
|
191
191
|
/**
|
|
192
192
|
* Selection mode of the table
|
|
193
193
|
*
|
|
194
|
-
* @version 1.136.
|
|
194
|
+
* @version 1.136.10
|
|
195
195
|
* @enum {string}
|
|
196
196
|
* @public
|
|
197
197
|
*/
|
|
@@ -229,7 +229,7 @@ sap.ui.define([
|
|
|
229
229
|
/**
|
|
230
230
|
* Sort order of a column
|
|
231
231
|
*
|
|
232
|
-
* @version 1.136.
|
|
232
|
+
* @version 1.136.10
|
|
233
233
|
* @enum {string}
|
|
234
234
|
* @public
|
|
235
235
|
* @deprecated As of version 1.120, replaced with <code>sap.ui.core.SortOrder</code>
|
|
@@ -256,7 +256,7 @@ sap.ui.define([
|
|
|
256
256
|
/**
|
|
257
257
|
* VisibleRowCountMode of the table
|
|
258
258
|
*
|
|
259
|
-
* @version 1.136.
|
|
259
|
+
* @version 1.136.10
|
|
260
260
|
* @enum {string}
|
|
261
261
|
* @deprecated As of version 1.119, see the <code>rowMode</code> aggregation of <code>sap.ui.table.Table</code> for more details.
|
|
262
262
|
* @public
|
|
@@ -301,7 +301,7 @@ sap.ui.define([
|
|
|
301
301
|
*
|
|
302
302
|
* Contains IDs of shared DOM references, which should be accessible to inheriting controls via getDomRef() function.
|
|
303
303
|
*
|
|
304
|
-
* @version 1.136.
|
|
304
|
+
* @version 1.136.10
|
|
305
305
|
* @enum {string}
|
|
306
306
|
* @public
|
|
307
307
|
*/
|
|
@@ -402,7 +402,7 @@ sap.ui.define([
|
|
|
402
402
|
*
|
|
403
403
|
* This is an alias for {@link sap.ui.model.TreeAutoExpandMode} and kept for compatibility reasons.
|
|
404
404
|
*
|
|
405
|
-
* @version 1.136.
|
|
405
|
+
* @version 1.136.10
|
|
406
406
|
* @typedef {sap.ui.model.TreeAutoExpandMode}
|
|
407
407
|
* @public
|
|
408
408
|
* @deprecated As of version 1.120, replaced by <code>sap.ui.model.TreeAutoExpandMode</code>
|
|
@@ -184,9 +184,15 @@ TBL_ROW_STATE_NAVIGATED=Navigated
|
|
|
184
184
|
#XACT: accessibilty description for expanding the table row via keyboard
|
|
185
185
|
TBL_ROW_EXPAND_KEY=To expand row press SPACEBAR
|
|
186
186
|
|
|
187
|
+
#XACT: accessibilty description for expanding the table row via keyboard when cell selection is enabled
|
|
188
|
+
TBL_ROW_EXPAND_KEY_ALTERNATIVE=To expand row press ENTER
|
|
189
|
+
|
|
187
190
|
#XACT: accessibilty description for collapsing the table row via keyboard
|
|
188
191
|
TBL_ROW_COLLAPSE_KEY=To collapse row press SPACEBAR
|
|
189
192
|
|
|
193
|
+
#XACT: accessibilty description for collapsing the table row via keyboard when cell selection is enabled
|
|
194
|
+
TBL_ROW_COLLAPSE_KEY_ALTERNATIVE=To collapse row press ENTER
|
|
195
|
+
|
|
190
196
|
#XBUT: Text of the apply button to save the data entered in the "creation row", a form in the table for creating new rows.
|
|
191
197
|
TBL_CREATIONROW_APPLY=Add Row
|
|
192
198
|
|
|
@@ -112,8 +112,12 @@ TBL_ROW_STATE_NAVIGATED=\u206A\u206A\u206A\u200C\u200B\u200B\u200B\u200D\u200C\u
|
|
|
112
112
|
|
|
113
113
|
TBL_ROW_EXPAND_KEY=\u206A\u206A\u206A\u200C\u200B\u200B\u200C\u200B\u200D\u200D\u200D\u200C\u200C\u200B\u200C\u200C\u200D\u200B\u200D\u200C\u200B\u200D\u200C\u200D\u200D\u200B\u200B\u200C\u200D\u200B\u200C\u200C\u200D\u200B\u200B\u200B\u200C\u200C\u200C\u200D\u200C\u200B\u200C\u200C\u206ATo expand a row, press the spacebar\u206A\u206A
|
|
114
114
|
|
|
115
|
+
TBL_ROW_EXPAND_KEY_ALTERNATIVE=\u206A\u206A\u206A\u200C\u200B\u200B\u200D\u200B\u200B\u200C\u200C\u200C\u200D\u200C\u200D\u200B\u200D\u200D\u200B\u200C\u200D\u200C\u200D\u200C\u200D\u200B\u200B\u200D\u200C\u200B\u200D\u200D\u200B\u200D\u200C\u200B\u200D\u200B\u200D\u200D\u200D\u200C\u200C\u200B\u206ATo expand a row, press ENTER\u206A\u206A
|
|
116
|
+
|
|
115
117
|
TBL_ROW_COLLAPSE_KEY=\u206A\u206A\u206A\u200C\u200D\u200D\u200D\u200B\u200D\u200C\u200D\u200B\u200C\u200C\u200C\u200B\u200C\u200C\u200C\u200D\u200D\u200B\u200D\u200B\u200C\u200C\u200D\u200B\u200C\u200B\u200D\u200B\u200C\u200D\u200C\u200C\u200D\u200D\u200C\u200B\u200C\u200C\u200B\u206ATo collapse a row, press the spacebar\u206A\u206A
|
|
116
118
|
|
|
119
|
+
TBL_ROW_COLLAPSE_KEY_ALTERNATIVE=\u206A\u206A\u206A\u200C\u200B\u200D\u200C\u200D\u200C\u200C\u200C\u200B\u200D\u200C\u200C\u200C\u200B\u200C\u200B\u200C\u200C\u200B\u200C\u200C\u200B\u200C\u200C\u200C\u200D\u200B\u200D\u200B\u200C\u200B\u200B\u200C\u200B\u200C\u200C\u200B\u200B\u200C\u200D\u206ATo collapse a row, press ENTER\u206A\u206A
|
|
120
|
+
|
|
117
121
|
TBL_CREATIONROW_APPLY=\u206A\u206A\u206A\u200D\u200D\u200B\u200B\u200C\u200C\u200D\u200D\u200D\u200C\u200B\u200D\u200D\u200C\u200D\u200D\u200D\u200B\u200D\u200B\u200B\u200C\u200C\u200D\u200D\u200B\u200C\u200B\u200D\u200C\u200C\u200C\u200D\u200D\u200B\u200C\u200C\u200B\u200B\u200D\u206AAdd Row\u206A\u206A
|
|
118
122
|
|
|
119
123
|
TBL_CREATEROW_LABEL=\u206A\u206A\u206A\u200C\u200C\u200D\u200C\u200C\u200D\u200D\u200C\u200D\u200B\u200D\u200B\u200C\u200C\u200C\u200D\u200D\u200C\u200C\u200C\u200D\u200D\u200C\u200D\u200C\u200D\u200B\u200C\u200D\u200D\u200D\u200C\u200D\u200B\u200B\u200C\u200D\u200D\u200B\u200B\u206ACreate new table entry\u206A\u206A
|
|
@@ -110,9 +110,9 @@ TBL_ROW_STATE_SUCCESS=Tha\u0300nh c\u00F4ng
|
|
|
110
110
|
|
|
111
111
|
TBL_ROW_STATE_NAVIGATED=\u0110a\u0303 \u0111i\u00EA\u0300u h\u01B0\u01A1\u0301ng
|
|
112
112
|
|
|
113
|
-
TBL_ROW_EXPAND_KEY=\u0110\u00EA\u0309 m\u01A1\u0309 r\
|
|
113
|
+
TBL_ROW_EXPAND_KEY=\u0110\u00EA\u0309 m\u01A1\u0309 r\u1ED9ng h\u00E0ng, nh\u00E2\u0301n phi\u0301m ca\u0301ch
|
|
114
114
|
|
|
115
|
-
TBL_ROW_COLLAPSE_KEY=\u0110\u00EA\u0309 thu go\u0323n
|
|
115
|
+
TBL_ROW_COLLAPSE_KEY=\u0110\u00EA\u0309 thu go\u0323n h\u00E0ng, nh\u00E2\u0301n phi\u0301m ca\u0301ch
|
|
116
116
|
|
|
117
117
|
TBL_CREATIONROW_APPLY=Th\u00EAm ha\u0300ng
|
|
118
118
|
|
|
@@ -110,9 +110,9 @@ TBL_ROW_STATE_SUCCESS=\u6210\u529F
|
|
|
110
110
|
|
|
111
111
|
TBL_ROW_STATE_NAVIGATED=\u5DF2\u700F\u89BD
|
|
112
112
|
|
|
113
|
-
TBL_ROW_EXPAND_KEY=\u82E5\u8981\u5C55\u958B\u5217\uFF0C\u8ACB\u6309\u4E0B\u7A7A\
|
|
113
|
+
TBL_ROW_EXPAND_KEY=\u82E5\u8981\u5C55\u958B\u5217\uFF0C\u8ACB\u6309\u4E0B\u7A7A\u683C\u9375
|
|
114
114
|
|
|
115
|
-
TBL_ROW_COLLAPSE_KEY=\u82E5\u8981\u6536\
|
|
115
|
+
TBL_ROW_COLLAPSE_KEY=\u82E5\u8981\u6536\u5408\u5217\uFF0C\u8ACB\u6309\u4E0B\u7A7A\u683C\u9375
|
|
116
116
|
|
|
117
117
|
TBL_CREATIONROW_APPLY=\u65B0\u589E\u5217
|
|
118
118
|
|
|
@@ -40,7 +40,7 @@ sap.ui.define([
|
|
|
40
40
|
* @public
|
|
41
41
|
*
|
|
42
42
|
* @author SAP SE
|
|
43
|
-
* @version 1.136.
|
|
43
|
+
* @version 1.136.10
|
|
44
44
|
*/
|
|
45
45
|
const InteractiveRowMode = RowMode.extend("sap.ui.table.rowmodes.Interactive", /** @lends sap.ui.table.rowmodes.Interactive.prototype */ {
|
|
46
46
|
metadata: {
|
|
@@ -47,9 +47,9 @@ sap.ui.define([
|
|
|
47
47
|
minversion: "1.38",
|
|
48
48
|
categories: [Categories.Usage],
|
|
49
49
|
title: "Column template validation - 'sap.m.Text'",
|
|
50
|
-
description: "The 'wrapping'
|
|
50
|
+
description: "The 'wrapping' property of the control 'sap.m.Text' is set to 'true' "
|
|
51
51
|
+ "although the control is used as a column template.",
|
|
52
|
-
resolution: "Set the 'wrapping'
|
|
52
|
+
resolution: "Set the 'wrapping' property of the control 'sap.m.Text' to 'false' if the "
|
|
53
53
|
+ "control is used as a column template.",
|
|
54
54
|
check: function(oIssueManager, oCoreFacade, oScope) {
|
|
55
55
|
checkColumnTemplate(function(oTable, oColumn, oMTextTemplate) {
|
|
@@ -59,11 +59,6 @@ sap.ui.define([
|
|
|
59
59
|
SupportHelper.reportIssue(oIssueManager, "Column '" + sColumnId + "' of table '" + oTable.getId() + "' uses an "
|
|
60
60
|
+ "'sap.m.Text' control with wrapping enabled.", Severity.High, sColumnId);
|
|
61
61
|
}
|
|
62
|
-
if (oMTextTemplate.isBound("renderWhitespace") || (!oMTextTemplate.isBound("renderWhitespace")
|
|
63
|
-
&& oMTextTemplate.getRenderWhitespace())) {
|
|
64
|
-
SupportHelper.reportIssue(oIssueManager, "Column '" + sColumnId + "' of table '" + oTable.getId() + "' uses an "
|
|
65
|
-
+ "'sap.m.Text' control with renderWhitespace enabled.", Severity.High, sColumnId);
|
|
66
|
-
}
|
|
67
62
|
}, oScope, "sap.m.Text");
|
|
68
63
|
}
|
|
69
64
|
});
|
|
@@ -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.136.
|
|
17
|
+
* @version 1.136.10
|
|
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.136.
|
|
21
|
+
* @version 1.136.10
|
|
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.136.
|
|
27
|
+
* @version 1.136.10
|
|
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.136.
|
|
25
|
+
* @version 1.136.10
|
|
26
26
|
* @namespace
|
|
27
27
|
* @alias sap.ui.table.utils._HookUtils
|
|
28
28
|
*
|
|
@@ -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.Menu...</code>
|
|
15
15
|
*
|
|
16
16
|
* @author SAP SE
|
|
17
|
-
* @version 1.136.
|
|
17
|
+
* @version 1.136.10
|
|
18
18
|
* @namespace
|
|
19
19
|
* @alias sap.ui.table.utils._MenuUtils
|
|
20
20
|
* @private
|