@openui5/sap.ui.mdc 1.108.2 → 1.110.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 (321) hide show
  1. package/.reuse/dep5 +16 -16
  2. package/THIRDPARTY.txt +2 -2
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +2 -2
  5. package/src/sap/ui/mdc/ActionToolbar.js +5 -5
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +1 -1
  7. package/src/sap/ui/mdc/BaseDelegate.js +1 -1
  8. package/src/sap/ui/mdc/Chart.js +32 -34
  9. package/src/sap/ui/mdc/ChartDelegate.js +23 -19
  10. package/src/sap/ui/mdc/ChartRenderer.js +1 -1
  11. package/src/sap/ui/mdc/Control.js +2 -2
  12. package/src/sap/ui/mdc/Delegate.js +1 -1
  13. package/src/sap/ui/mdc/Element.js +2 -2
  14. package/src/sap/ui/mdc/Field.js +30 -20
  15. package/src/sap/ui/mdc/FilterBar.js +13 -8
  16. package/src/sap/ui/mdc/FilterBarDelegate.js +14 -10
  17. package/src/sap/ui/mdc/FilterField.js +8 -15
  18. package/src/sap/ui/mdc/Link.js +2 -2
  19. package/src/sap/ui/mdc/LinkDelegate.js +4 -2
  20. package/src/sap/ui/mdc/MultiValueField.js +2 -2
  21. package/src/sap/ui/mdc/Table.js +375 -632
  22. package/src/sap/ui/mdc/TableDelegate.js +34 -7
  23. package/src/sap/ui/mdc/ValueHelp.js +38 -21
  24. package/src/sap/ui/mdc/ValueHelpDelegate.js +86 -52
  25. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +86 -65
  26. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +7 -12
  27. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +6 -6
  28. package/src/sap/ui/mdc/chart/ChartImplementationContainerRenderer.js +1 -1
  29. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +3 -3
  30. package/src/sap/ui/mdc/chart/ChartSettings.js +1 -1
  31. package/src/sap/ui/mdc/chart/ChartToolbar.js +22 -9
  32. package/src/sap/ui/mdc/chart/ChartTypeButton.js +22 -20
  33. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +1 -1
  34. package/src/sap/ui/mdc/chart/DrillStackHandler.js +4 -6
  35. package/src/sap/ui/mdc/chart/Item.js +1 -1
  36. package/src/sap/ui/mdc/chart/PropertyHelper.js +2 -2
  37. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +1 -1
  38. package/src/sap/ui/mdc/condition/Condition.js +4 -5
  39. package/src/sap/ui/mdc/condition/ConditionConverter.js +2 -2
  40. package/src/sap/ui/mdc/condition/ConditionModel.js +2 -2
  41. package/src/sap/ui/mdc/condition/ConditionModelPropertyBinding.js +1 -1
  42. package/src/sap/ui/mdc/condition/ConditionValidateException.js +62 -0
  43. package/src/sap/ui/mdc/condition/FilterConverter.js +8 -4
  44. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +4 -16
  45. package/src/sap/ui/mdc/condition/Operator.js +2 -2
  46. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +4 -2
  47. package/src/sap/ui/mdc/condition/RangeOperator.js +2 -2
  48. package/src/sap/ui/mdc/designtime/Util.js +1 -1
  49. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +2 -2
  50. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime.js +1 -1
  51. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +2 -2
  52. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +3 -4
  53. package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +1 -1
  54. package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +1 -1
  55. package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +1 -1
  56. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +2 -2
  57. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +1 -1
  58. package/src/sap/ui/mdc/designtime/library.designtime.js +1 -1
  59. package/src/sap/ui/mdc/designtime/link/Panel.designtime.js +1 -1
  60. package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +7 -6
  61. package/src/sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime.js +1 -1
  62. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +2 -2
  63. package/src/sap/ui/mdc/enum/ActionToolbarActionAlignment.js +1 -1
  64. package/src/sap/ui/mdc/enum/BaseType.js +1 -1
  65. package/src/sap/ui/mdc/enum/ConditionValidated.js +1 -1
  66. package/src/sap/ui/mdc/enum/ContentMode.js +1 -1
  67. package/src/sap/ui/mdc/enum/EditMode.js +1 -1
  68. package/src/sap/ui/mdc/enum/FieldDisplay.js +1 -1
  69. package/src/sap/ui/mdc/enum/OutParameterMode.js +1 -1
  70. package/src/sap/ui/mdc/enum/PersistenceMode.js +1 -1
  71. package/src/sap/ui/mdc/enum/ProcessingStrategy.js +1 -1
  72. package/src/sap/ui/mdc/enum/PropagationReason.js +1 -1
  73. package/src/sap/ui/mdc/enum/SelectType.js +1 -1
  74. package/src/sap/ui/mdc/field/BoolFieldHelp.js +3 -2
  75. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +3 -2
  76. package/src/sap/ui/mdc/field/ConditionType.js +31 -15
  77. package/src/sap/ui/mdc/field/ConditionsType.js +98 -23
  78. package/src/sap/ui/mdc/field/CustomFieldHelp.js +3 -2
  79. package/src/sap/ui/mdc/field/CustomFieldInfo.js +2 -2
  80. package/src/sap/ui/mdc/field/DefineConditionPanel.js +42 -7
  81. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +2 -2
  82. package/src/sap/ui/mdc/field/FieldBase.js +131 -236
  83. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +2 -35
  84. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +1 -1
  85. package/src/sap/ui/mdc/field/FieldHelpBase.js +9 -7
  86. package/src/sap/ui/mdc/field/FieldHelpBaseDelegate.js +2 -1
  87. package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -2
  88. package/src/sap/ui/mdc/field/FieldInput.js +2 -2
  89. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +2 -2
  90. package/src/sap/ui/mdc/field/FieldInputRenderer.js +1 -1
  91. package/src/sap/ui/mdc/field/FieldMultiInput.js +2 -2
  92. package/src/sap/ui/mdc/field/FieldMultiInputRenderer.js +1 -1
  93. package/src/sap/ui/mdc/field/FieldValueHelp.js +3 -2
  94. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +3 -2
  95. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +2 -1
  96. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +8 -7
  97. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +10 -9
  98. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -2
  99. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +8 -7
  100. package/src/sap/ui/mdc/field/InParameter.js +3 -2
  101. package/src/sap/ui/mdc/field/ListFieldHelp.js +3 -2
  102. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +2 -2
  103. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +1 -1
  104. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +2 -2
  105. package/src/sap/ui/mdc/field/OutParameter.js +3 -2
  106. package/src/sap/ui/mdc/field/TokenDisplay.js +2 -2
  107. package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +1 -1
  108. package/src/sap/ui/mdc/field/TokenizerDisplay.js +2 -2
  109. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +1 -1
  110. package/src/sap/ui/mdc/field/ValueHelpPanel.js +3 -2
  111. package/src/sap/ui/mdc/field/content/BooleanContent.js +1 -1
  112. package/src/sap/ui/mdc/field/content/ContentFactory.js +12 -13
  113. package/src/sap/ui/mdc/field/content/DateContent.js +4 -4
  114. package/src/sap/ui/mdc/field/content/DateTimeContent.js +1 -1
  115. package/src/sap/ui/mdc/field/content/DefaultContent.js +15 -5
  116. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -2
  117. package/src/sap/ui/mdc/field/content/SearchContent.js +47 -5
  118. package/src/sap/ui/mdc/field/content/TimeContent.js +1 -1
  119. package/src/sap/ui/mdc/field/content/UnitContent.js +8 -19
  120. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +60 -29
  121. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  122. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
  123. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +2 -2
  124. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +1 -1
  125. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +1 -1
  126. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +27 -4
  127. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +1 -1
  128. package/src/sap/ui/mdc/filterbar/p13n/FilterGroupLayout.js +5 -1
  129. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +6 -2
  130. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +5 -1
  131. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +16 -3
  132. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +35 -2
  133. package/src/sap/ui/mdc/filterbar/vh/FilterBarDelegate.js +24 -0
  134. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +2 -2
  135. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +1 -1
  136. package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +1 -1
  137. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +2 -2
  138. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +2 -2
  139. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +1 -1
  140. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +1 -1
  141. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +2 -2
  142. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +1 -1
  143. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +2 -2
  144. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +2 -2
  145. package/src/sap/ui/mdc/flexibility/GroupFlex.js +2 -2
  146. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +2 -2
  147. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +1 -1
  148. package/src/sap/ui/mdc/flexibility/PanelItem.flexibility.js +1 -1
  149. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +1 -1
  150. package/src/sap/ui/mdc/flexibility/SortFlex.js +3 -3
  151. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +1 -1
  152. package/src/sap/ui/mdc/flexibility/Util.js +2 -2
  153. package/src/sap/ui/mdc/flexibility/xConfigFlex.js +6 -6
  154. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +1 -1
  155. package/src/sap/ui/mdc/library.js +61 -30
  156. package/src/sap/ui/mdc/link/ContactDetails.js +2 -2
  157. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +2 -2
  158. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +2 -2
  159. package/src/sap/ui/mdc/link/ContactDetailsItem.js +2 -2
  160. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +2 -2
  161. package/src/sap/ui/mdc/link/ContactDetailsRenderer.js +1 -1
  162. package/src/sap/ui/mdc/link/Factory.js +2 -2
  163. package/src/sap/ui/mdc/link/FakeFlpConnector.js +2 -2
  164. package/src/sap/ui/mdc/link/LinkItem.js +3 -2
  165. package/src/sap/ui/mdc/link/Log.js +1 -1
  166. package/src/sap/ui/mdc/link/Panel.js +25 -13
  167. package/src/sap/ui/mdc/link/PanelItem.js +2 -2
  168. package/src/sap/ui/mdc/link/PanelRenderer.js +1 -1
  169. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +2 -2
  170. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +2 -2
  171. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +2 -2
  172. package/src/sap/ui/mdc/messagebundle.properties +7 -3
  173. package/src/sap/ui/mdc/messagebundle_ar.properties +5 -2
  174. package/src/sap/ui/mdc/messagebundle_bg.properties +33 -30
  175. package/src/sap/ui/mdc/messagebundle_ca.properties +5 -2
  176. package/src/sap/ui/mdc/messagebundle_cs.properties +7 -4
  177. package/src/sap/ui/mdc/messagebundle_cy.properties +5 -2
  178. package/src/sap/ui/mdc/messagebundle_da.properties +5 -2
  179. package/src/sap/ui/mdc/messagebundle_de.properties +5 -2
  180. package/src/sap/ui/mdc/messagebundle_el.properties +5 -2
  181. package/src/sap/ui/mdc/messagebundle_en.properties +5 -3
  182. package/src/sap/ui/mdc/messagebundle_en_GB.properties +5 -2
  183. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +4 -1
  184. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +5 -2
  185. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +0 -1
  186. package/src/sap/ui/mdc/messagebundle_es.properties +9 -6
  187. package/src/sap/ui/mdc/messagebundle_es_MX.properties +5 -2
  188. package/src/sap/ui/mdc/messagebundle_et.properties +5 -2
  189. package/src/sap/ui/mdc/messagebundle_fi.properties +5 -2
  190. package/src/sap/ui/mdc/messagebundle_fr.properties +5 -2
  191. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +5 -2
  192. package/src/sap/ui/mdc/messagebundle_hi.properties +5 -2
  193. package/src/sap/ui/mdc/messagebundle_hr.properties +11 -8
  194. package/src/sap/ui/mdc/messagebundle_hu.properties +5 -2
  195. package/src/sap/ui/mdc/messagebundle_id.properties +5 -2
  196. package/src/sap/ui/mdc/messagebundle_it.properties +6 -3
  197. package/src/sap/ui/mdc/messagebundle_iw.properties +5 -2
  198. package/src/sap/ui/mdc/messagebundle_ja.properties +5 -2
  199. package/src/sap/ui/mdc/messagebundle_kk.properties +11 -8
  200. package/src/sap/ui/mdc/messagebundle_ko.properties +4 -1
  201. package/src/sap/ui/mdc/messagebundle_lt.properties +5 -2
  202. package/src/sap/ui/mdc/messagebundle_lv.properties +5 -2
  203. package/src/sap/ui/mdc/messagebundle_ms.properties +5 -2
  204. package/src/sap/ui/mdc/messagebundle_nl.properties +7 -4
  205. package/src/sap/ui/mdc/messagebundle_no.properties +5 -2
  206. package/src/sap/ui/mdc/messagebundle_pl.properties +5 -2
  207. package/src/sap/ui/mdc/messagebundle_pt.properties +5 -2
  208. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +5 -2
  209. package/src/sap/ui/mdc/messagebundle_ro.properties +5 -2
  210. package/src/sap/ui/mdc/messagebundle_ru.properties +5 -2
  211. package/src/sap/ui/mdc/messagebundle_sh.properties +6 -3
  212. package/src/sap/ui/mdc/messagebundle_sk.properties +5 -2
  213. package/src/sap/ui/mdc/messagebundle_sl.properties +10 -7
  214. package/src/sap/ui/mdc/messagebundle_sv.properties +5 -2
  215. package/src/sap/ui/mdc/messagebundle_th.properties +7 -4
  216. package/src/sap/ui/mdc/messagebundle_tr.properties +5 -2
  217. package/src/sap/ui/mdc/messagebundle_uk.properties +5 -2
  218. package/src/sap/ui/mdc/messagebundle_vi.properties +5 -2
  219. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +6 -3
  220. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +5 -2
  221. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +10 -5
  222. package/src/sap/ui/mdc/mixin/DelegateMixin.js +4 -4
  223. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +3 -3
  224. package/src/sap/ui/mdc/mixin/PromiseMixin.js +10 -10
  225. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +7 -3
  226. package/src/sap/ui/mdc/odata/TypeUtil.js +4 -4
  227. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +1 -1
  228. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +1 -7
  229. package/src/sap/ui/mdc/odata/v4/FieldValueHelpDelegate.js +1 -1
  230. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +2 -2
  231. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +3 -3
  232. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +9 -1
  233. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +34 -65
  234. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
  235. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +53 -53
  236. package/src/sap/ui/mdc/p13n/Engine.js +4 -4
  237. package/src/sap/ui/mdc/p13n/FlexUtil.js +1 -1
  238. package/src/sap/ui/mdc/p13n/P13nBuilder.js +1 -1
  239. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +4 -154
  240. package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
  241. package/src/sap/ui/mdc/p13n/StateUtil.js +16 -2
  242. package/src/sap/ui/mdc/p13n/UIManager.js +3 -4
  243. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +1 -1
  244. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +3 -2
  245. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +4 -2
  246. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +23 -12
  247. package/src/sap/ui/mdc/p13n/panels/GroupView.js +15 -7
  248. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +3 -2
  249. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +7 -11
  250. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +21 -9
  251. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +13 -8
  252. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +2 -2
  253. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +12 -28
  254. package/src/sap/ui/mdc/p13n/subcontroller/ChartTypeController.js +8 -4
  255. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +7 -15
  256. package/src/sap/ui/mdc/p13n/subcontroller/ColumnWidthController.js +7 -7
  257. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +18 -9
  258. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +5 -5
  259. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +6 -5
  260. package/src/sap/ui/mdc/p13n/subcontroller/SelectionController.js +76 -0
  261. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +5 -5
  262. package/src/sap/ui/mdc/table/Column.js +101 -22
  263. package/src/sap/ui/mdc/table/ColumnSettings.js +41 -0
  264. package/src/sap/ui/mdc/table/CreationRow.js +11 -12
  265. package/src/sap/ui/mdc/table/GridTableType.js +331 -107
  266. package/src/sap/ui/mdc/table/PropertyHelper.js +14 -8
  267. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +76 -0
  268. package/src/sap/ui/mdc/table/ResponsiveTableType.js +312 -97
  269. package/src/sap/ui/mdc/table/RowActionItem.js +9 -3
  270. package/src/sap/ui/mdc/table/RowSettings.js +3 -3
  271. package/src/sap/ui/mdc/table/TableSettings.js +12 -13
  272. package/src/sap/ui/mdc/table/TableTypeBase.js +124 -41
  273. package/src/sap/ui/mdc/table/TreeTableType.js +106 -0
  274. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +3 -3
  275. package/src/sap/ui/mdc/table/menu/Item.js +4 -7
  276. package/src/sap/ui/mdc/table/menu/ItemContainer.js +1 -1
  277. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +3 -4
  278. package/src/sap/ui/mdc/themes/base/AdaptFiltersPanel.less +1 -5
  279. package/src/sap/ui/mdc/themes/base/Chart.less +1 -0
  280. package/src/sap/ui/mdc/themes/base/FieldBase.less +8 -2
  281. package/src/sap/ui/mdc/themes/base/PersonalizationDialog.less +7 -7
  282. package/src/sap/ui/mdc/themes/base/library.source.less +1 -1
  283. package/src/sap/ui/mdc/util/Common.js +1 -1
  284. package/src/sap/ui/mdc/util/DateUtil.js +3 -2
  285. package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
  286. package/src/sap/ui/mdc/util/FormatUtil.js +1 -1
  287. package/src/sap/ui/mdc/util/IdentifierUtil.js +1 -1
  288. package/src/sap/ui/mdc/util/PromiseCache.js +10 -10
  289. package/src/sap/ui/mdc/util/PropertyHelper.js +3 -3
  290. package/src/sap/ui/mdc/util/TypeUtil.js +33 -2
  291. package/src/sap/ui/mdc/util/loadModules.js +1 -1
  292. package/src/sap/ui/mdc/valuehelp/Dialog.js +39 -9
  293. package/src/sap/ui/mdc/valuehelp/Popover.js +30 -5
  294. package/src/sap/ui/mdc/valuehelp/base/Container.js +8 -6
  295. package/src/sap/ui/mdc/valuehelp/base/Content.js +28 -5
  296. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -2
  297. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +33 -32
  298. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +5 -4
  299. package/src/sap/ui/mdc/valuehelp/content/Bool.js +8 -2
  300. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +7 -3
  301. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +11 -4
  302. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +16 -14
  303. package/src/sap/ui/mdc/valuehelp/content/MTable.js +56 -73
  304. package/test/sap/ui/mdc/testutils/opa/field/Actions.js +4 -2
  305. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +1 -1
  306. package/test/sap/ui/mdc/testutils/opa/filterfield/Actions.js +8 -0
  307. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +16 -25
  308. package/test/sap/ui/mdc/testutils/opa/p13n/Assertions.js +2 -1
  309. package/test/sap/ui/mdc/testutils/opa/p13n/waitForPanelInP13n.js +1 -1
  310. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +291 -67
  311. package/test/sap/ui/mdc/testutils/opa/table/Assertions.js +4 -81
  312. package/test/sap/ui/mdc/testutils/opa/table/JSDoc.md +0 -50
  313. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +7 -51
  314. package/test/sap/ui/mdc/testutils/opa/table/Util.js +0 -1
  315. package/test/sap/ui/mdc/testutils/opa/table/waitForTable.js +30 -5
  316. package/src/sap/ui/mdc/p13n/AdaptationProvider.js +0 -67
  317. package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +0 -76
  318. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +0 -87
  319. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +0 -149
  320. package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +0 -86
  321. package/src/sap/ui/mdc/p13n/modules/xConfigAPI.js +0 -219
@@ -1,16 +1,23 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "./TableTypeBase", "../library"
9
- ], function(TableTypeBase, library) {
8
+ "./TableTypeBase",
9
+ "../library",
10
+ "sap/ui/core/library"
11
+ ], function(
12
+ TableTypeBase,
13
+ library,
14
+ coreLibrary
15
+ ) {
10
16
  "use strict";
11
17
 
12
18
  var InnerTable, InnerColumn, InnerRowAction, InnerRowActionItem, InnerMultiSelectionPlugin, InnerFixedRowMode, InnerAutoRowMode, InnerRowSettings;
13
19
  var RowCountMode = library.RowCountMode;
20
+ var SortOrder = coreLibrary.SortOrder;
14
21
 
15
22
  /**
16
23
  * Constructor for a new <code>GridTableType</code>.
@@ -23,11 +30,10 @@ sap.ui.define([
23
30
  * @private
24
31
  * @experimental
25
32
  * @ui5-restricted sap.fe
26
- * MDC_PUBLIC_CANDIDATE
33
+ * @MDC_PUBLIC_CANDIDATE
27
34
  * @since 1.65
28
35
  * @alias sap.ui.mdc.table.GridTableType
29
36
  */
30
-
31
37
  var GridTableType = TableTypeBase.extend("sap.ui.mdc.table.GridTableType", {
32
38
  metadata: {
33
39
  library: "sap.ui.mdc",
@@ -53,28 +59,36 @@ sap.ui.define([
53
59
  * Accepts positive integer values. If set to 0, the selection limit is disabled, and the Select All checkbox appears instead of the
54
60
  * Deselect All button.
55
61
  */
56
- selectionLimit : {
57
- type : "int",
58
- defaultValue : 200
62
+ selectionLimit: {
63
+ type: "int",
64
+ defaultValue: 200
59
65
  },
60
66
  /**
61
67
  * Determines whether the header selector is shown.
62
68
  */
63
- showHeaderSelector : {
64
- type : "boolean",
65
- defaultValue : true
69
+ showHeaderSelector: {
70
+ type: "boolean",
71
+ defaultValue: true
66
72
  }
67
73
  }
68
74
  }
69
75
  });
70
76
 
71
- GridTableType.prototype.updateRelevantTableProperty = function(oTable, sProperty, vValue) {
72
- if (!oTable || !oTable.isA("sap.ui.table.Table")) {
77
+ GridTableType.prototype.exit = function() {
78
+ TableTypeBase.prototype.exit.apply(this, arguments);
79
+ this.disableColumnResize();
80
+ };
81
+
82
+ GridTableType.prototype.updateTableByProperty = function(sProperty, vValue) {
83
+ var oGridTable = this.getInnerTable();
84
+ var oMultiSelectionPlugin = this._getMultiSelectionPlugin();
85
+
86
+ if (!oGridTable) {
73
87
  return;
74
88
  }
75
89
 
76
90
  if (sProperty === "rowCountMode") {
77
- var oRowMode = oTable.getRowMode();
91
+ var oRowMode = oGridTable.getRowMode();
78
92
  var bHideEmptyRows = false;
79
93
 
80
94
  if (oRowMode && (vValue === RowCountMode.Fixed && !oRowMode.isA("sap.ui.table.rowmodes.FixedRowMode") ||
@@ -86,148 +100,256 @@ sap.ui.define([
86
100
 
87
101
  if (!oRowMode) {
88
102
  var RowMode = vValue === RowCountMode.Fixed ? InnerFixedRowMode : InnerAutoRowMode;
89
- oTable.setRowMode(new RowMode({
103
+ oGridTable.setRowMode(new RowMode({
90
104
  hideEmptyRows: bHideEmptyRows
91
105
  }));
92
106
  }
93
107
 
94
- this._updateTableRowCount(oTable, vValue, this.getRowCount());
108
+ this._updateTableRowCount();
95
109
  } else if (sProperty === "rowCount") {
96
- this._updateTableRowCount(oTable, this.getRowCountMode(), vValue);
110
+ this._updateTableRowCount();
97
111
  } else if (sProperty === "selectionLimit") {
98
- oTable.getPlugins()[0].setLimit(vValue).setEnableNotification(vValue > 0);
112
+ if (oMultiSelectionPlugin) {
113
+ oMultiSelectionPlugin.setLimit(vValue).setEnableNotification(vValue > 0);
114
+ }
99
115
  } else if (sProperty === "showHeaderSelector") {
100
- oTable.getPlugins()[0].setShowHeaderSelector(vValue);
116
+ if (oMultiSelectionPlugin) {
117
+ oMultiSelectionPlugin.setShowHeaderSelector(vValue);
118
+ }
101
119
  }
102
120
  };
103
121
 
104
- GridTableType.prototype._updateTableRowCount = function(oTable, sMode, iValue) {
105
- if (sMode === RowCountMode.Fixed) {
106
- oTable.getRowMode().setRowCount(iValue);
107
- } else {
108
- oTable.getRowMode().setMinRowCount(iValue);
109
- }
110
- };
122
+ GridTableType.prototype._updateTableRowCount = function() {
123
+ var oGridTable = this.getInnerTable();
111
124
 
112
- GridTableType.updateDefault = function(oTable) {
113
- if (oTable) {
114
- oTable.setRowMode(new InnerAutoRowMode({
115
- minRowCount: 10 // default in this class
116
- }));
125
+ if (this.getRowCountMode() === RowCountMode.Fixed) {
126
+ oGridTable.getRowMode().setRowCount(this.getRowCount());
127
+ } else {
128
+ oGridTable.getRowMode().setMinRowCount(this.getRowCount());
117
129
  }
118
130
  };
119
131
 
120
- /* Below APIs are used during table creation */
121
-
122
- GridTableType.loadGridTableLib = function() {
132
+ GridTableType.prototype.loadUiTableLibrary = function() {
123
133
  if (!this._oGridTableLibLoaded) {
124
134
  this._oGridTableLibLoaded = sap.ui.getCore().loadLibrary("sap.ui.table", true);
125
135
  }
126
136
  return this._oGridTableLibLoaded;
127
137
  };
128
138
 
129
- GridTableType.loadTableModules = function() {
130
- if (!InnerTable) {
139
+ GridTableType.prototype.loadModules = function() {
140
+ if (InnerTable) {
141
+ return Promise.resolve();
142
+ }
143
+
144
+ return this.loadUiTableLibrary().then(function() {
131
145
  return new Promise(function(resolve, reject) {
132
- this.loadGridTableLib().then(function() {
133
- sap.ui.require([
134
- "sap/ui/table/Table", "sap/ui/table/Column", "sap/ui/table/RowAction", "sap/ui/table/RowActionItem", "sap/ui/table/plugins/MultiSelectionPlugin",
135
- "sap/ui/table/rowmodes/FixedRowMode", "sap/ui/table/rowmodes/AutoRowMode", "sap/ui/table/RowSettings"
136
- ], function(GridTable, GridColumn, RowAction, RowActionItem, MultiSelectionPlugin, FixedRowMode, AutoRowMode, RowSettings) {
137
- InnerTable = GridTable;
138
- InnerColumn = GridColumn;
139
- InnerRowAction = RowAction;
140
- InnerRowActionItem = RowActionItem;
141
- InnerMultiSelectionPlugin = MultiSelectionPlugin;
142
- InnerFixedRowMode = FixedRowMode;
143
- InnerAutoRowMode = AutoRowMode;
144
- InnerRowSettings = RowSettings;
145
- resolve();
146
- }, function() {
147
- reject("Failed to load some modules");
148
- });
146
+ sap.ui.require([
147
+ "sap/ui/table/Table", "sap/ui/table/Column", "sap/ui/table/RowAction", "sap/ui/table/RowActionItem",
148
+ "sap/ui/table/plugins/MultiSelectionPlugin",
149
+ "sap/ui/table/rowmodes/FixedRowMode", "sap/ui/table/rowmodes/AutoRowMode", "sap/ui/table/RowSettings"
150
+ ], function(GridTable, GridColumn, RowAction, RowActionItem, MultiSelectionPlugin, FixedRowMode, AutoRowMode, RowSettings) {
151
+ InnerTable = GridTable;
152
+ InnerColumn = GridColumn;
153
+ InnerRowAction = RowAction;
154
+ InnerRowActionItem = RowActionItem;
155
+ InnerMultiSelectionPlugin = MultiSelectionPlugin;
156
+ InnerFixedRowMode = FixedRowMode;
157
+ InnerAutoRowMode = AutoRowMode;
158
+ InnerRowSettings = RowSettings;
159
+ resolve();
160
+ }, function() {
161
+ reject("Failed to load some modules");
149
162
  });
150
- }.bind(this));
151
- } else {
152
- return Promise.resolve();
163
+ });
164
+ });
165
+ };
166
+
167
+ GridTableType.prototype.createTable = function(sId) {
168
+ var oTable = this.getTable();
169
+
170
+ if (!oTable || !InnerTable) {
171
+ return null;
153
172
  }
173
+
174
+ return new InnerTable(sId, this.getTableSettings());
175
+ };
176
+
177
+ GridTableType.prototype.getTableSettings = function() {
178
+ var oTable = this.getTable();
179
+
180
+ return Object.assign({}, TableTypeBase.prototype.getTableSettings.apply(this, arguments), {
181
+ enableBusyIndicator: true,
182
+ enableColumnReordering: false,
183
+ threshold: this.getThreshold(),
184
+ cellClick: [this._onCellClick, this],
185
+ noData: oTable._getNoDataText(),
186
+ extension: [oTable._oToolbar],
187
+ ariaLabelledBy: [oTable._oTitle],
188
+ plugins: [this._createSelectionPlugin()],
189
+ columnSelect: [this._onColumnPress, this],
190
+ rowSettingsTemplate: this.getRowSettingsConfig(),
191
+ selectionBehavior: this._getSelectionBehavior()
192
+ });
193
+ };
194
+
195
+ GridTableType.prototype._onCellClick = function(oEvent) {
196
+ this.callHook("RowPress", this.getTable(), {
197
+ bindingContext: oEvent.getParameter("rowBindingContext")
198
+ });
154
199
  };
155
200
 
156
- GridTableType.createTable = function(sId, mSettings) {
157
- return new InnerTable(sId, mSettings);
201
+ GridTableType.prototype._onSelectionChange = function(oEvent) {
202
+ this.callHook("SelectionChange", this.getTable(), {
203
+ bindingContext: oEvent.getParameter("rowContext"),
204
+ selected: oEvent.getSource().isIndexSelected(oEvent.getParameter("rowIndex")),
205
+ selectAll: oEvent.getParameter("selectAll")
206
+ });
207
+ };
208
+
209
+ GridTableType.prototype._onColumnPress = function(oEvent) {
210
+ var oTable = this.getTable();
211
+
212
+ oEvent.preventDefault();
213
+ this.callHook("ColumnPress", this.getTable(), {
214
+ column: oTable.getColumns()[oEvent.getParameter("column").getIndex()]
215
+ });
158
216
  };
159
217
 
160
218
  GridTableType.createColumn = function(sId, mSettings) {
161
219
  var oColumn = new InnerColumn(sId, mSettings);
162
220
  /* **** Ensure that the columnSelect event is fired always (esp. mobile) **** */
163
- oColumn.attachColumnMenuOpen(function(oEvent){ oEvent.preventDefault(); });
221
+ oColumn.attachColumnMenuOpen(function(oEvent) { oEvent.preventDefault(); });
164
222
  oColumn._menuHasItems = function() { return true; };
165
223
  /* **** */
166
224
  return oColumn;
167
225
  };
168
226
 
169
- GridTableType.createMultiSelectionPlugin = function(oTable, aEventInfo) {
170
- return new InnerMultiSelectionPlugin(oTable.getId() + "--multiSelectPlugin", {
171
- selectionMode: TableTypeBase.getSelectionMode(oTable),
172
- selectionChange: aEventInfo
227
+ GridTableType.prototype._createSelectionPlugin = function() {
228
+ return new InnerMultiSelectionPlugin({
229
+ selectionMode: this._getSelectionMode(),
230
+ selectionChange: [this._onSelectionChange, this]
173
231
  });
174
232
  };
175
233
 
176
- GridTableType.enableColumnResizer = function(oTable, oInnerTable) {
177
- oInnerTable.getColumns().forEach(function(oColumn) {
234
+ GridTableType.prototype._getMultiSelectionPlugin = function() {
235
+ var oGridTable = this.getInnerTable();
236
+ var oPlugin = oGridTable ? oGridTable.getPlugins()[0] : undefined;
237
+ return oPlugin && oPlugin.isA("sap.ui.table.plugins.MultiSelectionPlugin") ? oPlugin : null;
238
+ };
239
+
240
+ GridTableType.prototype.enableColumnResize = function() {
241
+ var oTable = this.getTable();
242
+ var oGridTable = this.getInnerTable();
243
+
244
+ if (!oTable || !oGridTable) {
245
+ return;
246
+ }
247
+
248
+ oGridTable.getColumns().forEach(function(oColumn) {
178
249
  oColumn.setResizable(true);
179
250
  oColumn.setAutoResizable(true);
180
251
  });
181
-
182
- oInnerTable.detachColumnResize(oTable._onColumnResize, oTable);
183
- oInnerTable.attachColumnResize(oTable._onColumnResize, oTable);
252
+ oGridTable.detachColumnResize(this._onColumnResize, this);
253
+ oGridTable.attachColumnResize(this._onColumnResize, this);
184
254
  };
185
255
 
186
- GridTableType.disableColumnResizer = function(oTable, oInnerTable) {
187
- oInnerTable.getColumns().forEach(function(oColumn) {
256
+ GridTableType.prototype.disableColumnResize = function() {
257
+ var oTable = this.getTable();
258
+ var oGridTable = this.getInnerTable();
259
+
260
+ if (!oTable || !oGridTable) {
261
+ return;
262
+ }
263
+
264
+ oGridTable.getColumns().forEach(function(oColumn) {
188
265
  oColumn.setResizable(false);
189
266
  oColumn.setAutoResizable(false);
190
267
  });
268
+ oGridTable.detachColumnResize(this._onColumnResize, this);
269
+ };
191
270
 
192
- oInnerTable.detachColumnResize(oTable._onColumnResize, oTable);
271
+ GridTableType.prototype._onColumnResize = function(oEvent) {
272
+ var oTable = this.getTable();
273
+ var oGridTable = this.getInnerTable();
274
+ var oGridTableColumn = oEvent.getParameter("column");
275
+ var sWidth = oEvent.getParameter("width");
276
+ var iIndex = oGridTable.indexOfColumn(oGridTableColumn);
277
+ var oColumn = oTable.getColumns()[iIndex];
278
+
279
+ this.callHook("ColumnResize", oTable, {
280
+ column: oColumn,
281
+ width: sWidth
282
+ });
193
283
  };
194
284
 
195
- GridTableType.updateSelection = function(oTable) {
196
- var sSelectionMode = TableTypeBase.getSelectionMode(oTable);
197
- if (oTable.getSelectionMode() === library.SelectionMode.SingleMaster) {
198
- oTable._oTable.setSelectionBehavior("RowOnly");
199
- } else {
200
- oTable._oTable.resetProperty("selectionBehavior");
201
- }
202
- oTable._oTable.getPlugins()[0].setSelectionMode(sSelectionMode);
285
+ GridTableType.prototype._getSelectionMode = function() {
286
+ var oTable = this.getTable();
287
+ var sSelectionMode = oTable ? oTable.getSelectionMode() : undefined;
288
+ var mSelectionModeMap = {
289
+ Single: "Single",
290
+ SingleMaster: "Single",
291
+ Multi: "MultiToggle",
292
+ None: "None",
293
+ undefined: "None"
294
+ };
295
+
296
+ return mSelectionModeMap[sSelectionMode];
203
297
  };
204
298
 
205
- GridTableType.removeRowActions = function(oTable) {
206
- var oInnerRowAction = oTable._oTable.getRowActionTemplate();
207
- if (oInnerRowAction) {
208
- oInnerRowAction.destroy();
299
+ GridTableType.prototype._getSelectionBehavior = function() {
300
+ var oTable = this.getTable();
301
+ var mSelectionBehaviorMap = {
302
+ SingleMaster: "RowOnly"
303
+ };
304
+
305
+ return mSelectionBehaviorMap[oTable ? oTable.getSelectionMode() : undefined];
306
+ };
307
+
308
+ GridTableType.prototype.updateSelectionSettings = function() {
309
+ var oTable = this.getTable();
310
+ var oGridTable = this.getInnerTable();
311
+ var oMultiSelectionPlugin = this._getMultiSelectionPlugin();
312
+
313
+ if (!oTable || !oGridTable) {
314
+ return;
315
+ }
316
+
317
+ oGridTable.setSelectionBehavior(this._getSelectionBehavior());
318
+
319
+ if (oMultiSelectionPlugin) {
320
+ oMultiSelectionPlugin.setSelectionMode(this._getSelectionMode());
209
321
  }
210
- oTable._oTable.setRowActionTemplate();
211
- oTable._oTable.setRowActionCount();
212
322
  };
213
323
 
214
- GridTableType.updateRowSettings = function(oTable, oRowSettings, fnRowActionPress) {
215
- var oInnerRowSettings = new InnerRowSettings(undefined, oRowSettings.getAllSettings());
216
- this.updateRowActions(oTable.getParent(), oRowSettings, fnRowActionPress);
217
- oTable.getRowSettingsTemplate().destroy();
218
- oTable.setRowSettingsTemplate(oInnerRowSettings);
324
+ GridTableType.prototype.updateRowSettings = function() {
325
+ var oGridTable = this.getInnerTable();
326
+
327
+ if (!oGridTable) {
328
+ return;
329
+ }
330
+
331
+ oGridTable.destroyRowSettingsTemplate();
332
+ oGridTable.setRowSettingsTemplate(new InnerRowSettings(this.getRowSettingsConfig()));
333
+ this.updateRowActions();
219
334
  };
220
335
 
221
- GridTableType.updateRowActions = function (oTable, oRowSettings) {
222
- this.removeRowActions(oTable);
223
- if (!oRowSettings) {
336
+ GridTableType.prototype.updateRowActions = function() {
337
+ var oGridTable = this.getInnerTable();
338
+
339
+ if (!oGridTable) {
224
340
  return;
225
341
  }
226
- if (!oRowSettings.isBound("rowActions") && (!oRowSettings.getRowActions() || oRowSettings.getRowActions().length == 0)) {
342
+
343
+ var oRowSettings = this.getTable().getRowSettings();
344
+
345
+ this._removeRowActions();
346
+
347
+ if (!oRowSettings || !oRowSettings.isBound("rowActions") && (!oRowSettings.getRowActions() || oRowSettings.getRowActions().length == 0)) {
227
348
  return;
228
349
  }
229
350
 
230
351
  var oRowActions = oRowSettings.getAllActions();
352
+
231
353
  if ("templateInfo" in oRowActions) {
232
354
  var oTemplateInfo = oRowActions.templateInfo;
233
355
  // Set template for inner row actions using temporary metadata
@@ -236,18 +358,18 @@ sap.ui.define([
236
358
  visible: oTemplateInfo.visible,
237
359
  icon: oTemplateInfo.icon,
238
360
  text: oTemplateInfo.text,
239
- press: [this._onRowActionPress, oTable]
361
+ press: [this._onRowActionPress, this]
240
362
  });
241
363
  // Remove temporary metadata from row actions object
242
364
  delete oRowActions.templateInfo;
243
365
  } else {
244
- oRowActions.items = oRowActions.items.map(function (oRowActionItem) {
366
+ oRowActions.items = oRowActions.items.map(function(oRowActionItem) {
245
367
  var oInnerRowActionItem = new InnerRowActionItem({
246
368
  type: oRowActionItem.isBound("type") ? oRowActionItem.getBindingInfo("type") : oRowActionItem.getType(),
247
369
  visible: oRowActionItem.isBound("visible") ? oRowActionItem.getBindingInfo("visible") : oRowActionItem.getVisible(),
248
370
  icon: oRowActionItem.isBound("icon") ? oRowActionItem.getBindingInfo("icon") : oRowActionItem._getIcon(),
249
371
  text: oRowActionItem.isBound("text") ? oRowActionItem.getBindingInfo("text") : oRowActionItem._getText(),
250
- press: [this._onRowActionPress, oTable]
372
+ press: [this._onRowActionPress, this]
251
373
  });
252
374
  // Add custom data for MDC row action, so original is retrievable from inner row action item
253
375
  oInnerRowActionItem.data("rowAction", oRowActionItem);
@@ -255,16 +377,29 @@ sap.ui.define([
255
377
  }, this);
256
378
  }
257
379
 
258
- var oInnerRowAction = new InnerRowAction(oTable.getId() + "--rowAction", oRowActions);
259
- oTable._oTable.setRowActionTemplate(oInnerRowAction);
260
- oTable._oTable.setRowActionCount(oRowSettings.getRowActionCount());
380
+ oGridTable.setRowActionTemplate(new InnerRowAction(oRowActions));
381
+ oGridTable.setRowActionCount(oRowSettings.getRowActionCount());
261
382
  };
262
383
 
263
- GridTableType._onRowActionPress = function (oEvent) {
384
+ GridTableType.prototype._removeRowActions = function() {
385
+ var oGridTable = this.getInnerTable();
386
+ var oInnerRowAction = oGridTable.getRowActionTemplate();
387
+
388
+ if (oInnerRowAction) {
389
+ oInnerRowAction.destroy();
390
+ }
391
+
392
+ oGridTable.setRowActionTemplate();
393
+ oGridTable.setRowActionCount();
394
+ };
395
+
396
+ GridTableType.prototype._onRowActionPress = function(oEvent) {
397
+ var oTable = this.getTable();
264
398
  var oInnerRowActionItem = oEvent.getParameter("item");
265
- var oRowActionsInfo = this.getRowSettings().getAllActions();
399
+ var oRowSettings = oTable.getRowSettings();
400
+ var oRowActionsInfo = oRowSettings.getAllActions();
266
401
 
267
- if (this.getRowSettings().isBound("rowActions")) {
402
+ if (oRowSettings.isBound("rowActions")) {
268
403
  var sActionModel = oRowActionsInfo.items.model;
269
404
  var oActionContext = oInnerRowActionItem.getBindingContext(sActionModel);
270
405
 
@@ -276,15 +411,104 @@ sap.ui.define([
276
411
 
277
412
  // Set model for row settings, as it is not propagated
278
413
  this._oRowActionItem.setModel(this.getModel(sActionModel), sActionModel);
279
- this.getRowSettings().addDependent(this._oRowActionItem);
414
+ oRowSettings.addDependent(this._oRowActionItem);
280
415
  } else {
281
416
  this._oRowActionItem = oInnerRowActionItem.data("rowAction");
282
417
  }
283
- var oRow = oEvent.getParameter("row");
284
- this._oRowActionItem.firePress({
285
- bindingContext: oRow.getBindingContext()
418
+
419
+ this.callHook("Press", this._oRowActionItem, {
420
+ bindingContext: oEvent.getParameter("row").getBindingContext()
421
+ });
422
+ };
423
+
424
+ GridTableType.prototype.removeToolbar = function() {
425
+ var oGridTable = this.getInnerTable();
426
+
427
+ if (oGridTable) {
428
+ oGridTable.removeExtension(this.getTable()._oToolbar);
429
+ }
430
+ };
431
+
432
+ GridTableType.prototype.scrollToIndex = function(iIndex) {
433
+ var oTable = this.getTable();
434
+ var oGridTable = this.getInnerTable();
435
+
436
+ if (!oGridTable) {
437
+ return Promise.reject();
438
+ }
439
+
440
+ return new Promise(function(resolve) {
441
+ if (iIndex === -1) {
442
+ iIndex = oTable._getRowCount(false);
443
+ }
444
+
445
+ if (oGridTable._setFirstVisibleRowIndex(iIndex)) {
446
+ oGridTable.attachEventOnce("rowsUpdated", function() {
447
+ resolve();
448
+ });
449
+ } else {
450
+ resolve();
451
+ }
286
452
  });
287
453
  };
288
454
 
455
+ GridTableType.prototype.getRowBinding = function() {
456
+ var oGridTable = this.getInnerTable();
457
+ return oGridTable ? oGridTable.getBinding() : undefined;
458
+ };
459
+
460
+ GridTableType.prototype.bindRows = function(oBindingInfo) {
461
+ var oGridTable = this.getInnerTable();
462
+
463
+ if (oGridTable) {
464
+ oGridTable.bindRows(oBindingInfo);
465
+ }
466
+ };
467
+
468
+ GridTableType.prototype.isTableBound = function() {
469
+ var oGridTable = this.getInnerTable();
470
+ return oGridTable ? oGridTable.isBound("rows") : false;
471
+ };
472
+
473
+ GridTableType.prototype.insertFilterInfoBar = function(oFilterInfoBar, sAriaLabelId) {
474
+ var oGridTable = this.getInnerTable();
475
+
476
+ if (oGridTable) {
477
+ oGridTable.insertExtension(oFilterInfoBar, 1);
478
+
479
+ if (!oGridTable.getAriaLabelledBy().includes(sAriaLabelId)) {
480
+ oGridTable.addAriaLabelledBy(sAriaLabelId);
481
+ }
482
+ }
483
+ };
484
+
485
+ GridTableType.prototype.updateSortIndicator = function(oColumn, sSortOrder) {
486
+ var oGridColumn = oColumn.getInnerColumn();
487
+
488
+ oGridColumn.setSorted(sSortOrder !== SortOrder.None);
489
+ oGridColumn.setSortOrder(sSortOrder === SortOrder.None ? undefined : sSortOrder);
490
+ };
491
+
492
+ GridTableType.prototype.getSelectedContexts = function() {
493
+ var oGridTable = this.getInnerTable();
494
+ var oMultiSelectionPlugin = this._getMultiSelectionPlugin();
495
+
496
+ if (!oMultiSelectionPlugin) {
497
+ return [];
498
+ }
499
+
500
+ return oMultiSelectionPlugin.getSelectedIndices().map(function(iIndex) {
501
+ return oGridTable.getContextByIndex(iIndex);
502
+ }, this);
503
+ };
504
+
505
+ GridTableType.prototype.clearSelection = function() {
506
+ var oMultiSelectionPlugin = this._getMultiSelectionPlugin();
507
+
508
+ if (oMultiSelectionPlugin) {
509
+ oMultiSelectionPlugin.clearSelection();
510
+ }
511
+ };
512
+
289
513
  return GridTableType;
290
514
  });
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * @private
60
60
  * @experimental
61
61
  * @ui5-restricted sap.fe
62
- * MDC_PUBLIC_CANDIDATE
62
+ * @MDC_PUBLIC_CANDIDATE
63
63
  */
64
64
 
65
65
  /**
@@ -81,7 +81,7 @@ sap.ui.define([
81
81
  * @extends sap.ui.mdc.util.PropertyHelper
82
82
  *
83
83
  * @author SAP SE
84
- * @version 1.108.2
84
+ * @version 1.110.0
85
85
  *
86
86
  * @private
87
87
  * @experimental
@@ -353,26 +353,32 @@ sap.ui.define([
353
353
  return null;
354
354
  }
355
355
 
356
- return this._calcColumnWidth(oProperty, oMDCColumn.getHeader());
356
+ return this._calcColumnWidth(oProperty, oMDCColumn);
357
357
  };
358
358
 
359
359
  /**
360
360
  * Calculates the column width based on the provided <code>PropertyInfo</code>.
361
361
  *
362
362
  * @param {sap.ui.mdc.table.PropertyInfo} oProperty The property of the <code>Column</code> instance for which to set the width
363
- * @param {string} [sHeader] The header in case of it is different than the PropertyInfo header
363
+ * @param {sap.ui.mdc.table.Column} oMDCColumn The <code>Column</code> instance for which the width is calculated
364
364
  * @return {string} The calculated column width
365
365
  * @since 1.95
366
366
  * @private
367
367
  */
368
- PropertyHelper.prototype._calcColumnWidth = function (oProperty, sHeader) {
368
+ PropertyHelper.prototype._calcColumnWidth = function (oProperty, oMDCColumn) {
369
369
  var mWidthCalculation = Object.assign({
370
370
  gap: 0,
371
371
  includeLabel: true,
372
372
  truncateLabel: true,
373
- excludeProperties: []
373
+ excludeProperties: [],
374
+ required: oMDCColumn.getRequired()
374
375
  }, oProperty.visualSettings && oProperty.visualSettings.widthCalculation);
375
376
 
377
+ var oMDCTable = oMDCColumn.getParent();
378
+ if (oMDCTable && oMDCTable._isOfType("TreeTable") && oMDCTable.indexOfColumn(oMDCColumn) == 0) {
379
+ mWidthCalculation.treeColumn = true;
380
+ }
381
+
376
382
  var aTypes = [];
377
383
  if (oProperty.isComplex()) {
378
384
  // for complex properties generate [<TypeInstance>, <TypeSettings>][] structure
@@ -392,7 +398,7 @@ sap.ui.define([
392
398
  mWidthCalculation.gap += 2.5;
393
399
  }
394
400
 
395
- sHeader = (mWidthCalculation.includeLabel) ? sHeader || oProperty.label : "";
401
+ var sHeader = (mWidthCalculation.includeLabel) ? oMDCColumn.getHeader() || oProperty.label : "";
396
402
  return TableUtil.calcColumnWidth(aTypes, sHeader, mWidthCalculation);
397
403
  };
398
404