@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.
Files changed (129) hide show
  1. package/README.md +2 -2
  2. package/REUSE.toml +38 -0
  3. package/THIRDPARTY.txt +34 -1
  4. package/package.json +4 -4
  5. package/src/sap/ui/mdc/.library +1 -1
  6. package/src/sap/ui/mdc/ActionToolbar.js +1 -1
  7. package/src/sap/ui/mdc/Chart.js +1 -1
  8. package/src/sap/ui/mdc/Control.js +1 -1
  9. package/src/sap/ui/mdc/DefaultTypeMap.js +1 -1
  10. package/src/sap/ui/mdc/Element.js +1 -1
  11. package/src/sap/ui/mdc/Field.js +26 -3
  12. package/src/sap/ui/mdc/FilterBar.js +1 -1
  13. package/src/sap/ui/mdc/FilterField.js +2 -2
  14. package/src/sap/ui/mdc/Geomap.js +571 -0
  15. package/src/sap/ui/mdc/GeomapDelegate.js +285 -0
  16. package/src/sap/ui/mdc/GeomapRenderer.js +76 -0
  17. package/src/sap/ui/mdc/Link.js +1 -1
  18. package/src/sap/ui/mdc/MultiValueField.js +3 -3
  19. package/src/sap/ui/mdc/Table.js +117 -101
  20. package/src/sap/ui/mdc/TableDelegate.js +3 -2
  21. package/src/sap/ui/mdc/ValueHelp.js +1 -1
  22. package/src/sap/ui/mdc/ValueHelpDelegate.js +4 -1
  23. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  24. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +1 -1
  25. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  26. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  27. package/src/sap/ui/mdc/chart/ToolbarControlFactory.js +1 -1
  28. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  29. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  30. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  31. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  32. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +1 -1
  33. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  34. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
  35. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  36. package/src/sap/ui/mdc/designtime/geomap/Geomap.designtime.js +23 -0
  37. package/src/sap/ui/mdc/enums/GeomapControlPosition.js +46 -0
  38. package/src/sap/ui/mdc/field/ConditionType.js +1 -1
  39. package/src/sap/ui/mdc/field/ConditionTypeMixin.js +1 -1
  40. package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
  41. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  42. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
  43. package/src/sap/ui/mdc/field/FieldBase.js +45 -20
  44. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  45. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  46. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  47. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  48. package/src/sap/ui/mdc/field/FieldSelect.js +1 -1
  49. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  50. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +22 -0
  51. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  52. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  53. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  54. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +35 -1
  55. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +3 -0
  56. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  57. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
  58. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  59. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  60. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  61. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  62. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +1 -1
  63. package/src/sap/ui/mdc/flexibility/SortFlex.js +12 -5
  64. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +17 -11
  65. package/src/sap/ui/mdc/flexibility/actiontoolbar/CombineAction.js +1 -1
  66. package/src/sap/ui/mdc/flexibility/actiontoolbar/SplitAction.js +1 -1
  67. package/src/sap/ui/mdc/flexibility/helpers/getAffectedSorter.js +25 -0
  68. package/src/sap/ui/mdc/geomap/Item.js +48 -0
  69. package/src/sap/ui/mdc/geomap/PropertyHelper.js +70 -0
  70. package/src/sap/ui/mdc/library.js +6 -4
  71. package/src/sap/ui/mdc/link/Factory.js +1 -1
  72. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  73. package/src/sap/ui/mdc/link/Panel.js +1 -1
  74. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  75. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  76. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  77. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  78. package/src/sap/ui/mdc/messagebundle.properties +13 -1
  79. package/src/sap/ui/mdc/messagebundle_de.properties +2 -2
  80. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +9 -1
  81. package/src/sap/ui/mdc/messagebundle_fr.properties +1 -1
  82. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  83. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  84. package/src/sap/ui/mdc/mixin/FilterBarLayoutMixin.js +1 -1
  85. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  86. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  87. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
  88. package/src/sap/ui/mdc/odata/TypeMap.js +1 -1
  89. package/src/sap/ui/mdc/odata/v4/GeomapDelegate.js +60 -0
  90. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +53 -2
  91. package/src/sap/ui/mdc/odata/v4/TypeMap.js +1 -1
  92. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  93. package/src/sap/ui/mdc/p13n/StateUtil.js +1 -1
  94. package/src/sap/ui/mdc/p13n/subcontroller/ColumnFreezeController.js +1 -1
  95. package/src/sap/ui/mdc/p13n/subcontroller/ShowDetailsController.js +1 -1
  96. package/src/sap/ui/mdc/rules/Table.support.js +149 -118
  97. package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
  98. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  99. package/src/sap/ui/mdc/table/DragDropConfig.js +1 -1
  100. package/src/sap/ui/mdc/table/GridTableType.js +1 -14
  101. package/src/sap/ui/mdc/table/ODataV4PropertyHelper.js +1 -1
  102. package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
  103. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  104. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  105. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  106. package/src/sap/ui/mdc/table/utils/Personalization.js +1 -1
  107. package/src/sap/ui/mdc/themes/base/Geomap.less +50 -0
  108. package/src/sap/ui/mdc/ushell/SemanticObjectMapping.js +1 -1
  109. package/src/sap/ui/mdc/ushell/SemanticObjectMappingItem.js +1 -1
  110. package/src/sap/ui/mdc/ushell/SemanticObjectUnavailableAction.js +1 -1
  111. package/src/sap/ui/mdc/util/InfoBar.js +1 -1
  112. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  113. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  114. package/src/sap/ui/mdc/util/PropertyHelperUtil.js +1 -1
  115. package/src/sap/ui/mdc/valuehelp/Dialog.js +2 -2
  116. package/src/sap/ui/mdc/valuehelp/FilterBar.js +22 -3
  117. package/src/sap/ui/mdc/valuehelp/Popover.js +1 -1
  118. package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -1
  119. package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
  120. package/src/sap/ui/mdc/valuehelp/base/DefineConditionPanel.js +126 -25
  121. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  122. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +4 -3
  123. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  124. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  125. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  126. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  127. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +1 -1
  128. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
  129. 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
- ], function(SupportLibrary) {
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.Categories;
12
- const Severity = SupportLibrary.Severity;
13
- const Audiences = SupportLibrary.Audiences;
15
+ const {Categories, Severity, Audiences} = SupportLibrary;
14
16
 
15
- const oHeaderVisibleFalseAndHiddenToolbar = {
16
- id : "HeaderVisibleDisabled",
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 whether 'headerVisible' is set to false when the toolbar is hidden",
23
- resolution: "Set the header visibility of the table to false using the 'headerVisible' property of the 'sap.ui.mdc.Table'",
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
- .forEach(function(oElement) {
28
- if (oElement && oElement.getHideToolbar() && oElement.getHeaderVisible()) {
29
- oIssueManager.addIssue({
30
- severity: Severity.High,
31
- details: "HeaderVisible is true but toolbar is hidden. Set headerVisible to false.",
32
- context: {
33
- id: oElement.getId()
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 oHeaderSet = {
42
- id : "HeaderPropertySet",
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: "Table header value",
48
- description: "Checks if the table 'header' is set",
49
- resolution: "Set a table title via the 'header' property of the 'sap.ui.mdc.Table'",
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 (oIssueManager, oCoreFacade, oScope) {
52
- oScope.getElementsByClassName("sap.ui.mdc.Table")
53
- .forEach(function(oElement) {
54
- if (oElement && !oElement.getHeader()) {
55
- oIssueManager.addIssue({
56
- severity: Severity.High,
57
- details: "Header isn't set. Set a title in the header property.",
58
- context: {
59
- id: oElement.getId()
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 oIllustratedMessageForNoData = {
68
- id : "IllustratedMessageForNoData",
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: "IllustratedMessage for noData",
74
- description: "Checks whether 'noData' is an 'IllustratedMessage' when the toolbar is hidden",
75
- resolution: "Set the 'noData' aggregation of the 'sap.ui.mdc.Table' to an 'sap.m.IllustratedMessage'",
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
- .forEach(function(oElement) {
83
- if (oElement && oElement.getHideToolbar() && (!oElement.getNoData() || !oElement.getNoData().isA("sap.m.IllustratedMessage"))) {
84
- oIssueManager.addIssue({
85
- severity: Severity.High,
86
- details: "'noData' aggregation is either not set or no 'sap.m.IllustratedMessage' control is used.",
87
- context: {
88
- id: oElement.getId()
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 oRowCountDisabled = {
97
- id : "RowCountDisabled",
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: "showRowCount disabled",
103
- description: "Checks whether the 'showRowCount' is disabled when the toolbar is hidden",
104
- resolution: "Set the 'showRowCount' property of the 'sap.ui.mdc.Table' to false",
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
- .forEach(function(oElement) {
109
- if (oElement && oElement.getHideToolbar() && oElement.getShowRowCount()) {
110
- oIssueManager.addIssue({
111
- severity: Severity.Low,
112
- details: "'showRowCount' property of table is true but should be false.",
113
- context: {
114
- id: oElement.getId()
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 oActionsAndVariantsAndQuickFilterNotUsed = {
123
- id : "ActionAndVariantsNotUsed",
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: "Actions, quickFilter, and a table-related VariantManagement not used",
129
- description: "Checks whether the 'actions', 'quickFilter', and 'variant' aggregations are used when the toolbar is hidden",
130
- resolution: "Remove 'actions', 'quickFilter', and 'variants' aggregations from your 'sap.ui.mdc.Table'",
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
- .forEach(function(oElement) {
135
-
136
- const bActions = (oElement.getActions() !== undefined && oElement.getActions() !== null && oElement.getActions().length !== 0),
137
- bVariant = (oElement.getVariant() !== undefined && oElement.getVariant() !== null && oElement.getVariant().length !== 0),
138
- bQuickFilter = (oElement.getQuickFilter() !== undefined && oElement.getQuickFilter() !== null && oElement.getQuickFilter().length !== 0);
139
-
140
- if (oElement && oElement.getHideToolbar() && (bActions || bVariant || bQuickFilter)) {
141
- oIssueManager.addIssue({
142
- severity: Severity.High,
143
- details: "'actions', 'quickFilter', and 'variant' aggregations are not empty.",
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 oExportDisabled = {
154
- id : "ExportDisabled",
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: "enableExport disabled",
160
- description: "Checks if 'enableExport' is set to true when the toolbar is hidden",
161
- resolution: "Set the 'enableExport' property of the 'sap.ui.mdc.Table' to false",
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
- .forEach(function(oElement) {
166
- if (oElement && oElement.getHideToolbar() && oElement.getEnableExport()) {
167
- oIssueManager.addIssue({
168
- severity: Severity.Low,
169
- details: "'enableExport' property of table is true but should be false because of the hidden toolbar.",
170
- context: {
171
- id: oElement.getId()
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 [oHeaderVisibleFalseAndHiddenToolbar, oHeaderSet, oIllustratedMessageForNoData, oRowCountDisabled, oActionsAndVariantsAndQuickFilterNotUsed, oExportDisabled];
202
+ return [
203
+ oHeaderVisibleWhenToolbarHidden,
204
+ oShowRowCountWhenToolbarHidden,
205
+ oEnableExportWhenToolbarHidden,
206
+ oToolbarElementsWhenToolbarHidden,
207
+ oHeader,
208
+ oIllustratedMessageForNoData,
209
+ oStateValidation
210
+ ];
180
211
 
181
212
  }, true);
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @class The table type info class for the metadata-driven table.
21
21
  * @extends sap.ui.core.Element
22
- * @version 1.141.2
22
+ * @version 1.142.0
23
23
  * @author SAP SE
24
24
  * @constructor
25
25
  * @public
@@ -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.141.2
26
+ * @version 1.142.0
27
27
  * @constructor
28
28
  * @private
29
29
  * @ui5-restricted sap.fe
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  *
29
29
  * @extends sap.ui.core.dnd.DragDropBase
30
30
  * @author SAP SE
31
- * @version 1.141.2
31
+ * @version 1.142.0
32
32
  *
33
33
  * @public
34
34
  * @since 1.119
@@ -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 new Promise((resolve) => {
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() {
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.ui.mdc.table.PropertyHelper
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.141.2
28
+ * @version 1.142.0
29
29
  *
30
30
  * @private
31
31
  * @since 1.85
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.mdc.util.PropertyHelper
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.141.2
37
+ * @version 1.142.0
38
38
  *
39
39
  * @private
40
40
  * @since 1.83
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @class The table type info class for the metadata-driven table.
21
21
  * @extends sap.ui.mdc.table.ColumnSettings
22
- * @version 1.141.2
22
+ * @version 1.142.0
23
23
  * @author SAP SE
24
24
  * @constructor
25
25
  * @public
@@ -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.141.2
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.141.2
25
+ * @version 1.142.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * P13n utilities.
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.141.2
20
+ * @version 1.142.0
21
21
  * @namespace
22
22
  * @alias sap.ui.mdc.table.utils.Personalization
23
23
  * @private
@@ -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
+ }
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] initial settings for the new control
17
17
  * @class Type for...
18
18
  * @extends sap.ui.core.Element
19
- * @version 1.141.2
19
+ * @version 1.142.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.120
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] initial settings for the new control
17
17
  * @class Type for...
18
18
  * @extends sap.ui.core.Element
19
- * @version 1.141.2
19
+ * @version 1.142.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.120
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] initial settings for the new control
17
17
  * @class Type for...
18
18
  * @extends sap.ui.core.Element
19
- * @version 1.141.2
19
+ * @version 1.142.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.120
@@ -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.141.2
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.141.2
48
+ * @version 1.142.0
49
49
  * @alias sap.ui.mdc.util.PromiseCache
50
50
  * @since 1.85.0
51
51
  * @private
@@ -591,7 +591,7 @@ sap.ui.define([
591
591
  * @extends sap.ui.base.Object
592
592
  *
593
593
  * @author SAP SE
594
- * @version 1.141.2
594
+ * @version 1.142.0
595
595
  *
596
596
  * @private
597
597
  * @since 1.83
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * Provides validation functions for checking the (required) usage of the PropertyHelper.
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.141.2
24
+ * @version 1.142.0
25
25
  * @alias sap.ui.mdc.util.PropertyHelperUtil
26
26
  * @namespace
27
27
  * @since 1.132.0
@@ -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.141.2
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
- oDialog.setModel(this._oManagedObjectModel, "$help");
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.141.2
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
  }