@openui5/sap.ui.mdc 1.141.2 → 1.142.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/README.md +2 -2
- package/REUSE.toml +38 -0
- package/THIRDPARTY.txt +34 -1
- package/package.json +4 -4
- package/src/sap/ui/mdc/.library +1 -1
- package/src/sap/ui/mdc/ActionToolbar.js +1 -1
- package/src/sap/ui/mdc/Chart.js +1 -1
- package/src/sap/ui/mdc/Control.js +1 -1
- package/src/sap/ui/mdc/DefaultTypeMap.js +1 -1
- package/src/sap/ui/mdc/Element.js +1 -1
- package/src/sap/ui/mdc/Field.js +26 -3
- package/src/sap/ui/mdc/FilterBar.js +1 -1
- package/src/sap/ui/mdc/FilterField.js +2 -2
- package/src/sap/ui/mdc/Geomap.js +571 -0
- package/src/sap/ui/mdc/GeomapDelegate.js +285 -0
- package/src/sap/ui/mdc/GeomapRenderer.js +76 -0
- package/src/sap/ui/mdc/Link.js +1 -1
- package/src/sap/ui/mdc/MultiValueField.js +3 -3
- package/src/sap/ui/mdc/Table.js +117 -101
- package/src/sap/ui/mdc/TableDelegate.js +3 -2
- package/src/sap/ui/mdc/ValueHelp.js +1 -1
- package/src/sap/ui/mdc/ValueHelpDelegate.js +4 -1
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
- package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +1 -1
- package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
- package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/chart/ToolbarControlFactory.js +1 -1
- package/src/sap/ui/mdc/condition/Condition.js +1 -1
- package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
- package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
- package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +1 -1
- package/src/sap/ui/mdc/condition/Operator.js +1 -1
- package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
- package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
- package/src/sap/ui/mdc/designtime/geomap/Geomap.designtime.js +23 -0
- package/src/sap/ui/mdc/enums/GeomapControlPosition.js +46 -0
- package/src/sap/ui/mdc/field/ConditionType.js +1 -1
- package/src/sap/ui/mdc/field/ConditionTypeMixin.js +1 -1
- package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
- package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
- package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
- package/src/sap/ui/mdc/field/FieldBase.js +45 -20
- package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldInput.js +1 -1
- package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
- package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
- package/src/sap/ui/mdc/field/FieldSelect.js +1 -1
- package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
- package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +22 -0
- package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
- package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
- package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
- package/src/sap/ui/mdc/filterbar/FilterBarBase.js +35 -1
- package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +3 -0
- package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
- package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
- package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/SortFlex.js +12 -5
- package/src/sap/ui/mdc/flexibility/Table.flexibility.js +17 -11
- package/src/sap/ui/mdc/flexibility/actiontoolbar/CombineAction.js +1 -1
- package/src/sap/ui/mdc/flexibility/actiontoolbar/SplitAction.js +1 -1
- package/src/sap/ui/mdc/flexibility/helpers/getAffectedSorter.js +25 -0
- package/src/sap/ui/mdc/geomap/Item.js +48 -0
- package/src/sap/ui/mdc/geomap/PropertyHelper.js +70 -0
- package/src/sap/ui/mdc/library.js +6 -4
- package/src/sap/ui/mdc/link/Factory.js +1 -1
- package/src/sap/ui/mdc/link/LinkItem.js +1 -1
- package/src/sap/ui/mdc/link/Panel.js +1 -1
- package/src/sap/ui/mdc/link/PanelItem.js +1 -1
- package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
- package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
- package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
- package/src/sap/ui/mdc/messagebundle.properties +13 -1
- package/src/sap/ui/mdc/messagebundle_de.properties +2 -2
- package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +9 -1
- package/src/sap/ui/mdc/messagebundle_fr.properties +1 -1
- package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/FilterBarLayoutMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
- package/src/sap/ui/mdc/odata/TypeMap.js +1 -1
- package/src/sap/ui/mdc/odata/v4/GeomapDelegate.js +60 -0
- package/src/sap/ui/mdc/odata/v4/TableDelegate.js +53 -2
- package/src/sap/ui/mdc/odata/v4/TypeMap.js +1 -1
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/p13n/StateUtil.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ColumnFreezeController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ShowDetailsController.js +1 -1
- package/src/sap/ui/mdc/rules/Table.support.js +149 -118
- package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
- package/src/sap/ui/mdc/table/CreationRow.js +1 -1
- package/src/sap/ui/mdc/table/DragDropConfig.js +1 -1
- package/src/sap/ui/mdc/table/GridTableType.js +1 -14
- package/src/sap/ui/mdc/table/ODataV4PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
- package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
- package/src/sap/ui/mdc/table/RowSettings.js +1 -1
- package/src/sap/ui/mdc/table/utils/Personalization.js +1 -1
- package/src/sap/ui/mdc/themes/base/Geomap.less +50 -0
- package/src/sap/ui/mdc/ushell/SemanticObjectMapping.js +1 -1
- package/src/sap/ui/mdc/ushell/SemanticObjectMappingItem.js +1 -1
- package/src/sap/ui/mdc/ushell/SemanticObjectUnavailableAction.js +1 -1
- package/src/sap/ui/mdc/util/InfoBar.js +1 -1
- package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
- package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/util/PropertyHelperUtil.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Dialog.js +2 -2
- package/src/sap/ui/mdc/valuehelp/FilterBar.js +22 -3
- package/src/sap/ui/mdc/valuehelp/Popover.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/DefineConditionPanel.js +126 -25
- package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +4 -3
- package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +1 -1
|
@@ -4,178 +4,209 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
7
|
-
"sap/ui/support/library"
|
|
8
|
-
|
|
7
|
+
"sap/ui/support/library",
|
|
8
|
+
"sap/base/Log"
|
|
9
|
+
], (
|
|
10
|
+
SupportLibrary,
|
|
11
|
+
Log
|
|
12
|
+
) => {
|
|
9
13
|
"use strict";
|
|
10
14
|
|
|
11
|
-
const Categories = SupportLibrary
|
|
12
|
-
const Severity = SupportLibrary.Severity;
|
|
13
|
-
const Audiences = SupportLibrary.Audiences;
|
|
15
|
+
const {Categories, Severity, Audiences} = SupportLibrary;
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
id
|
|
17
|
+
const oHeaderVisibleWhenToolbarHidden = {
|
|
18
|
+
id: "HeaderVisibleWhenToolbarHidden",
|
|
17
19
|
audiences: [Audiences.Control],
|
|
18
20
|
categories: [Categories.Accessibility],
|
|
19
21
|
enabled: true,
|
|
20
22
|
minversion: "1.121",
|
|
21
|
-
title: "Header visibility",
|
|
22
|
-
description: "Checks
|
|
23
|
-
resolution: "Set the
|
|
23
|
+
title: "Header visibility when the toolbar is hidden",
|
|
24
|
+
description: "Checks 'headerVisible' when the toolbar is hidden",
|
|
25
|
+
resolution: "Set the 'headerVisible' property of the 'sap.ui.mdc.Table' to false",
|
|
24
26
|
resolutionurls: [],
|
|
25
27
|
check: function (oIssueManager, oCoreFacade, oScope) {
|
|
26
|
-
oScope.getElementsByClassName("sap.ui.mdc.Table")
|
|
27
|
-
.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
});
|
|
28
|
+
oScope.getElementsByClassName("sap.ui.mdc.Table").forEach((oTable) => {
|
|
29
|
+
if (oTable.getHideToolbar() && oTable.getHeaderVisible()) {
|
|
30
|
+
oIssueManager.addIssue({
|
|
31
|
+
severity: Severity.High,
|
|
32
|
+
details: "'headerVisible' is true but toolbar is hidden.",
|
|
33
|
+
context: {
|
|
34
|
+
id: oTable.getId()
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
});
|
|
38
39
|
}
|
|
39
40
|
};
|
|
40
41
|
|
|
41
|
-
const
|
|
42
|
-
id
|
|
42
|
+
const oShowRowCountWhenToolbarHidden = {
|
|
43
|
+
id: "ShowRowCountWhenToolbarHidden",
|
|
43
44
|
audiences: [Audiences.Control],
|
|
44
45
|
categories: [Categories.Accessibility],
|
|
45
46
|
enabled: true,
|
|
46
47
|
minversion: "1.121",
|
|
47
|
-
title: "
|
|
48
|
-
description: "Checks
|
|
49
|
-
resolution: "Set
|
|
48
|
+
title: "Showing row count when the toolbar is hidden",
|
|
49
|
+
description: "Checks 'showRowCount' when the toolbar is hidden",
|
|
50
|
+
resolution: "Set the 'showRowCount' property of the 'sap.ui.mdc.Table' to false",
|
|
50
51
|
resolutionurls: [],
|
|
51
|
-
check: function
|
|
52
|
-
oScope.getElementsByClassName("sap.ui.mdc.Table")
|
|
53
|
-
.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
52
|
+
check: function(oIssueManager, oCoreFacade, oScope) {
|
|
53
|
+
oScope.getElementsByClassName("sap.ui.mdc.Table").forEach((oTable) => {
|
|
54
|
+
if (oTable.getHideToolbar() && oTable.getShowRowCount()) {
|
|
55
|
+
oIssueManager.addIssue({
|
|
56
|
+
severity: Severity.Low,
|
|
57
|
+
details: "'showRowCount' is true but toolbar is hidden.",
|
|
58
|
+
context: {
|
|
59
|
+
id: oTable.getId()
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
66
|
|
|
67
|
-
const
|
|
68
|
-
id
|
|
67
|
+
const oEnableExportWhenToolbarHidden = {
|
|
68
|
+
id: "EnableExportWhenToolbarHidden",
|
|
69
69
|
audiences: [Audiences.Control],
|
|
70
70
|
categories: [Categories.Accessibility],
|
|
71
71
|
enabled: true,
|
|
72
72
|
minversion: "1.121",
|
|
73
|
-
title: "
|
|
74
|
-
description: "Checks
|
|
75
|
-
resolution: "Set the '
|
|
76
|
-
resolutionurls: [
|
|
77
|
-
text: "SAP Fiori Design Guidelines: Illustrated Message",
|
|
78
|
-
href: "https://experience.sap.com/fiori-design-web/illustrated-message/"
|
|
79
|
-
}],
|
|
73
|
+
title: "Export when the toolbar is hidden",
|
|
74
|
+
description: "Checks 'enableExport' when the toolbar is hidden",
|
|
75
|
+
resolution: "Set the 'enableExport' property of the 'sap.ui.mdc.Table' to false",
|
|
76
|
+
resolutionurls: [],
|
|
80
77
|
check: function (oIssueManager, oCoreFacade, oScope) {
|
|
81
|
-
oScope.getElementsByClassName("sap.ui.mdc.Table")
|
|
82
|
-
.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
});
|
|
78
|
+
oScope.getElementsByClassName("sap.ui.mdc.Table").forEach((oTable) => {
|
|
79
|
+
if (oTable.getHideToolbar() && oTable.getEnableExport()) {
|
|
80
|
+
oIssueManager.addIssue({
|
|
81
|
+
severity: Severity.Low,
|
|
82
|
+
details: "'enableExport' is true but toolbar is hidden.",
|
|
83
|
+
context: {
|
|
84
|
+
id: oTable.getId()
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
93
89
|
}
|
|
94
90
|
};
|
|
95
91
|
|
|
96
|
-
const
|
|
97
|
-
id
|
|
92
|
+
const oToolbarElementsWhenToolbarHidden = {
|
|
93
|
+
id: "ToolbarElementsWhenToolbarHidden",
|
|
98
94
|
audiences: [Audiences.Control],
|
|
99
95
|
categories: [Categories.Accessibility],
|
|
100
96
|
enabled: true,
|
|
101
97
|
minversion: "1.121",
|
|
102
|
-
title: "
|
|
103
|
-
description: "Checks whether the '
|
|
104
|
-
resolution: "
|
|
98
|
+
title: "Actions, quickFilter, and a table-related VariantManagement when the toolbar is hidden",
|
|
99
|
+
description: "Checks whether the 'actions', 'quickFilter', and 'variant' aggregations are used when the toolbar is hidden",
|
|
100
|
+
resolution: "Remove 'actions', 'quickFilter', and 'variants' aggregations from the 'sap.ui.mdc.Table'",
|
|
105
101
|
resolutionurls: [],
|
|
106
102
|
check: function (oIssueManager, oCoreFacade, oScope) {
|
|
107
|
-
oScope.getElementsByClassName("sap.ui.mdc.Table")
|
|
108
|
-
.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
103
|
+
oScope.getElementsByClassName("sap.ui.mdc.Table").forEach((oTable) => {
|
|
104
|
+
const bActions = (oTable.getActions() !== undefined && oTable.getActions() !== null && oTable.getActions().length !== 0);
|
|
105
|
+
const bVariant = (oTable.getVariant() !== undefined && oTable.getVariant() !== null && oTable.getVariant().length !== 0);
|
|
106
|
+
const bQuickFilter = (oTable.getQuickFilter() !== undefined && oTable.getQuickFilter() !== null && oTable.getQuickFilter().length !== 0);
|
|
107
|
+
|
|
108
|
+
if (oTable.getHideToolbar() && (bActions || bVariant || bQuickFilter)) {
|
|
109
|
+
oIssueManager.addIssue({
|
|
110
|
+
severity: Severity.High,
|
|
111
|
+
details: "'actions', 'quickFilter', and 'variant' aggregations are not empty.",
|
|
112
|
+
context: {
|
|
113
|
+
id: oTable.getId()
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
});
|
|
119
118
|
}
|
|
120
119
|
};
|
|
121
120
|
|
|
122
|
-
const
|
|
123
|
-
id
|
|
121
|
+
const oHeader = {
|
|
122
|
+
id: "Header",
|
|
124
123
|
audiences: [Audiences.Control],
|
|
125
124
|
categories: [Categories.Accessibility],
|
|
126
125
|
enabled: true,
|
|
127
126
|
minversion: "1.121",
|
|
128
|
-
title: "
|
|
129
|
-
description: "Checks
|
|
130
|
-
resolution: "
|
|
127
|
+
title: "Table header value",
|
|
128
|
+
description: "Checks if the table 'header' is set",
|
|
129
|
+
resolution: "Set a table title via the 'header' property of the 'sap.ui.mdc.Table'",
|
|
131
130
|
resolutionurls: [],
|
|
132
131
|
check: function (oIssueManager, oCoreFacade, oScope) {
|
|
133
|
-
oScope.getElementsByClassName("sap.ui.mdc.Table")
|
|
134
|
-
.
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
context: {
|
|
145
|
-
id: oElement.getId()
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
});
|
|
132
|
+
oScope.getElementsByClassName("sap.ui.mdc.Table").forEach((oTable) => {
|
|
133
|
+
if (!oTable.getHeader()) {
|
|
134
|
+
oIssueManager.addIssue({
|
|
135
|
+
severity: Severity.High,
|
|
136
|
+
details: "Header isn't set. Set a title in the header property.",
|
|
137
|
+
context: {
|
|
138
|
+
id: oTable.getId()
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
});
|
|
150
143
|
}
|
|
151
144
|
};
|
|
152
145
|
|
|
153
|
-
const
|
|
154
|
-
id
|
|
146
|
+
const oIllustratedMessageForNoData = {
|
|
147
|
+
id: "IllustratedMessageForNoData",
|
|
155
148
|
audiences: [Audiences.Control],
|
|
156
149
|
categories: [Categories.Accessibility],
|
|
157
150
|
enabled: true,
|
|
158
151
|
minversion: "1.121",
|
|
159
|
-
title: "
|
|
160
|
-
description: "Checks
|
|
161
|
-
resolution: "Set the '
|
|
162
|
-
resolutionurls: [
|
|
152
|
+
title: "IllustratedMessage for noData",
|
|
153
|
+
description: "Checks whether 'noData' is an 'IllustratedMessage' when the toolbar is hidden",
|
|
154
|
+
resolution: "Set the 'noData' aggregation of the 'sap.ui.mdc.Table' to an 'sap.m.IllustratedMessage'",
|
|
155
|
+
resolutionurls: [{
|
|
156
|
+
text: "SAP Fiori Design Guidelines: Illustrated Message",
|
|
157
|
+
href: "https://experience.sap.com/fiori-design-web/illustrated-message/"
|
|
158
|
+
}],
|
|
163
159
|
check: function (oIssueManager, oCoreFacade, oScope) {
|
|
164
|
-
oScope.getElementsByClassName("sap.ui.mdc.Table")
|
|
165
|
-
.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
160
|
+
oScope.getElementsByClassName("sap.ui.mdc.Table").forEach((oTable) => {
|
|
161
|
+
if (oTable.getHideToolbar() && (!oTable.getNoData() || !oTable.getNoData().isA("sap.m.IllustratedMessage"))) {
|
|
162
|
+
oIssueManager.addIssue({
|
|
163
|
+
severity: Severity.High,
|
|
164
|
+
details: "'noData' aggregation is either not set or no 'sap.m.IllustratedMessage' control is used.",
|
|
165
|
+
context: {
|
|
166
|
+
id: oTable.getId()
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
const oStateValidation = {
|
|
175
|
+
id: "StateValidation",
|
|
176
|
+
audiences: [Audiences.Control],
|
|
177
|
+
categories: [Categories.Functionality],
|
|
178
|
+
enabled: true,
|
|
179
|
+
minversion: "1.141",
|
|
180
|
+
title: "Table reports invalid state modifications",
|
|
181
|
+
description: "The table contains state modifications, for example sort conditions, for non-existent PropertyInfo properties",
|
|
182
|
+
resolution: "Remove the invalid state modifications or add the missing PropertyInfo properties",
|
|
183
|
+
check: function(oIssueManager, oCoreFacade, oScope) {
|
|
184
|
+
oScope.getElementsByClassName("sap.ui.mdc.Table").forEach((oTable) => {
|
|
185
|
+
Log.getLogEntries().filter((oLogEntry) =>
|
|
186
|
+
oLogEntry.details === oTable.toString()
|
|
187
|
+
&& oLogEntry.level === Log.Level.ERROR
|
|
188
|
+
&& oLogEntry.message.startsWith("Invalid state:")
|
|
189
|
+
).forEach((oLogEntry) => {
|
|
190
|
+
oIssueManager.addIssue({
|
|
191
|
+
severity: Severity.High,
|
|
192
|
+
details: oLogEntry.message,
|
|
193
|
+
context: {
|
|
194
|
+
id: oTable.getId()
|
|
195
|
+
}
|
|
196
|
+
});
|
|
175
197
|
});
|
|
198
|
+
});
|
|
176
199
|
}
|
|
177
200
|
};
|
|
178
201
|
|
|
179
|
-
return [
|
|
202
|
+
return [
|
|
203
|
+
oHeaderVisibleWhenToolbarHidden,
|
|
204
|
+
oShowRowCountWhenToolbarHidden,
|
|
205
|
+
oEnableExportWhenToolbarHidden,
|
|
206
|
+
oToolbarElementsWhenToolbarHidden,
|
|
207
|
+
oHeader,
|
|
208
|
+
oIllustratedMessageForNoData,
|
|
209
|
+
oStateValidation
|
|
210
|
+
];
|
|
180
211
|
|
|
181
212
|
}, true);
|
|
@@ -23,7 +23,7 @@ sap.ui.define([
|
|
|
23
23
|
* {@link sap.ui.mdc.table.Column#getCreationTemplate creationTemplate} aggregation of the {@link sap.ui.mdc.table.Column}.
|
|
24
24
|
* @extends sap.ui.core.Element
|
|
25
25
|
* @author SAP SE
|
|
26
|
-
* @version 1.
|
|
26
|
+
* @version 1.142.0
|
|
27
27
|
* @constructor
|
|
28
28
|
* @private
|
|
29
29
|
* @ui5-restricted sap.fe
|
|
@@ -524,26 +524,13 @@ sap.ui.define([
|
|
|
524
524
|
};
|
|
525
525
|
|
|
526
526
|
GridTableType.prototype.scrollToIndex = function(iIndex) {
|
|
527
|
-
const oTable = this.getTable();
|
|
528
527
|
const oGridTable = this.getInnerTable();
|
|
529
528
|
|
|
530
529
|
if (!oGridTable) {
|
|
531
530
|
return Promise.reject();
|
|
532
531
|
}
|
|
533
532
|
|
|
534
|
-
return
|
|
535
|
-
if (iIndex === -1) {
|
|
536
|
-
iIndex = MTableUtil.isEmpty(oTable.getRowBinding()) ? 0 : oTable.getRowBinding().getLength();
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
if (oGridTable._setFirstVisibleRowIndex(iIndex)) {
|
|
540
|
-
oGridTable.attachEventOnce("rowsUpdated", () => {
|
|
541
|
-
resolve();
|
|
542
|
-
});
|
|
543
|
-
} else {
|
|
544
|
-
resolve();
|
|
545
|
-
}
|
|
546
|
-
});
|
|
533
|
+
return oGridTable._scrollToIndex(iIndex);
|
|
547
534
|
};
|
|
548
535
|
|
|
549
536
|
GridTableType.prototype.getRowBinding = function() {
|
|
@@ -21,7 +21,7 @@ sap.ui.define([
|
|
|
21
21
|
* The <code>RowActionItem</code> control represents a action for a row.
|
|
22
22
|
* This control can only be used in the context of <code>sap.ui.mdc.Table</code> control to define row actions.
|
|
23
23
|
* @extends sap.ui.core.Element
|
|
24
|
-
* @version 1.
|
|
24
|
+
* @version 1.142.0
|
|
25
25
|
*
|
|
26
26
|
* @constructor
|
|
27
27
|
* @public
|
|
@@ -22,7 +22,7 @@ sap.ui.define([
|
|
|
22
22
|
* The <code>RowSettings</code> control is used to configure a row.
|
|
23
23
|
* This control can only be used in the context of the <code>sap.ui.mdc.Table</code> control to define row settings.
|
|
24
24
|
* @extends sap.ui.core.Element
|
|
25
|
-
* @version 1.
|
|
25
|
+
* @version 1.142.0
|
|
26
26
|
*
|
|
27
27
|
* @constructor
|
|
28
28
|
* @public
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
@_sap_ui_mdc_Chart_ToolbarDesign: ~"Transparent";
|
|
2
|
+
|
|
3
|
+
.sapUiMDCGeomap {
|
|
4
|
+
background: @sapUiChartBackgroundColor;
|
|
5
|
+
border-radius: @sapUiElementBorderCornerRadius;
|
|
6
|
+
padding-bottom: 1rem;
|
|
7
|
+
display: grid;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.sapUiMDCGeomapTempTextOuter{
|
|
11
|
+
grid-template-rows: auto 1fr;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.sapUiMDCChartTempText {
|
|
15
|
+
display: flex;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
align-items: center;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.sapUiMDCGeomapGrid{
|
|
21
|
+
grid-template-rows: auto auto 1fr;
|
|
22
|
+
grid-template-columns: minmax(0, 1fr);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
.sapUiMDCGeomap .sapUiMDCGeomapBreadcrumbs {
|
|
27
|
+
margin-left: 1rem;
|
|
28
|
+
margin-top: 0.5rem;
|
|
29
|
+
max-width: 85%;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.sapUiMDCGeomap .sapMIBar.sapMTBHeader-CTX {
|
|
33
|
+
border-top-right-radius: @sapUiElementBorderCornerRadius;
|
|
34
|
+
border-top-left-radius: @sapUiElementBorderCornerRadius;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.sapUiMDCGeomap .sapUiMDCChartTempInnerText {
|
|
38
|
+
justify-content: center;
|
|
39
|
+
align-content: center;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.sapUiMDCSelectionButton.sapMPopover .sapMIBar.sapMSubHeader-CTX {
|
|
43
|
+
border-top-left-radius: @sapUiElementBorderCornerRadius;
|
|
44
|
+
border-top-right-radius: @sapUiElementBorderCornerRadius;;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.sapUiMDCGeomapInternal {
|
|
48
|
+
width: 100%;
|
|
49
|
+
padding: 1.25rem
|
|
50
|
+
}
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* @class The <code>InfoBar</code> control provides an easy way of displaying filter information inside an <code>sap.ui.mdc.Chart</code> and an <code>sap.ui.mdc.Table</code>.
|
|
25
25
|
* @extends sap.ui.core.Control
|
|
26
26
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
27
|
+
* @version 1.142.0
|
|
28
28
|
* @constructor
|
|
29
29
|
* @private
|
|
30
30
|
* @ui5-restricted sap.ui.mdc
|
|
@@ -45,7 +45,7 @@ sap.ui.define(
|
|
|
45
45
|
* Destroying the cache will cancel all registered promises and delete references. Convenience methods for promise creation, wrapping and replacement are offered.
|
|
46
46
|
*
|
|
47
47
|
* @author SAP SE
|
|
48
|
-
* @version 1.
|
|
48
|
+
* @version 1.142.0
|
|
49
49
|
* @alias sap.ui.mdc.util.PromiseCache
|
|
50
50
|
* @since 1.85.0
|
|
51
51
|
* @private
|
|
@@ -68,7 +68,7 @@ sap.ui.define([
|
|
|
68
68
|
* @param {object} [mSettings] Initial settings for the new control
|
|
69
69
|
* @class Container for the {@link sap.ui.mdc.ValueHelp ValueHelp} element showing a dialog.
|
|
70
70
|
* @extends sap.ui.mdc.valuehelp.base.Container
|
|
71
|
-
* @version 1.
|
|
71
|
+
* @version 1.142.0
|
|
72
72
|
* @constructor
|
|
73
73
|
* @public
|
|
74
74
|
* @since 1.95.0
|
|
@@ -297,7 +297,7 @@ sap.ui.define([
|
|
|
297
297
|
|
|
298
298
|
DensityHelper.syncDensity(oDialog);
|
|
299
299
|
|
|
300
|
-
|
|
300
|
+
this.setModel(this._oManagedObjectModel, "$help");
|
|
301
301
|
this.setAggregation("_container", oDialog, true);
|
|
302
302
|
|
|
303
303
|
oDialog.isPopupAdaptationAllowed = function() {
|
|
@@ -12,7 +12,8 @@ sap.ui.define(
|
|
|
12
12
|
"sap/ui/mdc/valuehelp/FilterContainer",
|
|
13
13
|
"sap/m/Button",
|
|
14
14
|
"sap/m/p13n/enums/PersistenceMode",
|
|
15
|
-
"sap/m/OverflowToolbarLayoutData"
|
|
15
|
+
"sap/m/OverflowToolbarLayoutData",
|
|
16
|
+
"sap/ui/core/InvisibleText"
|
|
16
17
|
],
|
|
17
18
|
(
|
|
18
19
|
mLibrary,
|
|
@@ -22,7 +23,8 @@ sap.ui.define(
|
|
|
22
23
|
FilterContainer,
|
|
23
24
|
Button,
|
|
24
25
|
PersistenceMode,
|
|
25
|
-
OverflowToolbarLayoutData
|
|
26
|
+
OverflowToolbarLayoutData,
|
|
27
|
+
InvisibleText
|
|
26
28
|
) => {
|
|
27
29
|
"use strict";
|
|
28
30
|
const {OverflowToolbarPriority} = mLibrary;
|
|
@@ -39,7 +41,7 @@ sap.ui.define(
|
|
|
39
41
|
* <b>Note:</b> The <code>FilterBar</code> can only be used for a {@link sap.ui.mdc.valuehelp.Dialog Dialog} and not on its own.
|
|
40
42
|
* @extends sap.ui.mdc.filterbar.FilterBarBase
|
|
41
43
|
* @author SAP SE
|
|
42
|
-
* @version 1.
|
|
44
|
+
* @version 1.142.0
|
|
43
45
|
* @constructor
|
|
44
46
|
* @public
|
|
45
47
|
* @since 1.124.0
|
|
@@ -251,6 +253,8 @@ sap.ui.define(
|
|
|
251
253
|
};
|
|
252
254
|
|
|
253
255
|
FilterBar.prototype.setBasicSearchField = function(oBasicSearchField) {
|
|
256
|
+
const fnGetAriaLabelId = (sSearchFieldId) => this.getId() + "__" + sSearchFieldId + "-labelledBy";
|
|
257
|
+
|
|
254
258
|
if (this._oBasicSearchField) {
|
|
255
259
|
const oLD = this._oBasicSearchField.getLayoutData();
|
|
256
260
|
if (oLD && oLD._bSetByFilterBar) {
|
|
@@ -261,6 +265,10 @@ sap.ui.define(
|
|
|
261
265
|
this._oFilterBarLayout.removeControl(this._oBasicSearchField);
|
|
262
266
|
}
|
|
263
267
|
this._oBasicSearchField.detachSubmit(this._handleFilterItemSubmit, this);
|
|
268
|
+
|
|
269
|
+
const sAriaLabelId = fnGetAriaLabelId(this._oBasicSearchField.getId());
|
|
270
|
+
this._oBasicSearchField.removeAriaLabelledBy(sAriaLabelId);
|
|
271
|
+
this.getInvisibleText(sAriaLabelId)?.destroy();
|
|
264
272
|
}
|
|
265
273
|
this._oBasicSearchField = oBasicSearchField;
|
|
266
274
|
|
|
@@ -276,6 +284,17 @@ sap.ui.define(
|
|
|
276
284
|
this.setExpandFilterFields(false);
|
|
277
285
|
}
|
|
278
286
|
|
|
287
|
+
const sAriaLabelId = fnGetAriaLabelId(oBasicSearchField.getId());
|
|
288
|
+
let oBasicSearchFieldAriaLabel = this.getInvisibleText(sAriaLabelId);
|
|
289
|
+
if (!oBasicSearchFieldAriaLabel) {
|
|
290
|
+
oBasicSearchFieldAriaLabel = new InvisibleText(sAriaLabelId, { text: {
|
|
291
|
+
path: "$help>/title",
|
|
292
|
+
formatter: (sTitle) => this._oRb.getText("valuehelp.SEARCHFIELD_ARIA_LABEL", [sTitle])
|
|
293
|
+
}});
|
|
294
|
+
this.addInvisibleText(oBasicSearchFieldAriaLabel);
|
|
295
|
+
}
|
|
296
|
+
oBasicSearchField.addAriaLabelledBy(oBasicSearchFieldAriaLabel);
|
|
297
|
+
|
|
279
298
|
if (this._oFilterBarLayout) {
|
|
280
299
|
this._oFilterBarLayout.insertControl(oBasicSearchField, this._oCollectiveSearch ? 1 : 0);
|
|
281
300
|
}
|