@openui5/sap.ui.mdc 1.100.0 → 1.102.1

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 (223) hide show
  1. package/.eslintrc.json +19 -0
  2. package/THIRDPARTY.txt +5 -5
  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/Chart.js +28 -46
  7. package/src/sap/ui/mdc/ChartDelegate.js +10 -0
  8. package/src/sap/ui/mdc/Control.js +1 -1
  9. package/src/sap/ui/mdc/Element.js +1 -1
  10. package/src/sap/ui/mdc/Field.js +9 -2
  11. package/src/sap/ui/mdc/FilterBar.js +1 -1
  12. package/src/sap/ui/mdc/FilterField.js +2 -2
  13. package/src/sap/ui/mdc/Link.js +1 -1
  14. package/src/sap/ui/mdc/LinkDelegate.js +7 -5
  15. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  16. package/src/sap/ui/mdc/Table.js +313 -424
  17. package/src/sap/ui/mdc/TableDelegate.js +92 -39
  18. package/src/sap/ui/mdc/ValueHelp.js +147 -634
  19. package/src/sap/ui/mdc/ValueHelpDelegate.js +159 -7
  20. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  21. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  22. package/src/sap/ui/mdc/chart/ChartToolbar.js +8 -3
  23. package/src/sap/ui/mdc/chart/ChartTypeButton.js +11 -2
  24. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +2 -0
  25. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  26. package/src/sap/ui/mdc/condition/Condition.js +14 -9
  27. package/src/sap/ui/mdc/condition/ConditionConverter.js +58 -6
  28. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  29. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  30. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +14 -10
  31. package/src/sap/ui/mdc/condition/Operator.js +95 -15
  32. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +5 -3
  33. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  34. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +13 -1
  35. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +3 -1
  36. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +1 -1
  37. package/src/sap/ui/mdc/enum/PropagationReason.js +43 -0
  38. package/src/sap/ui/mdc/enum/SelectType.js +3 -0
  39. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  40. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  41. package/src/sap/ui/mdc/field/ConditionType.js +59 -21
  42. package/src/sap/ui/mdc/field/ConditionsType.js +7 -2
  43. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  44. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  45. package/src/sap/ui/mdc/field/DefineConditionPanel.js +15 -19
  46. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +3 -3
  47. package/src/sap/ui/mdc/field/FieldBase.js +29 -13
  48. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +41 -19
  49. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -1
  50. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  51. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  52. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  53. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  54. package/src/sap/ui/mdc/field/FieldValueHelp.js +6 -4
  55. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  56. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +3 -1
  57. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +7 -1
  58. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -3
  59. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +28 -29
  60. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  61. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  62. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  63. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  64. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  65. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  66. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  67. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  68. package/src/sap/ui/mdc/field/content/ContentFactory.js +8 -0
  69. package/src/sap/ui/mdc/field/content/DateTimeContent.js +43 -2
  70. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +90 -69
  71. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +5 -0
  72. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  73. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +1 -0
  74. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +1 -0
  75. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +41 -11
  76. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +37 -5
  77. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +4 -41
  78. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +54 -0
  79. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +2 -2
  80. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  81. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  82. package/src/sap/ui/mdc/library.js +21 -25
  83. package/src/sap/ui/mdc/link/ContactDetails.js +107 -23
  84. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  85. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  86. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  87. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  88. package/src/sap/ui/mdc/link/ContactDetailsRenderer.js +26 -0
  89. package/src/sap/ui/mdc/link/Factory.js +1 -1
  90. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  91. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  92. package/src/sap/ui/mdc/link/Panel.js +196 -24
  93. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  94. package/src/sap/ui/mdc/link/PanelRenderer.js +26 -0
  95. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  96. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  97. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  98. package/src/sap/ui/mdc/messagebundle.properties +9 -5
  99. package/src/sap/ui/mdc/messagebundle_ar.properties +9 -7
  100. package/src/sap/ui/mdc/messagebundle_bg.properties +7 -5
  101. package/src/sap/ui/mdc/messagebundle_ca.properties +7 -5
  102. package/src/sap/ui/mdc/messagebundle_cs.properties +7 -5
  103. package/src/sap/ui/mdc/messagebundle_cy.properties +7 -5
  104. package/src/sap/ui/mdc/messagebundle_da.properties +7 -5
  105. package/src/sap/ui/mdc/messagebundle_de.properties +7 -5
  106. package/src/sap/ui/mdc/messagebundle_el.properties +6 -4
  107. package/src/sap/ui/mdc/messagebundle_en.properties +7 -5
  108. package/src/sap/ui/mdc/messagebundle_en_GB.properties +7 -5
  109. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +7 -5
  110. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +7 -5
  111. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +7 -5
  112. package/src/sap/ui/mdc/messagebundle_es.properties +7 -5
  113. package/src/sap/ui/mdc/messagebundle_es_MX.properties +7 -5
  114. package/src/sap/ui/mdc/messagebundle_et.properties +7 -5
  115. package/src/sap/ui/mdc/messagebundle_fi.properties +7 -5
  116. package/src/sap/ui/mdc/messagebundle_fr.properties +7 -5
  117. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +7 -5
  118. package/src/sap/ui/mdc/messagebundle_hi.properties +7 -5
  119. package/src/sap/ui/mdc/messagebundle_hr.properties +7 -5
  120. package/src/sap/ui/mdc/messagebundle_hu.properties +7 -5
  121. package/src/sap/ui/mdc/messagebundle_id.properties +7 -5
  122. package/src/sap/ui/mdc/messagebundle_it.properties +7 -5
  123. package/src/sap/ui/mdc/messagebundle_iw.properties +6 -4
  124. package/src/sap/ui/mdc/messagebundle_ja.properties +8 -6
  125. package/src/sap/ui/mdc/messagebundle_kk.properties +7 -5
  126. package/src/sap/ui/mdc/messagebundle_ko.properties +6 -4
  127. package/src/sap/ui/mdc/messagebundle_lt.properties +7 -5
  128. package/src/sap/ui/mdc/messagebundle_lv.properties +7 -5
  129. package/src/sap/ui/mdc/messagebundle_ms.properties +7 -5
  130. package/src/sap/ui/mdc/messagebundle_nl.properties +7 -5
  131. package/src/sap/ui/mdc/messagebundle_no.properties +7 -5
  132. package/src/sap/ui/mdc/messagebundle_pl.properties +7 -5
  133. package/src/sap/ui/mdc/messagebundle_pt.properties +13 -11
  134. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +7 -5
  135. package/src/sap/ui/mdc/messagebundle_ro.properties +7 -5
  136. package/src/sap/ui/mdc/messagebundle_ru.properties +7 -5
  137. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -8
  138. package/src/sap/ui/mdc/messagebundle_sk.properties +7 -5
  139. package/src/sap/ui/mdc/messagebundle_sl.properties +8 -6
  140. package/src/sap/ui/mdc/messagebundle_sv.properties +8 -6
  141. package/src/sap/ui/mdc/messagebundle_th.properties +7 -5
  142. package/src/sap/ui/mdc/messagebundle_tr.properties +10 -8
  143. package/src/sap/ui/mdc/messagebundle_uk.properties +7 -5
  144. package/src/sap/ui/mdc/messagebundle_vi.properties +7 -5
  145. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +7 -5
  146. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +7 -5
  147. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +4 -11
  148. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  149. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  150. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  151. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +10 -4
  152. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -0
  153. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +1 -1
  154. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +8 -6
  155. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +18 -33
  156. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +63 -3
  157. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +76 -3
  158. package/src/sap/ui/mdc/p13n/Engine.js +154 -54
  159. package/src/sap/ui/mdc/p13n/FlexUtil.js +26 -14
  160. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  161. package/src/sap/ui/mdc/p13n/StateUtil.js +30 -51
  162. package/src/sap/ui/mdc/p13n/UIManager.js +6 -2
  163. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +0 -178
  164. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +15 -12
  165. package/src/sap/ui/mdc/p13n/modules/xConfigAPI.js +219 -0
  166. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +73 -14
  167. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +42 -18
  168. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -0
  169. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +2 -2
  170. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +30 -2
  171. package/src/sap/ui/mdc/p13n/subcontroller/ChartTypeController.js +46 -0
  172. package/src/sap/ui/mdc/p13n/subcontroller/ColumnWidthController.js +37 -6
  173. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +24 -6
  174. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +9 -2
  175. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +2 -2
  176. package/src/sap/ui/mdc/table/Column.js +271 -132
  177. package/src/sap/ui/mdc/table/CreationRow.js +3 -1
  178. package/src/sap/ui/mdc/table/GridTableType.js +0 -5
  179. package/src/sap/ui/mdc/table/PropertyHelper.js +80 -158
  180. package/src/sap/ui/mdc/table/ResponsiveTableType.js +64 -44
  181. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  182. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  183. package/src/sap/ui/mdc/table/TableSettings.js +10 -22
  184. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  185. package/src/sap/ui/mdc/table/menu/Item.js +78 -0
  186. package/src/sap/ui/mdc/table/menu/ItemContainer.js +60 -0
  187. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +151 -0
  188. package/src/sap/ui/mdc/themes/base/Chart.less +9 -0
  189. package/src/sap/ui/mdc/themes/base/InfoPanel.less +1 -0
  190. package/src/sap/ui/mdc/ui/Container.js +0 -0
  191. package/src/sap/ui/mdc/util/DateUtil.js +30 -5
  192. package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
  193. package/src/sap/ui/mdc/util/IdentifierUtil.js +3 -3
  194. package/src/sap/ui/mdc/util/PromiseCache.js +6 -2
  195. package/src/sap/ui/mdc/util/PropertyHelper.js +5 -1
  196. package/src/sap/ui/mdc/valuehelp/Dialog.js +291 -66
  197. package/src/sap/ui/mdc/valuehelp/Popover.js +4 -3
  198. package/src/sap/ui/mdc/valuehelp/base/Container.js +71 -52
  199. package/src/sap/ui/mdc/valuehelp/base/Content.js +57 -24
  200. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  201. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +193 -280
  202. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +6 -6
  203. package/src/sap/ui/mdc/valuehelp/content/Bool.js +4 -4
  204. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +4 -4
  205. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +4 -4
  206. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +65 -59
  207. package/src/sap/ui/mdc/valuehelp/content/MTable.js +95 -182
  208. package/test/sap/ui/mdc/testutils/opa/chart/ActionsBase.js +48 -2
  209. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +4 -5
  210. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +4 -5
  211. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +55 -4
  212. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +2 -2
  213. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +53 -12
  214. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +6 -6
  215. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +103 -122
  216. package/test/sap/ui/mdc/testutils/opa/p13n/waitForSelectWithSelectedTextOnPanel.js +5 -2
  217. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +70 -0
  218. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +9 -7
  219. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +2 -2
  220. package/src/sap/ui/mdc/link/ContactDetails.control.xml +0 -29
  221. package/src/sap/ui/mdc/link/Panel.control.xml +0 -36
  222. package/src/sap/ui/mdc/link/PanelListItem.control.xml +0 -24
  223. package/src/sap/ui/mdc/link/PanelListItem.js +0 -101
@@ -6,20 +6,18 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "../util/PropertyHelper",
9
- "sap/ui/core/Core",
10
9
  "sap/m/table/Util"
11
10
  ], function(
12
11
  PropertyHelperBase,
13
- Core,
14
12
  TableUtil
15
13
  ) {
16
14
  "use strict";
17
15
 
18
16
  /**
19
- * @typedef {object} sap.ui.mdc.table.PropertyInfo
17
+ * @typedef {Object} sap.ui.mdc.table.PropertyInfo
20
18
  * @extends sap.ui.mdc.util.PropertyInfo
21
19
  *
22
- * @property {object} [exportSettings]
20
+ * @property {Object} [exportSettings]
23
21
  * Object that contains information about the export settings, see {@link sap.ui.export.Spreadsheet}.
24
22
  * @property {int} [maxConditions]
25
23
  * Defines the maximum number of filter conditions for the property. Possible values that can be used:
@@ -43,9 +41,9 @@ sap.ui.define([
43
41
  * Name of the text property that is related to this property in a 1:1 relation.
44
42
  * @property {boolean} [required]
45
43
  * Defines whether a filter condition for this property is required.
46
- * @property {object} [visualSettings]
44
+ * @property {Object} [visualSettings]
47
45
  * This object contains all relevant properties for visual adjustments.
48
- * @property {object} [visualSettings.widthCalculation]
46
+ * @property {Object} [visualSettings.widthCalculation]
49
47
  * This object contains all properties and their default values for the column width calculation
50
48
  * @property {integer} [visualSettings.widthCalculation.minWidth]
51
49
  * The minimum content width in rem
@@ -71,15 +69,15 @@ sap.ui.define([
71
69
  /**
72
70
  * Constructor for a new table property helper.
73
71
  *
74
- * @param {object[]} aProperties
72
+ * @param {Object[]} aProperties
75
73
  * The properties to process in this helper
76
- * @param {Object<string, object>} [mExtensions]
74
+ * @param {Object<string, Object>} [mExtensions]
77
75
  * Key-value map, where the key is the name of the property and the value is the extension containing mode-specific information.
78
76
  * The extension of a property is stored in a reserved <code>extension</code> attribute, and its attributes must be specified with
79
77
  * <code>mExtensionAttributeMetadata</code>.
80
78
  * @param {sap.ui.base.ManagedObject} [oParent]
81
79
  * A reference to an instance that will act as the parent of this helper
82
- * @param {object} [mExtensionAttributeMetadata]
80
+ * @param {Object} [mExtensionAttributeMetadata]
83
81
  * The attribute metadata for the model-specific property extension
84
82
  *
85
83
  * @class
@@ -90,7 +88,7 @@ sap.ui.define([
90
88
  * @extends sap.ui.mdc.util.PropertyHelper
91
89
  *
92
90
  * @author SAP SE
93
- * @version 1.100.0
91
+ * @version 1.102.1
94
92
  *
95
93
  * @private
96
94
  * @experimental
@@ -134,120 +132,77 @@ sap.ui.define([
134
132
  *
135
133
  * @param {sap.ui.mdc.table.Column} oColumn The column for which to get the export settings
136
134
  * @param {boolean} [bSplitCells=false] Whether the <code>splitCells</code> configuration is enabled
137
- * @returns {null|object} Export setting object for the provided column
135
+ * @returns {Object[]} Array of export setting objects for the provided column. Will return more than one object if it is complex property and if <code>splitCells=true</code>
138
136
  * @public
139
137
  */
140
- PropertyHelper.prototype.getColumnExportSettings = function(oColumn, bSplitCells) {
138
+ PropertyHelper.prototype.getColumnExportSettings = function(oColumn) {
139
+ var aColumnExportSettings = [];
140
+
141
141
  if (!isMdcColumnInstance(oColumn)) {
142
- return null;
142
+ return aColumnExportSettings;
143
143
  }
144
144
 
145
145
  var oProperty = this.getProperty(oColumn.getDataProperty());
146
146
 
147
147
  if (!oProperty) {
148
- return null;
148
+ return aColumnExportSettings;
149
149
  }
150
150
 
151
- bSplitCells = bSplitCells === true;
152
-
153
- var aColumnExportSettings = [];
154
- var aPropertiesFromComplexProperty;
155
151
  var oExportSettings = oProperty.exportSettings;
156
- var oColumnExportSettings;
152
+
153
+ // exportSettings have been set explicitly to null by the application for this column to exclude it from the export
154
+ if (oExportSettings === null) {
155
+ return aColumnExportSettings;
156
+ }
157
+
157
158
  var aPaths = [];
158
- var sAdditionalPath;
159
- var oAdditionalProperty;
160
- var oAdditionExportSettings;
161
- var oAdditionalColumnExportSettings;
159
+ var oColumnExportSettings;
160
+ var aPropertiesFromComplexProperty;
162
161
 
163
- if (oProperty.isComplex()) {
164
- aPropertiesFromComplexProperty = oProperty.getReferencedProperties();
165
- if (!bSplitCells && oExportSettings) {
166
- oColumnExportSettings = getColumnExportSettingsObject(oColumn, oProperty, oExportSettings, bSplitCells);
167
- aPropertiesFromComplexProperty.forEach(function(oProperty) {
168
- aPaths.push(oProperty.path);
169
- });
170
- oColumnExportSettings.property = aPaths;
171
- aColumnExportSettings.push(oColumnExportSettings);
172
- } else {
173
- // when there are no exportSettings given for a ComplexProperty or when the splitCells=true
174
- aPropertiesFromComplexProperty.forEach(function(oProperty, iIndex) {
175
- var oPropertyInfoExportSettings = oProperty.exportSettings,
176
- oCurrentColumnExportSettings = getColumnExportSettingsObject(oColumn, oProperty, oPropertyInfoExportSettings, bSplitCells);
177
- oCurrentColumnExportSettings.property = oProperty.path;
178
- if (iIndex > 0) {
179
- oCurrentColumnExportSettings.columnId = oColumn.getId() + "-additionalProperty" + iIndex;
180
- }
181
- if (oPropertyInfoExportSettings || oCurrentColumnExportSettings.property) {
182
- aColumnExportSettings.push(oCurrentColumnExportSettings);
183
- }
184
- }, this);
185
- }
186
- } else if (!bSplitCells && oExportSettings) {
187
- // called for basic PropertyInfo having exportSettings
188
- oColumnExportSettings = getColumnExportSettingsObject(oColumn, oProperty, oExportSettings, bSplitCells);
162
+ if (!oProperty.isComplex()) {
163
+ oColumnExportSettings = getColumnExportSettingsObject(oColumn, oProperty, oExportSettings);
189
164
  oColumnExportSettings.property = oProperty.path;
190
165
  aColumnExportSettings.push(oColumnExportSettings);
191
- } else {
192
- oColumnExportSettings = getColumnExportSettingsObject(oColumn, oProperty, oExportSettings, bSplitCells);
193
- oColumnExportSettings.property = oProperty.path;
194
- if (oColumnExportSettings.property) {
195
- aColumnExportSettings.push(oColumnExportSettings);
196
- }
197
166
 
198
- // get Additional path in case of split cells
199
- sAdditionalPath = bSplitCells && oExportSettings && oExportSettings.unitProperty ? oExportSettings.unitProperty : null;
167
+ return aColumnExportSettings;
168
+ }
200
169
 
201
- if (sAdditionalPath) {
202
- oAdditionalProperty = getAdditionalProperty(this, sAdditionalPath);
203
- oAdditionExportSettings = oAdditionalProperty.exportSettings;
204
- oAdditionalColumnExportSettings = getColumnExportSettingsObject(oColumn, oAdditionalProperty, oAdditionExportSettings, bSplitCells);
205
- oAdditionalColumnExportSettings.property = oAdditionalProperty.path;
206
- oAdditionalColumnExportSettings.columnId = oColumn.getId() + "-additionalProperty";
207
- if (oAdditionExportSettings || oAdditionalColumnExportSettings.property) {
208
- aColumnExportSettings.push(oAdditionalColumnExportSettings);
170
+ aPropertiesFromComplexProperty = oProperty.getReferencedProperties();
171
+ if (Object.keys(oExportSettings).length) {
172
+ oColumnExportSettings = getColumnExportSettingsObject(oColumn, oProperty, oExportSettings);
173
+ aPropertiesFromComplexProperty.forEach(function(oProperty) {
174
+ aPaths.push(oProperty.path);
175
+ });
176
+ oColumnExportSettings.property = aPaths;
177
+ aColumnExportSettings.push(oColumnExportSettings);
178
+ } else {
179
+ // when there are no exportSettings given for a ComplexProperty
180
+ aPropertiesFromComplexProperty.forEach(function(oProperty, iIndex) {
181
+ var oPropertyInfoExportSettings = oProperty.exportSettings,
182
+ oCurrentColumnExportSettings = getColumnExportSettingsObject(oColumn, oProperty, oPropertyInfoExportSettings);
183
+ oCurrentColumnExportSettings.property = oProperty.path;
184
+ if (iIndex > 0) {
185
+ oCurrentColumnExportSettings.columnId = oColumn.getId() + "-additionalProperty" + iIndex;
186
+ }
187
+ if (oPropertyInfoExportSettings || oCurrentColumnExportSettings.property) {
188
+ aColumnExportSettings.push(oCurrentColumnExportSettings);
209
189
  }
210
- }
190
+ });
211
191
  }
212
192
 
213
193
  return aColumnExportSettings;
214
194
  };
215
195
 
216
- /**
217
- * Gets the property that is identified by a <code>path</code>.
218
- *
219
- * @param {sap.ui.mdc.table.PropertyHelper} oPropertyHelper Property helper instance
220
- * @param {string} sPath The value of the <code>path</code> attribute of the property
221
- * @returns {object} The property
222
- * @public
223
- */
224
- function getAdditionalProperty(oPropertyHelper, sPath) {
225
- var oProperty = oPropertyHelper.getProperty(sPath);
226
-
227
- if (!oProperty) {
228
- oProperty = oPropertyHelper.getProperties().find(function(oProperty) {
229
- return sPath === oProperty.path;
230
- });
231
- }
232
-
233
- if (oProperty.isComplex()) {
234
- throw new Error("The 'unitProperty' points to a complex property");
235
- }
236
-
237
- return oProperty;
238
- }
239
-
240
196
  /**
241
197
  * Sets defaults to export settings and returns a new export settings object.
242
198
  *
243
199
  * @param {sap.ui.mdc.table.Column} oColumn The column from which to get default values
244
- * @param {object} oProperty The property from which to get default values
245
- * @param {object} oExportSettings The export settings for which to set defaults
246
- * @param {boolean} bSplitCells Whether the <code>splitCells</code> configuration is enabled
247
- * @returns {object} The new export settings object
200
+ * @param {Object} oProperty The property from which to get default values
201
+ * @param {Object} oExportSettings The export settings for which to set defaults
202
+ * @returns {Object} The new export settings object
248
203
  * @private
249
204
  */
250
- function getColumnExportSettingsObject(oColumn, oProperty, oExportSettings, bSplitCells) {
205
+ function getColumnExportSettingsObject(oColumn, oProperty, oExportSettings) {
251
206
  var oExportObj = Object.assign({
252
207
  columnId: oColumn.getId(),
253
208
  label: oProperty.label,
@@ -256,100 +211,67 @@ sap.ui.define([
256
211
  type: "String"
257
212
  }, oExportSettings);
258
213
 
259
- if (bSplitCells) {
260
- oExportObj.displayUnit = false;
261
- }
262
-
263
214
  return oExportObj;
264
215
  }
265
216
 
266
217
  /**
267
- * Sets the width of the provided column based on the <code>visualSettings</code> of the relevant <code>PropertyInfo</code>.
218
+ * Calculates the width of the provided column based on the <code>visualSettings</code> of the relevant <code>PropertyInfo</code>.
268
219
  *
269
220
  * @param {sap.ui.mdc.table.Column} oMDCColumn The <code>Column</code> instance for which to set the width
270
- * @public
271
- * @since 1.95
221
+ * @returns {sap.ui.core.CSSSize | null} The calculated width, or <code>null</code> if calculation wasn't possible
272
222
  */
273
- PropertyHelper.prototype.setColumnWidth = function(oMDCColumn) {
223
+ PropertyHelper.prototype.calculateColumnWidth = function(oMDCColumn) {
274
224
  var sPropertyName = oMDCColumn.getDataProperty();
275
225
  var oProperty = this.getProperty(sPropertyName);
226
+
276
227
  if (!oProperty) {
277
- return;
228
+ return null;
278
229
  }
279
230
 
280
231
  var mPropertyInfoVisualSettings = oProperty.visualSettings;
281
232
  if (mPropertyInfoVisualSettings && mPropertyInfoVisualSettings.widthCalculation === null) {
282
- return;
233
+ return null;
283
234
  }
284
235
 
285
- var fWidth = this._calcColumnWidth(oProperty) + 1; // add 1rem extra for padding and border
286
- oMDCColumn._updateColumnWidth(fWidth + "rem");
236
+ return this._calcColumnWidth(oProperty);
287
237
  };
288
238
 
289
239
  /**
290
240
  * Calculates the column width based on the provided <code>PropertyInfo</code>.
291
241
  *
292
- * @param {object} oProperty The properties of <code>PropertyInfo</code> of <code>Column</code> instance for which to set the width
293
- * @param {object} [mWidthCalculation] The configuration object for the width calculation
294
- * @param {int} [mWidthCalculation.minWidth=2] The minimum content width in rem
295
- * @param {int} [mWidthCalculation.maxWidth=19] The maximum content width in rem
296
- * @param {int} [mWidthCalculation.defaultWidth=8] The default column content width when type check fails
297
- * @param {boolean} [mWidthCalculation.includeLabel=true] Whether the label should be taken into account
298
- * @param {float} [mWidthCalculation.gap=0] The additional content width in rem
299
- * @param {boolean} [mWidthCalculation.verticalArrangement=false] Whether the referenced properties are arranged vertically
300
- * @param {string|array[]} [mWidthCalculation.excludeProperties=[]] A list of invisible referenced property names
301
- * @return {float} [fWidth] Calculated width
242
+ * @param {Object} oProperty The properties of <code>PropertyInfo</code> of <code>Column</code> instance for which to set the width
243
+ * @return {string} The calculated column width
302
244
  * @since 1.95
303
245
  * @private
304
246
  */
305
- PropertyHelper.prototype._calcColumnWidth = function (oProperty, mWidthCalculation) {
306
- var fWidth = 0;
307
- var fLabelWidth = 0;
308
- var mPropertyInfoWidthCalculation = oProperty.visualSettings.widthCalculation;
309
- mWidthCalculation = Object.assign({}, mPropertyInfoWidthCalculation, mWidthCalculation || {});
310
-
311
- var iMinWidth = Math.max(1, mWidthCalculation.minWidth);
312
- var iMaxWidth = Math.max(iMinWidth, mWidthCalculation.maxWidth);
313
-
247
+ PropertyHelper.prototype._calcColumnWidth = function (oProperty) {
248
+ var mWidthCalculation = Object.assign({
249
+ gap: 0,
250
+ includeLabel: true,
251
+ excludeProperties: []
252
+ }, oProperty.visualSettings && oProperty.visualSettings.widthCalculation);
253
+
254
+ var aTypes = [];
314
255
  if (oProperty.isComplex()) {
315
- var aRelevantReferencedProperties = oProperty.getReferencedProperties().filter(function(oProp) {
316
- return ![].concat(mWidthCalculation.excludeProperties).includes(oProp.name);
256
+ // for complex properties generate [<TypeInstance>, <TypeSettings>][] structure
257
+ aTypes = oProperty.getReferencedProperties().flatMap(function(oProp) {
258
+ var mPropWidthCalculation = oProp.visualSettings ? oProp.visualSettings.widthCalculation : undefined;
259
+ return mPropWidthCalculation === null || mWidthCalculation.excludeProperties.includes(oProp.name) ? [] : [
260
+ [oProp.typeConfig.typeInstance, mPropWidthCalculation]
261
+ ];
317
262
  });
318
-
319
- aRelevantReferencedProperties.forEach(function(oReferencedProperty) {
320
- var fReferencedPropertyWidth = this._calcColumnWidth(oReferencedProperty, {
321
- includeLabel: false
322
- });
323
-
324
- if (mWidthCalculation.verticalArrangement || aRelevantReferencedProperties.length == 1) {
325
- fWidth = Math.max(fReferencedPropertyWidth, fWidth);
326
- } else {
327
- fWidth = fWidth + fReferencedPropertyWidth + 0.5; // add 0.5rem for some extra spacing in h-alignment
328
- }
329
- }, this);
330
263
  } else {
331
- var oTypeConfig = oProperty.typeConfig;
332
- var oType = oTypeConfig.typeInstance;
333
-
334
- if (oType) {
335
- fWidth = TableUtil.calcTypeWidth(oType, mWidthCalculation);
336
- }
337
- if (oProperty.unit) {
338
- fWidth += 2.5;
339
- }
264
+ // for simple properties generate <TypeInstance>[] structure
265
+ aTypes.push(oProperty.typeConfig.typeInstance);
340
266
  }
341
267
 
342
- fWidth += mWidthCalculation.gap;
343
-
344
- if (mWidthCalculation.includeLabel) {
345
- fLabelWidth = TableUtil.calcHeaderWidth(oProperty.label, fWidth, iMaxWidth, iMinWidth);
268
+ if (oProperty.unit) {
269
+ // @TODO: follow the unit property, like a complex property, instead of adding a fix gap
270
+ mWidthCalculation.gap += 2.5;
346
271
  }
347
272
 
348
- fWidth = Math.max(iMinWidth, fWidth, fLabelWidth);
349
- fWidth = Math.min(fWidth, iMaxWidth);
350
- fWidth = Math.round(fWidth * 100) / 100;
351
-
352
- return fWidth;
273
+ var sHeader = (mWidthCalculation.includeLabel) ? oProperty.label : "";
274
+ return TableUtil.calcColumnWidth(aTypes, sHeader, mWidthCalculation);
353
275
  };
354
276
 
355
277
  return PropertyHelper;
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/core/Core", "./TableTypeBase", "../library", "sap/m/Button", "sap/ui/Device", "sap/m/plugins/ColumnResizer"
9
- ], function(Core, TableTypeBase, library, Button, Device, ColumnResizer) {
8
+ "sap/ui/core/Core", "./TableTypeBase", "../library", "sap/m/Button", "sap/ui/Device", "sap/m/plugins/ColumnResizer", "sap/m/SegmentedButton", "sap/m/SegmentedButtonItem"
9
+ ], function(Core, TableTypeBase, library, Button, Device, ColumnResizer, SegmentedButton, SegmentedButtonItem) {
10
10
  "use strict";
11
11
 
12
12
  var InnerTable, InnerColumn, InnerRow;
@@ -114,7 +114,6 @@ sap.ui.define([
114
114
  // avoid execution of the if and else if block if bValue has not changed
115
115
  if (bValue && !this._oShowDetailsButton) {
116
116
  oTable.getHeaderToolbar().insertEnd(this._getShowDetailsButton(), 0);
117
- this._renderShowDetailsButton();
118
117
  oTable.attachEvent("popinChanged", this._onPopinChanged, this);
119
118
  oTable.setHiddenInPopin(this._getImportanceToHide());
120
119
  } else if (!bValue && this._oShowDetailsButton) {
@@ -189,23 +188,15 @@ sap.ui.define([
189
188
  return;
190
189
  }
191
190
 
192
- var oRowActionsInfo = oRowSettings.getAllActions();
191
+ var vRowType, bVisibleBound, fnVisibleFormatter, oRowActionsInfo = oRowSettings.getAllActions();
192
+ // If templateInfo is given, the rowActions are bound
193
193
  if ("templateInfo" in oRowActionsInfo) {
194
194
  var oTemplateInfo = oRowActionsInfo.templateInfo;
195
195
 
196
- if (oTemplateInfo.visible.formatter) {
197
- // Wrap the formatter (which should return a boolean) value and determine the type based on the formatted value.
198
- var fnFormatter = oTemplateInfo.visible.formatter;
199
- oTemplateInfo.visible.formatter = function (sValue) {
200
- var bVisible = fnFormatter(sValue);
201
- return bVisible ? RowAction.Navigation : sType;
202
- };
203
- }
204
- if (typeof oTemplateInfo.visible === "object") {
205
- oTable._oTemplate.bindProperty("type", oTemplateInfo.visible);
206
- } else {
207
- oTable._oTemplate.setProperty("type", oTemplateInfo.visible);
208
- }
196
+ fnVisibleFormatter = oTemplateInfo.visible.formatter;
197
+ // If visible property is of type object, we know for certain the property is bound (see RowSettings.getAllActions)
198
+ bVisibleBound = typeof oTemplateInfo.visible == "object";
199
+ vRowType = oTemplateInfo.visible;
209
200
  } else if (oRowActionsInfo && oRowActionsInfo.items){
210
201
  var _oRowActionItem;
211
202
  if (oRowActionsInfo.items.length == 0) {
@@ -213,20 +204,40 @@ sap.ui.define([
213
204
  return;
214
205
  }
215
206
 
207
+ // Check if rowActions are of type Navigation. ResponsiveTable currently only supports RowActionItem<Navigation>
216
208
  _oRowActionItem = oRowActionsInfo.items.find(function (oRowAction) {
217
209
  return oRowAction.getType() == "Navigation";
218
210
  });
219
-
220
- // ResponsiveTable currently only supports RowActionItem<Navigation>
221
211
  if (!_oRowActionItem && oRowActionsInfo.items.length > 0) {
222
212
  throw new Error("No RowAction of type 'Navigation' found. sap.m.Table only accepts RowAction of type 'Navigation'.");
223
213
  }
224
214
 
225
215
  // Associate RowActionItem<Navigation> to template for reference
226
216
  oTable._oTemplate.data("rowAction", _oRowActionItem);
217
+
218
+ // Check if visible property is bound
219
+ bVisibleBound = _oRowActionItem.isBound("visible");
220
+ // Based on whether visible property is bound, either get binding info or the actual property
221
+ vRowType = bVisibleBound ? _oRowActionItem.getBindingInfo("visible") : _oRowActionItem.getVisible();
222
+ fnVisibleFormatter = vRowType.formatter;
227
223
  }
228
224
 
229
- oTable._oTemplate.setType(RowAction.Navigation);
225
+ // If a custom formatter exists, apply it before converting it to row type, otherwise just convert
226
+ if (fnVisibleFormatter) {
227
+ vRowType.formatter = function (sValue) {
228
+ var bVisible = fnVisibleFormatter(sValue);
229
+ return bVisible ? RowAction.Navigation : sType;
230
+ };
231
+ } else {
232
+ vRowType = vRowType ? RowAction.Navigation : sType;
233
+ }
234
+
235
+ // Depending on whether the property is bound, either bind or set
236
+ if (bVisibleBound) {
237
+ oTable._oTemplate.bindProperty("type", vRowType);
238
+ } else {
239
+ oTable._oTemplate.setProperty("type", vRowType);
240
+ }
230
241
  };
231
242
 
232
243
  ResponsiveTableType.disableColumnResizer = function(oTable, oInnerTable) {
@@ -252,26 +263,18 @@ sap.ui.define([
252
263
  }
253
264
  };
254
265
 
255
- ResponsiveTableType.startColumnResize = function(oInnerTable, oColumn) {
266
+ ResponsiveTableType.startColumnResize = function(oInnerTable, oColumn, oColumnMenu) {
256
267
  var oColumnResizer = ColumnResizer.getPlugin(oInnerTable);
257
268
 
258
269
  if (!oColumnResizer) {
259
270
  return;
260
271
  }
261
272
 
262
- return oColumnResizer.getColumnResizeButton(oColumn);
263
- };
264
-
265
- /**
266
- * Renders the look and feel of the Show / Hide Details button
267
- *
268
- * @private
269
- */
270
- ResponsiveTableType.prototype._renderShowDetailsButton = function() {
271
- var oRb = Core.getLibraryResourceBundle("sap.ui.mdc"), sText;
272
-
273
- sText = this.bHideDetails ? oRb.getText("table.SHOWDETAILS_TEXT") : oRb.getText("table.HIDEDETAILS_TEXT");
274
- this._oShowDetailsButton.setText(sText);
273
+ if (oColumnMenu && oColumnMenu.isA("sap.m.table.columnmenu.Menu")) {
274
+ return oColumnResizer.getColumnResizeQuickAction(oColumn, oColumnMenu);
275
+ } else {
276
+ return oColumnResizer.getColumnResizeButton(oColumn);
277
+ }
275
278
  };
276
279
 
277
280
  /**
@@ -296,17 +299,37 @@ sap.ui.define([
296
299
  } else {
297
300
  oTable.setHiddenInPopin([]);
298
301
  }
299
- this._renderShowDetailsButton();
300
302
  };
301
303
 
302
304
  ResponsiveTableType.prototype._getShowDetailsButton = function() {
303
305
  if (!this._oShowDetailsButton) {
306
+ var oRb = Core.getLibraryResourceBundle("sap.ui.mdc");
304
307
  this.bHideDetails = true;
305
- this._oShowDetailsButton = new Button(this.getId() + "-showHideDetails", {
308
+ this._oShowDetailsButton = new SegmentedButton(this.getId() + "-showHideDetails", {
306
309
  visible: false,
307
- press: [function() {
308
- this._toggleShowDetails(!this.bHideDetails);
309
- }, this]
310
+ selectedKey: "hideDetails",
311
+ items: [
312
+ new SegmentedButtonItem({
313
+ icon: "sap-icon://detail-more",
314
+ key: "showDetails",
315
+ tooltip: oRb.getText("table.SHOWDETAILS_TEXT"),
316
+ press: [
317
+ function() {
318
+ this._toggleShowDetails(false);
319
+ }, this
320
+ ]
321
+ }),
322
+ new SegmentedButtonItem({
323
+ icon: "sap-icon://detail-less",
324
+ key: "hideDetails",
325
+ tooltip: oRb.getText("table.HIDEDETAILS_TEXT"),
326
+ press: [
327
+ function() {
328
+ this._toggleShowDetails(true);
329
+ }, this
330
+ ]
331
+ })
332
+ ]
310
333
  });
311
334
  }
312
335
  return this._oShowDetailsButton;
@@ -320,15 +343,12 @@ sap.ui.define([
320
343
  */
321
344
  ResponsiveTableType.prototype._getImportanceToHide = function() {
322
345
  var aDetailsButtonSetting = this.getDetailsButtonSetting() || [];
323
- var aImportanceToHide = [];
324
346
 
325
347
  if (aDetailsButtonSetting.length) {
326
- aImportanceToHide = aDetailsButtonSetting;
348
+ return aDetailsButtonSetting;
327
349
  } else {
328
- aImportanceToHide = Device.system.phone ? ["Low", "Medium"] : ["Low"];
350
+ return Device.system.phone ? ["Low", "Medium"] : ["Low"];
329
351
  }
330
-
331
- return aImportanceToHide;
332
352
  };
333
353
 
334
354
  /**
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * The <code>RowActionItem</code> control represents a action for a row.
25
25
  * This control can only be used in the context of <code>sap.ui.mdc.Table</code> control to define row actions.
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.100.0
27
+ * @version 1.102.1
28
28
  *
29
29
  * @constructor
30
30
  * @experimental
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * The <code>RowSettings</code> control is used to configure a row.
22
22
  * This control can only be used in the context of the <code>sap.ui.mdc.Table</code> control to define row settings.
23
23
  * @extends sap.ui.core.Element
24
- * @version 1.100.0
24
+ * @version 1.102.1
25
25
  *
26
26
  * @constructor
27
27
  * @experimental
@@ -118,7 +118,7 @@ sap.ui.define([
118
118
  },
119
119
 
120
120
  showUIColumns: function(oControl, oSource) {
121
- oControl.getEngine().uimanager.show(oControl, oControl.getP13nMode(), oSource);
121
+ oControl.getEngine().uimanager.show(oControl, oControl.getActiveP13nModes(), oSource);
122
122
  },
123
123
 
124
124
  showUIFilter: function(oControl, oSource) {
@@ -130,31 +130,19 @@ sap.ui.define([
130
130
  *
131
131
  * @param {object} oControl The control for which the sorting is used
132
132
  * @param {string} sProperty The property for which the sorting is used
133
- * @param {boolean} bDescending Whether to sort in descending or ascending order
133
+ * @param {sap.ui.core.SortOrder} sSortOrder Whether to sort in descending or ascending order
134
134
  * @param {boolean} [bRemoveAllExisting=true] Set to remove the previous sorters
135
135
  */
136
- createSort: function(oControl, sProperty, bDescending, bRemoveAllExisting) {
137
-
138
- var oSorter = {
139
- selected: true,
140
- name: sProperty,
141
- descending: bDescending,
142
- sorted: true
143
- };
144
-
145
- //check to revert sorting in case the sorter and its type already exists
146
- oControl.getCurrentState().sorters.forEach(function(oProp) {
147
- if (oProp.name == sProperty && oProp.descending === bDescending) {
148
- oSorter.sorted = false;
149
- }
150
- });
151
-
152
- var aItems = [oSorter];
153
-
136
+ createSort: function(oControl, sProperty, sSortOrder, bRemoveAllExisting) {
154
137
  oControl.getEngine().createChanges({
155
138
  control: oControl,
156
139
  key: "Sort",
157
- state: aItems,
140
+ state: [{
141
+ selected: true,
142
+ name: sProperty,
143
+ descending: sSortOrder === CoreLibrary.SortOrder.Descending,
144
+ sorted: sSortOrder !== CoreLibrary.SortOrder.None
145
+ }],
158
146
  applyAbsolute: bRemoveAllExisting
159
147
  });
160
148
 
@@ -176,7 +164,7 @@ sap.ui.define([
176
164
  control: oControl,
177
165
  key: "Group",
178
166
  state: aGroup,
179
- applyAbsolute: false
167
+ applyAbsolute: oControl._bMobileTable
180
168
  });
181
169
  },
182
170
 
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.mdc.table.PropertyHelper
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.100.0
30
+ * @version 1.102.1
31
31
  *
32
32
  * @private
33
33
  * @experimental