@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
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * </ul>
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.112.2
47
+ * @version 1.114.0
48
48
  * @alias sap.ui.mdc.mixin.FilterIntegrationMixin
49
49
  * @namespace
50
50
  * @since 1.82.0
@@ -13,7 +13,7 @@ sap.ui.define(
13
13
  * Calling any of the enhanced methods after control exit will result in a no-op.
14
14
  *
15
15
  * @author SAP SE
16
- * @version 1.112.2
16
+ * @version 1.114.0
17
17
  * @alias sap.ui.mdc.mixin.PromiseMixin
18
18
  * @namespace
19
19
  * @since 1.85.0
@@ -29,7 +29,7 @@ sap.ui.define(["sap/base/util/Deferred", "sap/ui/mdc/util/loadModules", "sap/bas
29
29
  * </ul>
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.112.2
32
+ * @version 1.114.0
33
33
  * @alias sap.ui.mdc.mixin.PropertyHelperMixin
34
34
  * @namespace
35
35
  * @since 1.100.0
@@ -0,0 +1,81 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ '../DefaultTypeMap',
9
+ 'sap/ui/mdc/enum/BaseType'
10
+ ], function(DefaultTypeMap, BaseType) {
11
+ "use strict";
12
+
13
+ /**
14
+ * OData-specific type configuration map for MDC Delegates
15
+ *
16
+ * @extends sap.ui.mdc.DefaultTypeMap
17
+ * @author SAP SE
18
+ * @version 1.114.0
19
+ * @private
20
+ * @ui5-restricted sap.fe
21
+ * @MDC_PUBLIC_CANDIDATE
22
+ * @experimental As of version 1.114.0
23
+ * @alias sap.ui.mdc.odata.TypeMap
24
+ * @since 1.114.0
25
+ * @author SAP SE
26
+ */
27
+ var ODataTypeMap = Object.assign({}, DefaultTypeMap);
28
+
29
+ ODataTypeMap.getDateTimeBaseType = function (oFormatOptions, oConstraints) {
30
+ if (oConstraints && oConstraints.displayFormat === "Date") {
31
+ return BaseType.Date;
32
+ } else {
33
+ return BaseType.DateTime;
34
+ }
35
+ };
36
+
37
+ ODataTypeMap.import(DefaultTypeMap);
38
+
39
+ ODataTypeMap.set("sap.ui.model.odata.type.Boolean", BaseType.Boolean);
40
+ ODataTypeMap.set("sap.ui.model.odata.type.Byte", BaseType.Numeric);
41
+ ODataTypeMap.set("sap.ui.model.odata.type.Currency", DefaultTypeMap.getUnitBaseType, DefaultTypeMap.getUnitOptions);
42
+ ODataTypeMap.set("sap.ui.model.odata.type.Date", BaseType.Date);
43
+ ODataTypeMap.set("sap.ui.model.odata.type.DateTime", ODataTypeMap.getDateTimeBaseType);
44
+ ODataTypeMap.set("sap.ui.model.odata.type.DateTimeOffset", BaseType.DateTime);
45
+ ODataTypeMap.set("sap.ui.model.odata.type.DateTimeWithTimezone", BaseType.DateTime);
46
+ ODataTypeMap.set("sap.ui.model.odata.type.Decimal", BaseType.Numeric);
47
+ ODataTypeMap.set("sap.ui.model.odata.type.Double", BaseType.Numeric);
48
+ ODataTypeMap.set("sap.ui.model.odata.type.Guid", BaseType.String);
49
+ ODataTypeMap.set("sap.ui.model.odata.type.Int16", BaseType.Numeric);
50
+ ODataTypeMap.set("sap.ui.model.odata.type.Int32", BaseType.Numeric);
51
+ ODataTypeMap.set("sap.ui.model.odata.type.Int64", BaseType.Numeric);
52
+ ODataTypeMap.set("sap.ui.model.odata.type.SByte", BaseType.Numeric);
53
+ ODataTypeMap.set("sap.ui.model.odata.type.Single", BaseType.Numeric);
54
+ ODataTypeMap.set("sap.ui.model.odata.type.String", BaseType.String);
55
+ ODataTypeMap.set("sap.ui.model.odata.type.Time", BaseType.Time);
56
+ ODataTypeMap.set("sap.ui.model.odata.type.TimeOfDay", BaseType.Time);
57
+ ODataTypeMap.set("sap.ui.model.odata.type.Unit", DefaultTypeMap.getUnitBaseType, DefaultTypeMap.getUnitOptions);
58
+
59
+ // Alias configuration
60
+ ODataTypeMap.setAlias("Edm.Boolean", "sap.ui.model.odata.type.Boolean");
61
+ ODataTypeMap.setAlias("Edm.Byte", "sap.ui.model.odata.type.Byte");
62
+ ODataTypeMap.setAlias("Edm.Date", "sap.ui.model.odata.type.Date");
63
+ ODataTypeMap.setAlias("Edm.DateTime", "sap.ui.model.odata.type.DateTime");
64
+ ODataTypeMap.setAlias("Edm.DateTimeOffset", "sap.ui.model.odata.type.DateTimeOffset");
65
+ ODataTypeMap.setAlias("Edm.Decimal", "sap.ui.model.odata.type.Decimal");
66
+ ODataTypeMap.setAlias("Edm.Double", "sap.ui.model.odata.type.Double");
67
+ ODataTypeMap.setAlias("Edm.Float", "sap.ui.model.odata.type.Single");
68
+ ODataTypeMap.setAlias("Edm.Guid", "sap.ui.model.odata.type.Guid");
69
+ ODataTypeMap.setAlias("Edm.Int16", "sap.ui.model.odata.type.Int16");
70
+ ODataTypeMap.setAlias("Edm.Int32", "sap.ui.model.odata.type.Int32");
71
+ ODataTypeMap.setAlias("Edm.Int64", "sap.ui.model.odata.type.Int64");
72
+ ODataTypeMap.setAlias("Edm.SByte", "sap.ui.model.odata.type.SByte");
73
+ ODataTypeMap.setAlias("Edm.Single", "sap.ui.model.odata.type.Single");
74
+ ODataTypeMap.setAlias("Edm.String", "sap.ui.model.odata.type.String");
75
+ ODataTypeMap.setAlias("Edm.Time", "sap.ui.model.odata.type.Time");
76
+ ODataTypeMap.setAlias("Edm.TimeOfDay", "sap.ui.model.odata.type.TimeOfDay");
77
+
78
+ ODataTypeMap.freeze();
79
+
80
+ return ODataTypeMap;
81
+ });
@@ -5,9 +5,11 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "../../ChartDelegate"
8
+ "../../ChartDelegate",
9
+ 'sap/ui/mdc/odata/v4/TypeMap'
9
10
  ], function (
10
- ChartDelegate
11
+ ChartDelegate,
12
+ ODataV4TypeMap
11
13
  ) {
12
14
  "use strict";
13
15
  /**
@@ -24,6 +26,9 @@ sap.ui.define([
24
26
  */
25
27
  var Delegate = Object.assign({}, ChartDelegate);
26
28
 
29
+ Delegate.getTypeMap = function (oPayload) {
30
+ return ODataV4TypeMap;
31
+ };
27
32
 
28
33
  return Delegate;
29
34
  });
@@ -10,11 +10,10 @@
10
10
 
11
11
  sap.ui.define([
12
12
  "sap/ui/mdc/field/FieldBaseDelegate",
13
- "sap/ui/mdc/odata/v4/TypeUtil"
14
-
13
+ 'sap/ui/mdc/odata/v4/TypeMap'
15
14
  ], function(
16
- FieldBaseDelegate,
17
- TypeUtil
15
+ FieldBaseDelegate,
16
+ ODataV4TypeMap
18
17
  ) {
19
18
  "use strict";
20
19
 
@@ -36,6 +35,10 @@ sap.ui.define([
36
35
  */
37
36
  var ODataFieldBaseDelegate = Object.assign({}, FieldBaseDelegate);
38
37
 
38
+ ODataFieldBaseDelegate.getTypeMap = function (oPayload) {
39
+ return ODataV4TypeMap;
40
+ };
41
+
39
42
  ODataFieldBaseDelegate.initializeTypeFromBinding = function(oPayload, oType, vValue) {
40
43
 
41
44
  // V4 Unit and Currency types have a map with valid units and create an internal customizing for it.
@@ -79,9 +82,5 @@ sap.ui.define([
79
82
 
80
83
  };
81
84
 
82
- ODataFieldBaseDelegate.getTypeUtil = function (oPayload) {
83
- return TypeUtil;
84
- };
85
-
86
85
  return ODataFieldBaseDelegate;
87
86
  });
@@ -15,7 +15,8 @@ sap.ui.define([
15
15
  "sap/ui/core/Core",
16
16
  "sap/ui/core/library",
17
17
  "sap/ui/core/format/ListFormat",
18
- "sap/ui/base/ManagedObjectObserver"
18
+ "sap/ui/base/ManagedObjectObserver",
19
+ 'sap/ui/mdc/odata/v4/TypeMap'
19
20
  ], function(
20
21
  TableDelegate,
21
22
  V4AnalyticsPropertyHelper,
@@ -27,7 +28,8 @@ sap.ui.define([
27
28
  Core,
28
29
  coreLibrary,
29
30
  ListFormat,
30
- ManagedObjectObserver
31
+ ManagedObjectObserver,
32
+ ODataV4TypeMap
31
33
  ) {
32
34
  "use strict";
33
35
 
@@ -53,6 +55,10 @@ sap.ui.define([
53
55
  */
54
56
  var Delegate = Object.assign({}, TableDelegate);
55
57
 
58
+ Delegate.getTypeMap = function (oPayload) {
59
+ return ODataV4TypeMap;
60
+ };
61
+
56
62
  /**
57
63
  * Gets the model-specific <code>PropertyHelper</code> class to create an instance of.
58
64
  *
@@ -64,16 +70,101 @@ sap.ui.define([
64
70
  return V4AnalyticsPropertyHelper;
65
71
  };
66
72
 
67
- Delegate.preInit = function(oTable) {
68
- if (!TableMap.has(oTable)) {
69
- TableMap.set(oTable, {});
70
- }
73
+ Delegate.preInit = function() { // not used in the table, but is overridden in FE
74
+ return Promise.resolve();
75
+ };
71
76
 
72
- return configureInnerTable(oTable).then(function() {
77
+ /**
78
+ * @inheritDoc
79
+ */
80
+ Delegate.initializeContent = function(oTable) {
81
+ return TableDelegate.initializeContent.apply(this, arguments).then(function() {
82
+ if (!TableMap.has(oTable)) {
83
+ TableMap.set(oTable, {});
84
+ }
85
+ return configureInnerTable(oTable);
86
+ }).then(function() {
73
87
  setAggregation(oTable);
74
88
  });
75
89
  };
76
90
 
91
+ /**
92
+ * @inheritDoc
93
+ */
94
+ Delegate.initializeSelection = function(oTable) {
95
+ if (oTable._bV4LegacySelectionEnabled) {
96
+ return TableDelegate.initializeSelection.apply(this, arguments);
97
+ }
98
+
99
+ if (oTable._isOfType(TableType.Table, true)) {
100
+ return initializeGridTableSelection(oTable);
101
+ } else {
102
+ return TableDelegate.initializeSelection.apply(this, arguments);
103
+ }
104
+ };
105
+
106
+ function initializeGridTableSelection(oTable) {
107
+ var mSelectionModeMap = {
108
+ Single: "Single",
109
+ SingleMaster: "Single",
110
+ Multi: "MultiToggle"
111
+ };
112
+
113
+ return loadModules("sap/ui/table/plugins/ODataV4Selection").then(function(aModules) {
114
+ var ODataV4SelectionPlugin = aModules[0];
115
+
116
+ if (oTable._bV4LegacySelectionEnabled) {
117
+ return TableDelegate.initializeSelection.call(this, oTable);
118
+ }
119
+
120
+ oTable._oTable.addPlugin(new ODataV4SelectionPlugin({
121
+ limit: "{$sap.ui.mdc.Table#type>/selectionLimit}",
122
+ enableNotification: true,
123
+ hideHeaderSelector: "{= !${$sap.ui.mdc.Table#type>/showHeaderSelector} }",
124
+ selectionMode: {
125
+ path: "$sap.ui.mdc.Table>/selectionMode",
126
+ formatter: function(sSelectionMode) {
127
+ return mSelectionModeMap[sSelectionMode];
128
+ }
129
+ },
130
+ enabled: {
131
+ path: "$sap.ui.mdc.Table>/selectionMode",
132
+ formatter: function(sSelectionMode) {
133
+ return sSelectionMode in mSelectionModeMap;
134
+ }
135
+ },
136
+ selectionChange: function(oEvent) {
137
+ oTable._onSelectionChange({
138
+ selectAll: oEvent.getParameter("selectAll")
139
+ });
140
+ }
141
+ }));
142
+ });
143
+ }
144
+
145
+ /**
146
+ * @inheritDoc
147
+ */
148
+ Delegate.getSelectedContexts = function(oTable) {
149
+ if (!oTable._oTable) {
150
+ return [];
151
+ }
152
+
153
+ if (oTable._bV4LegacySelectionEnabled) {
154
+ return TableDelegate.getSelectedContexts.apply(this, arguments);
155
+ }
156
+
157
+ if (oTable._isOfType(TableType.Table, true)) {
158
+ var oODataV4SelectionPlugin = oTable._oTable.getPlugins().find(function(oPlugin) {
159
+ return oPlugin.isA("sap.ui.table.plugins.ODataV4Selection");
160
+ });
161
+
162
+ return oODataV4SelectionPlugin ? oODataV4SelectionPlugin.getSelectedContexts() : [];
163
+ }
164
+
165
+ return TableDelegate.getSelectedContexts.apply(this, arguments);
166
+ };
167
+
77
168
  Delegate.validateState = function(oTable, oState, sKey) {
78
169
  var oBaseStates = TableDelegate.validateState.apply(this, arguments);
79
170
  var oValidation;
@@ -201,18 +292,27 @@ sap.ui.define([
201
292
  // When changes are made in the binding with multiple API calls, the binding fires a change event with the consolidated reason "change".
202
293
  // The information that there is a sort or filter change is lost, hence the GridTable does not clear the selection. The changes could
203
294
  // affect the indices and make the current selection invalid. Therefore, the delegate has to clear the selection here.
204
- if (oTable._isOfType(TableType.Table)) {
205
- oTable.clearSelection();
206
- }
295
+ if (oTable._bV4LegacySelectionEnabled && oTable._isOfType(TableType.Table)) {
296
+ var oInnerPlugin = oTable._oTable && oTable._oTable.getPlugins()[0] ? oTable._oTable.getPlugins()[0].oInnerSelectionPlugin : null;
297
+
298
+ if (oInnerPlugin) {
299
+ oInnerPlugin._bInternalTrigger = true;
300
+ }
301
+
302
+ oTable.clearSelection();
303
+
304
+ if (oInnerPlugin) {
305
+ delete oInnerPlugin._bInternalTrigger;
306
+ }
307
+ }
207
308
  };
208
309
 
209
310
  /**
210
- * @override
211
311
  * @inheritDoc
212
312
  */
213
- Delegate.rebind = function (oTable, oBindingInfo) {
313
+ Delegate.rebind = function(oTable, oBindingInfo) {
214
314
  setAggregation(oTable, oBindingInfo);
215
- TableDelegate.rebind(oTable, oBindingInfo);
315
+ TableDelegate.rebind.apply(this, arguments);
216
316
  };
217
317
 
218
318
  Delegate.addColumnMenuItems = function(oTable, oMDCColumn) {
@@ -252,7 +352,7 @@ sap.ui.define([
252
352
  aItems[iIndex].destroy();
253
353
  }
254
354
 
255
- if (aItems.length == 0 ) {
355
+ if (aItems.length == 0) {
256
356
  oPopover.destroy();
257
357
  }
258
358
  });
@@ -261,8 +361,11 @@ sap.ui.define([
261
361
  return aItems;
262
362
  };
263
363
 
364
+ /**
365
+ * @inheritDoc
366
+ */
264
367
  Delegate.getSupportedP13nModes = function(oTable) {
265
- var aSupportedModes = TableDelegate.getSupportedP13nModes(oTable);
368
+ var aSupportedModes = TableDelegate.getSupportedP13nModes.apply(this, arguments);
266
369
 
267
370
  if (oTable._isOfType(TableType.Table)) {
268
371
  if (!aSupportedModes.includes(P13nMode.Group)) {
@@ -276,6 +379,9 @@ sap.ui.define([
276
379
  return aSupportedModes;
277
380
  };
278
381
 
382
+ /**
383
+ * @inheritDoc
384
+ */
279
385
  Delegate.getGroupSorter = function(oTable, sPropertyName) {
280
386
  var oPropertyHelper = oTable.getPropertyHelper();
281
387
  var oVisibleProperty = oTable._getVisibleProperties().find(function(oProperty) {
@@ -293,6 +399,47 @@ sap.ui.define([
293
399
  return TableDelegate.getGroupSorter.apply(this, arguments);
294
400
  };
295
401
 
402
+ /**
403
+ * @inheritDoc
404
+ */
405
+ Delegate.getSupportedFeatures = function(oTable) {
406
+ var oSupportedFeatures = TableDelegate.getSupportedFeatures.apply(this, arguments);
407
+ var bIsTreeTable = oTable._isOfType(TableType.TreeTable);
408
+
409
+ return Object.assign(oSupportedFeatures, {
410
+ expandAll: bIsTreeTable,
411
+ collapseAll: bIsTreeTable
412
+ });
413
+ };
414
+
415
+ /**
416
+ * @inheritDoc
417
+ */
418
+ Delegate.expandAll = function(oTable) {
419
+ if (!this.getSupportedFeatures(oTable).expandAll) {
420
+ return;
421
+ }
422
+
423
+ var oRowBinding = oTable.getRowBinding();
424
+ if (oRowBinding) {
425
+ oRowBinding.setAggregation(Object.assign(oRowBinding.getAggregation(), {expandTo: 999}));
426
+ }
427
+ };
428
+
429
+ /**
430
+ * @inheritDoc
431
+ */
432
+ Delegate.collapseAll = function(oTable) {
433
+ if (!this.getSupportedFeatures(oTable).collapseAll) {
434
+ return;
435
+ }
436
+
437
+ var oRowBinding = oTable.getRowBinding();
438
+ if (oRowBinding) {
439
+ oRowBinding.setAggregation(Object.assign(oRowBinding.getAggregation(), {expandTo: 1}));
440
+ }
441
+ };
442
+
296
443
  function createGroupPopoverItem(aGroupProperties, oMDCColumn) {
297
444
  var aGroupChildren = aGroupProperties.map(function(oGroupProperty) {
298
445
  return new Item({
@@ -370,7 +517,7 @@ sap.ui.define([
370
517
  id: oTable.getId() + "-messageBox",
371
518
  title: sTitle,
372
519
  actions: [sActionText, oResourceBundle.getText("table.SETTINGS_WARNING_BUTTON_CANCEL")],
373
- onClose: function (oAction) {
520
+ onClose: function(oAction) {
374
521
  if (oAction === sActionText) {
375
522
  forceAnalytics(sName, oTable, sPath);
376
523
  }
@@ -416,13 +563,13 @@ sap.ui.define([
416
563
  return;
417
564
  }
418
565
 
419
- var aGroupLevels = oTable._getGroupedProperties().map(function (mGroupLevel) {
566
+ var aGroupLevels = oTable._getGroupedProperties().map(function(mGroupLevel) {
420
567
  return mGroupLevel.name;
421
568
  });
422
569
  var aAggregates = Object.keys(oTable._getAggregatedProperties());
423
570
  var sSearch = oBindingInfo ? oBindingInfo.parameters["$search"] : undefined;
424
571
 
425
- if (sSearch ) {
572
+ if (sSearch) {
426
573
  delete oBindingInfo.parameters["$search"];
427
574
  }
428
575
 
@@ -559,7 +706,7 @@ sap.ui.define([
559
706
  * @private
560
707
  */
561
708
  function mergeValidation(oBaseState, oValidationState) {
562
- var oSeverity = { Error: 1, Warning: 2, Information: 3, None: 4};
709
+ var oSeverity = {Error: 1, Warning: 2, Information: 3, None: 4};
563
710
 
564
711
  if (!oValidationState || oSeverity[oValidationState.validation] - oSeverity[oBaseState.validation] > 0) {
565
712
  return oBaseState;
@@ -0,0 +1,40 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ '../TypeMap',
9
+ 'sap/ui/mdc/enum/BaseType'
10
+ ], function(ODataTypeMap, BaseType) {
11
+ "use strict";
12
+
13
+ /**
14
+ * ODataV4-specific type configuration map for MDC Delegates
15
+ *
16
+ * @extends sap.ui.mdc.odata.TypeMap
17
+ * @author SAP SE
18
+ * @version 1.114.0
19
+ * @private
20
+ * @ui5-restricted sap.fe
21
+ * @experimental As of version 1.114.0
22
+ * @MDC_PUBLIC_CANDIDATE
23
+ * @alias sap.ui.mdc.odata.v4.TypeMap
24
+ * @since 1.114.0
25
+ * @author SAP SE
26
+ */
27
+ var ODataV4TypeMap = Object.assign({}, ODataTypeMap);
28
+
29
+ ODataV4TypeMap.addV4Constraint = function (oFormatOptions, oConstraints, oCustomOptions) {
30
+ return [oFormatOptions, Object.assign({}, oConstraints, {V4: true})];
31
+ };
32
+
33
+ ODataV4TypeMap.import(ODataTypeMap);
34
+
35
+ ODataV4TypeMap.set("sap.ui.model.odata.type.DateTimeOffset", BaseType.DateTime, ODataV4TypeMap.addV4Constraint);
36
+
37
+ ODataV4TypeMap.freeze();
38
+
39
+ return ODataV4TypeMap;
40
+ });
@@ -6,17 +6,17 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "../../ValueHelpDelegate",
9
- 'sap/ui/mdc/odata/v4/TypeUtil',
10
9
  'sap/base/Log',
11
10
  'sap/ui/model/FilterType',
12
- 'sap/base/util/deepEqual'
11
+ 'sap/base/util/deepEqual',
12
+ 'sap/ui/mdc/odata/v4/TypeMap'
13
13
 
14
14
  ], function(
15
15
  ValueHelpDelegate,
16
- TypeUtil,
17
16
  Log,
18
17
  FilterType,
19
- deepEqual
18
+ deepEqual,
19
+ ODataV4TypeMap
20
20
  ) {
21
21
  "use strict";
22
22
 
@@ -37,6 +37,10 @@ sap.ui.define([
37
37
  */
38
38
  var ODataV4ValueHelpDelegate = Object.assign({}, ValueHelpDelegate);
39
39
 
40
+ ODataV4ValueHelpDelegate.getTypeMap = function (oPayload) {
41
+ return ODataV4TypeMap;
42
+ };
43
+
40
44
  ODataV4ValueHelpDelegate.isSearchSupported = function(oPayload, oContent, oListBinding) {
41
45
  return !!oListBinding.changeParameters;
42
46
  };
@@ -83,9 +87,5 @@ sap.ui.define([
83
87
  });
84
88
  };
85
89
 
86
- ODataV4ValueHelpDelegate.getTypeUtil = function (oPayload) {
87
- return TypeUtil;
88
- };
89
-
90
90
  return ODataV4ValueHelpDelegate;
91
91
  });