@openui5/sap.ui.mdc 1.93.3 → 1.96.2

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 (237) hide show
  1. package/.reuse/dep5 +6 -11
  2. package/THIRDPARTY.txt +10 -16
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +236 -334
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -1
  7. package/src/sap/ui/mdc/Chart.js +150 -22
  8. package/src/sap/ui/mdc/ChartDelegateNew.js +15 -0
  9. package/src/sap/ui/mdc/ChartNew.js +107 -66
  10. package/src/sap/ui/mdc/Control.js +4 -3
  11. package/src/sap/ui/mdc/Element.js +5 -4
  12. package/src/sap/ui/mdc/Field.js +2 -2
  13. package/src/sap/ui/mdc/FilterBar.js +1 -10
  14. package/src/sap/ui/mdc/FilterField.js +28 -4
  15. package/src/sap/ui/mdc/Link.js +2 -2
  16. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  17. package/src/sap/ui/mdc/Table.js +172 -79
  18. package/src/sap/ui/mdc/TableDelegate.js +20 -3
  19. package/src/sap/ui/mdc/ValueHelp.js +1474 -0
  20. package/src/sap/ui/mdc/ValueHelpDelegate.js +147 -0
  21. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +49 -104
  22. package/src/sap/ui/mdc/chart/DimensionItem.js +3 -3
  23. package/src/sap/ui/mdc/chart/Item.js +2 -3
  24. package/src/sap/ui/mdc/chart/MeasureItem.js +2 -2
  25. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +21 -2
  26. package/src/sap/ui/mdc/chart/ToolbarHandler.js +237 -225
  27. package/src/sap/ui/mdc/chartNew/ChartSelectionDetailsNew.js +1 -1
  28. package/src/sap/ui/mdc/chartNew/ChartToolbarNew.js +14 -10
  29. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +1 -1
  30. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +12 -10
  31. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -1
  32. package/src/sap/ui/mdc/chartNew/PropertyHelperNew.js +1 -1
  33. package/src/sap/ui/mdc/condition/Condition.js +2 -2
  34. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  35. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  36. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  37. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +13 -7
  38. package/src/sap/ui/mdc/condition/Operator.js +4 -4
  39. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  40. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +43 -0
  41. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +91 -0
  42. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +20 -0
  43. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +31 -0
  44. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +5 -0
  45. package/src/sap/ui/mdc/enum/ContentMode.js +25 -4
  46. package/src/sap/ui/mdc/enum/SelectType.js +43 -0
  47. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  48. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  49. package/src/sap/ui/mdc/field/ConditionType.js +19 -4
  50. package/src/sap/ui/mdc/field/ConditionsType.js +5 -4
  51. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  52. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  53. package/src/sap/ui/mdc/field/DefineConditionPanel.js +38 -14
  54. package/src/sap/ui/mdc/field/FieldBase.js +92 -41
  55. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +9 -2
  56. package/src/sap/ui/mdc/field/FieldHelpBase.js +64 -4
  57. package/src/sap/ui/mdc/field/FieldInfoBase.js +9 -1
  58. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  59. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  60. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  61. package/src/sap/ui/mdc/field/FieldValueHelp.js +7 -1
  62. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  63. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  64. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +1 -1
  65. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +2 -2
  66. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  67. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  68. package/src/sap/ui/mdc/field/ListFieldHelp.js +3 -3
  69. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  70. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  71. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  72. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  73. package/src/sap/ui/mdc/field/content/BooleanContent.js +15 -3
  74. package/src/sap/ui/mdc/field/content/ContentFactory.js +16 -8
  75. package/src/sap/ui/mdc/field/content/DefaultContent.js +64 -23
  76. package/src/sap/ui/mdc/field/content/LinkContent.js +6 -0
  77. package/src/sap/ui/mdc/field/content/SearchContent.js +21 -3
  78. package/src/sap/ui/mdc/field/content/UnitContent.js +2 -2
  79. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +105 -44
  80. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +52 -0
  81. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +10 -51
  82. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  83. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +22 -0
  84. package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +19 -0
  85. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  86. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +57 -46
  87. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  88. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  89. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +203 -197
  90. package/src/sap/ui/mdc/library.js +588 -8
  91. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  92. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  93. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  94. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  95. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  96. package/src/sap/ui/mdc/link/Factory.js +1 -1
  97. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  98. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  99. package/src/sap/ui/mdc/link/Panel.js +1 -1
  100. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  101. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  102. package/src/sap/ui/mdc/link/SelectionDialog.js +2 -2
  103. package/src/sap/ui/mdc/link/SelectionDialogItem.js +1 -1
  104. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  105. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  106. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  107. package/src/sap/ui/mdc/messagebundle.properties +31 -5
  108. package/src/sap/ui/mdc/messagebundle_ar.properties +19 -4
  109. package/src/sap/ui/mdc/messagebundle_bg.properties +18 -3
  110. package/src/sap/ui/mdc/messagebundle_ca.properties +18 -3
  111. package/src/sap/ui/mdc/messagebundle_cs.properties +31 -16
  112. package/src/sap/ui/mdc/messagebundle_cy.properties +18 -3
  113. package/src/sap/ui/mdc/messagebundle_da.properties +18 -3
  114. package/src/sap/ui/mdc/messagebundle_de.properties +20 -5
  115. package/src/sap/ui/mdc/messagebundle_el.properties +19 -4
  116. package/src/sap/ui/mdc/messagebundle_en.properties +17 -2
  117. package/src/sap/ui/mdc/messagebundle_en_GB.properties +18 -3
  118. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +11 -3
  119. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +19 -3
  120. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +11 -2
  121. package/src/sap/ui/mdc/messagebundle_es.properties +43 -28
  122. package/src/sap/ui/mdc/messagebundle_es_MX.properties +18 -3
  123. package/src/sap/ui/mdc/messagebundle_et.properties +18 -3
  124. package/src/sap/ui/mdc/messagebundle_fi.properties +19 -4
  125. package/src/sap/ui/mdc/messagebundle_fr.properties +32 -17
  126. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +18 -3
  127. package/src/sap/ui/mdc/messagebundle_hi.properties +18 -3
  128. package/src/sap/ui/mdc/messagebundle_hr.properties +18 -3
  129. package/src/sap/ui/mdc/messagebundle_hu.properties +19 -4
  130. package/src/sap/ui/mdc/messagebundle_id.properties +19 -4
  131. package/src/sap/ui/mdc/messagebundle_it.properties +41 -26
  132. package/src/sap/ui/mdc/messagebundle_iw.properties +18 -3
  133. package/src/sap/ui/mdc/messagebundle_ja.properties +28 -13
  134. package/src/sap/ui/mdc/messagebundle_kk.properties +18 -3
  135. package/src/sap/ui/mdc/messagebundle_ko.properties +18 -3
  136. package/src/sap/ui/mdc/messagebundle_lt.properties +18 -3
  137. package/src/sap/ui/mdc/messagebundle_lv.properties +18 -3
  138. package/src/sap/ui/mdc/messagebundle_ms.properties +18 -3
  139. package/src/sap/ui/mdc/messagebundle_nl.properties +19 -4
  140. package/src/sap/ui/mdc/messagebundle_no.properties +25 -10
  141. package/src/sap/ui/mdc/messagebundle_pl.properties +22 -7
  142. package/src/sap/ui/mdc/messagebundle_pt.properties +19 -4
  143. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +18 -3
  144. package/src/sap/ui/mdc/messagebundle_ro.properties +21 -6
  145. package/src/sap/ui/mdc/messagebundle_ru.properties +18 -3
  146. package/src/sap/ui/mdc/messagebundle_sh.properties +18 -3
  147. package/src/sap/ui/mdc/messagebundle_sk.properties +19 -4
  148. package/src/sap/ui/mdc/messagebundle_sl.properties +18 -3
  149. package/src/sap/ui/mdc/messagebundle_sv.properties +19 -4
  150. package/src/sap/ui/mdc/messagebundle_th.properties +24 -9
  151. package/src/sap/ui/mdc/messagebundle_tr.properties +18 -3
  152. package/src/sap/ui/mdc/messagebundle_uk.properties +18 -3
  153. package/src/sap/ui/mdc/messagebundle_vi.properties +18 -3
  154. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +18 -3
  155. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +18 -3
  156. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  157. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
  158. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +3 -3
  159. package/src/sap/ui/mdc/mixin/PromiseMixin.js +94 -0
  160. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +1 -1
  161. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +6 -6
  162. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +37 -10
  163. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +94 -0
  164. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew.js +492 -203
  165. package/src/sap/ui/mdc/p13n/DefaultProviderRegistry.js +1 -1
  166. package/src/sap/ui/mdc/p13n/Engine.js +3 -2
  167. package/src/sap/ui/mdc/p13n/P13nBuilder.js +6 -60
  168. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  169. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  170. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +22 -24
  171. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +59 -0
  172. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +1 -2
  173. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +17 -8
  174. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -2
  175. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +1171 -0
  176. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +1 -1
  177. package/src/sap/ui/mdc/p13n/panels/GroupView.js +7 -11
  178. package/src/sap/ui/mdc/p13n/panels/ListView.js +5 -3
  179. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +16 -9
  180. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -1
  181. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -1
  182. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +1 -1
  183. package/src/sap/ui/mdc/p13n/panels/Wrapper.js +1 -1
  184. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +89 -0
  185. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +9 -6
  186. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +33 -4
  187. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +9 -15
  188. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +12 -0
  189. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +5 -12
  190. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +19 -21
  191. package/src/sap/ui/mdc/table/Column.js +35 -9
  192. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  193. package/src/sap/ui/mdc/table/GridTableType.js +0 -1
  194. package/src/sap/ui/mdc/table/PropertyHelper.js +108 -5
  195. package/src/sap/ui/mdc/table/ResponsiveTableType.js +19 -3
  196. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  197. package/src/sap/ui/mdc/table/TableTypeBase.js +0 -1
  198. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  199. package/src/sap/ui/mdc/themes/base/FilterBar.less +2 -2
  200. package/src/sap/ui/mdc/themes/base/GroupView.less +2 -2
  201. package/src/sap/ui/mdc/themes/base/ListView.less +2 -2
  202. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +56 -21
  203. package/src/sap/ui/mdc/ui/Container.js +2 -2
  204. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  205. package/src/sap/ui/mdc/util/Common.js +26 -0
  206. package/src/sap/ui/mdc/util/FilterUtil.js +12 -1
  207. package/src/sap/ui/mdc/util/IdentifierUtil.js +4 -0
  208. package/src/sap/ui/mdc/util/PromiseCache.js +266 -0
  209. package/src/sap/ui/mdc/util/PropertyHelper.js +22 -1
  210. package/src/sap/ui/mdc/valuehelp/Dialog.js +498 -0
  211. package/src/sap/ui/mdc/valuehelp/Popover.js +362 -0
  212. package/src/sap/ui/mdc/valuehelp/base/Container.js +642 -0
  213. package/src/sap/ui/mdc/valuehelp/base/Content.js +628 -0
  214. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +139 -0
  215. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +557 -0
  216. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +133 -0
  217. package/src/sap/ui/mdc/valuehelp/content/Bool.js +318 -0
  218. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +276 -0
  219. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +532 -0
  220. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +638 -0
  221. package/src/sap/ui/mdc/valuehelp/content/MTable.js +916 -0
  222. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -2
  223. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +48 -0
  224. package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsBase.js +310 -0
  225. package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsViz.js +39 -0
  226. package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsBase.js +118 -0
  227. package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsViz.js +137 -0
  228. package/test/sap/ui/mdc/testutils/opa/chartNew/ChartNew.js +24 -0
  229. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +289 -0
  230. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +250 -0
  231. package/test/sap/ui/mdc/testutils/opa/filterbar/Assertions.js +91 -0
  232. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +137 -0
  233. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +25 -0
  234. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +401 -93
  235. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +4 -1
  236. package/test/sap/ui/mdc/testutils/opa/p13n/{waitForP13nButtonWithParentAndIcon.js → waitForP13nButtonWithMatchers.js} +5 -18
  237. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +0 -1
@@ -0,0 +1,266 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define(
7
+ ["sap/ui/base/Object"],
8
+ function (BaseObject) {
9
+ "use strict";
10
+
11
+ var _checkAndPrepareAdd = function (sName) {
12
+ if (!sName) {
13
+ throw new Error("PromiseCache: Please provide an identifier!");
14
+ }
15
+ if (this._oCache && this._oCache[sName]) {
16
+ this.remove.call(this, sName);
17
+ }
18
+ };
19
+
20
+ var _findKeyForPromise = function (oPromise) {
21
+ if (typeof oPromise === "object" && this._oCache) {
22
+ for (var sKey in this._oCache) {
23
+ if (this._oCache[sKey].promise === oPromise) {
24
+ return sKey;
25
+ }
26
+ }
27
+ }
28
+ };
29
+
30
+ var _findConfigByKeyOrPromise = function (vPromise, bThrow) {
31
+ var sKey = typeof vPromise === "string" ? vPromise : _findKeyForPromise.call(this, vPromise);
32
+ var oConfig = sKey && this._oCache && this._oCache[sKey];
33
+
34
+ if (bThrow && !oConfig) {
35
+ throw new Error("PromiseCache: Promise not found!");
36
+ }
37
+
38
+ return oConfig;
39
+ };
40
+
41
+ /**
42
+ * Provides a caching mechanism for promises.
43
+ * This API features Promise cancellation: resolve or reject handlers won't be called after removal of the promise, cache destruction or manual cancellation.
44
+ * Destroying the cache will cancel all registered promises and delete references. Convenience methods for promise creation, wrapping and replacement are offered.
45
+ *
46
+ * @author SAP SE
47
+ * @version 1.96.2
48
+ * @alias sap.ui.mdc.util.PromiseCache
49
+ * @namespace
50
+ * @since 1.85.0
51
+ * @private
52
+ * @experimental
53
+ * @ui5-restricted sap.ui.mdc
54
+ */
55
+ var PromiseCache = BaseObject.extend("sap.ui.mdc.util.PromiseCache", {
56
+ /**
57
+ * Constructor.
58
+ */
59
+ constructor: function () {
60
+ this._oCache = {};
61
+ },
62
+ /**
63
+ * Adds a promise to the promise cache using a string identifier and a creation method or given <code>Promise</code>.
64
+ * Calling add using an already existing identifier will cancel and replace the existing promise.
65
+ *
66
+ * Note: All unsettled promises will be cancelled on removal or cache destruction
67
+ * A given creation method will receive the following arguments on execution:
68
+ * <ul>
69
+ * <li><code>oPromise</code> ­- The newly created Promise</li>
70
+ * <li><code>fnResolve</code> ­- Resolve method for the newly created Promise</li>
71
+ * <li><code>fnReject</code> ­- Reject method for the newly created Promise</li>
72
+ * <li><code>fnRemove</code> ­- Remove method for the newly created Promise</li>
73
+ * </ul>
74
+ *
75
+ * @protected
76
+ * @param {string} [sName] Promise identifier
77
+ * @param {function(oPromise,fnResolve,fnReject,fnRemove)|Promise} [fnCreate] creation method or pre-created promise
78
+ * @returns {Promise} Returns the newly created <code>Promise</code>
79
+ */
80
+ add: function (sName, fnCreate) {
81
+ _checkAndPrepareAdd.call(this, sName);
82
+ var oPromiseConfig = {};
83
+ this._oCache[sName] = oPromiseConfig;
84
+
85
+ oPromiseConfig.promise = new Promise(function (resolve, reject) {
86
+ oPromiseConfig.resolve = function (oResult) {
87
+ if (!oPromiseConfig._isCanceled) {
88
+ oPromiseConfig._isSettled = true;
89
+ resolve(oResult);
90
+ }
91
+ };
92
+ oPromiseConfig.reject = function (oErr) {
93
+ if (!oPromiseConfig._isCanceled) {
94
+ oPromiseConfig._isSettled = true;
95
+ reject(oErr);
96
+ }
97
+ };
98
+ });
99
+
100
+ oPromiseConfig.promise.isSettled = function () {
101
+ return !!oPromiseConfig._isSettled;
102
+ };
103
+
104
+ oPromiseConfig.promise.isCanceled = function () {
105
+ return !!oPromiseConfig._isCanceled;
106
+ };
107
+
108
+ oPromiseConfig.promise.getInternalPromise = function () {
109
+ return oPromiseConfig._promise;
110
+ };
111
+
112
+ if (fnCreate) {
113
+ var bIsCreateFunction = typeof fnCreate === "function";
114
+ var bIsCreatePromise = !bIsCreateFunction && typeof fnCreate.then === "function";
115
+
116
+ if (!bIsCreateFunction && !bIsCreatePromise) {
117
+ throw new Error("PromiseCache: fnCreate must be a promise or function");
118
+ }
119
+
120
+ var oCreateResult = bIsCreateFunction ? fnCreate() : fnCreate;
121
+ var bIsCreateResultPromise = oCreateResult && typeof oCreateResult.then === "function";
122
+
123
+ if (bIsCreateResultPromise) { // handle internal promise
124
+ oPromiseConfig._promise = oCreateResult;
125
+ oPromiseConfig._promise.then(function (vResult) {
126
+ if (!oPromiseConfig._isCanceled) {
127
+ oPromiseConfig._isSettled = true;
128
+ oPromiseConfig.resolve(vResult);
129
+ }
130
+ return vResult;
131
+ }, function (vErr) {
132
+ if (!oPromiseConfig._isCanceled) {
133
+ oPromiseConfig._isSettled = true;
134
+ oPromiseConfig.reject(vErr);
135
+ }
136
+ });
137
+ } else { // handle non-promise results
138
+ oPromiseConfig.resolve(oCreateResult);
139
+ }
140
+ }
141
+
142
+ return this._oCache[sName].promise;
143
+ },
144
+ /**
145
+ * Cancels an unsettled promise from the promise cache.
146
+ * Calling cancel twice is a no-op.
147
+ *
148
+ * @protected
149
+ * @param {string|Promise} vPromise Promise or identifier
150
+ * @returns {Promise} Returns the canceled <code>Promise</code>
151
+ */
152
+ cancel: function (vPromise) {
153
+ var oPromiseConfig = _findConfigByKeyOrPromise.call(this, vPromise, true);
154
+ if (!oPromiseConfig._isSettled) {
155
+ oPromiseConfig._isCanceled = true;
156
+ }
157
+ return oPromiseConfig.promise;
158
+ },
159
+ /**
160
+ * Retrieves an existing promise from the promise cache.
161
+ * Automatically creates and returns a new promise if <code>fnCreate</code> is given.
162
+ *
163
+ * A given creation method will receive the following arguments on execution:
164
+ * <ul>
165
+ * <li><code>oPromise</code> ­- The newly created Promise</li>
166
+ * <li><code>fnResolve</code> ­- Resolve method for the newly created Promise</li>
167
+ * <li><code>fnReject</code> ­- Reject method for the newly created Promise</li>
168
+ * <li><code>fnRemove</code> ­- Remove method for the newly created Promise</li>
169
+ * </ul>
170
+ *
171
+ * @protected
172
+ * @param {string} sName Promise identifier
173
+ * @param {function(oPromise,fnResolve,fnReject,fnRemove)|Promise} [fnCreate] creation method or pre-created promise
174
+ * @returns {Promise} Returns the newly created <code>Promise</code>
175
+ */
176
+ retrieve: function (sName, fnCreate) {
177
+ var oPromiseConfig = this._oCache && this._oCache[sName];
178
+ if (!oPromiseConfig && fnCreate) {
179
+ return this.add.apply(this, [sName, fnCreate]);
180
+ }
181
+ return oPromiseConfig && oPromiseConfig.promise;
182
+ },
183
+
184
+ /**
185
+ * Retrieves multiple promises from the promise cache
186
+ * Will return all cached promises if no arguments are given
187
+ *
188
+ * @protected
189
+ * @param {...string} sName Promise identifier(s)
190
+ * @returns {Array} Returns the retrieved promises
191
+ */
192
+ retrieveMany: function () {
193
+ var aResults = [];
194
+ var aKeys = arguments.length
195
+ ? [].slice.call(arguments)
196
+ : Object.keys(this._oCache);
197
+ for (var i = 0; i < aKeys.length; i++) {
198
+ aResults.push(this.retrieve(aKeys[i].toString()));
199
+ }
200
+ return aResults;
201
+ },
202
+ /**
203
+ * Removes an existing promise from the promise cache
204
+ *
205
+ * @protected
206
+ * @param {string|Promise} vPromise Promise or identifier
207
+ */
208
+ remove: function (vPromise) {
209
+ var sKey = typeof vPromise === "string" ? vPromise : _findKeyForPromise.call(this, vPromise);
210
+ var oConfig = sKey && this._oCache && this._oCache[sKey];
211
+ if (oConfig) {
212
+ oConfig._isCanceled = true;
213
+ delete this._oCache[sKey];
214
+ }
215
+ },
216
+ /**
217
+ * Resolves an existing promise from the promise cache
218
+ *
219
+ * @protected
220
+ * @param {string|Promise} vPromise Promise or identifier
221
+ * @param {string} [oValue] Promise result
222
+ * @returns {Promise} Returns the resolved <code>Promise</code>
223
+ */
224
+ resolve: function (vPromise, oValue) {
225
+ var oConfig = _findConfigByKeyOrPromise.call(this, vPromise, true);
226
+ oConfig.resolve(oValue);
227
+ return oConfig.promise;
228
+ },
229
+ /**
230
+ * Rejects an existing promise from the promise cache
231
+ *
232
+ * @protected
233
+ * @param {string|Promise} vPromise Promise or identifier
234
+ * @param {string} [oValue] Promise error
235
+ * @returns {Promise} Returns the rejected <code>Promise</code>
236
+ */
237
+ reject: function (vPromise, oValue) {
238
+ var oConfig = _findConfigByKeyOrPromise.call(this, vPromise, true);
239
+ oConfig.reject(oValue);
240
+ return oConfig.promise;
241
+ },
242
+ /**
243
+ * Provides cleanup functionality for the promise cache
244
+ *
245
+ * @protected
246
+ */
247
+ clear: function () {
248
+ Object.keys(this._oCache).forEach(
249
+ function (sKey) {
250
+ this.remove(sKey);
251
+ }.bind(this)
252
+ );
253
+ },
254
+ /**
255
+ * Provides cleanup functionality for the promise cache
256
+ *
257
+ * @protected
258
+ */
259
+ destroy: function () {
260
+ this.clear();
261
+ this._oCache = null;
262
+ }
263
+ });
264
+ return PromiseCache;
265
+ }
266
+ );
@@ -137,12 +137,18 @@ sap.ui.define([
137
137
  type: "object",
138
138
  allowedForComplexProperty: true
139
139
  },
140
+ visualSettings: { // This object contains all relevant properties for visual adjustments
141
+ type: "object"
142
+ },
140
143
 
141
144
  // Chart
142
145
 
143
146
  // FilterBar
144
147
  required: { // Whether there must be a filter condition for this property before firing a "search" event.
145
148
  type: "boolean"
149
+ },
150
+ hiddenFilter: { // Name of the property indicating if the filter is never to be shown on the UI.
151
+ type: "boolean"
146
152
  }
147
153
 
148
154
  // Reserved attributes
@@ -406,7 +412,7 @@ sap.ui.define([
406
412
  * @extends sap.ui.base.Object
407
413
  *
408
414
  * @author SAP SE
409
- * @version 1.93.3
415
+ * @version 1.96.2
410
416
  *
411
417
  * @private
412
418
  * @experimental
@@ -980,6 +986,21 @@ sap.ui.define([
980
986
  };
981
987
  aPropertyMethods.push("getExportSettings");
982
988
 
989
+ /**
990
+ * Gets the visual settings.
991
+ *
992
+ * @function
993
+ * @name getVisualSettings
994
+ * @param {string} sName Name of a property
995
+ * @returns {object|false|null} The visual settings
996
+ * @public
997
+ */
998
+ PropertyHelper.prototype.getVisualSettings = function(sName) {
999
+ var oProperty = this.getProperty(sName);
1000
+ return oProperty ? oProperty.visualSettings : null;
1001
+ };
1002
+ aPropertyMethods.push("getVisualSettings");
1003
+
983
1004
  /**
984
1005
  * Gets the unique name (key) of a property.
985
1006
  *