@openui5/sap.ui.mdc 1.101.0 → 1.103.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 (222) hide show
  1. package/.eslintrc.json +19 -0
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +1 -1
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +11 -0
  7. package/src/sap/ui/mdc/Chart.js +111 -55
  8. package/src/sap/ui/mdc/ChartDelegate.js +97 -92
  9. package/src/sap/ui/mdc/Control.js +1 -1
  10. package/src/sap/ui/mdc/Element.js +1 -1
  11. package/src/sap/ui/mdc/Field.js +9 -2
  12. package/src/sap/ui/mdc/FilterBar.js +1 -1
  13. package/src/sap/ui/mdc/FilterField.js +2 -2
  14. package/src/sap/ui/mdc/Link.js +4 -1
  15. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  16. package/src/sap/ui/mdc/Table.js +114 -160
  17. package/src/sap/ui/mdc/TableDelegate.js +3 -23
  18. package/src/sap/ui/mdc/ValueHelp.js +20 -32
  19. package/src/sap/ui/mdc/ValueHelpDelegate.js +9 -3
  20. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -1
  21. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -2
  22. package/src/sap/ui/mdc/chart/ChartToolbar.js +38 -3
  23. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +6 -2
  24. package/src/sap/ui/mdc/chart/Item.js +6 -11
  25. package/src/sap/ui/mdc/chart/PropertyHelper.js +7 -8
  26. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +2 -3
  27. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  28. package/src/sap/ui/mdc/condition/ConditionConverter.js +16 -131
  29. package/src/sap/ui/mdc/condition/ConditionModel.js +50 -21
  30. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  31. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +11 -11
  32. package/src/sap/ui/mdc/condition/Operator.js +85 -15
  33. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +5 -3
  34. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  35. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +6 -3
  36. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime.js +53 -0
  37. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +13 -1
  38. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +9 -4
  39. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +1 -1
  40. package/src/sap/ui/mdc/enum/PropagationReason.js +2 -2
  41. package/src/sap/ui/mdc/enum/SelectType.js +3 -0
  42. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  43. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  44. package/src/sap/ui/mdc/field/ConditionType.js +166 -52
  45. package/src/sap/ui/mdc/field/ConditionsType.js +76 -11
  46. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -2
  47. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  48. package/src/sap/ui/mdc/field/DefineConditionPanel.js +107 -99
  49. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +9 -62
  50. package/src/sap/ui/mdc/field/FieldBase.js +108 -73
  51. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +20 -1
  52. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -39
  53. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  54. package/src/sap/ui/mdc/field/FieldInput.js +2 -2
  55. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  56. package/src/sap/ui/mdc/field/FieldMultiInput.js +2 -2
  57. package/src/sap/ui/mdc/field/FieldValueHelp.js +1 -1
  58. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -19
  59. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +3 -1
  60. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +13 -1
  61. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -3
  62. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +28 -29
  63. package/src/sap/ui/mdc/field/InParameter.js +1 -4
  64. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  65. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  66. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  67. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  68. package/src/sap/ui/mdc/field/TokenDisplay.js +2 -2
  69. package/src/sap/ui/mdc/field/TokenizerDisplay.js +2 -2
  70. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -5
  71. package/src/sap/ui/mdc/field/content/ContentFactory.js +8 -0
  72. package/src/sap/ui/mdc/field/content/DateContent.js +3 -3
  73. package/src/sap/ui/mdc/field/content/DateTimeContent.js +43 -2
  74. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +4 -4
  75. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
  76. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  77. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +21 -1
  78. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  79. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +80 -4
  80. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +19 -38
  81. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  82. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +23 -41
  83. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +43 -58
  84. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  85. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  86. package/src/sap/ui/mdc/flexibility/GroupFlex.js +25 -55
  87. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +21 -42
  88. package/src/sap/ui/mdc/flexibility/SortFlex.js +23 -52
  89. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +3 -3
  90. package/src/sap/ui/mdc/flexibility/Util.js +82 -0
  91. package/src/sap/ui/mdc/flexibility/xConfigFlex.js +137 -0
  92. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +3 -1
  93. package/src/sap/ui/mdc/library.js +6 -17
  94. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  95. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  96. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  97. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  98. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  99. package/src/sap/ui/mdc/link/ContactDetailsRenderer.js +1 -1
  100. package/src/sap/ui/mdc/link/Factory.js +1 -1
  101. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  102. package/src/sap/ui/mdc/link/LinkItem.js +9 -1
  103. package/src/sap/ui/mdc/link/Panel.js +25 -13
  104. package/src/sap/ui/mdc/link/PanelItem.js +10 -1
  105. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  106. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  107. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  108. package/src/sap/ui/mdc/messagebundle.properties +13 -1
  109. package/src/sap/ui/mdc/messagebundle_ar.properties +11 -3
  110. package/src/sap/ui/mdc/messagebundle_bg.properties +9 -1
  111. package/src/sap/ui/mdc/messagebundle_ca.properties +9 -1
  112. package/src/sap/ui/mdc/messagebundle_cs.properties +9 -1
  113. package/src/sap/ui/mdc/messagebundle_cy.properties +9 -1
  114. package/src/sap/ui/mdc/messagebundle_da.properties +9 -1
  115. package/src/sap/ui/mdc/messagebundle_de.properties +9 -1
  116. package/src/sap/ui/mdc/messagebundle_el.properties +20 -12
  117. package/src/sap/ui/mdc/messagebundle_en.properties +9 -1
  118. package/src/sap/ui/mdc/messagebundle_en_GB.properties +9 -1
  119. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +9 -1
  120. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +8 -0
  121. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +8 -0
  122. package/src/sap/ui/mdc/messagebundle_es.properties +15 -7
  123. package/src/sap/ui/mdc/messagebundle_es_MX.properties +9 -1
  124. package/src/sap/ui/mdc/messagebundle_et.properties +9 -1
  125. package/src/sap/ui/mdc/messagebundle_fi.properties +9 -1
  126. package/src/sap/ui/mdc/messagebundle_fr.properties +10 -2
  127. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +9 -1
  128. package/src/sap/ui/mdc/messagebundle_hi.properties +9 -1
  129. package/src/sap/ui/mdc/messagebundle_hr.properties +9 -1
  130. package/src/sap/ui/mdc/messagebundle_hu.properties +9 -1
  131. package/src/sap/ui/mdc/messagebundle_id.properties +9 -1
  132. package/src/sap/ui/mdc/messagebundle_it.properties +10 -2
  133. package/src/sap/ui/mdc/messagebundle_iw.properties +10 -2
  134. package/src/sap/ui/mdc/messagebundle_ja.properties +9 -1
  135. package/src/sap/ui/mdc/messagebundle_kk.properties +9 -1
  136. package/src/sap/ui/mdc/messagebundle_ko.properties +11 -3
  137. package/src/sap/ui/mdc/messagebundle_lt.properties +9 -1
  138. package/src/sap/ui/mdc/messagebundle_lv.properties +9 -1
  139. package/src/sap/ui/mdc/messagebundle_ms.properties +9 -1
  140. package/src/sap/ui/mdc/messagebundle_nl.properties +23 -15
  141. package/src/sap/ui/mdc/messagebundle_no.properties +9 -1
  142. package/src/sap/ui/mdc/messagebundle_pl.properties +9 -1
  143. package/src/sap/ui/mdc/messagebundle_pt.properties +18 -10
  144. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +9 -1
  145. package/src/sap/ui/mdc/messagebundle_ro.properties +9 -1
  146. package/src/sap/ui/mdc/messagebundle_ru.properties +9 -1
  147. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -2
  148. package/src/sap/ui/mdc/messagebundle_sk.properties +9 -1
  149. package/src/sap/ui/mdc/messagebundle_sl.properties +9 -1
  150. package/src/sap/ui/mdc/messagebundle_sv.properties +9 -1
  151. package/src/sap/ui/mdc/messagebundle_th.properties +9 -1
  152. package/src/sap/ui/mdc/messagebundle_tr.properties +11 -3
  153. package/src/sap/ui/mdc/messagebundle_uk.properties +9 -1
  154. package/src/sap/ui/mdc/messagebundle_vi.properties +9 -1
  155. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +9 -1
  156. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +10 -2
  157. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  158. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  159. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  160. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  161. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +4 -4
  162. package/src/sap/ui/mdc/odata/TypeUtil.js +25 -2
  163. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +5 -5
  164. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +6 -0
  165. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +6 -6
  166. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +0 -33
  167. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +378 -154
  168. package/src/sap/ui/mdc/p13n/Engine.js +8 -4
  169. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +1 -0
  170. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  171. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  172. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +14 -11
  173. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +133 -0
  174. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +41 -42
  175. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -0
  176. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +12 -4
  177. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +1 -1
  178. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  179. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +22 -27
  180. package/src/sap/ui/mdc/table/Column.js +4 -1
  181. package/src/sap/ui/mdc/table/CreationRow.js +3 -1
  182. package/src/sap/ui/mdc/table/GridTableType.js +0 -5
  183. package/src/sap/ui/mdc/table/PropertyHelper.js +27 -74
  184. package/src/sap/ui/mdc/table/ResponsiveTableType.js +29 -17
  185. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  186. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  187. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  188. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +3 -3
  189. package/src/sap/ui/mdc/themes/base/Chart.less +5 -0
  190. package/src/sap/ui/mdc/themes/base/InfoPanel.less +1 -0
  191. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +5 -0
  192. package/src/sap/ui/mdc/util/DateUtil.js +30 -5
  193. package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
  194. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  195. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  196. package/src/sap/ui/mdc/util/TypeUtil.js +105 -17
  197. package/src/sap/ui/mdc/valuehelp/Dialog.js +148 -48
  198. package/src/sap/ui/mdc/valuehelp/Popover.js +16 -3
  199. package/src/sap/ui/mdc/valuehelp/base/Container.js +45 -32
  200. package/src/sap/ui/mdc/valuehelp/base/Content.js +60 -28
  201. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +5 -5
  202. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +75 -32
  203. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +3 -3
  204. package/src/sap/ui/mdc/valuehelp/content/Bool.js +4 -4
  205. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +11 -3
  206. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  207. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +7 -3
  208. package/src/sap/ui/mdc/valuehelp/content/MTable.js +9 -3
  209. package/test/sap/ui/mdc/testutils/opa/chart/ActionsBase.js +48 -2
  210. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +3 -3
  211. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +3 -3
  212. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +55 -4
  213. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +2 -2
  214. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +53 -12
  215. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +6 -6
  216. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +121 -202
  217. package/test/sap/ui/mdc/testutils/opa/p13n/waitForSelectWithSelectedTextOnPanel.js +5 -2
  218. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +70 -0
  219. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +9 -7
  220. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +2 -2
  221. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +0 -139
  222. package/src/sap/ui/mdc/valuehelp/content/ListCollection.js +0 -205
@@ -4,8 +4,8 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/ui/fl/changeHandler/Base", "sap/ui/mdc/p13n/Engine", "sap/base/Log"
8
- ], function(FLBase, Engine, Log) {
7
+ "sap/ui/mdc/p13n/Engine", "sap/base/Log", "sap/ui/mdc/flexibility/Util"
8
+ ], function(Engine, Log, Util) {
9
9
  "use strict";
10
10
 
11
11
  var ItemBaseFlex = {
@@ -155,7 +155,8 @@ sap.ui.define([
155
155
  }
156
156
  },
157
157
 
158
- _applyAdd: function(oChange, oControl, mPropertyBag, bIsRevert) {
158
+ _applyAdd: function(oChange, oControl, mPropertyBag, sChangeReason) {
159
+ var bIsRevert = (sChangeReason === Util.REVERT);
159
160
  this.beforeApply(oChange.getChangeType(), oControl, bIsRevert);
160
161
  if (this._bSupressFlickering) {
161
162
  this._delayInvalidate(oControl);
@@ -235,7 +236,8 @@ sap.ui.define([
235
236
 
236
237
  },
237
238
 
238
- _applyRemove: function(oChange, oControl, mPropertyBag, bIsRevert) {
239
+ _applyRemove: function(oChange, oControl, mPropertyBag, sChangeReason) {
240
+ var bIsRevert = (sChangeReason === Util.REVERT);
239
241
  this.beforeApply(oChange.getChangeType(), oControl, bIsRevert);
240
242
  if (this._bSupressFlickering) {
241
243
  this._delayInvalidate(oControl);
@@ -311,7 +313,8 @@ sap.ui.define([
311
313
 
312
314
  },
313
315
 
314
- _applyMove: function(oChange, oControl, mPropertyBag, bIsRevert) {
316
+ _applyMove: function(oChange, oControl, mPropertyBag, sChangeReason) {
317
+ var bIsRevert = (sChangeReason === Util.REVERT);
315
318
  this.beforeApply(oChange.getChangeType(), oControl, bIsRevert);
316
319
  if (this._bSupressFlickering) {
317
320
  this._delayInvalidate(oControl);
@@ -378,50 +381,26 @@ sap.ui.define([
378
381
 
379
382
  /******************************* Public methods *************************************/
380
383
 
381
- createChangeHandler: function(fApply, fComplete, fRevert) {
382
- return {
383
- "changeHandler": {
384
- applyChange: function(oChange, oControl, mPropertyBag) {
385
- return fApply(oChange, oControl, mPropertyBag);
386
- },
387
- completeChangeContent: function(oChange, mChangeSpecificInfo, mPropertyBag) {
388
- fComplete(oChange, mChangeSpecificInfo, mPropertyBag);
389
- },
390
- revertChange: function(oChange, oControl, mPropertyBag) {
391
- return fRevert(oChange, oControl, mPropertyBag, true);
392
- }
393
- },
394
- "layers": {
395
- "USER": true
396
- }
397
- };
398
- },
399
-
400
384
  createAddChangeHandler: function() {
401
-
402
- var fApply = this._applyAdd.bind(this);
403
- var fComplete = function() { };
404
- var fRevert = this._applyRemove.bind(this);
405
-
406
- return this.createChangeHandler(fApply, fComplete, fRevert);
385
+ return Util.createChangeHandler({
386
+ apply: this._applyAdd.bind(this),
387
+ revert: this._applyRemove.bind(this)
388
+ });
407
389
  },
408
390
 
409
391
  createRemoveChangeHandler: function() {
410
-
411
- var fApply = this._applyRemove.bind(this);
412
- var fComplete = this._removeIndexFromChange.bind(this);
413
- var fRevert = this._applyAdd.bind(this);
414
-
415
- return this.createChangeHandler(fApply, fComplete, fRevert);
392
+ return Util.createChangeHandler({
393
+ apply: this._applyRemove.bind(this),
394
+ complete: this._removeIndexFromChange.bind(this),
395
+ revert: this._applyAdd.bind(this)
396
+ });
416
397
  },
417
398
 
418
399
  createMoveChangeHandler: function() {
419
-
420
- var fApply = this._applyMove.bind(this);
421
- var fComplete = function() { };
422
- var fRevert = fApply;
423
-
424
- return this.createChangeHandler(fApply, fComplete, fRevert);
400
+ return Util.createChangeHandler({
401
+ apply: this._applyMove.bind(this),
402
+ revert: this._applyMove.bind(this)
403
+ });
425
404
  }
426
405
 
427
406
  };
@@ -3,7 +3,10 @@
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
- sap.ui.define(["sap/ui/mdc/p13n/Engine"], function(Engine) {
6
+ sap.ui.define([
7
+ "sap/ui/mdc/p13n/Engine",
8
+ "sap/ui/mdc/flexibility/Util"
9
+ ], function(Engine, Util) {
7
10
  "use strict";
8
11
  var fRebindControl = function(oControl) {
9
12
  var bExecuteRebindForTable = oControl && oControl.isA && oControl.isA("sap.ui.mdc.Table") && oControl.isTableBound();
@@ -36,8 +39,9 @@ sap.ui.define(["sap/ui/mdc/p13n/Engine"], function(Engine) {
36
39
  fRebindControl(oControl);
37
40
  };
38
41
 
39
- var fAddSort = function(oChange, oControl, mPropertyBag, bIsRevert) {
42
+ var fAddSort = function(oChange, oControl, mPropertyBag, sChangeReason) {
40
43
  return new Promise(function(resolve, reject) {
44
+ var bIsRevert = (sChangeReason === Util.REVERT);
41
45
  var oModifier = mPropertyBag.modifier;
42
46
  var oChangeContent = bIsRevert ? oChange.getRevertData() : oChange.getContent();
43
47
  Promise.resolve()
@@ -66,9 +70,10 @@ sap.ui.define(["sap/ui/mdc/p13n/Engine"], function(Engine) {
66
70
  });
67
71
  };
68
72
 
69
- var fRemoveSort = function(oChange, oControl, mPropertyBag, bIsRevert) {
73
+ var fRemoveSort = function(oChange, oControl, mPropertyBag, sChangeReason) {
70
74
  return new Promise(function(resolve, reject) {
71
75
  var oModifier = mPropertyBag.modifier;
76
+ var bIsRevert = (sChangeReason === Util.REVERT);
72
77
  var oChangeContent = bIsRevert ? oChange.getRevertData() : oChange.getContent();
73
78
  Promise.resolve()
74
79
  .then(oModifier.getProperty.bind(oModifier, oControl, "sortConditions"))
@@ -101,8 +106,9 @@ sap.ui.define(["sap/ui/mdc/p13n/Engine"], function(Engine) {
101
106
  });
102
107
  };
103
108
 
104
- var fMoveSort = function(oChange, oControl, mPropertyBag, bIsRevert) {
109
+ var fMoveSort = function(oChange, oControl, mPropertyBag, sChangeReason) {
105
110
  return new Promise(function(resolve, reject) {
111
+ var bIsRevert = (sChangeReason === Util.REVERT);
106
112
  var oModifier = mPropertyBag.modifier;
107
113
  var oChangeContent = bIsRevert ? oChange.getRevertData() : oChange.getContent();
108
114
  Promise.resolve()
@@ -134,55 +140,20 @@ sap.ui.define(["sap/ui/mdc/p13n/Engine"], function(Engine) {
134
140
  };
135
141
 
136
142
  var Sort = {};
137
- Sort.removeSort = {
138
- "changeHandler": {
139
- applyChange: function(oChange, oControl, mPropertyBag) {
140
- return fRemoveSort(oChange, oControl, mPropertyBag, false);
141
- },
142
- completeChangeContent: function(oChange, mChangeSpecificInfo, mPropertyBag) {
143
- // Not used, but needs to be there
144
- },
145
- revertChange: function(oChange, oControl, mPropertyBag) {
146
- return fAddSort(oChange, oControl, mPropertyBag, true);
147
- }
148
- },
149
- "layers": {
150
- "USER": true
151
- }
152
- };
143
+ Sort.removeSort = Util.createChangeHandler({
144
+ apply: fRemoveSort,
145
+ revert: fAddSort
146
+ });
153
147
 
154
- Sort.addSort = {
155
- "changeHandler": {
156
- applyChange: function(oChange, oControl, mPropertyBag) {
157
- return fAddSort(oChange, oControl, mPropertyBag, false);
158
- },
159
- completeChangeContent: function(oChange, mChangeSpecificInfo, mPropertyBag) {
160
- // Not used, but needs to be there
161
- },
162
- revertChange: function(oChange, oControl, mPropertyBag) {
163
- return fRemoveSort(oChange, oControl, mPropertyBag, true);
164
- }
165
- },
166
- "layers": {
167
- "USER": true
168
- }
169
- };
148
+ Sort.addSort = Util.createChangeHandler({
149
+ apply: fAddSort,
150
+ revert: fRemoveSort
151
+ });
152
+
153
+ Sort.moveSort = Util.createChangeHandler({
154
+ apply: fMoveSort,
155
+ revert: fMoveSort
156
+ });
170
157
 
171
- Sort.moveSort = {
172
- "changeHandler": {
173
- applyChange: function(oChange, oControl, mPropertyBag) {
174
- return fMoveSort(oChange, oControl, mPropertyBag);
175
- },
176
- completeChangeContent: function(oChange, mChangeSpecificInfo, mPropertyBag) {
177
- // Not used, but needs to be there
178
- },
179
- revertChange: function(oChange, oControl, mPropertyBag) {
180
- return fMoveSort(oChange, oControl, mPropertyBag, true);
181
- }
182
- },
183
- "layers": {
184
- "USER": true
185
- }
186
- };
187
158
  return Sort;
188
159
  });
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- './SortFlex', './ColumnFlex', './ConditionFlex', './GroupFlex', './AggregateFlex', './AggregationConfigFlex'
9
- ], function(SortFlex, ColumnFlex, ConditionFlex, GroupFlex, AggregateFlex, AggregationConfigFlex) {
8
+ './SortFlex', './ColumnFlex', './ConditionFlex', './GroupFlex', './AggregateFlex', './xConfigFlex'
9
+ ], function(SortFlex, ColumnFlex, ConditionFlex, GroupFlex, AggregateFlex, xConfigFlex) {
10
10
  "use strict";
11
11
 
12
12
  return {
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  moveGroup: GroupFlex.moveGroup,
26
26
  removeAggregate: AggregateFlex.removeAggregate,
27
27
  addAggregate: AggregateFlex.addAggregate,
28
- setColumnWidth: AggregationConfigFlex.createSetChangeHandler({
28
+ setColumnWidth: xConfigFlex.createSetChangeHandler({
29
29
  aggregation: "columns",
30
30
  property: "width"
31
31
  })
@@ -0,0 +1,82 @@
1
+ /*
2
+ * ! OpenUI5
3
+ * (c) Copyright 2009-2022 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/mdc/util/loadModules"
8
+ ], function(loadModules) {
9
+ "use strict";
10
+
11
+ /**
12
+ * Utility functionality for mdc flexibility changehandlers.
13
+ *
14
+ * @author SAP SE
15
+ * @namespace
16
+ * @alias module:sap/ui/mdc/flexibility/Util
17
+ * @since 1.101
18
+ * @private
19
+ */
20
+ var Util = {};
21
+
22
+ Util.APPLY = "apply";
23
+ Util.REVERT = "revert";
24
+
25
+ /**
26
+ * Creates a changehandler object for mdc controls.
27
+ * The changehandler will also call the <code>onAfterXMLChangeProcessing</code> hook on the control's delegate
28
+ * in case it's available.
29
+ *
30
+ * @param {object} mSettings An object defining the changehandler settings
31
+ * @param {function} mSettings.apply The changehandler applyChange function
32
+ * @param {function} mSettings.revert The changehandler applyChange function
33
+ * @param {function} [mSettings.complete] The changehandler applyChange function
34
+ *
35
+ * @returns {object} A Changehandler object
36
+ */
37
+ Util.createChangeHandler = function(mSettings) {
38
+
39
+ var fApply = mSettings.apply instanceof Function && mSettings.apply;
40
+ var fRevert = mSettings.revert instanceof Function && mSettings.revert;
41
+ var fComplete = mSettings.complete instanceof Function && mSettings.complete;
42
+
43
+ if (!fApply || !fRevert) {
44
+ throw new Error("Please provide atleast an apply and revert function!");
45
+ }
46
+
47
+ return {
48
+ "changeHandler": {
49
+ applyChange: function(oChange, oControl, mPropertyBag) {
50
+ return fApply(oChange, oControl, mPropertyBag, Util.APPLY);
51
+ },
52
+ completeChangeContent: function(oChange, mChangeSpecificInfo, mPropertyBag) {
53
+ if (fComplete) {
54
+ fComplete(oChange, mChangeSpecificInfo, mPropertyBag);
55
+ }
56
+ },
57
+ revertChange: function(oChange, oControl, mPropertyBag) {
58
+ return fRevert(oChange, oControl, mPropertyBag, Util.REVERT);
59
+ },
60
+ onAfterXMLChangeProcessing: function(oControl, mPropertyBag) {
61
+ mPropertyBag.modifier.getProperty(oControl, "delegate")
62
+ .then(function(oDelegate){
63
+ loadModules(oDelegate.name)
64
+ .then(function(aModules){
65
+ var oDelegate = aModules[0];
66
+
67
+ if (oDelegate.onAfterXMLChangeProcessing instanceof Function) {
68
+ oDelegate.onAfterXMLChangeProcessing(oControl, mPropertyBag);
69
+ }
70
+
71
+ });
72
+ });
73
+ }
74
+ },
75
+ "layers": {
76
+ "USER": true
77
+ }
78
+ };
79
+ };
80
+
81
+ return Util;
82
+ });
@@ -0,0 +1,137 @@
1
+ /*
2
+ * ! OpenUI5
3
+ * (c) Copyright 2009-2022 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/ui/mdc/p13n/Engine',
9
+ 'sap/ui/mdc/flexibility/Util'
10
+ ], function(Engine, Util) {
11
+ "use strict";
12
+
13
+ /**
14
+ * @class Utility class for generic mdc xConfig handling by utilizing the
15
+ * <code>sap.ui.mdc.p13n.Engine</code> and its <code>Modificationhandler</code>.
16
+ * This class should be used to handle property changes that should be persisted
17
+ * as flex changes for MDC control while enabling preprocessing via customdata.
18
+ *
19
+ * @author SAP SE
20
+ * @private
21
+ * @alias sap.ui.mdc.flexibility.xConfigFlex
22
+ */
23
+ var xConfigFlex = {};
24
+
25
+ var fConfigModified = function(oControl) {
26
+ if (!oControl._bWaitForModificationChanges && oControl.isA) {
27
+ oControl._bWaitForModificationChanges = true;
28
+ Engine.getInstance().waitForChanges(oControl).then(function() {
29
+ if (oControl._onModifications instanceof Function) {
30
+ oControl._onModifications();
31
+ }
32
+ delete oControl._bWaitForModificationChanges;
33
+ });
34
+ }
35
+ };
36
+
37
+ var fnQueueChange = function(oControl, fTask) {
38
+ var fCleanupPromiseQueue = function(pOriginalPromise) {
39
+ if (oControl._pQueue === pOriginalPromise){
40
+ delete oControl._pQueue;
41
+ }
42
+ };
43
+
44
+ oControl._pQueue = oControl._pQueue instanceof Promise ? oControl._pQueue.then(fTask) : fTask();
45
+ oControl._pQueue.then(fCleanupPromiseQueue.bind(null, oControl._pQueue));
46
+
47
+ return oControl._pQueue;
48
+ };
49
+
50
+ /**
51
+ * Creates a changehandler specific to the provided aggregation and property name,
52
+ * to enhance the xConfig object for a given mdc control instance.
53
+ *
54
+ * The enhanced object can be accesed using <code>Engine#readAggregationConfig</code>.
55
+ *
56
+ * @param {object} mMetaConfig A map describing the metadata structure that is affected by this changehandler
57
+ * @param {object} mMetaConfig.aggregation The aggregation name (such as <code>columns</code> or <code>filterItemes</code>)
58
+ * @param {object} mMetaConfig.property The property name (such as <code>width</code> or <code>label</code>)
59
+ *
60
+ * @returns {object} The created changehandler object
61
+ */
62
+ xConfigFlex.createSetChangeHandler = function(mMetaConfig) {
63
+
64
+ if (!mMetaConfig || !mMetaConfig.hasOwnProperty("aggregation") || !mMetaConfig.hasOwnProperty("property")) {
65
+ throw new Error("Please provide a map containing the affected aggregation and property name!");
66
+ }
67
+
68
+ var sAffectedAggregation = mMetaConfig.aggregation;
69
+ var sAffectedProperty = mMetaConfig.property;
70
+
71
+ var fApply = function (oChange, oControl, mPropertyBag) {
72
+
73
+ return fnQueueChange(oControl, function(){
74
+ return Engine.getInstance().readXConfig(oControl, {
75
+ propertyBag: mPropertyBag
76
+ })
77
+ .then(function(oPriorAggregationConfig) {
78
+ var sOldValue = null;
79
+
80
+ if (oPriorAggregationConfig
81
+ && oPriorAggregationConfig.aggregations
82
+ && oPriorAggregationConfig.aggregations[sAffectedAggregation]
83
+ && oPriorAggregationConfig.aggregations[sAffectedAggregation][oChange.getContent().name]
84
+ && oPriorAggregationConfig.aggregations[sAffectedAggregation][oChange.getContent().name][sAffectedProperty]
85
+ ){
86
+ sOldValue = oPriorAggregationConfig.aggregations[sAffectedAggregation][oChange.getContent().name][sAffectedProperty];
87
+ }
88
+
89
+ oChange.setRevertData({
90
+ name: oChange.getContent().name,
91
+ value: sOldValue
92
+ });
93
+
94
+ return Engine.getInstance().enhanceXConfig(oControl, {
95
+ controlMeta: {
96
+ aggregation: sAffectedAggregation,
97
+ property: sAffectedProperty
98
+ },
99
+ name: oChange.getContent().name,
100
+ value: oChange.getContent().value,
101
+ propertyBag: mPropertyBag
102
+ });
103
+ })
104
+ .then(function() {
105
+ fConfigModified(oControl);
106
+ });
107
+
108
+ });
109
+
110
+ };
111
+
112
+ var fRevert = function (oChange, oControl, mPropertyBag) {
113
+ return Engine.getInstance().enhanceXConfig(oControl, {
114
+ controlMeta: {
115
+ aggregation: sAffectedAggregation,
116
+ property: sAffectedProperty
117
+ },
118
+ name: oChange.getRevertData().name,
119
+ value: oChange.getRevertData().value,
120
+ propertyBag: mPropertyBag
121
+ })
122
+ .then(function() {
123
+ oChange.resetRevertData();
124
+ fConfigModified(oControl);
125
+ });
126
+ };
127
+
128
+ return Util.createChangeHandler({
129
+ apply: fApply,
130
+ revert: fRevert
131
+ });
132
+
133
+ };
134
+
135
+ return xConfigFlex;
136
+
137
+ });
@@ -304,7 +304,8 @@ sap.ui.define([
304
304
  // multiple contexts (~XXXX in hash) they will all be skipped
305
305
  oNavigationTargets.ownNavigation = new LinkItem({
306
306
  href: sHref,
307
- text: oLink.text
307
+ text: oLink.text,
308
+ internalHref: oLink.intent
308
309
  });
309
310
  return;
310
311
  }
@@ -314,6 +315,7 @@ sap.ui.define([
314
315
  text: oLink.text,
315
316
  description: undefined,
316
317
  href: sHref,
318
+ internalHref: oLink.intent,
317
319
  // target: not supported yet
318
320
  icon: undefined, //oLink.icon,
319
321
  initiallyVisible: (oLink.tags && oLink.tags.indexOf("superiorAction") > -1)
@@ -23,14 +23,14 @@
23
23
  * @namespace
24
24
  * @alias sap.ui.mdc
25
25
  * @author SAP SE
26
- * @version 1.101.0
26
+ * @version 1.103.0
27
27
  * @since 1.80
28
28
  * @private
29
29
  * @ui5-restricted sap.fe
30
30
  * @experimental As of version 1.54 Disclaimer: Usage Restrictions: The components of this library are under development and documented as private. Their APIs are subject to change and should not be used in productive scenarios without further agreement. A general availability of sap.ui.mdc will be announced via the usual channels.
31
31
  */
32
32
  var thisLib = sap.ui.getCore().initLibrary({
33
- version: "1.101.0",
33
+ version: "1.103.0",
34
34
  name: "sap.ui.mdc",
35
35
  dependencies: ["sap.ui.core", "sap.m"],
36
36
  designtime: "sap/ui/mdc/designtime/library.designtime",
@@ -38,9 +38,9 @@
38
38
  "sap.ui.mdc.TableType",
39
39
  "sap.ui.mdc.TableP13Mode",
40
40
  "sap.ui.mdc.GrowingMode",
41
+ "sap.ui.mdc.RowAction",
41
42
  "sap.ui.mdc.RowCountMode",
42
43
  "sap.ui.mdc.SelectionMode",
43
- "sap.ui.mdc.TableRowAction",
44
44
  "sap.ui.mdc.FilterExpression",
45
45
  "sap.ui.mdc.MultiSelectMode"
46
46
  ],
@@ -251,7 +251,6 @@
251
251
  *
252
252
  * @private
253
253
  * @ui5-restricted sap.ui.mdc.valuehelp.ITypeaheadContainer
254
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
255
254
  */
256
255
 
257
256
 
@@ -263,7 +262,7 @@
263
262
  * @param {sap.ui.base.Event} oControlEvent
264
263
  * @param {sap.ui.base.EventProvider} oControlEvent.getSource
265
264
  * @param {object} oControlEvent.getParameters
266
- * @param {boolean} oControlEvent.getParameters.bLeaveFocus Indicates that the source control should be focused again
265
+ * @param {boolean} oControlEvent.getParameters.leaveFocus Indicates that the source control should be focused again
267
266
  * @param {object} oControlEvent.getParameters.condition Provides the target condition of the navigation
268
267
  * @param {string} oControlEvent.getParameters.value When no condition is given this can be used to create a default condition
269
268
  * @param {string} oControlEvent.getParameters.key When no condition is given this can be used to create a default condition
@@ -284,7 +283,6 @@
284
283
  * @method
285
284
  * @private
286
285
  * @ui5-restricted sap.ui.mdc.valuehelp.ITypeaheadContainer
287
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
288
286
  */
289
287
 
290
288
  /**
@@ -296,7 +294,6 @@
296
294
  *
297
295
  * @private
298
296
  * @ui5-restricted sap.ui.mdc.valuehelp.ITypeaheadContainer
299
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
300
297
  */
301
298
 
302
299
  /**
@@ -307,7 +304,6 @@
307
304
  * @returns {boolean} True if value help shall open as valuehelp
308
305
  * @private
309
306
  * @ui5-restricted sap.ui.mdc.valuehelp.ITypeaheadContainer
310
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
311
307
  */
312
308
 
313
309
  /**
@@ -316,11 +312,10 @@
316
312
  * @method
317
313
  * @private
318
314
  * @ui5-restricted sap.ui.mdc.valuehelp.ITypeaheadContainer
319
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
320
315
  */
321
316
 
322
317
 
323
- /**
318
+ /**
324
319
  *
325
320
  * Interface for valuehelp containers
326
321
  *
@@ -442,7 +437,6 @@
442
437
  *
443
438
  * @private
444
439
  * @ui5-restricted sap.ui.mdc.ValueHelp
445
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
446
440
  */
447
441
 
448
442
 
@@ -475,8 +469,7 @@
475
469
  * @method
476
470
  * @private
477
471
  * @ui5-restricted sap.ui.mdc.ValueHelp
478
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
479
- */
472
+ */
480
473
 
481
474
  /**
482
475
  * Defines if the typeahead can be used for input validation.
@@ -487,7 +480,6 @@
487
480
  *
488
481
  * @private
489
482
  * @ui5-restricted sap.ui.mdc.ValueHelp
490
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
491
483
  */
492
484
 
493
485
  /**
@@ -498,7 +490,6 @@
498
490
  * @returns {boolean} True if value help shall open as valuehelp
499
491
  * @private
500
492
  * @ui5-restricted sap.ui.mdc.ValueHelp
501
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
502
493
  */
503
494
 
504
495
  /**
@@ -507,7 +498,6 @@
507
498
  * @method
508
499
  * @private
509
500
  * @ui5-restricted sap.ui.mdc.ValueHelp
510
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
511
501
  */
512
502
 
513
503
 
@@ -720,7 +710,6 @@
720
710
  * @since 1.80
721
711
  * @public
722
712
  * @function
723
- * @ui5-metamodel This interface also will be described in the UI5 (legacy) designtime metamodel
724
713
  */
725
714
 
726
715
  /**
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @class The ContactDetails control is used to show additional information like for example 'contact details'.
26
26
  * @extends sap.ui.core.Control
27
27
  * @author SAP SE
28
- * @version 1.101.0
28
+ * @version 1.103.0
29
29
  * @constructor
30
30
  * @private
31
31
  * @since 1.56.0
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] initial settings for the new control
17
17
  * @class Type for...
18
18
  * @extends sap.ui.core.Element
19
- * @version 1.101.0
19
+ * @version 1.103.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.56.0
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] initial settings for the new control
17
17
  * @class Type for...
18
18
  * @extends sap.ui.core.Element
19
- * @version 1.101.0
19
+ * @version 1.103.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.56.0
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] initial settings for the new control
17
17
  * @class Type for...
18
18
  * @extends sap.ui.core.Element
19
- * @version 1.101.0
19
+ * @version 1.103.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.56.0
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @param {object} [mSettings] initial settings for the new control
17
17
  * @class Type for...
18
18
  * @extends sap.ui.core.Element
19
- * @version 1.101.0
19
+ * @version 1.103.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.56.0
@@ -3,7 +3,7 @@
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
- sap.ui.define([], function(VerticalLayoutRenderer) {
6
+ sap.ui.define([], function() {
7
7
  "use strict";
8
8
 
9
9
  var ContactDetailsRenderer = {
@@ -11,7 +11,7 @@ sap.ui.define([], function() {
11
11
  * @namespace Factory to access services outside of sap.ui.mdc library like for example <code>ushell</code> services.
12
12
  * @name sap.ui.mdc.link.Factory
13
13
  * @author SAP SE
14
- * @version 1.101.0
14
+ * @version 1.103.0
15
15
  * @private
16
16
  * @since 1.54.0
17
17
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
@@ -13,7 +13,7 @@ sap.ui.define([
13
13
  * @namespace FakeFlpConnector.
14
14
  * @name sap.ui.mdc.link.FakeFlpConnector
15
15
  * @author SAP SE
16
- * @version 1.101.0
16
+ * @version 1.103.0
17
17
  * @private
18
18
  * @since 1.54.0
19
19
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel