@openui5/sap.ui.mdc 1.113.0 → 1.115.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 (269) hide show
  1. package/.reuse/dep5 +0 -5
  2. package/README.md +22 -9
  3. package/THIRDPARTY.txt +1 -7
  4. package/package.json +4 -4
  5. package/src/sap/ui/mdc/.library +1 -1
  6. package/src/sap/ui/mdc/ActionToolbar.js +5 -7
  7. package/src/sap/ui/mdc/AggregationBaseDelegate.js +5 -5
  8. package/src/sap/ui/mdc/BaseDelegate.js +49 -14
  9. package/src/sap/ui/mdc/Chart.js +147 -179
  10. package/src/sap/ui/mdc/ChartDelegate.js +404 -514
  11. package/src/sap/ui/mdc/ChartRenderer.js +11 -11
  12. package/src/sap/ui/mdc/Control.js +4 -4
  13. package/src/sap/ui/mdc/DefaultTypeMap.js +84 -0
  14. package/src/sap/ui/mdc/Element.js +4 -4
  15. package/src/sap/ui/mdc/Field.js +98 -96
  16. package/src/sap/ui/mdc/FilterBar.js +33 -56
  17. package/src/sap/ui/mdc/FilterBarDelegate.js +36 -69
  18. package/src/sap/ui/mdc/FilterField.js +93 -47
  19. package/src/sap/ui/mdc/Link.js +83 -82
  20. package/src/sap/ui/mdc/LinkDelegate.js +29 -48
  21. package/src/sap/ui/mdc/MultiValueField.js +34 -30
  22. package/src/sap/ui/mdc/Table.js +182 -193
  23. package/src/sap/ui/mdc/TableDelegate.js +244 -33
  24. package/src/sap/ui/mdc/ValueHelp.js +67 -50
  25. package/src/sap/ui/mdc/ValueHelpDelegate.js +57 -89
  26. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +4 -12
  27. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +192 -197
  28. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +10 -20
  29. package/src/sap/ui/mdc/chart/ChartToolbar.js +50 -50
  30. package/src/sap/ui/mdc/chart/ChartTypeButton.js +23 -27
  31. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +10 -10
  32. package/src/sap/ui/mdc/chart/DrillStackHandler.js +14 -14
  33. package/src/sap/ui/mdc/chart/Item.js +30 -17
  34. package/src/sap/ui/mdc/chart/PropertyHelper.js +10 -10
  35. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +23 -15
  36. package/src/sap/ui/mdc/condition/Condition.js +11 -23
  37. package/src/sap/ui/mdc/condition/ConditionConverter.js +8 -8
  38. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  39. package/src/sap/ui/mdc/condition/FilterConverter.js +2 -2
  40. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +771 -123
  41. package/src/sap/ui/mdc/condition/Operator.js +52 -50
  42. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +14 -14
  43. package/src/sap/ui/mdc/condition/RangeOperator.js +3 -5
  44. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +2 -2
  45. package/src/sap/ui/mdc/enum/ActionToolbarActionAlignment.js +5 -9
  46. package/src/sap/ui/mdc/enum/BaseType.js +15 -20
  47. package/src/sap/ui/mdc/enum/ConditionValidated.js +5 -9
  48. package/src/sap/ui/mdc/enum/ContentMode.js +1 -0
  49. package/src/sap/ui/mdc/enum/EditMode.js +7 -19
  50. package/src/sap/ui/mdc/enum/FieldDisplay.js +12 -18
  51. package/src/sap/ui/mdc/enum/FilterBarValidationStatus.js +3 -1
  52. package/src/sap/ui/mdc/enum/LinkType.js +40 -0
  53. package/src/sap/ui/mdc/enum/OperatorOverwrite.js +4 -2
  54. package/src/sap/ui/mdc/enum/OperatorValueType.js +47 -0
  55. package/src/sap/ui/mdc/enum/PersistenceMode.js +36 -36
  56. package/src/sap/ui/mdc/enum/ProcessingStrategy.js +3 -1
  57. package/src/sap/ui/mdc/enum/PropagationReason.js +1 -1
  58. package/src/sap/ui/mdc/enum/ReasonMode.js +1 -0
  59. package/src/sap/ui/mdc/enum/SelectType.js +1 -0
  60. package/src/sap/ui/mdc/enums/ActionToolbarActionAlignment.js +31 -0
  61. package/src/sap/ui/mdc/enums/BaseType.js +72 -0
  62. package/src/sap/ui/mdc/enums/ChartItemRoleType.js +61 -0
  63. package/src/sap/ui/mdc/enums/ChartItemType.js +31 -0
  64. package/src/sap/ui/mdc/enums/ChartP13nMode.js +48 -0
  65. package/src/sap/ui/mdc/enums/ChartToolbarActionType.js +49 -0
  66. package/src/sap/ui/mdc/enums/ConditionValidated.js +43 -0
  67. package/src/sap/ui/mdc/enums/ContentMode.js +74 -0
  68. package/src/sap/ui/mdc/enums/FieldDisplay.js +49 -0
  69. package/src/sap/ui/mdc/enums/FieldEditMode.js +55 -0
  70. package/src/sap/ui/mdc/enums/FilterBarP13nMode.js +36 -0
  71. package/src/sap/ui/mdc/enums/FilterBarValidationStatus.js +56 -0
  72. package/src/sap/ui/mdc/enums/LinkType.js +38 -0
  73. package/src/sap/ui/mdc/enums/OperatorOverwrite.js +34 -0
  74. package/src/sap/ui/mdc/enums/OperatorValueType.js +44 -0
  75. package/src/sap/ui/mdc/enums/PersistenceMode.js +44 -0
  76. package/src/sap/ui/mdc/enums/ProcessingStrategy.js +39 -0
  77. package/src/sap/ui/mdc/enums/ReasonMode.js +53 -0
  78. package/src/sap/ui/mdc/enums/TableGrowingMode.js +42 -0
  79. package/src/sap/ui/mdc/enums/TableMultiSelectMode.js +35 -0
  80. package/src/sap/ui/mdc/enums/TableP13nMode.js +54 -0
  81. package/src/sap/ui/mdc/enums/TableRowAction.js +30 -0
  82. package/src/sap/ui/mdc/enums/TableRowCountMode.js +36 -0
  83. package/src/sap/ui/mdc/enums/TableSelectionMode.js +45 -0
  84. package/src/sap/ui/mdc/enums/TableType.js +43 -0
  85. package/src/sap/ui/mdc/enums/ValueHelpPropagationReason.js +41 -0
  86. package/src/sap/ui/mdc/enums/ValueHelpSelectionType.js +46 -0
  87. package/src/sap/ui/mdc/field/ConditionType.js +120 -88
  88. package/src/sap/ui/mdc/field/ConditionsType.js +149 -44
  89. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  90. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +15 -17
  91. package/src/sap/ui/mdc/field/FieldBase.js +512 -323
  92. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +31 -114
  93. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +4 -4
  94. package/src/sap/ui/mdc/field/FieldInfoBase.js +23 -21
  95. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  96. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  97. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  98. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +8 -29
  99. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +2 -7
  100. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +2 -6
  101. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  102. package/src/sap/ui/mdc/field/TokenizerDisplay.js +2 -1
  103. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +0 -4
  104. package/src/sap/ui/mdc/field/content/BooleanContent.js +2 -2
  105. package/src/sap/ui/mdc/field/content/ContentFactory.js +47 -35
  106. package/src/sap/ui/mdc/field/content/DateContent.js +49 -43
  107. package/src/sap/ui/mdc/field/content/DateTimeContent.js +2 -2
  108. package/src/sap/ui/mdc/field/content/DefaultContent.js +8 -8
  109. package/src/sap/ui/mdc/field/content/LinkContent.js +10 -6
  110. package/src/sap/ui/mdc/field/content/SearchContent.js +4 -4
  111. package/src/sap/ui/mdc/field/content/TimeContent.js +2 -2
  112. package/src/sap/ui/mdc/field/content/UnitContent.js +19 -11
  113. package/src/sap/ui/mdc/field/splitValue.js +45 -0
  114. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +109 -218
  115. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +22 -19
  116. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +6 -7
  117. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +2 -4
  118. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +3 -7
  119. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +52 -41
  120. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +2 -4
  121. package/src/sap/ui/mdc/filterbar/p13n/FilterGroupLayout.js +1 -3
  122. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +4 -2
  123. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +14 -21
  124. package/src/sap/ui/mdc/filterbar/vh/FilterBarDelegate.js +1 -1
  125. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  126. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +2 -38
  127. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +3 -3
  128. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +11 -6
  129. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  130. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +2 -2
  131. package/src/sap/ui/mdc/flexibility/GroupFlex.js +11 -2
  132. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +25 -9
  133. package/src/sap/ui/mdc/flexibility/SortFlex.js +11 -1
  134. package/src/sap/ui/mdc/flexibility/Util.js +2 -2
  135. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +7 -4
  136. package/src/sap/ui/mdc/library.js +178 -84
  137. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  138. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  139. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  140. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  141. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  142. package/src/sap/ui/mdc/link/Factory.js +1 -1
  143. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  144. package/src/sap/ui/mdc/link/LinkItem.js +26 -5
  145. package/src/sap/ui/mdc/link/Panel.js +1 -1
  146. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  147. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  148. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  149. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  150. package/src/sap/ui/mdc/messagebundle.properties +9 -0
  151. package/src/sap/ui/mdc/messagebundle_ar.properties +7 -1
  152. package/src/sap/ui/mdc/messagebundle_bg.properties +19 -13
  153. package/src/sap/ui/mdc/messagebundle_ca.properties +6 -0
  154. package/src/sap/ui/mdc/messagebundle_cs.properties +6 -0
  155. package/src/sap/ui/mdc/messagebundle_cy.properties +6 -0
  156. package/src/sap/ui/mdc/messagebundle_da.properties +6 -0
  157. package/src/sap/ui/mdc/messagebundle_de.properties +6 -0
  158. package/src/sap/ui/mdc/messagebundle_el.properties +13 -7
  159. package/src/sap/ui/mdc/messagebundle_en.properties +6 -0
  160. package/src/sap/ui/mdc/messagebundle_en_GB.properties +6 -0
  161. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +6 -0
  162. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +6 -0
  163. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +6 -0
  164. package/src/sap/ui/mdc/messagebundle_es.properties +6 -0
  165. package/src/sap/ui/mdc/messagebundle_es_MX.properties +6 -0
  166. package/src/sap/ui/mdc/messagebundle_et.properties +6 -0
  167. package/src/sap/ui/mdc/messagebundle_fi.properties +7 -1
  168. package/src/sap/ui/mdc/messagebundle_fr.properties +6 -0
  169. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +10 -4
  170. package/src/sap/ui/mdc/messagebundle_hi.properties +6 -0
  171. package/src/sap/ui/mdc/messagebundle_hr.properties +15 -9
  172. package/src/sap/ui/mdc/messagebundle_hu.properties +8 -2
  173. package/src/sap/ui/mdc/messagebundle_id.properties +6 -0
  174. package/src/sap/ui/mdc/messagebundle_it.properties +10 -4
  175. package/src/sap/ui/mdc/messagebundle_iw.properties +6 -0
  176. package/src/sap/ui/mdc/messagebundle_ja.properties +14 -8
  177. package/src/sap/ui/mdc/messagebundle_kk.properties +16 -10
  178. package/src/sap/ui/mdc/messagebundle_ko.properties +9 -3
  179. package/src/sap/ui/mdc/messagebundle_lt.properties +6 -0
  180. package/src/sap/ui/mdc/messagebundle_lv.properties +6 -0
  181. package/src/sap/ui/mdc/messagebundle_ms.properties +9 -3
  182. package/src/sap/ui/mdc/messagebundle_nl.properties +7 -1
  183. package/src/sap/ui/mdc/messagebundle_no.properties +6 -0
  184. package/src/sap/ui/mdc/messagebundle_pl.properties +8 -2
  185. package/src/sap/ui/mdc/messagebundle_pt.properties +6 -0
  186. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +6 -0
  187. package/src/sap/ui/mdc/messagebundle_ro.properties +6 -0
  188. package/src/sap/ui/mdc/messagebundle_ru.properties +6 -0
  189. package/src/sap/ui/mdc/messagebundle_sh.properties +6 -0
  190. package/src/sap/ui/mdc/messagebundle_sk.properties +8 -2
  191. package/src/sap/ui/mdc/messagebundle_sl.properties +6 -0
  192. package/src/sap/ui/mdc/messagebundle_sv.properties +6 -0
  193. package/src/sap/ui/mdc/messagebundle_th.properties +19 -13
  194. package/src/sap/ui/mdc/messagebundle_tr.properties +6 -0
  195. package/src/sap/ui/mdc/messagebundle_uk.properties +7 -1
  196. package/src/sap/ui/mdc/messagebundle_vi.properties +6 -0
  197. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +7 -1
  198. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +6 -0
  199. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  200. package/src/sap/ui/mdc/mixin/DelegateMixin.js +33 -14
  201. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +3 -5
  202. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  203. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
  204. package/src/sap/ui/mdc/odata/TypeMap.js +155 -0
  205. package/src/sap/ui/mdc/odata/TypeUtil.js +42 -1
  206. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +17 -11
  207. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +5 -50
  208. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +1 -1
  209. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +156 -44
  210. package/src/sap/ui/mdc/odata/v4/TypeMap.js +70 -0
  211. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +2 -1
  212. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +8 -9
  213. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +380 -390
  214. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  215. package/src/sap/ui/mdc/p13n/StateUtil.js +6 -19
  216. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  217. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +43 -34
  218. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +3 -4
  219. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +1 -1
  220. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +4 -6
  221. package/src/sap/ui/mdc/table/Column.js +45 -17
  222. package/src/sap/ui/mdc/table/ColumnSettings.js +2 -5
  223. package/src/sap/ui/mdc/table/CreationRow.js +4 -6
  224. package/src/sap/ui/mdc/table/GridTableType.js +31 -115
  225. package/src/sap/ui/mdc/table/PropertyHelper.js +56 -11
  226. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +2 -5
  227. package/src/sap/ui/mdc/table/ResponsiveTableType.js +13 -84
  228. package/src/sap/ui/mdc/table/RowActionItem.js +9 -14
  229. package/src/sap/ui/mdc/table/RowSettings.js +2 -5
  230. package/src/sap/ui/mdc/table/TableSettings.js +23 -19
  231. package/src/sap/ui/mdc/table/TableTypeBase.js +43 -15
  232. package/src/sap/ui/mdc/table/TreeTableType.js +12 -32
  233. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +2 -5
  234. package/src/sap/ui/mdc/table/menu/Item.js +1 -1
  235. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +3 -3
  236. package/src/sap/ui/mdc/table/utils/Personalization.js +4 -4
  237. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +6 -6
  238. package/src/sap/ui/mdc/util/DateUtil.js +15 -11
  239. package/src/sap/ui/mdc/util/FilterUtil.js +44 -19
  240. package/src/sap/ui/mdc/util/IdentifierUtil.js +0 -1
  241. package/src/sap/ui/mdc/util/InfoBar.js +1 -2
  242. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  243. package/src/sap/ui/mdc/util/PropertyHelper.js +15 -8
  244. package/src/sap/ui/mdc/util/TypeMap.js +377 -0
  245. package/src/sap/ui/mdc/util/TypeUtil.js +35 -2
  246. package/src/sap/ui/mdc/util/mapVersions.js +225 -0
  247. package/src/sap/ui/mdc/valuehelp/Dialog.js +52 -33
  248. package/src/sap/ui/mdc/valuehelp/Popover.js +33 -35
  249. package/src/sap/ui/mdc/valuehelp/base/Container.js +193 -62
  250. package/src/sap/ui/mdc/valuehelp/base/Content.js +134 -57
  251. package/src/sap/ui/mdc/{field → valuehelp/base}/DefineConditionPanel.js +426 -197
  252. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -2
  253. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +140 -47
  254. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +11 -9
  255. package/src/sap/ui/mdc/valuehelp/content/Bool.js +11 -20
  256. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +26 -32
  257. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +14 -17
  258. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +60 -0
  259. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +194 -199
  260. package/src/sap/ui/mdc/valuehelp/content/MTable.js +48 -51
  261. package/test/sap/ui/mdc/testutils/opa/chart/AssertionsViz.js +4 -4
  262. package/test/sap/ui/mdc/testutils/opa/field/Actions.js +1 -1
  263. package/test/sap/ui/mdc/testutils/opa/field/Assertions.js +3 -3
  264. package/test/sap/ui/mdc/testutils/opa/filterfield/Actions.js +4 -2
  265. package/test/sap/ui/mdc/testutils/opa/filterfield/Assertions.js +1 -1
  266. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +41 -70
  267. package/test/sap/ui/mdc/testutils/opa/valueHelp/doWait.js +1 -1
  268. package/src/sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime.js +0 -21
  269. package/src/sap/ui/mdc/util/FormatUtil.js +0 -82
@@ -0,0 +1,225 @@
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
+ "sap/base/Log",
9
+ "sap/ui/core/Core"
10
+ ], function(
11
+ Log,
12
+ Core
13
+ ) {
14
+ "use strict";
15
+
16
+ var versionMappings = {
17
+ 1: {
18
+ // ------------------------- FilterBarDelegate, ChartDelegate & TableDelegate -------------------------
19
+ addItem: function(fnCalled, Delegate, argList) {
20
+ if (!(typeof argList[0] === "string")) {
21
+ var oControl = argList[1];
22
+ var sProp = argList[0];
23
+ argList[0] = oControl;
24
+ argList[1] = sProp;
25
+ }
26
+ return fnCalled.apply(Delegate, argList);
27
+ },
28
+ removeItem: function(fnCalled, Delegate, argList) {
29
+ var oControl = argList[1];
30
+ var sProp = argList[0];
31
+ argList[0] = oControl;
32
+ argList[1] = sProp;
33
+ return fnCalled.apply(Delegate, argList);
34
+ },
35
+ addCondition: function(fnCalled, Delegate, argList) {
36
+ return fnCalled.call(Delegate, argList[1], argList[0], argList[2]);
37
+ },
38
+ removeCondition: function(fnCalled, Delegate, argList) {
39
+ return fnCalled.call(Delegate, argList[1], argList[0], argList[2]);
40
+ },
41
+ // ------------------------------------- ValueHelpDelegate ----------------------------------------------
42
+ retrieveContent: function(fnCalled, Delegate, argList) {
43
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
44
+ return fnCalled.apply(Delegate, argList);
45
+ },
46
+ isSearchSupported: function(fnCalled, Delegate, argList) {
47
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
48
+ return fnCalled.apply(Delegate, argList);
49
+ },
50
+ showTypeahead: function(fnCalled, Delegate, argList) {
51
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
52
+ return fnCalled.apply(Delegate, argList);
53
+ },
54
+ updateBindingInfo: function(fnCalled, Delegate, argList) {
55
+ if (argList[0] && argList[0].getMetadata && argList[0].getMetadata().getName() === "sap.ui.mdc.ValueHelp") {
56
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
57
+ }
58
+ return fnCalled.apply(Delegate, argList);
59
+ },
60
+ updateBinding: function(fnCalled, Delegate, argList) {
61
+ if (argList[0] && argList[0].getMetadata && argList[0].getMetadata().getName() === "sap.ui.mdc.ValueHelp") {
62
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
63
+ }
64
+ return fnCalled.apply(Delegate, argList);
65
+ },
66
+ adjustSearch: function(fnCalled, Delegate, argList) {
67
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
68
+ return fnCalled.apply(Delegate, argList);
69
+ },
70
+ executeFilter: function(fnCalled, Delegate, argList) {
71
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
72
+ return fnCalled.apply(Delegate, argList);
73
+ },
74
+ checkListBindingPending: function(fnCalled, Delegate, argList) {
75
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
76
+ return fnCalled.apply(Delegate, argList);
77
+ },
78
+ onConditionPropagation: function(fnCalled, Delegate, argList) {
79
+ var argListNew = [
80
+ (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0],
81
+ argList[0],
82
+ argList[1],
83
+ argList[2]
84
+ ];
85
+ return fnCalled.apply(Delegate, argListNew);
86
+ },
87
+ getInitialFilterConditions: function(fnCalled, Delegate, argList) {
88
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
89
+ return fnCalled.apply(Delegate, argList);
90
+ },
91
+ isFilterableListItemSelected: function(fnCalled, Delegate, argList) {
92
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
93
+ return fnCalled.apply(Delegate, argList);
94
+ },
95
+ modifySelectionBehaviour: function(fnCalled, Delegate, argList) {
96
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
97
+ return fnCalled.apply(Delegate, argList);
98
+ },
99
+ // ------------------------------------- FieldBaseDelegate ----------------------------------------------
100
+ createConditionPayload: function(fnCalled, Delegate, argList) {
101
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
102
+ return fnCalled.apply(Delegate, argList);
103
+ },
104
+ getTypesForConditions: function(fnCalled, Delegate, argList) {
105
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
106
+ return fnCalled.apply(Delegate, argList);
107
+ },
108
+ getFilterConditions: function(fnCalled, Delegate, argList) {
109
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
110
+ return fnCalled.apply(Delegate, argList);
111
+ },
112
+ isTypeaheadSupported: function(fnCalled, Delegate, argList) {
113
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
114
+ return fnCalled.apply(Delegate, argList);
115
+ },
116
+ isInputValidationEnabled: function(fnCalled, Delegate, argList) {
117
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
118
+ return fnCalled.apply(Delegate, argList);
119
+ },
120
+ isInvalidInputAllowed: function(fnCalled, Delegate, argList) {
121
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
122
+ return fnCalled.apply(Delegate, argList);
123
+ },
124
+ getItemForValue: function(fnCalled, Delegate, argList) {
125
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
126
+ return fnCalled.apply(Delegate, argList);
127
+ },
128
+ getDescription: function(fnCalled, Delegate, argList) {
129
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
130
+ return fnCalled.apply(Delegate, argList);
131
+ }
132
+ ,
133
+ getDefaultValueHelpDelegate: function(fnCalled, Delegate, argList) {
134
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
135
+ return fnCalled.apply(Delegate, argList);
136
+ },
137
+ // ------------------------------------- LinkDelegate ----------------------------------------------
138
+ fetchLinkItems: function(fnCalled, Delegate, argList) {
139
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
140
+ return fnCalled.apply(Delegate, argList);
141
+ },
142
+ fetchLinkType: function(fnCalled, Delegate, argList) {
143
+ return fnCalled.apply(Delegate, [
144
+ argList[0].getPayload(),
145
+ argList[0]
146
+ ]);
147
+ },
148
+ fetchAdditionalContent: function(fnCalled, Delegate, argList) {
149
+ return fnCalled.apply(Delegate, [
150
+ argList[0].getPayload(),
151
+ argList[0]
152
+ ]);
153
+ },
154
+ modifyLinkItems: function(fnCalled, Delegate, argList) {
155
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
156
+ return fnCalled.apply(Delegate, argList);
157
+ },
158
+ beforeNavigationCallback: function(fnCalled, Delegate, argList) {
159
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
160
+ return fnCalled.apply(Delegate, argList);
161
+ },
162
+ // ------------------------------------- DelegateMixin ----------------------------------------------
163
+ getTypeUtil: function(fnCalled, Delegate, argList) {
164
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
165
+ return fnCalled.apply(Delegate, argList);
166
+ },
167
+ getTypeMap: function(fnCalled, Delegate, argList) {
168
+ argList[0] = (argList[0] && argList[0].getPayload) ? argList[0].getPayload() : argList[0];
169
+ return fnCalled.apply(Delegate, argList);
170
+ }
171
+ }
172
+ };
173
+
174
+ var mapVersions = function(obj) {
175
+
176
+ Object.keys(obj).forEach(function (prop) {
177
+
178
+ var apiVersion;
179
+
180
+ var bNeedOldApiVersion =
181
+ ("sap.fe.core" in Core.getLoadedLibraries()) ||
182
+ ("sap.fe.macros" in Core.getLoadedLibraries()) ||
183
+ ("sap.sac.df" in Core.getLoadedLibraries());
184
+
185
+ if (bNeedOldApiVersion && !(obj.hasOwnProperty("apiVersion"))) {
186
+ apiVersion = 1;
187
+ } else {
188
+ apiVersion = obj.apiVersion || 2;
189
+ }
190
+
191
+ if (versionMappings[apiVersion] && versionMappings[apiVersion][prop] && obj[prop] instanceof Function) {
192
+
193
+ var fnDelegateMethod = obj[prop];
194
+
195
+ if (fnDelegateMethod.__mapped) {
196
+ return obj;
197
+ }
198
+
199
+ var proxy = new Proxy(fnDelegateMethod, {
200
+ apply: function(fnCalled, Delegate, argList) {
201
+ if (apiVersion > 1) {
202
+ return fnCalled.apply(Delegate, argList);
203
+ } else {
204
+ Log.warning("Your delegate is not migrated to apiVersion 2. The first parameter of the function " +
205
+ " should always be the control instance. Please check the API documentation and adjust the delegate implementation accordingly.");
206
+ return versionMappings[apiVersion][prop](fnCalled, Delegate, argList);
207
+ }
208
+ }
209
+ });
210
+
211
+ proxy.getOriginalMethod = function() {
212
+ return fnDelegateMethod;
213
+ };
214
+
215
+ proxy.__mapped = true;
216
+ obj[prop] = proxy;
217
+ }
218
+ });
219
+
220
+ return obj;
221
+ };
222
+
223
+ return mapVersions;
224
+
225
+ });
@@ -13,7 +13,7 @@ sap.ui.define([
13
13
  'sap/m/FlexItemData',
14
14
  'sap/ui/model/resource/ResourceModel',
15
15
  'sap/ui/mdc/util/Common',
16
- 'sap/ui/mdc/enum/SelectType',
16
+ 'sap/ui/mdc/enums/ValueHelpSelectionType',
17
17
  'sap/base/strings/formatMessage',
18
18
  'sap/ui/core/library',
19
19
  'sap/ui/core/InvisibleMessage'
@@ -26,13 +26,24 @@ sap.ui.define([
26
26
  FlexItemData,
27
27
  ResourceModel,
28
28
  Common,
29
- SelectType,
29
+ ValueHelpSelectionType,
30
30
  formatMessage,
31
31
  coreLibrary,
32
32
  InvisibleMessage
33
33
  ) {
34
34
  "use strict";
35
35
 
36
+ /**
37
+ * Object to label gropus on value help dialog.
38
+ *
39
+ * @static
40
+ * @constant
41
+ * @typedef {object} sap.ui.mdc.valuehelp.content.GroupLabel
42
+ * @property {string} label Label with counter. The placeholder for counter needs to defined wihl <code>{0}</code>
43
+ * @property {string} nnLabel Label without counter
44
+ * @public
45
+ */
46
+
36
47
  // translation utils
37
48
  var oMessageBundle = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
38
49
  sap.ui.getCore().attachLocalizationChanged(function() {
@@ -50,14 +61,11 @@ sap.ui.define([
50
61
  * @param {object} [mSettings] Initial settings for the new control
51
62
  * @class Container for the {@link sap.ui.mdc.ValueHelp ValueHelp} element showing a dialog.
52
63
  * @extends sap.ui.mdc.valuehelp.base.Container
53
- * @version 1.113.0
64
+ * @version 1.115.0
54
65
  * @constructor
55
66
  * @abstract
56
- * @private
57
- * @ui5-restricted sap.fe
58
- * @MDC_PUBLIC_CANDIDATE
67
+ * @public
59
68
  * @since 1.95.0
60
- * @experimental As of version 1.95
61
69
  * @alias sap.ui.mdc.valuehelp.Dialog
62
70
  */
63
71
  var Dialog = Container.extend("sap.ui.mdc.valuehelp.Dialog", /** @lends sap.ui.mdc.valuehelp.Dialog.prototype */
@@ -85,8 +93,19 @@ sap.ui.define([
85
93
  },
86
94
  /**
87
95
  * Configuration for groups (collective search).
96
+ *
97
+ * The object needs to contain an entry for every possible group. The labels of every group need to have a structure of {@link sap.ui.mdc.valuehelp.content.GroupLabel}.
98
+ * If no configuration is provided a standard text "search and select" is used.
99
+ *
100
+ * <b>Sample:</b>
101
+ * <pre>
102
+ * {
103
+ * group1: {label: "Label 1", nnLabel: "Label 1 ({0})"},
104
+ * group2: {label: "Label 2", nnLabel: "Label 2 ({0})"}
105
+ * }
106
+ * </pre>
88
107
  */
89
- groupConfig: { // TODO: explain in JS-Doc
108
+ groupConfig: {
90
109
  type: "object",
91
110
  defaultValue: {}
92
111
  }
@@ -122,7 +141,7 @@ sap.ui.define([
122
141
 
123
142
  Dialog.prototype._handleContentSelectionChange = function (sNextId) {
124
143
  this.fireRequestDelegateContent({container: this.getId(), contentId: sNextId});
125
- return this._getRetrieveDelegateContentPromise().then(function () {
144
+ return this.getRetrieveDelegateContentPromise().then(function () {
126
145
  var sCurrentContentKey = this.getProperty("_selectedContentKey");
127
146
  var aContents = this.getContent();
128
147
  var oCurrentContent = sCurrentContentKey && aContents && aContents.find(function (oContent) {
@@ -133,7 +152,7 @@ sap.ui.define([
133
152
  oCurrentContent.setCollectiveSearchSelect(undefined); // remove collective search from Filterbar
134
153
  }
135
154
  oCurrentContent.onHide();
136
- this._unbindContent(oCurrentContent);
155
+ this.unbindContentFromContainer(oCurrentContent);
137
156
  }
138
157
  return this._renderSelectedContent(sNextId);
139
158
  }.bind(this));
@@ -149,7 +168,7 @@ sap.ui.define([
149
168
  if (oOrigin) {
150
169
  var aContent = this.getContent();
151
170
  var iIndex = aContent.indexOf(oOrigin);
152
- if (this._oIconTabBar && iIndex !== -1 && !this._bIsBeingDestroyed) {
171
+ if (this._oIconTabBar && iIndex !== -1 && !this.isDestroyStarted()) {
153
172
  // Content invalidated -> invalidate corresponding IconTabFilter
154
173
  var aItems = this._oIconTabBar.getItems();
155
174
  if (aItems[iIndex]) {
@@ -162,19 +181,19 @@ sap.ui.define([
162
181
 
163
182
  };
164
183
 
165
- Dialog.prototype._getUIAreaForContent = function() {
184
+ Dialog.prototype.getUIAreaForContent = function() {
166
185
  var oDialog = this.getAggregation("_container");
167
186
  if (oDialog) {
168
187
  return oDialog.getUIArea();
169
188
  }
170
- return Container.prototype._getUIAreaForContent.apply(this, arguments);
189
+ return Container.prototype.getUIAreaForContent.apply(this, arguments);
171
190
  };
172
191
 
173
- Dialog.prototype._handleConfirmed = function (oEvent) {
192
+ Dialog.prototype.handleConfirmed = function (oEvent) {
174
193
  this.fireConfirm({close: true});
175
194
  };
176
195
 
177
- Dialog.prototype._handleClosed = function (oEvent) {
196
+ Dialog.prototype.handleClosed = function (oEvent) {
178
197
 
179
198
  var oContent = this.getSelectedContent();
180
199
 
@@ -189,10 +208,10 @@ sap.ui.define([
189
208
  // Reset selection to initial key for retrieveContent calls before it is opened again.
190
209
  this.setProperty("_selectedContentKey", this._sInitialContentKey);
191
210
 
192
- Container.prototype._handleClosed.apply(this, arguments);
211
+ Container.prototype.handleClosed.apply(this, arguments);
193
212
  };
194
213
 
195
- Dialog.prototype._getContainer = function () {
214
+ Dialog.prototype.getContainerControl = function () {
196
215
  if (!this.getModel("$i18n")) {
197
216
  // if ResourceModel not provided from outside create own one
198
217
  this.setModel(new ResourceModel({ bundleName: "sap/ui/mdc/messagebundle", async: false }), "$i18n");
@@ -224,7 +243,7 @@ sap.ui.define([
224
243
  text: this._oResourceBundle.getText("valuehelp.OK"),
225
244
  enabled: "{$valueHelp>/_valid}",
226
245
  type: ButtonType.Emphasized,
227
- press: this._handleConfirmed.bind(this),
246
+ press: this.handleConfirmed.bind(this),
228
247
  visible: { parts: ['$valueHelp>/_config/maxConditions', '$help>/_quickSelectEnabled'], formatter: function(iMaxConditions, bQuickSelectEnabled) {
229
248
  return iMaxConditions !== 1 || !bQuickSelectEnabled;
230
249
  }}
@@ -232,7 +251,7 @@ sap.ui.define([
232
251
 
233
252
  this.oButtonCancel = new Button(this.getId() + "-cancel", {
234
253
  text: this._oResourceBundle.getText("valuehelp.CANCEL"),
235
- press: this._handleCanceled.bind(this)
254
+ press: this.handleCanceled.bind(this)
236
255
  });
237
256
 
238
257
  this._oManagedObjectModel = new ManagedObjectModel(this);
@@ -258,8 +277,8 @@ sap.ui.define([
258
277
  stretch: Device.system.phone,
259
278
  resizable: true,
260
279
  draggable: true,
261
- afterOpen: this._handleOpened.bind(this),
262
- afterClose: this._handleClosed.bind(this),
280
+ afterOpen: this.handleOpened.bind(this),
281
+ afterClose: this.handleClosed.bind(this),
263
282
  buttons: [this.oButtonOK, this.oButtonCancel]
264
283
  });
265
284
 
@@ -285,7 +304,7 @@ sap.ui.define([
285
304
  return oDialog;
286
305
  };
287
306
 
288
- Dialog.prototype._placeContent = function (oDialog) {
307
+ Dialog.prototype.placeContent = function (oDialog) {
289
308
 
290
309
  var oContentArea = oDialog.getContent()[0];
291
310
  var aSelectableContents = this.getProperty("_selectableContents");
@@ -326,17 +345,17 @@ sap.ui.define([
326
345
  });
327
346
  };
328
347
 
329
- Dialog.prototype._handleSelect = function (oEvent) {
330
- Container.prototype._handleSelect.apply(this, arguments);
348
+ Dialog.prototype.handleSelect = function (oEvent) {
349
+ Container.prototype.handleSelect.apply(this, arguments);
331
350
 
332
- if (this.getProperty("_quickSelectEnabled") && this._isSingleSelect()) {
351
+ if (this.getProperty("_quickSelectEnabled") && this.isSingleSelect()) {
333
352
  if (oEvent.getParameter("type") === "Add") {
334
353
  this.fireConfirm({close: true});
335
354
  }
336
355
  }
337
356
  };
338
357
 
339
- Dialog.prototype._observeChanges = function (oChanges) {
358
+ Dialog.prototype.observeChanges = function (oChanges) {
340
359
  if (oChanges.name === "content") {
341
360
  var aContent = this.getContent();
342
361
  this.setProperty("_quickSelectEnabled", aContent && aContent.every(function (oContent) {
@@ -364,7 +383,7 @@ sap.ui.define([
364
383
  }
365
384
  }
366
385
 
367
- Container.prototype._observeChanges.apply(this, arguments);
386
+ Container.prototype.observeChanges.apply(this, arguments);
368
387
  };
369
388
 
370
389
  Dialog.prototype._updateInitialContentKey = function () {
@@ -613,7 +632,7 @@ sap.ui.define([
613
632
  aRemovedConditions.push(aConditions[iIndex]);
614
633
  });
615
634
 
616
- this.fireSelect({type: SelectType.Remove, conditions: aRemovedConditions});
635
+ this.fireSelect({type: ValueHelpSelectionType.Remove, conditions: aRemovedConditions});
617
636
  }
618
637
 
619
638
  }.bind(this),
@@ -639,7 +658,7 @@ sap.ui.define([
639
658
 
640
659
  this.oRemoveAllBtn = new Button(this.getId() + "-TokenRemoveAll", {
641
660
  press: function(oEvent) {
642
- this.fireSelect({type: SelectType.Set, conditions: []});
661
+ this.fireSelect({type: ValueHelpSelectionType.Set, conditions: []});
643
662
 
644
663
  this.oInvisibleMessage.announce(oMessageBundle.getText("valuehelp.REMOVEALLTOKEN_ANNOUNCE"), InvisibleMessageMode.Polite);
645
664
  }.bind(this),
@@ -688,7 +707,7 @@ sap.ui.define([
688
707
  valueType: oConfig.dataType,
689
708
  operators: oConfig.operators,
690
709
  display: oConfig.display,
691
- fieldHelpID: oParent && oParent.getId(), // needed to get description for Token (if not provided)
710
+ valueHelpID: oParent && oParent.getId(), // needed to get description for Token (if not provided)
692
711
  control: oControl,
693
712
  delegate: oControl && oControl.getControlDelegate && oControl.getControlDelegate(),
694
713
  delegateName: oControl && oControl.getDelegate && oControl.getDelegate() && oControl.getDelegate().name,
@@ -716,7 +735,7 @@ sap.ui.define([
716
735
 
717
736
  }
718
737
 
719
- Dialog.prototype._open = function (oDialog) {
738
+ Dialog.prototype.openContainer = function (oDialog) {
720
739
 
721
740
  this._mAlreadyShownContents = {};
722
741
 
@@ -778,7 +797,7 @@ sap.ui.define([
778
797
  var bInitial = !this._mAlreadyShownContents[sNextContentId];
779
798
 
780
799
  return Promise.all(aNecessaryPromises).then(function () {
781
- this._bindContent(oNextContent);
800
+ this.bindContentToContainer(oNextContent);
782
801
  }.bind(this)).then(function () {
783
802
  return Promise.resolve(oNextContent.onBeforeShow(bInitial));
784
803
  }).then(function () {
@@ -809,7 +828,7 @@ sap.ui.define([
809
828
  }.bind(this));
810
829
  };
811
830
 
812
- Dialog.prototype._close = function () {
831
+ Dialog.prototype.closeContainer = function () {
813
832
  var oContainer = this.getAggregation("_container");
814
833
  if (oContainer) {
815
834
  oContainer.close();