@openui5/sap.ui.mdc 1.112.2 → 1.114.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/ui/mdc/.library +1 -1
  4. package/src/sap/ui/mdc/ActionToolbar.js +5 -4
  5. package/src/sap/ui/mdc/BaseDelegate.js +49 -15
  6. package/src/sap/ui/mdc/Chart.js +167 -147
  7. package/src/sap/ui/mdc/ChartDelegate.js +525 -481
  8. package/src/sap/ui/mdc/Control.js +3 -2
  9. package/src/sap/ui/mdc/DefaultTypeMap.js +72 -0
  10. package/src/sap/ui/mdc/Element.js +3 -2
  11. package/src/sap/ui/mdc/Field.js +53 -17
  12. package/src/sap/ui/mdc/FilterBar.js +24 -11
  13. package/src/sap/ui/mdc/FilterBarDelegate.js +40 -55
  14. package/src/sap/ui/mdc/FilterField.js +17 -8
  15. package/src/sap/ui/mdc/Link.js +69 -55
  16. package/src/sap/ui/mdc/LinkDelegate.js +26 -30
  17. package/src/sap/ui/mdc/MultiValueField.js +42 -4
  18. package/src/sap/ui/mdc/Table.js +276 -178
  19. package/src/sap/ui/mdc/TableDelegate.js +187 -16
  20. package/src/sap/ui/mdc/ValueHelp.js +13 -14
  21. package/src/sap/ui/mdc/ValueHelpDelegate.js +12 -7
  22. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +4 -9
  23. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +194 -197
  24. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -4
  25. package/src/sap/ui/mdc/chart/ChartToolbar.js +1 -1
  26. package/src/sap/ui/mdc/chart/ChartTypeButton.js +42 -56
  27. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +3 -3
  28. package/src/sap/ui/mdc/chart/DrillStackHandler.js +60 -69
  29. package/src/sap/ui/mdc/chart/Item.js +13 -13
  30. package/src/sap/ui/mdc/chart/PropertyHelper.js +7 -7
  31. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +24 -15
  32. package/src/sap/ui/mdc/condition/Condition.js +21 -15
  33. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  34. package/src/sap/ui/mdc/condition/ConditionModel.js +6 -149
  35. package/src/sap/ui/mdc/condition/ConditionModelPropertyBinding.js +5 -3
  36. package/src/sap/ui/mdc/condition/FilterConverter.js +2 -22
  37. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +910 -22
  38. package/src/sap/ui/mdc/condition/Operator.js +78 -42
  39. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +3 -2
  40. package/src/sap/ui/mdc/condition/RangeOperator.js +104 -104
  41. package/src/sap/ui/mdc/enum/ConditionValidated.js +4 -1
  42. package/src/sap/ui/mdc/enum/ContentMode.js +1 -1
  43. package/src/sap/ui/mdc/enum/EditMode.js +7 -7
  44. package/src/sap/ui/mdc/enum/FieldDisplay.js +3 -3
  45. package/src/sap/ui/mdc/enum/LinkType.js +46 -0
  46. package/src/sap/ui/mdc/enum/OperatorOverwrite.js +34 -0
  47. package/src/sap/ui/mdc/field/ConditionType.js +30 -30
  48. package/src/sap/ui/mdc/field/ConditionsType.js +5 -5
  49. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  50. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +22 -10
  51. package/src/sap/ui/mdc/field/FieldBase.js +128 -40
  52. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +17 -28
  53. package/src/sap/ui/mdc/field/FieldInfoBase.js +29 -14
  54. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  55. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  56. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  57. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +9 -29
  58. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -2
  59. package/src/sap/ui/mdc/field/TokenDisplay.js +2 -2
  60. package/src/sap/ui/mdc/field/TokenizerDisplay.js +2 -2
  61. package/src/sap/ui/mdc/field/content/ContentFactory.js +1 -1
  62. package/src/sap/ui/mdc/field/content/DateContent.js +43 -37
  63. package/src/sap/ui/mdc/field/content/LinkContent.js +8 -4
  64. package/src/sap/ui/mdc/field/content/UnitContent.js +11 -2
  65. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +33 -62
  66. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +31 -14
  67. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +6 -7
  68. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +2 -4
  69. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +0 -2
  70. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +13 -17
  71. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +1 -1
  72. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  73. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +16 -10
  74. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +0 -21
  75. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  76. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +0 -18
  77. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +0 -15
  78. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  79. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  80. package/src/sap/ui/mdc/flexibility/GroupFlex.js +2 -22
  81. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +1 -1
  82. package/src/sap/ui/mdc/flexibility/SortFlex.js +2 -21
  83. package/src/sap/ui/mdc/flexibility/Util.js +11 -9
  84. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +1 -1
  85. package/src/sap/ui/mdc/library.js +209 -48
  86. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  87. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  88. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  89. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  90. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  91. package/src/sap/ui/mdc/link/Factory.js +1 -1
  92. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  93. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  94. package/src/sap/ui/mdc/link/Panel.js +1 -1
  95. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  96. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  97. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  98. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  99. package/src/sap/ui/mdc/messagebundle.properties +11 -2
  100. package/src/sap/ui/mdc/messagebundle_ar.properties +20 -15
  101. package/src/sap/ui/mdc/messagebundle_bg.properties +6 -1
  102. package/src/sap/ui/mdc/messagebundle_ca.properties +5 -0
  103. package/src/sap/ui/mdc/messagebundle_cs.properties +5 -0
  104. package/src/sap/ui/mdc/messagebundle_cy.properties +5 -0
  105. package/src/sap/ui/mdc/messagebundle_da.properties +6 -1
  106. package/src/sap/ui/mdc/messagebundle_de.properties +7 -2
  107. package/src/sap/ui/mdc/messagebundle_el.properties +5 -0
  108. package/src/sap/ui/mdc/messagebundle_en.properties +5 -0
  109. package/src/sap/ui/mdc/messagebundle_en_GB.properties +5 -0
  110. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +4 -1
  111. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +4 -1
  112. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +6 -1
  113. package/src/sap/ui/mdc/messagebundle_es.properties +5 -0
  114. package/src/sap/ui/mdc/messagebundle_es_MX.properties +5 -0
  115. package/src/sap/ui/mdc/messagebundle_et.properties +5 -0
  116. package/src/sap/ui/mdc/messagebundle_fi.properties +5 -0
  117. package/src/sap/ui/mdc/messagebundle_fr.properties +5 -0
  118. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +5 -0
  119. package/src/sap/ui/mdc/messagebundle_hi.properties +5 -0
  120. package/src/sap/ui/mdc/messagebundle_hr.properties +5 -0
  121. package/src/sap/ui/mdc/messagebundle_hu.properties +5 -0
  122. package/src/sap/ui/mdc/messagebundle_id.properties +5 -0
  123. package/src/sap/ui/mdc/messagebundle_it.properties +5 -0
  124. package/src/sap/ui/mdc/messagebundle_iw.properties +5 -0
  125. package/src/sap/ui/mdc/messagebundle_ja.properties +5 -0
  126. package/src/sap/ui/mdc/messagebundle_kk.properties +5 -0
  127. package/src/sap/ui/mdc/messagebundle_ko.properties +5 -0
  128. package/src/sap/ui/mdc/messagebundle_lt.properties +5 -0
  129. package/src/sap/ui/mdc/messagebundle_lv.properties +5 -0
  130. package/src/sap/ui/mdc/messagebundle_ms.properties +6 -1
  131. package/src/sap/ui/mdc/messagebundle_nl.properties +5 -0
  132. package/src/sap/ui/mdc/messagebundle_no.properties +6 -1
  133. package/src/sap/ui/mdc/messagebundle_pl.properties +5 -0
  134. package/src/sap/ui/mdc/messagebundle_pt.properties +5 -0
  135. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +5 -0
  136. package/src/sap/ui/mdc/messagebundle_ro.properties +5 -0
  137. package/src/sap/ui/mdc/messagebundle_ru.properties +5 -0
  138. package/src/sap/ui/mdc/messagebundle_sh.properties +5 -0
  139. package/src/sap/ui/mdc/messagebundle_sk.properties +5 -0
  140. package/src/sap/ui/mdc/messagebundle_sl.properties +5 -0
  141. package/src/sap/ui/mdc/messagebundle_sv.properties +5 -0
  142. package/src/sap/ui/mdc/messagebundle_th.properties +11 -6
  143. package/src/sap/ui/mdc/messagebundle_tr.properties +5 -0
  144. package/src/sap/ui/mdc/messagebundle_uk.properties +7 -2
  145. package/src/sap/ui/mdc/messagebundle_vi.properties +5 -0
  146. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +5 -0
  147. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +5 -0
  148. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  149. package/src/sap/ui/mdc/mixin/DelegateMixin.js +11 -4
  150. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  151. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  152. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
  153. package/src/sap/ui/mdc/odata/TypeMap.js +81 -0
  154. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +7 -2
  155. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +7 -8
  156. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +166 -19
  157. package/src/sap/ui/mdc/odata/v4/TypeMap.js +40 -0
  158. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +8 -8
  159. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +22 -50
  160. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  161. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  162. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +4 -0
  163. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +12 -24
  164. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +1 -1
  165. package/src/sap/ui/mdc/table/Column.js +0 -8
  166. package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
  167. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  168. package/src/sap/ui/mdc/table/GridTableType.js +20 -100
  169. package/src/sap/ui/mdc/table/PropertyHelper.js +49 -1
  170. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  171. package/src/sap/ui/mdc/table/ResponsiveTableType.js +18 -73
  172. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  173. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  174. package/src/sap/ui/mdc/table/TableSettings.js +37 -131
  175. package/src/sap/ui/mdc/table/TableTypeBase.js +46 -5
  176. package/src/sap/ui/mdc/table/TreeTableType.js +11 -28
  177. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  178. package/src/sap/ui/mdc/table/menu/Item.js +1 -1
  179. package/src/sap/ui/mdc/table/menu/ItemContainer.js +4 -0
  180. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +12 -7
  181. package/src/sap/ui/mdc/table/utils/Personalization.js +236 -0
  182. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +3 -3
  183. package/src/sap/ui/mdc/util/DateUtil.js +10 -6
  184. package/src/sap/ui/mdc/util/FilterUtil.js +3 -0
  185. package/src/sap/ui/mdc/util/InfoBar.js +2 -3
  186. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  187. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  188. package/src/sap/ui/mdc/util/TypeMap.js +177 -0
  189. package/src/sap/ui/mdc/util/TypeUtilFactory.js +183 -0
  190. package/src/sap/ui/mdc/valuehelp/Dialog.js +6 -5
  191. package/src/sap/ui/mdc/valuehelp/Popover.js +3 -2
  192. package/src/sap/ui/mdc/valuehelp/base/Container.js +20 -2
  193. package/src/sap/ui/mdc/valuehelp/base/Content.js +6 -3
  194. package/src/sap/ui/mdc/{field → valuehelp/base}/DefineConditionPanel.js +51 -43
  195. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  196. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +12 -36
  197. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +5 -2
  198. package/src/sap/ui/mdc/valuehelp/content/Bool.js +9 -9
  199. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +21 -4
  200. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +5 -4
  201. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +63 -0
  202. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +4 -2
  203. package/src/sap/ui/mdc/valuehelp/content/MTable.js +8 -7
  204. package/test/sap/ui/mdc/testutils/opa/chart/AssertionsViz.js +4 -4
  205. package/test/sap/ui/mdc/testutils/opa/filterfield/Actions.js +3 -1
  206. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +39 -66
  207. package/test/sap/ui/mdc/testutils/opa/valueHelp/doWait.js +1 -1
  208. package/src/sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime.js +0 -21
@@ -10,18 +10,18 @@
10
10
  // ---------------------------------------------------------------------------------------
11
11
  sap.ui.define([
12
12
  "./AggregationBaseDelegate",
13
+ "./util/loadModules",
13
14
  "./library",
14
15
  "sap/ui/model/Sorter",
15
16
  "sap/ui/core/library",
16
- "sap/ui/core/Core",
17
- "sap/base/util/UriParameters"
17
+ "sap/ui/core/Core"
18
18
  ], function(
19
19
  AggregationBaseDelegate,
20
+ loadModules,
20
21
  library,
21
22
  Sorter,
22
23
  coreLibrary,
23
- Core,
24
- UriParameters
24
+ Core
25
25
  ) {
26
26
  "use strict";
27
27
 
@@ -88,7 +88,7 @@ sap.ui.define([
88
88
  * @returns {sap.ui.model.Sorter | undefined} New sorter
89
89
  * @protected
90
90
  */
91
- TableDelegate.getGroupSorter = function(oTable, sPropertyName){
91
+ TableDelegate.getGroupSorter = function(oTable, sPropertyName) {
92
92
  var oSortedProperty = oTable._getSortedProperties().find(function(oProperty) {
93
93
  return oProperty.name === sPropertyName;
94
94
  });
@@ -234,29 +234,200 @@ sap.ui.define([
234
234
  * @protected
235
235
  */
236
236
  TableDelegate.fetchExportCapabilities = function(oTable) {
237
- return Promise.resolve({ XLSX: {} });
237
+ return Promise.resolve({XLSX: {}});
238
238
  };
239
239
 
240
240
  /**
241
- * Checks whether data export is supported by the combination of this delegate and the current table state (e.g. type).
241
+ * Expands all nodes.
242
242
  *
243
- * @param {sap.ui.mdc.Table} oTable Instance of the MDC table.
244
- * @returns {boolean} Whether data export is supported.
243
+ * @param {sap.ui.mdc.Table} oTable Instance of the MDC table
244
+ * @protected
245
+ */
246
+ TableDelegate.expandAll = function(oTable) {
247
+ throw Error("Unsupported operation: TableDelegate does not support #expandAll");
248
+ };
249
+
250
+ /**
251
+ * Collapses all nodes.
252
+ *
253
+ * @param {sap.ui.mdc.Table} oTable Instance of the MDC table
254
+ * @protected
255
+ */
256
+ TableDelegate.collapseAll = function(oTable) {
257
+ throw Error("Unsupported operation: TableDelegate does not support #collapseAll");
258
+ };
259
+
260
+ /**
261
+ * This is called after the table has loaded the necessary libraries and modules and initialized its content, but before it resolves its
262
+ * <code>initialized</code> Promise. It can be used to make changes to the content as part of the initialization.
263
+ *
264
+ * @param {sap.ui.mdc.Table} oTable Instance of the MDC table
265
+ * @returns {Promise} A promise that resolves after the content is initialized
245
266
  * @private
246
267
  */
247
- TableDelegate.isExportSupported = function(oTable) {
248
- return !oTable._isOfType(TableType.TreeTable) || UriParameters.fromURL(window.location.href).has("sap-ui-xx-mdc-tree-export");
268
+ TableDelegate.initializeContent = function(oTable) {
269
+ return this.initializeSelection(oTable);
249
270
  };
250
271
 
251
272
  /**
252
- * Checks whether selection is supported by the combination of this delegate and the current table state (e.g. type).
273
+ * This is called after the table has loaded the necessary libraries and modules and initialized its content, but before it resolves its
274
+ * <code>initialized</code> Promise. It can be used to make changes to the selection as part of the initialization.
253
275
  *
254
- * @param {sap.ui.mdc.Table} oTable Instance of the MDC table.
255
- * @returns {boolean} Whether selection is supported.
276
+ * @param {sap.ui.mdc.Table} oTable Instance of the MDC table
277
+ * @returns {Promise} A promise that resolves after the content is initialized
256
278
  * @private
257
279
  */
258
- TableDelegate.isSelectionSupported = function(oTable) {
259
- return !oTable._isOfType(TableType.TreeTable);
280
+ TableDelegate.initializeSelection = function(oTable) {
281
+ if (oTable._isOfType(TableType.Table, true)) {
282
+ return initializeGridTableSelection(oTable);
283
+ } else {
284
+ return initializeResponsiveTableSelection(oTable);
285
+ }
286
+ };
287
+
288
+ function initializeGridTableSelection(oTable) {
289
+ var mSelectionModeMap = {
290
+ Single: "Single",
291
+ SingleMaster: "Single",
292
+ Multi: "MultiToggle"
293
+ };
294
+
295
+ return loadModules("sap/ui/table/plugins/MultiSelectionPlugin").then(function(aModules) {
296
+ var MultiSelectionPlugin = aModules[0];
297
+
298
+ oTable._oTable.addPlugin(new MultiSelectionPlugin({
299
+ limit: "{$sap.ui.mdc.Table#type>/selectionLimit}",
300
+ enableNotification: true,
301
+ showHeaderSelector: "{$sap.ui.mdc.Table#type>/showHeaderSelector}",
302
+ selectionMode: {
303
+ path: "$sap.ui.mdc.Table>/selectionMode",
304
+ formatter: function(sSelectionMode) {
305
+ return mSelectionModeMap[sSelectionMode];
306
+ }
307
+ },
308
+ enabled: {
309
+ path: "$sap.ui.mdc.Table>/selectionMode",
310
+ formatter: function(sSelectionMode) {
311
+ return sSelectionMode in mSelectionModeMap;
312
+ }
313
+ },
314
+ selectionChange: function(oEvent) {
315
+ // TODO: Add something sililar like TableTypeBase#callHook -> move to reusable util? Use here and in other places in delegates.
316
+ oTable._onSelectionChange({
317
+ selectAll: oEvent.getParameter("selectAll")
318
+ });
319
+ }
320
+ }));
321
+ });
322
+ }
323
+
324
+ function initializeResponsiveTableSelection(oTable) {
325
+ var mSelectionModeMap = {
326
+ Single: "SingleSelectLeft",
327
+ SingleMaster: "SingleSelectMaster",
328
+ Multi: "MultiSelect"
329
+ };
330
+ var mMultiSelectModeMap = {
331
+ Default: "SelectAll",
332
+ ClearAll: "ClearAll"
333
+ };
334
+
335
+ oTable._oTable.bindProperty("mode", {
336
+ path: "$sap.ui.mdc.Table>/selectionMode",
337
+ formatter: function(sSelectionMode) {
338
+ return mSelectionModeMap[sSelectionMode]; // Default is "None"
339
+ }
340
+ });
341
+
342
+ oTable._oTable.bindProperty("multiSelectMode", {
343
+ path: "$sap.ui.mdc.Table>/multiSelectMode",
344
+ formatter: function(sMultiSelectMode) {
345
+ return mMultiSelectModeMap[sMultiSelectMode] || "SelectAll"; // Default is "Default"
346
+ }
347
+ });
348
+
349
+ oTable._oTable.attachSelectionChange(function(oEvent) {
350
+ oTable._onSelectionChange({
351
+ selectAll: oEvent.getParameter("selectAll")
352
+ });
353
+ });
354
+
355
+ return Promise.resolve();
356
+ }
357
+
358
+ /**
359
+ * Gets the selected contexts.
360
+ *
361
+ * @param {sap.ui.mdc.Table} oTable Instance of the table
362
+ * @returns {sap.ui.model.Context[]} The selected contexts
363
+ * @private
364
+ */
365
+ TableDelegate.getSelectedContexts = function(oTable) {
366
+ if (!oTable._oTable) {
367
+ return [];
368
+ }
369
+
370
+ if (oTable._isOfType(TableType.Table, true)) {
371
+ var oGridTable = oTable._oTable;
372
+ var oMultiSelectionPlugin = oGridTable.getPlugins().find(function(oPlugin) {
373
+ return oPlugin.isA("sap.ui.table.plugins.MultiSelectionPlugin");
374
+ });
375
+
376
+ if (!oMultiSelectionPlugin) {
377
+ return [];
378
+ }
379
+
380
+ return oMultiSelectionPlugin.getSelectedIndices().map(function(iIndex) {
381
+ return oGridTable.getContextByIndex(iIndex);
382
+ }, this);
383
+ }
384
+
385
+ if (oTable._isOfType(TableType.ResponsiveTable)) {
386
+ return oTable._oTable.getSelectedContexts();
387
+ }
388
+
389
+ return [];
390
+ };
391
+
392
+ /**
393
+ * Clears the selection.
394
+ *
395
+ * @param {sap.ui.mdc.Table} oTable Instance of the MDC table
396
+ * @private
397
+ */
398
+ TableDelegate.clearSelection = function(oTable) {
399
+ if (!oTable._oTable) {
400
+ return;
401
+ }
402
+
403
+ if (oTable._isOfType(TableType.Table, true)) {
404
+ var oSelectionPlugin = oTable._oTable.getPlugins().find(function(oPlugin) {
405
+ return oPlugin.isA("sap.ui.table.plugins.SelectionPlugin");
406
+ });
407
+
408
+ if (oSelectionPlugin) {
409
+ oSelectionPlugin.clearSelection();
410
+ }
411
+ }
412
+
413
+ if (oTable._isOfType(TableType.ResponsiveTable)) {
414
+ oTable._oTable.removeSelections(true);
415
+ }
416
+ };
417
+
418
+ /**
419
+ * Gets the features that are supported by the combination of this delegate and the current table state (e.g. type).
420
+ *
421
+ * @param {sap.ui.mdc.Table} oTable
422
+ * @returns {object} The supported features
423
+ * @private
424
+ */
425
+ TableDelegate.getSupportedFeatures = function(oTable) {
426
+ return {
427
+ "export": true,
428
+ expandAll: false,
429
+ collapseAll: false
430
+ };
260
431
  };
261
432
 
262
433
  /**
@@ -46,7 +46,8 @@ sap.ui.define([
46
46
  * @since 1.95.0
47
47
  * @private
48
48
  * @experimental As of version 1.95
49
- * @ui5-restricted sap.ui.mdc
49
+ * @ui5-restricted sap.fe
50
+ * @MDC_PUBLIC_CANDIDATE
50
51
  */
51
52
 
52
53
  /**
@@ -58,7 +59,8 @@ sap.ui.define([
58
59
  * @since 1.95.0
59
60
  * @private
60
61
  * @experimental As of version 1.95
61
- * @ui5-restricted sap.ui.mdc
62
+ * @ui5-restricted sap.fe
63
+ * @MDC_PUBLIC_CANDIDATE
62
64
  */
63
65
 
64
66
  /**
@@ -70,7 +72,8 @@ sap.ui.define([
70
72
  * @since 1.95.0
71
73
  * @private
72
74
  * @experimental As of version 1.95
73
- * @ui5-restricted sap.ui.mdc
75
+ * @ui5-restricted sap.fe
76
+ * @MDC_PUBLIC_CANDIDATE
74
77
  */
75
78
 
76
79
  /**
@@ -78,9 +81,9 @@ sap.ui.define([
78
81
  *
79
82
  * @param {string} [sId] ID for the new element, generated automatically if no ID is given
80
83
  * @param {object} [mSettings] Initial settings for the new element
81
- * @class Element for the <code>FieldHelp</code> association in the {@link sap.ui.mdc.field.FieldBase FieldBase} controls.
84
+ * @class Element for the <code>ValueHelp</code> association in the {@link sap.ui.mdc.field.FieldBase FieldBase} controls.
82
85
  * @extends sap.ui.mdc.Element
83
- * @version 1.112.2
86
+ * @version 1.114.0
84
87
  * @constructor
85
88
  * @abstract
86
89
  * @private
@@ -234,7 +237,7 @@ sap.ui.define([
234
237
  /**
235
238
  * The container which will be opened
236
239
  */
237
- container: {type: "object"}
240
+ container: {type: "sap.ui.mdc.valuehelp.base.Container"}
238
241
  }
239
242
  },
240
243
 
@@ -246,7 +249,7 @@ sap.ui.define([
246
249
  /**
247
250
  * The container which was opened
248
251
  */
249
- container: {type: "object"}
252
+ container: {type: "sap.ui.mdc.valuehelp.base.Container"}
250
253
  }
251
254
  },
252
255
 
@@ -325,7 +328,7 @@ sap.ui.define([
325
328
  * <b>Note:</b> This function must only be called by the control the <code>ValueHelp</code> element
326
329
  * belongs to, not by the application.
327
330
  *
328
- * @param {sap.ui.core.Control} oControl Control to which the <code>FieldHelp</code> element is connected to
331
+ * @param {sap.ui.core.Control} oControl Control to which the <code>ValueHelp</code> element is connected to
329
332
  * @param {object} [oConfig] Configuration object that holds required data of the connected control
330
333
  * @param {int} [oConfig.maxConditions=-1] Maximum number of allowed conditions
331
334
  * @param {sap.ui.model.Type} [oConfig.dataType] Type of the key (required for condition panel)
@@ -386,7 +389,7 @@ sap.ui.define([
386
389
  /**
387
390
  * Returns the aria attributes the field needs from the value help
388
391
  *
389
- * @param {int} iMaxConditions maximal conditions allowed (as FieldHelp might not be connected to a field)
392
+ * @param {int} iMaxConditions maximal conditions allowed (as ValueHelp might not be connected to a field)
390
393
  * @returns {object} object with the aria-attibutes
391
394
  * @private
392
395
  * @ui5-restricted sap.ui.mdc.field.FieldBase
@@ -825,7 +828,7 @@ sap.ui.define([
825
828
  }
826
829
 
827
830
  _onConditionPropagation.call(this, PropagationReason.ControlChange);
828
- // as BindingContext of Field might change (happens if fast typed and FieldHelp not opened) update if needed
831
+ // as BindingContext of Field might change (happens if fast typed and ValueHelp not opened) update if needed
829
832
  _updateBindingContext.call(this);
830
833
  };
831
834
 
@@ -850,10 +853,6 @@ sap.ui.define([
850
853
 
851
854
  };
852
855
 
853
- // ValueHelp.prototype.getUIArea = function() { // Ask Frank, if better way available
854
- //
855
- // };
856
-
857
856
  ValueHelp.prototype.getMaxConditions = function() { // ?
858
857
  var oConfig = this.getProperty("_config");
859
858
  return (oConfig && oConfig.maxConditions) || -1;
@@ -69,7 +69,8 @@ sap.ui.define([
69
69
  * @param {sap.ui.model.ListBinding} oListBinding ListBinding
70
70
  * @returns {boolean} true if $search is supported
71
71
  * @private
72
- * @ui5-restricted sap.ui.mdc.ValueHelp
72
+ * @ui5-restricted sap.fe
73
+ * @MDC_PUBLIC_CANDIDATE
73
74
  */
74
75
  ValueHelpDelegate.isSearchSupported = function(oPayload, oContent, oListBinding) {
75
76
  return false;
@@ -108,7 +109,7 @@ sap.ui.define([
108
109
  * @param {sap.ui.base.ManagedObject.AggregationBindingInfo} oBindingInfo The binding info object to be used to bind the list to the model
109
110
  * @private
110
111
  * @since 1.110.0
111
- *
112
+ * @ui5-restricted sap.fe
112
113
  * @MDC_PUBLIC_CANDIDATE
113
114
  */
114
115
  ValueHelpDelegate.updateBindingInfo = function(oPayload, oContent, oBindingInfo) {
@@ -140,11 +141,13 @@ sap.ui.define([
140
141
  * @param {object} oPayload Payload for delegate
141
142
  * @param {sap.ui.model.ListBinding} oListBinding List binding
142
143
  * @param {sap.ui.base.ManagedObject.AggregationBindingInfo} oBindingInfo The binding info object to be used to bind the list to the model
144
+ * @param {sap.ui.mdc.valuehelp.base.FilterableListContent} oContent ValueHelp content requesting the binding update
143
145
  * @private
144
146
  * @since 1.110.0
145
- * @ui5-restricted sap.ui.mdc.ValueHelp
147
+ * @ui5-restricted sap.fe
148
+ * @MDC_PUBLIC_CANDIDATE
146
149
  */
147
- ValueHelpDelegate.updateBinding = function(oPayload, oListBinding, oBindingInfo) {
150
+ ValueHelpDelegate.updateBinding = function(oPayload, oListBinding, oBindingInfo, oContent) {
148
151
  oListBinding.filter(oBindingInfo.filters, FilterType.Application);
149
152
  if (oListBinding.isSuspended()) {
150
153
  oListBinding.resume();
@@ -178,7 +181,8 @@ sap.ui.define([
178
181
  * @param {int} iRequestedItems Number of requested items
179
182
  * @returns {Promise<sap.ui.model.ListBinding>} Promise that is resolved if search is executed
180
183
  * @private
181
- * @ui5-restricted sap.ui.mdc.ValueHelp
184
+ * @ui5-restricted sap.fe
185
+ * @MDC_PUBLIC_CANDIDATE
182
186
  */
183
187
  ValueHelpDelegate.executeFilter = function(oPayload, oListBinding, iRequestedItems) {
184
188
  return Promise.resolve(oListBinding);
@@ -194,7 +198,8 @@ sap.ui.define([
194
198
  * @param {int} iRequestedItems Number of requested items
195
199
  * @returns {boolean|Promise<boolean>} <code>Promise</code> that is resolved once <code>ListBinding</code> has been updated
196
200
  * @private
197
- * @ui5-restricted sap.ui.mdc.ValueHelp
201
+ * @ui5-restricted sap.fe
202
+ * @MDC_PUBLIC_CANDIDATE
198
203
  */
199
204
  ValueHelpDelegate.checkListBindingPending = function(oPayload, oListBinding, iRequestedItems) {
200
205
  if (!oListBinding || oListBinding.isSuspended()) {
@@ -350,7 +355,7 @@ sap.ui.define([
350
355
  /**
351
356
  * This method should provide a map of conditions for the following situations:
352
357
  * 1. Initial set of conditions applied everytime a value help content is shown for the first time since opening it's container.
353
- * 2. Detailed set of conditions in getItemForValue scenarios allowing to find a specific FieldHelpItem (indicated by oConfig availability)
358
+ * 2. Detailed set of conditions in getItemForValue scenarios allowing to find a specific ValueHelpItem (indicated by oConfig availability)
354
359
  *
355
360
  * @param {object} oPayload Payload for delegate
356
361
  * @param {sap.ui.mdc.valuehelp.base.FilterableListContent} oContent <code>ValueHelp</code> content instance
@@ -18,15 +18,16 @@ sap.ui.define([
18
18
  *
19
19
  * @param {string} [sId] ID for the new control, generated automatically if no ID is given
20
20
  * @param {object} [mSettings] Initial settings for the new control
21
- * @class The action for an {@link sap.ui.mdc.ActionToolbar ActionToolbar}) control
21
+ * @class The action for an {@link sap.ui.mdc.ActionToolbar ActionToolbar} control
22
22
  * @extends sap.ui.core.Control
23
23
  * @author SAP SE
24
- * @version 1.112.2
24
+ * @version 1.114.0
25
25
  * @constructor
26
26
  * @private
27
27
  * @since 1.58
28
28
  * @experimental As of version 1.58
29
- * @ui5-restricted sap.ui.mdc
29
+ * @ui5-restricted sap.ui.mdc, sap.fe
30
+ * @MDC_PUBLIC_CANDIDATE
30
31
  * @alias sap.ui.mdc.actiontoolbar.ActionToolbarAction
31
32
  */
32
33
  var ActionToolbarAction = Control.extend("sap.ui.mdc.actiontoolbar.ActionToolbarAction", {
@@ -74,12 +75,6 @@ sap.ui.define([
74
75
  return oLayoutData ? oLayoutData : this.getAction() && this.getAction().getLayoutData();
75
76
  };
76
77
 
77
- /**
78
- * Sets the behavior of the <code>ActionToolbarAction</code> inside an <code>OverflowToolbar</code> configuration.
79
- *
80
- * @protected
81
- * @returns {object} Configuration information for the <code>sap.m.IOverflowToolbarContent</code> interface.
82
- */
83
78
  ActionToolbarAction.prototype.getOverflowToolbarConfig = function() {
84
79
  // use the Action OverflowToolbarConfig if exist
85
80
  var oConfig = this.getAction() && this.getAction().getOverflowToolbarConfig ? this.getAction().getOverflowToolbarConfig() : { canOverflow: true };