@openui5/sap.ui.mdc 1.99.1 → 1.102.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 (257) 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 +77 -77
  7. package/src/sap/ui/mdc/ChartDelegate.js +76 -21
  8. package/src/sap/ui/mdc/ChartRenderer.js +1 -1
  9. package/src/sap/ui/mdc/Control.js +11 -6
  10. package/src/sap/ui/mdc/Element.js +10 -6
  11. package/src/sap/ui/mdc/Field.js +26 -4
  12. package/src/sap/ui/mdc/FilterBar.js +1 -1
  13. package/src/sap/ui/mdc/FilterBarDelegate.js +26 -0
  14. package/src/sap/ui/mdc/FilterField.js +41 -3
  15. package/src/sap/ui/mdc/Link.js +3 -3
  16. package/src/sap/ui/mdc/LinkDelegate.js +7 -5
  17. package/src/sap/ui/mdc/MultiValueField.js +11 -1
  18. package/src/sap/ui/mdc/Table.js +340 -417
  19. package/src/sap/ui/mdc/TableDelegate.js +115 -35
  20. package/src/sap/ui/mdc/ValueHelp.js +150 -632
  21. package/src/sap/ui/mdc/ValueHelpDelegate.js +161 -8
  22. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  23. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
  24. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  25. package/src/sap/ui/mdc/chart/ChartToolbar.js +18 -6
  26. package/src/sap/ui/mdc/chart/ChartTypeButton.js +11 -2
  27. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +9 -7
  28. package/src/sap/ui/mdc/chart/DrillStackHandler.js +6 -6
  29. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  30. package/src/sap/ui/mdc/condition/Condition.js +14 -9
  31. package/src/sap/ui/mdc/condition/ConditionConverter.js +58 -6
  32. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  33. package/src/sap/ui/mdc/condition/FilterConverter.js +4 -2
  34. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +146 -34
  35. package/src/sap/ui/mdc/condition/Operator.js +98 -16
  36. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +80 -24
  37. package/src/sap/ui/mdc/condition/RangeOperator.js +5 -5
  38. package/src/sap/ui/mdc/designtime/Util.js +63 -0
  39. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +23 -30
  40. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +16 -1
  41. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +3 -1
  42. package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +3 -1
  43. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +39 -52
  44. package/src/sap/ui/mdc/enum/PropagationReason.js +43 -0
  45. package/src/sap/ui/mdc/enum/SelectType.js +3 -0
  46. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  47. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  48. package/src/sap/ui/mdc/field/ConditionType.js +70 -22
  49. package/src/sap/ui/mdc/field/ConditionsType.js +8 -2
  50. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  51. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  52. package/src/sap/ui/mdc/field/DefineConditionPanel.js +30 -23
  53. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +76 -19
  54. package/src/sap/ui/mdc/field/FieldBase.js +84 -17
  55. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +41 -19
  56. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -1
  57. package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -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 +9 -4
  62. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  63. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +1 -1
  64. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +7 -4
  65. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +11 -3
  66. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -3
  67. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +31 -32
  68. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  69. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  70. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  71. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  72. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  73. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  74. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  75. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  76. package/src/sap/ui/mdc/field/content/ContentFactory.js +13 -1
  77. package/src/sap/ui/mdc/field/content/DateContent.js +27 -19
  78. package/src/sap/ui/mdc/field/content/DateTimeContent.js +42 -7
  79. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +128 -239
  80. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +5 -0
  81. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +27 -2
  82. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +1 -0
  83. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +1 -0
  84. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +164 -64
  85. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +2 -2
  86. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +7 -3
  87. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +52 -14
  88. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +73 -23
  89. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
  90. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +48 -31
  91. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +4 -41
  92. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +36 -0
  93. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +54 -0
  94. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +49 -12
  95. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  96. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  97. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +0 -1
  98. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +2 -85
  99. package/src/sap/ui/mdc/library.js +30 -27
  100. package/src/sap/ui/mdc/link/ContactDetails.js +107 -23
  101. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  102. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  103. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  104. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  105. package/src/sap/ui/mdc/link/ContactDetailsRenderer.js +26 -0
  106. package/src/sap/ui/mdc/link/Factory.js +1 -1
  107. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  108. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  109. package/src/sap/ui/mdc/link/Panel.js +197 -22
  110. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  111. package/src/sap/ui/mdc/link/PanelRenderer.js +26 -0
  112. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  113. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  114. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  115. package/src/sap/ui/mdc/messagebundle.properties +11 -6
  116. package/src/sap/ui/mdc/messagebundle_ar.properties +9 -7
  117. package/src/sap/ui/mdc/messagebundle_bg.properties +7 -5
  118. package/src/sap/ui/mdc/messagebundle_ca.properties +7 -5
  119. package/src/sap/ui/mdc/messagebundle_cs.properties +7 -5
  120. package/src/sap/ui/mdc/messagebundle_cy.properties +7 -5
  121. package/src/sap/ui/mdc/messagebundle_da.properties +7 -5
  122. package/src/sap/ui/mdc/messagebundle_de.properties +7 -5
  123. package/src/sap/ui/mdc/messagebundle_el.properties +6 -4
  124. package/src/sap/ui/mdc/messagebundle_en.properties +7 -5
  125. package/src/sap/ui/mdc/messagebundle_en_GB.properties +7 -5
  126. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +7 -5
  127. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +7 -5
  128. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +7 -5
  129. package/src/sap/ui/mdc/messagebundle_es.properties +7 -5
  130. package/src/sap/ui/mdc/messagebundle_es_MX.properties +7 -5
  131. package/src/sap/ui/mdc/messagebundle_et.properties +7 -5
  132. package/src/sap/ui/mdc/messagebundle_fi.properties +7 -5
  133. package/src/sap/ui/mdc/messagebundle_fr.properties +7 -5
  134. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +7 -5
  135. package/src/sap/ui/mdc/messagebundle_hi.properties +7 -5
  136. package/src/sap/ui/mdc/messagebundle_hr.properties +7 -5
  137. package/src/sap/ui/mdc/messagebundle_hu.properties +7 -5
  138. package/src/sap/ui/mdc/messagebundle_id.properties +7 -5
  139. package/src/sap/ui/mdc/messagebundle_it.properties +7 -5
  140. package/src/sap/ui/mdc/messagebundle_iw.properties +6 -4
  141. package/src/sap/ui/mdc/messagebundle_ja.properties +8 -6
  142. package/src/sap/ui/mdc/messagebundle_kk.properties +7 -5
  143. package/src/sap/ui/mdc/messagebundle_ko.properties +6 -4
  144. package/src/sap/ui/mdc/messagebundle_lt.properties +7 -5
  145. package/src/sap/ui/mdc/messagebundle_lv.properties +7 -5
  146. package/src/sap/ui/mdc/messagebundle_ms.properties +7 -5
  147. package/src/sap/ui/mdc/messagebundle_nl.properties +7 -5
  148. package/src/sap/ui/mdc/messagebundle_no.properties +7 -5
  149. package/src/sap/ui/mdc/messagebundle_pl.properties +7 -5
  150. package/src/sap/ui/mdc/messagebundle_pt.properties +13 -11
  151. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +7 -5
  152. package/src/sap/ui/mdc/messagebundle_ro.properties +7 -5
  153. package/src/sap/ui/mdc/messagebundle_ru.properties +7 -5
  154. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -8
  155. package/src/sap/ui/mdc/messagebundle_sk.properties +7 -5
  156. package/src/sap/ui/mdc/messagebundle_sl.properties +8 -6
  157. package/src/sap/ui/mdc/messagebundle_sv.properties +8 -6
  158. package/src/sap/ui/mdc/messagebundle_th.properties +7 -5
  159. package/src/sap/ui/mdc/messagebundle_tr.properties +10 -8
  160. package/src/sap/ui/mdc/messagebundle_uk.properties +7 -5
  161. package/src/sap/ui/mdc/messagebundle_vi.properties +7 -5
  162. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +7 -5
  163. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +7 -5
  164. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +23 -29
  165. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -141
  166. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -9
  167. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  168. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +354 -0
  169. package/src/sap/ui/mdc/odata/TypeUtil.js +2 -1
  170. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +70 -3
  171. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +8 -6
  172. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +116 -20
  173. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +2 -2
  174. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +29 -66
  175. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +2 -4
  176. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +65 -5
  177. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +353 -262
  178. package/src/sap/ui/mdc/p13n/AdaptationProvider.js +1 -1
  179. package/src/sap/ui/mdc/p13n/Engine.js +172 -69
  180. package/src/sap/ui/mdc/p13n/FlexUtil.js +26 -19
  181. package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
  182. package/src/sap/ui/mdc/p13n/StateUtil.js +34 -51
  183. package/src/sap/ui/mdc/p13n/UIManager.js +21 -14
  184. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +0 -174
  185. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +15 -12
  186. package/src/sap/ui/mdc/p13n/modules/xConfigAPI.js +219 -0
  187. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +6 -6
  188. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +49 -27
  189. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +75 -15
  190. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +160 -0
  191. package/src/sap/ui/mdc/p13n/panels/GroupView.js +54 -28
  192. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +54 -18
  193. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +4 -7
  194. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +1 -2
  195. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +2 -2
  196. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +30 -2
  197. package/src/sap/ui/mdc/p13n/subcontroller/ChartTypeController.js +46 -0
  198. package/src/sap/ui/mdc/p13n/subcontroller/ColumnWidthController.js +37 -6
  199. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +32 -10
  200. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +9 -2
  201. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +1 -0
  202. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +4 -4
  203. package/src/sap/ui/mdc/table/Column.js +271 -132
  204. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  205. package/src/sap/ui/mdc/table/GridTableType.js +70 -27
  206. package/src/sap/ui/mdc/table/PropertyHelper.js +92 -163
  207. package/src/sap/ui/mdc/table/ResponsiveTableType.js +133 -40
  208. package/src/sap/ui/mdc/table/RowActionItem.js +119 -0
  209. package/src/sap/ui/mdc/table/RowSettings.js +42 -1
  210. package/src/sap/ui/mdc/table/TableSettings.js +10 -22
  211. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +2 -2
  212. package/src/sap/ui/mdc/table/menu/Item.js +78 -0
  213. package/src/sap/ui/mdc/table/menu/ItemContainer.js +60 -0
  214. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +151 -0
  215. package/src/sap/ui/mdc/themes/base/Chart.less +11 -0
  216. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +1 -0
  217. package/src/sap/ui/mdc/ui/Container.js +0 -240
  218. package/src/sap/ui/mdc/util/DateUtil.js +56 -6
  219. package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
  220. package/src/sap/ui/mdc/util/IdentifierUtil.js +3 -3
  221. package/src/sap/ui/mdc/util/PromiseCache.js +6 -2
  222. package/src/sap/ui/mdc/util/PropertyHelper.js +205 -76
  223. package/src/sap/ui/mdc/util/TypeUtil.js +1 -1
  224. package/src/sap/ui/mdc/valuehelp/Dialog.js +291 -66
  225. package/src/sap/ui/mdc/valuehelp/Popover.js +8 -5
  226. package/src/sap/ui/mdc/valuehelp/base/Container.js +71 -52
  227. package/src/sap/ui/mdc/valuehelp/base/Content.js +57 -24
  228. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  229. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +196 -283
  230. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +6 -6
  231. package/src/sap/ui/mdc/valuehelp/content/Bool.js +4 -4
  232. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +4 -4
  233. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +16 -13
  234. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +66 -66
  235. package/src/sap/ui/mdc/valuehelp/content/MTable.js +100 -185
  236. package/test/sap/ui/mdc/testutils/opa/chart/ActionsBase.js +48 -2
  237. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +6 -5
  238. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +4 -5
  239. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +55 -4
  240. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +2 -3
  241. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +53 -12
  242. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +6 -6
  243. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +111 -128
  244. package/test/sap/ui/mdc/testutils/opa/p13n/waitForSelectWithSelectedTextOnPanel.js +5 -2
  245. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +70 -0
  246. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +9 -7
  247. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +2 -2
  248. package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +0 -150
  249. package/src/sap/ui/mdc/link/ContactDetails.control.xml +0 -29
  250. package/src/sap/ui/mdc/link/Panel.control.xml +0 -36
  251. package/src/sap/ui/mdc/link/PanelListItem.control.xml +0 -24
  252. package/src/sap/ui/mdc/link/PanelListItem.js +0 -101
  253. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +0 -721
  254. package/src/sap/ui/mdc/p13n/panels/ListView.js +0 -408
  255. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -92
  256. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -150
  257. package/src/sap/ui/mdc/ui/ContainerItem.js +0 -79
@@ -5,8 +5,24 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/core/Element", "sap/m/Label", "sap/ui/core/Core"
9
- ], function(Element, Label, Core) {
8
+ "./GridTableType",
9
+ "./ResponsiveTableType",
10
+ "sap/m/library",
11
+ "sap/m/Label",
12
+ "sap/ui/model/json/JSONModel",
13
+ "sap/ui/model/base/ManagedObjectModel",
14
+ "sap/ui/core/Control",
15
+ "sap/ui/core/Core"
16
+ ], function(
17
+ GridTableType,
18
+ ResponsiveTableType,
19
+ MLibrary,
20
+ Label,
21
+ JSONModel,
22
+ ManagedObjectModel,
23
+ Control,
24
+ Core
25
+ ) {
10
26
  "use strict";
11
27
 
12
28
  /**
@@ -15,7 +31,7 @@ sap.ui.define([
15
31
  * @param {string} [sId] Optional ID for the new object; generated automatically if no non-empty ID is given
16
32
  * @param {object} [mSettings] initial settings for the new control
17
33
  * @class The column for the metadata-driven table with the template, which is shown if the rows have data.
18
- * @extends sap.ui.core.Element
34
+ * @extends sap.ui.core.Control
19
35
  * @author SAP SE
20
36
  * @private
21
37
  * @experimental
@@ -25,8 +41,7 @@ sap.ui.define([
25
41
  * @alias sap.ui.mdc.table.Column
26
42
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
27
43
  */
28
-
29
- var Column = Element.extend("sap.ui.mdc.table.Column", {
44
+ var Column = Control.extend("sap.ui.mdc.table.Column", {
30
45
  metadata: {
31
46
  library: "sap.ui.mdc",
32
47
  defaultAggregation: "template",
@@ -92,7 +107,6 @@ sap.ui.define([
92
107
  type: "string"
93
108
  }
94
109
  },
95
- events: {},
96
110
  aggregations: {
97
111
  /**
98
112
  * Template for the column.
@@ -110,6 +124,17 @@ sap.ui.define([
110
124
  multiple: false
111
125
  }
112
126
  }
127
+ },
128
+ renderer: {
129
+ apiVersion: 2,
130
+ render: function(oRm, oColumn) {
131
+ oRm.openStart("div", oColumn);
132
+ oRm.openEnd();
133
+ if (oColumn._oColumnHeaderLabel) {
134
+ oRm.renderControl(oColumn._oColumnHeaderLabel.getLabel());
135
+ }
136
+ oRm.close("div");
137
+ }
113
138
  }
114
139
  });
115
140
 
@@ -119,52 +144,183 @@ sap.ui.define([
119
144
  template: true,
120
145
  creationTemplate: true
121
146
  };
147
+
148
+ this._oManagedObjectModel = new ManagedObjectModel(this);
149
+ this._oSettingsModel = new JSONModel({
150
+ width: this.getWidth(),
151
+ calculatedWidth: null,
152
+ p13nWidth: null,
153
+ resizable: false
154
+ });
122
155
  };
123
156
 
124
- // Return the clone of the template set by the app on the column
125
- Column.prototype.getTemplate = function(bClone) {
126
- var oTemplate = this.getAggregation("template");
157
+ Column.prototype.getInnerColumn = function() {
158
+ var oTable = this.getTable();
127
159
 
128
- if (bClone && this._oTemplateClone && this._oTemplateClone.bIsDestroyed) {
129
- this._oTemplateClone = null;
160
+ if (oTable && (!this._oInnerColumn || this._oInnerColumn.isDestroyed())) {
161
+ this._oInnerColumn = this._createInnerColumn();
130
162
  }
131
163
 
132
- // clone the template control
133
- if (!this._oTemplateClone && oTemplate) {
134
- this._oTemplateClone = oTemplate.clone();
164
+ return this._oInnerColumn;
165
+ };
166
+
167
+ Column.prototype._createInnerColumn = function() {
168
+ var oTable = this.getTable();
169
+ var oColumn;
170
+
171
+ var oWidthBindingInfo = {
172
+ parts: [
173
+ {path: "$this>/width"},
174
+ {path: "$columnSettings>/calculatedWidth"},
175
+ {path: "$columnSettings>/p13nWidth"}
176
+ ],
177
+ formatter: function(sWidth, sCalculatedWidth, sP13nWidth) {
178
+ return sP13nWidth || sCalculatedWidth || sWidth;
179
+ }
180
+ };
181
+
182
+ this._readP13nValues(); // XConfig might not have been available on init - depends on the order settings are applied in Table#applySettings.
183
+
184
+ if (oTable._bMobileTable) {
185
+ oColumn = ResponsiveTableType.createColumn(this.getId() + "-innerColumn", {
186
+ width: oWidthBindingInfo,
187
+ autoPopinWidth: "{$this>/minWidth}",
188
+ hAlign: "{$this>/hAlign}",
189
+ header: this._getColumnHeaderLabel(),
190
+ importance: "{$this>/importance}",
191
+ popinDisplay: "Inline"
192
+ });
193
+ } else {
194
+ oColumn = GridTableType.createColumn(this.getId() + "-innerColumn", {
195
+ width: oWidthBindingInfo,
196
+ minWidth: {
197
+ path: "$this>/minWidth",
198
+ formatter: function(fMinWidth) {
199
+ return Math.round(fMinWidth * parseFloat(MLibrary.BaseFontSize));
200
+ }
201
+ },
202
+ hAlign: "{$this>/hAlign}",
203
+ label: this._getColumnHeaderLabel(),
204
+ resizable: "{$columnSettings>/resizable}",
205
+ autoResizable: "{$columnSettings>/resizable}",
206
+ template: this.getTemplateClone()
207
+ });
208
+ oColumn.setCreationTemplate(this.getCreationTemplateClone());
135
209
  }
136
210
 
137
- return bClone ? this._oTemplateClone : oTemplate;
211
+ oColumn.setModel(this._oManagedObjectModel, "$this");
212
+ oColumn.setModel(this._oSettingsModel, "$columnSettings");
213
+
214
+ return oColumn;
138
215
  };
139
216
 
140
- Column.prototype.getCreationTemplate = function(bClone) {
141
- var oCreationTemplate = this.getAggregation("creationTemplate");
217
+ var ColumnHeaderLabel = Control.extend("sap.ui.mdc.table.ColumnHeaderLabel", {
218
+ metadata: {
219
+ "final": true,
220
+ aggregations: {
221
+ label: {type: "sap.m.Label", multiple: false}
222
+ },
223
+ associations: {
224
+ column: {type: "sap.ui.mdc.table.Column"}
225
+ }
226
+ },
227
+ renderer: {
228
+ apiVersion: 2,
229
+ render: function(oRm, oColumnHeaderLabel) {
230
+ oRm.openStart("div", oColumnHeaderLabel);
231
+ oRm.style("width", "100%");
232
+ oRm.openEnd();
233
+ oRm.renderControl(Core.byId(oColumnHeaderLabel.getColumn()));
234
+ oRm.close("div");
235
+ }
236
+ },
237
+ getText: function() { // Used by tests in MDC and FE.
238
+ return this.getLabel().getText();
239
+ },
240
+ clone: function() { // For ResponsiveTable popin.
241
+ return this.getLabel().clone();
242
+ }
243
+ });
142
244
 
143
- if (bClone && this._oCreationTemplateClone && this._oCreationTemplateClone.bIsDestroyed) {
144
- this._oCreationTemplateClone = null;
245
+ /**
246
+ * Creates and returns the column header control.
247
+ * If <code>headerVisible=false</code> then <code>width=0px</code> is applied to the <code>sap.m.Label</code> control for accessibility purposes.
248
+ *
249
+ * @returns {object} The column header control
250
+ * @private
251
+ */
252
+ Column.prototype._getColumnHeaderLabel = function() {
253
+ var oTable = this.getTable();
254
+
255
+ if (oTable && (!this._oColumnHeaderLabel || this._oColumnHeaderLabel.isDestroyed())) {
256
+ this._oColumnHeaderLabel = new ColumnHeaderLabel({
257
+ column: this,
258
+ label: new Label({
259
+ width: "{= ${$this>/headerVisible} ? null : '0px' }",
260
+ text: "{$this>/header}",
261
+ textAlign: "{$this>/hAlign}",
262
+ wrapping: {
263
+ parts: [
264
+ {path: "$this>/headerVisible"},
265
+ {path: "$columnSettings>/resizable"}
266
+ ],
267
+ formatter: function(bHeaderVisible, bResizable) {
268
+ return oTable._bMobileTable && bHeaderVisible && !bResizable;
269
+ }
270
+ },
271
+ wrappingType: oTable._bMobileTable ? "Hyphenated" : null
272
+ })
273
+ });
145
274
  }
146
275
 
147
- // clone the creationTemplate control
148
- if (!this._oCreationTemplateClone && oCreationTemplate) {
149
- this._oCreationTemplateClone = oCreationTemplate.clone();
276
+ return this._oColumnHeaderLabel;
277
+ };
278
+
279
+ Column.prototype.getTemplateClone = function() {
280
+ var oTable = this.getTable();
281
+ var oTemplate = this.getTemplate();
282
+
283
+ if (oTable && oTemplate && (!this._oTemplateClone || this._oTemplateClone.isDestroyed())) {
284
+ this._oTemplateClone = oTemplate.clone();
285
+
286
+ if (!oTable._bMobileTable) {
287
+ if (this._oTemplateClone.setWrapping) {
288
+ this._oTemplateClone.setWrapping(false);
289
+ }
290
+
291
+ if (this._oTemplateClone.setRenderWhitespace) {
292
+ this._oTemplateClone.setRenderWhitespace(false);
293
+ }
294
+ }
150
295
  }
151
296
 
152
- return bClone ? this._oCreationTemplateClone : oCreationTemplate;
297
+ return this._oTemplateClone;
153
298
  };
154
299
 
155
- Column.prototype.setHeaderVisible = function(bHeaderVisible) {
156
- if (this.getHeaderVisible() === bHeaderVisible) {
157
- return this;
300
+ Column.prototype.getCreationTemplateClone = function() {
301
+ var oTable = this.getTable();
302
+ var oCreationTemplate = this.getCreationTemplate();
303
+
304
+ if (oTable && oCreationTemplate && (!this._oCreationTemplateClone || this._oCreationTemplateClone.isDestroyed())) {
305
+ this._oCreationTemplateClone = oCreationTemplate.clone();
306
+
307
+ if (!oTable._bMobileTable) {
308
+ if (this._oCreationTemplateClone.setWrapping) {
309
+ this._oCreationTemplateClone.setWrapping(false);
310
+ }
311
+
312
+ if (this._oCreationTemplateClone.setRenderWhitespace) {
313
+ this._oCreationTemplateClone.setRenderWhitespace(false);
314
+ }
315
+ }
158
316
  }
159
317
 
160
- this.setProperty("headerVisible", bHeaderVisible, true);
161
- this._updateColumnHeaderControl();
162
- return this;
318
+ return this._oCreationTemplateClone;
163
319
  };
164
320
 
165
321
  Column.prototype.setHeader = function(sHeader) {
166
322
  this.setProperty("header", sHeader, true);
167
- this._updateColumnHeaderControl();
323
+
168
324
  var oLabelElement = this.getDomRef();
169
325
  if (oLabelElement) {
170
326
  oLabelElement.textContent = this.getHeader();
@@ -173,134 +329,117 @@ sap.ui.define([
173
329
  return this;
174
330
  };
175
331
 
176
- Column.prototype.setHAlign = function(sHAlign) {
177
- this.setProperty("hAlign", sHAlign, true);
178
- this._updateColumnHeaderControl();
179
- return this;
332
+ Column.prototype._onTableChange = function(oEvent) {
333
+ if (oEvent.getParameter("name") === "enableColumnResize") {
334
+ this._readTableSettings();
335
+ }
180
336
  };
181
337
 
182
- /**
183
- * Updates the width of the column based on the auto column width calculation.
184
- * @private
185
- */
186
- Column.prototype._updateColumnWidth = function(sWidth) {
187
- var oInnerColumn = Core.byId(this.getId() + "-innerColumn");
188
- if (!oInnerColumn || !this.getWidth()) {
189
- this.setProperty("width", sWidth);
190
- }
338
+ Column.prototype._readTableSettings = function() {
339
+ var oTable = this.getTable();
191
340
 
192
- // set the inner column width only if there is no user(flex) changes has been applied
193
- if (oInnerColumn && !oInnerColumn.getWidth()) {
194
- oInnerColumn.setWidth(sWidth);
195
- }
341
+ this._oSettingsModel.setProperty("/resizable", oTable.getEnableColumnResize());
196
342
  };
197
343
 
198
- /**
199
- * Updates the column header control based on the current column property settings.
200
- * @private
201
- */
202
- Column.prototype._updateColumnHeaderControl = function() {
203
- if (this._oColumnHeaderLabel) {
204
- this._oColumnHeaderLabel.setWidth(this.getHeaderVisible() ? null : "0px");
205
- this._oColumnHeaderLabel.setWrapping(this._bMobileTable && !this._bResizable && this.getHeaderVisible());
206
- this._oColumnHeaderLabel.setText(this.getHeader());
207
- this._oColumnHeaderLabel.setTextAlign(this.getHAlign());
344
+ Column.prototype.setParent = function(oParent) {
345
+ var oPreviousTable = this.getTable();
346
+ Control.prototype.setParent.apply(this, arguments);
347
+
348
+ if (this._bIsBeingMoved) { // Set by the table when moving this column.
349
+ return;
208
350
  }
209
- };
210
351
 
211
- /**
212
- * Updates the resizable state of the column.
213
- * @private
214
- */
215
- Column.prototype.updateColumnResizing = function(bEnabled) {
216
- this._bResizable = !!bEnabled;
217
- this._updateColumnHeaderControl();
352
+ this._disconnectFromTable(oPreviousTable);
353
+ this._connectToTable();
218
354
  };
219
355
 
220
- Column.prototype.setParent = function(oParent) {
221
- var oPrevParent = this.getParent();
222
- Element.prototype.setParent.apply(this, arguments);
223
- if (oParent && oParent.isA("sap.ui.mdc.Table")) {
224
- if (oParent.getDomRef()) {
225
- this._addAriaStaticDom();
226
- } else {
227
- this.oAfterRenderingDelegate = {
228
- onAfterRendering: function () {
229
- this._addAriaStaticDom();
230
- this.getParent().removeDelegate(this.oAfterRenderingDelegate);
231
- }
232
- };
233
- oParent.addDelegate(this.oAfterRenderingDelegate, this);
234
- }
235
- } else if (!oParent) {
236
- oPrevParent.removeDelegate(this.oAfterRenderingDelegate);
237
- this._removeAriaStaticDom();
356
+ Column.prototype._connectToTable = function() {
357
+ var oTable = this.getTable();
358
+
359
+ if (!oTable) {
360
+ return;
238
361
  }
362
+
363
+ this._calculateColumnWidth();
364
+ this._readP13nValues();
365
+ this._readTableSettings();
366
+ oTable.attachEvent("_change", this._onTableChange, this);
239
367
  };
240
368
 
241
- /**
242
- * Creates and returns the column header control.
243
- * If <code>headerVisible=false</code> then <code>width=0px</code> is applied to the <code>sap.m.Label</code> control for accessibility purposes.
244
- * @param {boolean} bMobileTable The type of the table
245
- * @param {boolean} bResizing Indicates whether the column is resizable
246
- * @returns {object} The column header control
247
- * @private
248
- */
249
- Column.prototype.getColumnHeaderControl = function(bMobileTable, bResizing) {
250
- if (this._oColumnHeaderLabel) {
251
- this._oColumnHeaderLabel.destroy();
252
- }
369
+ Column.prototype._disconnectFromTable = function(oTable) {
370
+ oTable = oTable || this.getTable();
253
371
 
254
- this._oColumnHeaderLabel = new Label(this.getId() + "-innerColumnHeader", {
255
- wrappingType: bMobileTable ? "Hyphenated" : null
256
- });
257
- this._bMobileTable = bMobileTable;
372
+ if (!oTable) {
373
+ return;
374
+ }
258
375
 
259
- this.updateColumnResizing(bResizing);
376
+ if (this._oInnerColumn) {
377
+ this._oInnerColumn.destroy("KeepDom");
378
+ oTable.invalidate();
379
+ }
380
+ };
260
381
 
261
- return this._oColumnHeaderLabel;
382
+ Column.prototype._onModifications = function() {
383
+ this._readP13nValues();
262
384
  };
263
385
 
264
- Column.prototype._removeAriaStaticDom = function() {
265
- var oDomElement = this.getDomRef();
386
+ Column.prototype._calculateColumnWidth = function() {
387
+ var oTable = this.getTable();
266
388
 
267
- if (oDomElement) {
268
- oDomElement.parentNode.removeChild(oDomElement);
389
+ if (!oTable || !oTable.getEnableAutoColumnWidth() || !this.isPropertyInitial("width")) {
390
+ return;
269
391
  }
270
- };
271
392
 
272
- Column.prototype._addAriaStaticDom = function() {
273
- var oInvisibleDiv = document.createElement("div");
274
- oInvisibleDiv.setAttribute("id", this.getId());
275
- oInvisibleDiv.setAttribute("class", "sapUiInvisibleText");
276
- oInvisibleDiv.setAttribute("aria-hidden", "true");
277
- var oHeaderTextNode = document.createTextNode(this.getHeader());
278
- oInvisibleDiv.appendChild(oHeaderTextNode);
279
- var oStaticDiv = Core.getStaticAreaRef();
280
-
281
- if (oInvisibleDiv && oStaticDiv) {
282
- oStaticDiv.appendChild(oInvisibleDiv);
393
+ var oPropertyHelper = oTable.getPropertyHelper();
394
+
395
+ if (oPropertyHelper) {
396
+ this._oSettingsModel.setProperty("/calculatedWidth", oPropertyHelper.calculateColumnWidth(this));
397
+ } else {
398
+ oTable.awaitPropertyHelper().then(this._calculateColumnWidth.bind(this));
283
399
  }
284
400
  };
285
401
 
286
- Column.prototype.exit = function() {
287
- if (this._oTemplateClone) {
288
- this._oTemplateClone.destroy();
289
- this._oTemplateClone = null;
290
- }
402
+ Column.prototype._readP13nValues = function() {
403
+ var oTable = this.getTable();
404
+ var vXConfig = oTable.getCurrentState().xConfig;
405
+ var sPropertyKey = this.getDataProperty();
291
406
 
292
- if (this._oCreationTemplateClone) {
293
- this._oCreationTemplateClone.destroy();
294
- this._oCreationTemplateClone = null;
407
+ if (vXConfig instanceof Promise) {
408
+ vXConfig.then(this._readP13nValues.bind(this));
409
+ return;
295
410
  }
296
411
 
297
- if (this._oColumnHeaderLabel) {
298
- this._oColumnHeaderLabel.destroy();
299
- this._oColumnHeaderLabel = null;
300
- }
301
- this._removeAriaStaticDom();
412
+ var sWidth = vXConfig &&
413
+ vXConfig.aggregations &&
414
+ vXConfig.aggregations.columns &&
415
+ vXConfig.aggregations.columns[sPropertyKey] &&
416
+ vXConfig.aggregations.columns[sPropertyKey].width;
417
+
418
+ this._oSettingsModel.setProperty("/p13nWidth", sWidth);
302
419
  };
303
420
 
304
- return Column;
421
+ Column.prototype.getTable = function() {
422
+ var oParent = this.getParent();
423
+ return oParent && oParent.isA("sap.ui.mdc.Table") ? oParent : null;
424
+ };
305
425
 
306
- });
426
+ Column.prototype.exit = function() {
427
+ this._disconnectFromTable();
428
+
429
+ [
430
+ "_oManagedObjectModel",
431
+ "_oSettingsModel",
432
+ "_oInnerColumn",
433
+ "_oTemplateClone",
434
+ "_oCreationTemplateClone",
435
+ "_oColumnHeaderLabel"
436
+ ].forEach(function(sObject) {
437
+ if (this[sObject]) {
438
+ this[sObject].destroy();
439
+ delete this[sObject];
440
+ }
441
+ }, this);
442
+ };
443
+
444
+ return Column;
445
+ });
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * {@link sap.ui.mdc.table.Column#getCreationTemplate creationTemplate} aggregation of the {@link sap.ui.mdc.table.Column}.
22
22
  * @extends sap.ui.core.Element
23
23
  * @author SAP SE
24
- * @version 1.99.1
24
+ * @version 1.102.0
25
25
  * @constructor
26
26
  * @experimental
27
27
  * @private
@@ -11,7 +11,6 @@ sap.ui.define([
11
11
 
12
12
  var InnerTable, InnerColumn, InnerRowAction, InnerRowActionItem, InnerMultiSelectionPlugin, InnerFixedRowMode, InnerAutoRowMode, InnerRowSettings;
13
13
  var RowCountMode = library.RowCountMode;
14
- var RowAction = library.RowAction;
15
14
 
16
15
  /**
17
16
  * Constructor for a new <code>GridTableType</code>.
@@ -168,15 +167,6 @@ sap.ui.define([
168
167
  return oColumn;
169
168
  };
170
169
 
171
- GridTableType.createNavigationRowAction = function(sIdPrefix, aEventInfo) {
172
- return new InnerRowAction(sIdPrefix + "--rowAction", {
173
- items: new InnerRowActionItem(sIdPrefix + "--rowActionItem", {
174
- type: RowAction.Navigation,
175
- press: aEventInfo
176
- })
177
- });
178
- };
179
-
180
170
  GridTableType.createMultiSelectionPlugin = function(oTable, aEventInfo) {
181
171
  return new InnerMultiSelectionPlugin(oTable.getId() + "--multiSelectPlugin", {
182
172
  selectionMode: TableTypeBase.getSelectionMode(oTable),
@@ -208,14 +198,7 @@ sap.ui.define([
208
198
  oTable._oTable.getPlugins()[0].setSelectionMode(sSelectionMode);
209
199
  };
210
200
 
211
- GridTableType.updateNavigation = function(oTable, fnRowActionPress) {
212
- oTable._oTable.setRowActionTemplate(this.createNavigationRowAction(oTable.getId(), [
213
- fnRowActionPress, oTable
214
- ]));
215
- oTable._oTable.setRowActionCount(1);
216
- };
217
-
218
- GridTableType.clearNavigation = function(oTable) {
201
+ GridTableType.removeRowActions = function(oTable) {
219
202
  var oInnerRowAction = oTable._oTable.getRowActionTemplate();
220
203
  if (oInnerRowAction) {
221
204
  oInnerRowAction.destroy();
@@ -224,20 +207,80 @@ sap.ui.define([
224
207
  oTable._oTable.setRowActionCount();
225
208
  };
226
209
 
227
- GridTableType.updateRowAction = function(oTable, bNavigation, fnRowActionPress) {
228
- this.clearNavigation(oTable);
229
- if (bNavigation) {
230
- this.updateNavigation(oTable, fnRowActionPress);
231
- }
232
- };
233
-
234
- GridTableType.updateRowSettings = function(oTable, oRowSettings) {
210
+ GridTableType.updateRowSettings = function(oTable, oRowSettings, fnRowActionPress) {
235
211
  var oInnerRowSettings = new InnerRowSettings(undefined, oRowSettings.getAllSettings());
236
-
212
+ this.updateRowActions(oTable.getParent(), oRowSettings, fnRowActionPress);
237
213
  oTable.getRowSettingsTemplate().destroy();
238
214
  oTable.setRowSettingsTemplate(oInnerRowSettings);
239
215
  };
240
216
 
217
+ GridTableType.updateRowActions = function (oTable, oRowSettings) {
218
+ this.removeRowActions(oTable);
219
+ if (!oRowSettings) {
220
+ return;
221
+ }
222
+ if (!oRowSettings.isBound("rowActions") && (!oRowSettings.getRowActions() || oRowSettings.getRowActions().length == 0)) {
223
+ return;
224
+ }
225
+
226
+ var oRowActions = oRowSettings.getAllActions();
227
+ if ("templateInfo" in oRowActions) {
228
+ var oTemplateInfo = oRowActions.templateInfo;
229
+ // Set template for inner row actions using temporary metadata
230
+ oRowActions.items.template = new InnerRowActionItem({
231
+ type: oTemplateInfo.type,
232
+ visible: oTemplateInfo.visible,
233
+ icon: oTemplateInfo.icon,
234
+ text: oTemplateInfo.text,
235
+ press: [this._onRowActionPress, oTable]
236
+ });
237
+ // Remove temporary metadata from row actions object
238
+ delete oRowActions.templateInfo;
239
+ } else {
240
+ oRowActions.items = oRowActions.items.map(function (oRowActionItem) {
241
+ var oInnerRowActionItem = new InnerRowActionItem({
242
+ type: oRowActionItem.isBound("type") ? oRowActionItem.getBindingInfo("type") : oRowActionItem.getType(),
243
+ visible: oRowActionItem.isBound("visible") ? oRowActionItem.getBindingInfo("visible") : oRowActionItem.getVisible(),
244
+ icon: oRowActionItem.isBound("icon") ? oRowActionItem.getBindingInfo("icon") : oRowActionItem._getIcon(),
245
+ text: oRowActionItem.isBound("text") ? oRowActionItem.getBindingInfo("text") : oRowActionItem._getText(),
246
+ press: [this._onRowActionPress, oTable]
247
+ });
248
+ // Add custom data for MDC row action, so original is retrievable from inner row action item
249
+ oInnerRowActionItem.data("rowAction", oRowActionItem);
250
+ return oInnerRowActionItem;
251
+ }, this);
252
+ }
253
+
254
+ var oInnerRowAction = new InnerRowAction(oTable.getId() + "--rowAction", oRowActions);
255
+ oTable._oTable.setRowActionTemplate(oInnerRowAction);
256
+ oTable._oTable.setRowActionCount(oRowSettings.getRowActionCount());
257
+ };
258
+
259
+ GridTableType._onRowActionPress = function (oEvent) {
260
+ var oInnerRowActionItem = oEvent.getParameter("item");
261
+ var oRowActionsInfo = this.getRowSettings().getAllActions();
262
+
263
+ if (this.getRowSettings().isBound("rowActions")) {
264
+ var sActionModel = oRowActionsInfo.items.model;
265
+ var oActionContext = oInnerRowActionItem.getBindingContext(sActionModel);
266
+
267
+ // Create a one time clone for the MDC RowAction and 'switch' binding context based on press action
268
+ if (!this._oRowActionItem) {
269
+ this._oRowActionItem = oRowActionsInfo.items.template.clone();
270
+ }
271
+ this._oRowActionItem.setBindingContext(oActionContext, oRowActionsInfo.items.model);
272
+
273
+ // Set model for row settings, as it is not propagated
274
+ this._oRowActionItem.setModel(this.getModel(sActionModel), sActionModel);
275
+ this.getRowSettings().addDependent(this._oRowActionItem);
276
+ } else {
277
+ this._oRowActionItem = oInnerRowActionItem.data("rowAction");
278
+ }
279
+ var oRow = oEvent.getParameter("row");
280
+ this._oRowActionItem.firePress({
281
+ bindingContext: oRow.getBindingContext()
282
+ });
283
+ };
241
284
 
242
285
  return GridTableType;
243
286
  });