@openui5/sap.ui.mdc 1.96.2 → 1.98.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 (329) hide show
  1. package/.reuse/dep5 +26 -31
  2. package/THIRDPARTY.txt +15 -21
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +2 -2
  5. package/src/sap/ui/mdc/ActionToolbar.js +3 -8
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -2
  7. package/src/sap/ui/mdc/BaseDelegate.js +2 -2
  8. package/src/sap/ui/mdc/Chart.js +1017 -1797
  9. package/src/sap/ui/mdc/ChartDelegate.js +430 -271
  10. package/src/sap/ui/mdc/ChartRenderer.js +74 -78
  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 +4 -3
  15. package/src/sap/ui/mdc/FilterBar.js +4 -3
  16. package/src/sap/ui/mdc/FilterBarDelegate.js +1 -1
  17. package/src/sap/ui/mdc/FilterField.js +26 -9
  18. package/src/sap/ui/mdc/Link.js +5 -4
  19. package/src/sap/ui/mdc/LinkDelegate.js +2 -2
  20. package/src/sap/ui/mdc/MultiValueField.js +3 -2
  21. package/src/sap/ui/mdc/Table.js +174 -142
  22. package/src/sap/ui/mdc/TableDelegate.js +31 -16
  23. package/src/sap/ui/mdc/ValueHelp.js +52 -16
  24. package/src/sap/ui/mdc/ValueHelpDelegate.js +21 -1
  25. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
  26. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
  27. package/src/sap/ui/mdc/{chartNew/ChartSelectionDetailsNew.js → chart/ChartSelectionDetails.js} +9 -9
  28. package/src/sap/ui/mdc/chart/ChartSettings.js +1 -1
  29. package/src/sap/ui/mdc/{chartNew/ChartToolbarNew.js → chart/ChartToolbar.js} +11 -11
  30. package/src/sap/ui/mdc/chart/ChartTypeButton.js +49 -53
  31. package/src/sap/ui/mdc/{chartNew/DrillBreadcrumbsNew.js → chart/DrillBreadcrumbs.js} +4 -4
  32. package/src/sap/ui/mdc/chart/DrillStackHandler.js +39 -250
  33. package/src/sap/ui/mdc/chart/Item.js +63 -93
  34. package/src/sap/ui/mdc/{chartNew/PropertyHelperNew.js → chart/PropertyHelper.js} +4 -4
  35. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +18 -22
  36. package/src/sap/ui/mdc/condition/Condition.js +2 -2
  37. package/src/sap/ui/mdc/condition/ConditionConverter.js +2 -2
  38. package/src/sap/ui/mdc/condition/ConditionModel.js +2 -2
  39. package/src/sap/ui/mdc/condition/ConditionModelPropertyBinding.js +1 -1
  40. package/src/sap/ui/mdc/condition/FilterConverter.js +2 -2
  41. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +7 -3
  42. package/src/sap/ui/mdc/condition/Operator.js +10 -10
  43. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +437 -0
  44. package/src/sap/ui/mdc/condition/RangeOperator.js +2 -2
  45. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +1 -1
  46. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +78 -6
  47. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +97 -0
  48. package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +104 -0
  49. package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +22 -0
  50. package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +23 -0
  51. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +1 -1
  52. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +4 -1
  53. package/src/sap/ui/mdc/designtime/library.designtime.js +1 -1
  54. package/src/sap/ui/mdc/designtime/link/Panel.designtime.js +1 -1
  55. package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +1 -1
  56. package/src/sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime.js +1 -1
  57. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +1 -1
  58. package/src/sap/ui/mdc/enum/ActionToolbarActionAlignment.js +1 -1
  59. package/src/sap/ui/mdc/enum/BaseType.js +1 -1
  60. package/src/sap/ui/mdc/enum/ConditionValidated.js +1 -1
  61. package/src/sap/ui/mdc/enum/ContentMode.js +1 -1
  62. package/src/sap/ui/mdc/enum/EditMode.js +1 -1
  63. package/src/sap/ui/mdc/enum/FieldDisplay.js +1 -1
  64. package/src/sap/ui/mdc/enum/OutParameterMode.js +1 -1
  65. package/src/sap/ui/mdc/enum/PersistenceMode.js +1 -1
  66. package/src/sap/ui/mdc/enum/SelectType.js +1 -1
  67. package/src/sap/ui/mdc/field/BoolFieldHelp.js +2 -2
  68. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +2 -2
  69. package/src/sap/ui/mdc/field/ConditionType.js +8 -8
  70. package/src/sap/ui/mdc/field/ConditionsType.js +8 -8
  71. package/src/sap/ui/mdc/field/CustomFieldHelp.js +2 -2
  72. package/src/sap/ui/mdc/field/CustomFieldInfo.js +2 -2
  73. package/src/sap/ui/mdc/field/DefineConditionPanel.js +59 -22
  74. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +311 -0
  75. package/src/sap/ui/mdc/field/FieldBase.js +84 -53
  76. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
  77. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +1 -4
  78. package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
  79. package/src/sap/ui/mdc/field/FieldHelpBaseDelegate.js +1 -1
  80. package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -2
  81. package/src/sap/ui/mdc/field/FieldInput.js +2 -2
  82. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +2 -2
  83. package/src/sap/ui/mdc/field/FieldInputRenderer.js +1 -1
  84. package/src/sap/ui/mdc/field/FieldMultiInput.js +2 -2
  85. package/src/sap/ui/mdc/field/FieldMultiInputRenderer.js +1 -1
  86. package/src/sap/ui/mdc/field/FieldValueHelp.js +8 -8
  87. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +2 -2
  88. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +21 -1
  89. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +2 -2
  90. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +2 -2
  91. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -2
  92. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +2 -2
  93. package/src/sap/ui/mdc/field/InParameter.js +2 -2
  94. package/src/sap/ui/mdc/field/ListFieldHelp.js +11 -3
  95. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +2 -2
  96. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +1 -1
  97. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +2 -2
  98. package/src/sap/ui/mdc/field/OutParameter.js +2 -2
  99. package/src/sap/ui/mdc/field/ValueHelpPanel.js +3 -2
  100. package/src/sap/ui/mdc/field/content/BooleanContent.js +2 -2
  101. package/src/sap/ui/mdc/field/content/ContentFactory.js +24 -22
  102. package/src/sap/ui/mdc/field/content/DateContent.js +129 -3
  103. package/src/sap/ui/mdc/field/content/DateTimeContent.js +10 -2
  104. package/src/sap/ui/mdc/field/content/DefaultContent.js +2 -2
  105. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  106. package/src/sap/ui/mdc/field/content/SearchContent.js +1 -1
  107. package/src/sap/ui/mdc/field/content/TimeContent.js +9 -2
  108. package/src/sap/ui/mdc/field/content/UnitContent.js +24 -5
  109. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +326 -141
  110. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  111. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
  112. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +2 -2
  113. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +1 -1
  114. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +1 -1
  115. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +9 -3
  116. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +1 -1
  117. package/src/sap/ui/mdc/filterbar/p13n/FilterGroupLayout.js +1 -1
  118. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +1 -1
  119. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +1 -1
  120. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +4 -2
  121. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +8 -2
  122. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
  123. package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +7 -7
  124. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +1 -1
  125. package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +1 -1
  126. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +3 -3
  127. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +1 -1
  128. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +2 -2
  129. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +1 -1
  130. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +2 -2
  131. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +1 -1
  132. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +5 -4
  133. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +2 -2
  134. package/src/sap/ui/mdc/flexibility/GroupFlex.js +2 -2
  135. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +1 -1
  136. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +10 -4
  137. package/src/sap/ui/mdc/flexibility/PanelItem.flexibility.js +1 -1
  138. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +110 -0
  139. package/src/sap/ui/mdc/flexibility/SortFlex.js +3 -3
  140. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +1 -1
  141. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +2 -2
  142. package/src/sap/ui/mdc/library.js +50 -39
  143. package/src/sap/ui/mdc/link/ContactDetails.js +2 -2
  144. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +2 -2
  145. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +2 -2
  146. package/src/sap/ui/mdc/link/ContactDetailsItem.js +2 -2
  147. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +2 -2
  148. package/src/sap/ui/mdc/link/Factory.js +3 -3
  149. package/src/sap/ui/mdc/link/FakeFlpConnector.js +2 -2
  150. package/src/sap/ui/mdc/link/LinkItem.js +2 -2
  151. package/src/sap/ui/mdc/link/Log.js +1 -1
  152. package/src/sap/ui/mdc/link/Panel.js +141 -179
  153. package/src/sap/ui/mdc/link/PanelItem.js +2 -2
  154. package/src/sap/ui/mdc/link/PanelListItem.js +2 -2
  155. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +2 -2
  156. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +2 -2
  157. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +2 -2
  158. package/src/sap/ui/mdc/messagebundle.properties +19 -4
  159. package/src/sap/ui/mdc/messagebundle_ar.properties +13 -4
  160. package/src/sap/ui/mdc/messagebundle_bg.properties +11 -2
  161. package/src/sap/ui/mdc/messagebundle_ca.properties +11 -2
  162. package/src/sap/ui/mdc/messagebundle_cs.properties +26 -17
  163. package/src/sap/ui/mdc/messagebundle_cy.properties +11 -2
  164. package/src/sap/ui/mdc/messagebundle_da.properties +18 -9
  165. package/src/sap/ui/mdc/messagebundle_de.properties +11 -2
  166. package/src/sap/ui/mdc/messagebundle_el.properties +12 -3
  167. package/src/sap/ui/mdc/messagebundle_en.properties +11 -2
  168. package/src/sap/ui/mdc/messagebundle_en_GB.properties +11 -2
  169. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +17 -0
  170. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +3 -19
  171. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +17 -0
  172. package/src/sap/ui/mdc/messagebundle_es.properties +12 -3
  173. package/src/sap/ui/mdc/messagebundle_es_MX.properties +24 -15
  174. package/src/sap/ui/mdc/messagebundle_et.properties +11 -2
  175. package/src/sap/ui/mdc/messagebundle_fi.properties +17 -8
  176. package/src/sap/ui/mdc/messagebundle_fr.properties +15 -6
  177. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +11 -2
  178. package/src/sap/ui/mdc/messagebundle_hi.properties +12 -3
  179. package/src/sap/ui/mdc/messagebundle_hr.properties +11 -2
  180. package/src/sap/ui/mdc/messagebundle_hu.properties +11 -2
  181. package/src/sap/ui/mdc/messagebundle_id.properties +11 -2
  182. package/src/sap/ui/mdc/messagebundle_it.properties +26 -17
  183. package/src/sap/ui/mdc/messagebundle_iw.properties +12 -3
  184. package/src/sap/ui/mdc/messagebundle_ja.properties +11 -2
  185. package/src/sap/ui/mdc/messagebundle_kk.properties +11 -2
  186. package/src/sap/ui/mdc/messagebundle_ko.properties +15 -6
  187. package/src/sap/ui/mdc/messagebundle_lt.properties +11 -2
  188. package/src/sap/ui/mdc/messagebundle_lv.properties +11 -2
  189. package/src/sap/ui/mdc/messagebundle_ms.properties +11 -2
  190. package/src/sap/ui/mdc/messagebundle_nl.properties +16 -7
  191. package/src/sap/ui/mdc/messagebundle_no.properties +19 -10
  192. package/src/sap/ui/mdc/messagebundle_pl.properties +12 -3
  193. package/src/sap/ui/mdc/messagebundle_pt.properties +18 -9
  194. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +11 -2
  195. package/src/sap/ui/mdc/messagebundle_ro.properties +11 -2
  196. package/src/sap/ui/mdc/messagebundle_ru.properties +11 -2
  197. package/src/sap/ui/mdc/messagebundle_sh.properties +11 -2
  198. package/src/sap/ui/mdc/messagebundle_sk.properties +11 -2
  199. package/src/sap/ui/mdc/messagebundle_sl.properties +11 -2
  200. package/src/sap/ui/mdc/messagebundle_sv.properties +13 -4
  201. package/src/sap/ui/mdc/messagebundle_th.properties +11 -2
  202. package/src/sap/ui/mdc/messagebundle_tr.properties +11 -2
  203. package/src/sap/ui/mdc/messagebundle_uk.properties +12 -3
  204. package/src/sap/ui/mdc/messagebundle_vi.properties +11 -2
  205. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +11 -2
  206. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +11 -2
  207. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +3 -4
  208. package/src/sap/ui/mdc/mixin/DelegateMixin.js +3 -3
  209. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +17 -12
  210. package/src/sap/ui/mdc/mixin/PromiseMixin.js +3 -4
  211. package/src/sap/ui/mdc/odata/TypeUtil.js +2 -2
  212. package/src/sap/ui/mdc/odata/json/FilterBarDelegate.js +1 -1
  213. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +30 -484
  214. package/src/sap/ui/mdc/odata/v4/{ChartPropertyHelperNew.js → ChartPropertyHelper.js} +6 -6
  215. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +1 -1
  216. package/src/sap/ui/mdc/odata/v4/FieldValueHelpDelegate.js +1 -1
  217. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +1 -1
  218. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +1 -1
  219. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +158 -114
  220. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +2 -2
  221. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +2 -2
  222. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +2 -2
  223. package/src/sap/ui/mdc/odata/v4/vizChart/{ChartDelegateNew.js → ChartDelegate.js} +137 -49
  224. package/src/sap/ui/mdc/p13n/AdaptationProvider.js +1 -1
  225. package/src/sap/ui/mdc/p13n/Engine.js +56 -19
  226. package/src/sap/ui/mdc/p13n/FlexUtil.js +12 -119
  227. package/src/sap/ui/mdc/p13n/P13nBuilder.js +3 -3
  228. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +22 -11
  229. package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
  230. package/src/sap/ui/mdc/p13n/StateUtil.js +41 -7
  231. package/src/sap/ui/mdc/p13n/UIManager.js +16 -13
  232. package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +5 -2
  233. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +10 -7
  234. package/src/sap/ui/mdc/p13n/{DefaultProviderRegistry.js → modules/DefaultProviderRegistry.js} +3 -3
  235. package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +86 -0
  236. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +1 -1
  237. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +20 -4
  238. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +1 -1
  239. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1093 -49
  240. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -1
  241. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +72 -0
  242. package/src/sap/ui/mdc/p13n/panels/ListView.js +7 -3
  243. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +1 -1
  244. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +1 -1
  245. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +1 -1
  246. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +7 -6
  247. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +2 -2
  248. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +157 -12
  249. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +16 -27
  250. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +7 -6
  251. package/src/sap/ui/mdc/p13n/subcontroller/ColumnWidthController.js +1 -1
  252. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +7 -6
  253. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +1 -1
  254. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +173 -0
  255. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +11 -18
  256. package/src/sap/ui/mdc/table/Column.js +36 -11
  257. package/src/sap/ui/mdc/table/CreationRow.js +15 -14
  258. package/src/sap/ui/mdc/table/GridTableType.js +14 -14
  259. package/src/sap/ui/mdc/table/PropertyHelper.js +65 -28
  260. package/src/sap/ui/mdc/table/ResponsiveTableType.js +27 -30
  261. package/src/sap/ui/mdc/table/RowSettings.js +8 -6
  262. package/src/sap/ui/mdc/table/TableSettings.js +1 -1
  263. package/src/sap/ui/mdc/table/TableTypeBase.js +7 -7
  264. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +16 -72
  265. package/src/sap/ui/mdc/themes/base/Chart.less +3 -0
  266. package/src/sap/ui/mdc/themes/base/FieldBase.less +0 -5
  267. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +12 -1
  268. package/src/sap/ui/mdc/themes/base/library.source.less +2 -1
  269. package/src/sap/ui/mdc/ui/Container.js +3 -3
  270. package/src/sap/ui/mdc/ui/ContainerItem.js +3 -3
  271. package/src/sap/ui/mdc/util/Common.js +2 -2
  272. package/src/sap/ui/mdc/util/DateUtil.js +2 -2
  273. package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
  274. package/src/sap/ui/mdc/util/FormatUtil.js +2 -2
  275. package/src/sap/ui/mdc/util/IdentifierUtil.js +2 -2
  276. package/src/sap/ui/mdc/util/PromiseCache.js +2 -2
  277. package/src/sap/ui/mdc/util/PropertyHelper.js +149 -326
  278. package/src/sap/ui/mdc/util/TypeUtil.js +6 -5
  279. package/src/sap/ui/mdc/util/loadModules.js +1 -1
  280. package/src/sap/ui/mdc/valuehelp/Dialog.js +13 -9
  281. package/src/sap/ui/mdc/valuehelp/Popover.js +15 -3
  282. package/src/sap/ui/mdc/valuehelp/base/Container.js +34 -2
  283. package/src/sap/ui/mdc/valuehelp/base/Content.js +37 -6
  284. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +3 -2
  285. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +44 -16
  286. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +3 -2
  287. package/src/sap/ui/mdc/valuehelp/content/Bool.js +3 -2
  288. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +29 -33
  289. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +12 -6
  290. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +44 -9
  291. package/src/sap/ui/mdc/valuehelp/content/MTable.js +58 -27
  292. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +2 -1
  293. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +3 -3
  294. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsBase.js +3 -3
  295. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsViz.js +0 -0
  296. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsBase.js +1 -1
  297. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsViz.js +0 -0
  298. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ChartNew.js +0 -0
  299. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +289 -0
  300. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +5 -5
  301. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +12 -11
  302. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +85 -0
  303. package/test/sap/ui/mdc/testutils/opa/link/Assertions.js +79 -0
  304. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +112 -0
  305. package/test/sap/ui/mdc/testutils/opa/link/waitForLink.js +50 -0
  306. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +365 -236
  307. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +27 -26
  308. package/src/sap/ui/mdc/ChartDelegateNew.js +0 -395
  309. package/src/sap/ui/mdc/ChartNew.js +0 -1114
  310. package/src/sap/ui/mdc/ChartNewRenderer.js +0 -91
  311. package/src/sap/ui/mdc/chart/DimensionItem.js +0 -281
  312. package/src/sap/ui/mdc/chart/MeasureItem.js +0 -318
  313. package/src/sap/ui/mdc/chart/MetadataDelegate.js +0 -31
  314. package/src/sap/ui/mdc/chart/SelectionHandler.js +0 -127
  315. package/src/sap/ui/mdc/chart/ToolbarHandler.js +0 -328
  316. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +0 -295
  317. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +0 -212
  318. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -72
  319. package/src/sap/ui/mdc/chartNew/SelectionDetailsActionsNew.js +0 -34
  320. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +0 -91
  321. package/src/sap/ui/mdc/link/SelectionDialog.control.xml +0 -66
  322. package/src/sap/ui/mdc/link/SelectionDialog.js +0 -213
  323. package/src/sap/ui/mdc/link/SelectionDialogItem.js +0 -86
  324. package/src/sap/ui/mdc/odata/v4/ChartDelegateNew.js +0 -35
  325. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +0 -1171
  326. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +0 -111
  327. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +0 -322
  328. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +0 -133
  329. package/src/sap/ui/mdc/p13n/panels/Wrapper.js +0 -203
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -23,6 +23,7 @@ sap.ui.define([
23
23
  "sap/ui/core/dnd/DragDropInfo",
24
24
  "sap/ui/core/Item",
25
25
  "sap/ui/core/format/ListFormat",
26
+ "sap/ui/core/library",
26
27
  "sap/ui/events/KeyCodes",
27
28
  "sap/ui/model/Sorter",
28
29
  "sap/ui/dom/containsOrEquals",
@@ -59,6 +60,7 @@ sap.ui.define([
59
60
  DragDropInfo,
60
61
  Item,
61
62
  ListFormat,
63
+ coreLibrary,
62
64
  KeyCodes,
63
65
  Sorter,
64
66
  containsOrEquals,
@@ -85,7 +87,7 @@ sap.ui.define([
85
87
  var ToolbarDesign = MLibrary.ToolbarDesign;
86
88
  var ToolbarStyle = MLibrary.ToolbarStyle;
87
89
  var MultiSelectMode = library.MultiSelectMode;
88
- var sFilterInterface = "sap.ui.mdc.IFilter";
90
+ var TitleLevel = coreLibrary.TitleLevel;
89
91
  var internalMap = new window.WeakMap();
90
92
  var internal = function(oTable) {
91
93
  if (!internalMap.has(oTable)) {
@@ -106,26 +108,25 @@ sap.ui.define([
106
108
  }
107
109
 
108
110
  /**
109
- * Constructor for a new Table.
111
+ * Constructor for a new <code>MDCTable</code>.
110
112
  *
111
113
  * @param {string} [sId] Optional ID for the new control; generated automatically if no non-empty ID is given
114
+ * <b>Note:</b> The optional ID can be omitted, no matter whether <code>mSettings</code> is given or not.
112
115
  * @param {object} [mSettings] Object with initial settings for the new control
113
- * @class A metadata-driven table to simplify the usage of existing tables, such as the <code>sap.m.Table</code> and <code>sap.ui.table</code>
114
- * controls.
115
- * <h3>Overview</h3>
116
- * The <code>Table</code> control creates a <code>ResponsiveTable</code> or <code>GridTable</code> based on the configuration
117
- * specified.
118
- * <h3>Structure</h3>
119
- * The <code>columns</code> aggregation must be specified with the columns you require, along with with the template for the cell. The
120
- * cell template can also be created lazily via the {@link #getDelegate table delegate}.<br>
121
- * <b>Note:</b> The control is experimental and the API/behavior is not finalized and hence this should not be used for productive usage.
116
+ * @class
117
+ * A metadata-driven table to simplify the usage of existing tables, such as the <code>ResponsiveTable</code> and <code>GridTable</code>
118
+ * controls. The metadata needs to be provided via the {@link module:sap/ui/mdc/TableDelegate TableDelegate} implementation as
119
+ * {@link sap.ui.mdc.table.PropertyInfo}.
120
+ *
122
121
  * @extends sap.ui.mdc.Control
123
122
  * @author SAP SE
124
123
  * @private
125
124
  * @experimental
126
125
  * @since 1.58
127
126
  * @alias sap.ui.mdc.Table
128
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
127
+ * @ui5-metamodel This control will also be described in the UI5 (legacy) designtime metamodel
128
+ * @ui5-restricted sap.fe
129
+ * MDC_PUBLIC_CANDIDATE
129
130
  */
130
131
  var Table = Control.extend("sap.ui.mdc.Table", {
131
132
  metadata: {
@@ -156,7 +157,7 @@ sap.ui.define([
156
157
  invalidate: true
157
158
  },
158
159
  /**
159
- * Specifies the actions available for a table row.
160
+ * Actions available for a table row.
160
161
  *
161
162
  * @since 1.60
162
163
  */
@@ -165,7 +166,7 @@ sap.ui.define([
165
166
  defaultValue: []
166
167
  },
167
168
  /**
168
- * Specifies the personalization options for the table.<br>
169
+ * Personalization options for the table.<br>
169
170
  * <b>Note:</b> The order of the options does not influence the position on the UI.
170
171
  *
171
172
  * @since 1.62
@@ -189,18 +190,18 @@ sap.ui.define([
189
190
  }
190
191
  },
191
192
  /**
192
- * Defines the semantic level of the header.
193
+ * Semantic level of the header.
193
194
  * For more information, see {@link sap.m.Title#setLevel}.
195
+ *
194
196
  * @since 1.84
195
197
  */
196
198
  headerLevel: {
197
199
  type: "sap.ui.core.TitleLevel",
198
200
  group: "Appearance",
199
- defaultValue: sap.ui.core.TitleLevel.Auto
201
+ defaultValue: TitleLevel.Auto
200
202
  },
201
203
  /**
202
- * Binds the table automatically after the initial creation or re-creation of the table using the relevant <code>metadataInfo</code>
203
- * and <code>rowBindingInfo</code>.
204
+ * Determines whether to bind the table automatically after the initial creation or re-creation of the table.
204
205
  */
205
206
  autoBindOnInit: {
206
207
  type: "boolean",
@@ -208,7 +209,7 @@ sap.ui.define([
208
209
  defaultValue: true
209
210
  },
210
211
  /**
211
- * Specifies the header text that is shown in the table.
212
+ * Header text that is shown in the table.
212
213
  */
213
214
  header: {
214
215
  type: "string",
@@ -216,8 +217,8 @@ sap.ui.define([
216
217
  defaultValue: null
217
218
  },
218
219
  /**
219
- * Determines whether the header text is shown in the table. Even when set to <code>false</code>, the given header text is used to
220
- * label the table correctly for accessibility purposes.
220
+ * Determines whether the header text is shown in the table. Regardless of its value, the given header text is used to label the table
221
+ * correctly for accessibility purposes.
221
222
  *
222
223
  * @since 1.63
223
224
  */
@@ -227,19 +228,19 @@ sap.ui.define([
227
228
  defaultValue: true
228
229
  },
229
230
  /**
230
- * Selection mode of the Table. This property controls whether single or multiple rows can be selected and how the selection can be
231
- * extended. It may also influence the visual appearance.
231
+ * Selection mode of the table. Specifies whether single or multiple rows can be selected and how the selection can be extended. It
232
+ * may also influence the visual appearance.
232
233
  */
233
234
  selectionMode: {
234
235
  type: "sap.ui.mdc.SelectionMode",
235
236
  defaultValue: SelectionMode.None
236
237
  },
237
238
  /**
238
- * If set to <code>true</code> (default), the number of rows is shown along with the header text.<br>
239
- * If set to <code>false</code>, the number of rows is not shown on the user interface.<br>
239
+ * Determines whether the number of rows is shown along with the header text. If set to <code>false</code>, the number of rows is not
240
+ * shown on the user interface.<br>
240
241
  * <b>Note:</b><br>
241
- * To improve the performance of your application, you do not want to send dedicated OData requests. Therefore, you must configure the
242
- * count mode either in the model or in the binding of the table.<br>
242
+ * For better performance dedicated OData requests should not be sent. The count mode must be configured either in the model or in the
243
+ * binding of the table.<br>
243
244
  * This property can only be used if the back-end service supports row count.
244
245
  */
245
246
  showRowCount: {
@@ -249,10 +250,10 @@ sap.ui.define([
249
250
  },
250
251
 
251
252
  /**
252
- * Defines the number of records to be requested from the model. If the <code>type</code> property is set to
253
- * <code>ResponsiveTable</code>, then this property refers to the {@link sap.m.ListBase#getGrowingThreshold growingThreshold}
254
- * property of <code>sap.m.Table</code> If the <code>type</code> property is set to the <code>Table</code>, then this property
255
- * refers to the {@link sap.ui.table.Table#getThreshold threshold} property of <code>sap.ui.table.Table</code><br>
253
+ * Number of records to be requested from the model. If the <code>type</code> property is set to <code>ResponsiveTable</code>, then it
254
+ * refers to the {@link sap.m.ListBase#getGrowingThreshold growingThreshold} property of <code>ResponsiveTable</code>. If the
255
+ * <code>type</code> property is set to <code>Table</code>, then it refers to the {@link sap.ui.table.Table#getThreshold threshold}
256
+ * property of <code>GridTable</code>.<br>
256
257
  * <b>Note:</b> This property only takes effect if it is set to a positive integer value. Otherwise the table uses the default value
257
258
  * of the corresponding table types.
258
259
  *
@@ -265,7 +266,7 @@ sap.ui.define([
265
266
  },
266
267
 
267
268
  /**
268
- * Defines the no data text shown in the table.
269
+ * Determines the text shown if the table has no data.
269
270
  *
270
271
  * @since 1.63
271
272
  */
@@ -276,7 +277,8 @@ sap.ui.define([
276
277
  /**
277
278
  * Defines the sort conditions.
278
279
  *
279
- * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
280
+ * <b>Note</b>: This property must not be bound.<br>
281
+ * <b>Note:</b> This property is used exclusively for handling SAPUI5 flexibility changes. Do not use it otherwise.
280
282
  *
281
283
  * @since 1.73
282
284
  */
@@ -287,7 +289,8 @@ sap.ui.define([
287
289
  /**
288
290
  * Defines the filter conditions.
289
291
  *
290
- * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
292
+ * <b>Note</b>: This property must not be bound.<br>
293
+ * <b>Note:</b> This property is used exclusively for handling SAPUI5 flexibility changes. Do not use it otherwise.
291
294
  *
292
295
  * @since 1.80.0
293
296
  */
@@ -299,7 +302,8 @@ sap.ui.define([
299
302
  /**
300
303
  * Defines the group conditions.
301
304
  *
302
- * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
305
+ * <b>Note</b>: This property must not be bound.<br>
306
+ * <b>Note:</b> This property is used exclusively for handling SAPUI5 flexibility changes. Do not use it otherwise.
303
307
  *
304
308
  * @since 1.87
305
309
  */
@@ -310,7 +314,8 @@ sap.ui.define([
310
314
  /**
311
315
  * Defines the aggregate conditions.
312
316
  *
313
- * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
317
+ * <b>Note</b>: This property must not be bound.<br>
318
+ * <b>Note:</b> This property is exclusively used for handling SAPUI5 flexibility changes.
314
319
  *
315
320
  * @since 1.87
316
321
  */
@@ -319,7 +324,7 @@ sap.ui.define([
319
324
  },
320
325
 
321
326
  /**
322
- * Enables table data export.
327
+ * Determines whether the table data export is enabled.
323
328
  *
324
329
  * @since 1.75
325
330
  */
@@ -336,7 +341,7 @@ sap.ui.define([
336
341
  defaultValue: 100
337
342
  },
338
343
  /**
339
- * Enables column resizing for all supported table types.
344
+ * Determines whether column resizing is enabled.
340
345
  *
341
346
  * @since 1.90
342
347
  */
@@ -346,7 +351,7 @@ sap.ui.define([
346
351
  defaultValue: true
347
352
  },
348
353
  /**
349
- * Controls the visibility of the Paste button.
354
+ * Determines whether the Paste button is visible.
350
355
  *
351
356
  * @since 1.91
352
357
  */
@@ -367,13 +372,13 @@ sap.ui.define([
367
372
  },
368
373
  /**
369
374
  * Defines the multi-selection mode for the control.
370
- * If this property is set to the <code>Default</code> value, the <code>ResponsiveTable</code> type control renders
371
- * the Select All checkbox in the column header, otherwise the Deselect All icon is rendered.
375
+ * If this property is set to the <code>Default</code> value, the <code>ResponsiveTable</code> type control renders the Select All
376
+ * checkbox in the column header, otherwise the Deselect All icon is rendered.
372
377
  *
373
378
  * This property is used with the <code>selectionMode="Multi"</code>.
374
379
  * @since 1.93
375
380
  */
376
- multiSelectMode : {
381
+ multiSelectMode : {
377
382
  type: "sap.ui.mdc.MultiSelectMode",
378
383
  group: "Behavior",
379
384
  defaultValue: MultiSelectMode.Default
@@ -382,12 +387,14 @@ sap.ui.define([
382
387
  /**
383
388
  * Enables automatic column width calculation based on metadata information if set to <code>true</code>.
384
389
  * The column width calculation takes the type, column label, referenced properties, and many other metadata parameters into account.
385
- * Providing a more precise <code>maxLength</code> value for the <code>String</code> type or <code>precision</code> value for numeric types can help this algorithm to produce better results.
390
+ * Providing a more precise <code>maxLength</code> value for the <code>String</code> type or <code>precision</code> value for numeric
391
+ * types can help this algorithm to produce better results.
386
392
  * The calculated column widths can have a minimum of 3rem and a maximum of 20rem.
387
393
  *
388
- * <b>Note:</b> To customize the automatic column width calculation the <code>visualSettings.widthSettings</code> key of the <code>PropertyInfo</code> can be used.
389
- * To avoid the heuristic column width calculation for a particular column, the <code>visualSettings.widthSettings</code> key of the <code>PropertyInfo</code> must be set to <code>null</code>.
390
- * This feature has no effect if the <code>width</code> property of the column is bound or its value is set.
394
+ * <b>Note:</b> To customize the automatic column width calculation, the <code>visualSettings.widthSettings</code> key of the
395
+ * <code>PropertyInfo</code> can be used. To avoid the heuristic column width calculation for a particular column, the
396
+ * <code>visualSettings.widthSettings</code> key of the <code>PropertyInfo</code> must be set to <code>null</code>. This feature has
397
+ * no effect if the <code>width</code> property of the column is bound or its value is set.
391
398
  *
392
399
  * @since 1.95
393
400
  */
@@ -423,6 +430,7 @@ sap.ui.define([
423
430
 
424
431
  /**
425
432
  * This row can be used for user input to create new data if {@link sap.ui.mdc.TableType TableType} is "<code>Table</code>".
433
+ * <b>Note:</b> Once the binding supports creating transient records, this aggregation will be removed.
426
434
  */
427
435
  creationRow: {
428
436
  type: "sap.ui.mdc.table.CreationRow",
@@ -450,7 +458,7 @@ sap.ui.define([
450
458
  },
451
459
 
452
460
  /**
453
- * Additional Filter for the table.
461
+ * Additional <code>Filter</code> for the table.
454
462
  */
455
463
  quickFilter: {
456
464
  type: "sap.ui.core.Control",
@@ -459,15 +467,18 @@ sap.ui.define([
459
467
 
460
468
  /**
461
469
  * Settings for the table rows.
462
- * Each time the properties of the settings are changed, they have to be applied again via
463
- * <code>setRowSettings</code> for the changes to take effect.
464
470
  *
471
+ * <b>Note:</b> Each time the properties of the settings are changed, they have to be applied again via <code>setRowSettings</code>
472
+ * for the changes to take effect.
465
473
  */
466
474
  rowSettings: {type: "sap.ui.mdc.table.RowSettings", multiple: false},
467
475
 
468
476
  /**
469
- * Defines an aggregation for the <code>DataStateIndicator</code> plugin that can be used to show binding-related messages.
470
- * The message filtering is not yet supported for this control therefore {@link sap.m.plugins.DataStateIndicator#getEnableFiltering enableFiltering} property of the <code>DataStateIndicator</code> must not be set to <code>true</code>.
477
+ * <code>DataStateIndicator</code> plugin that can be used to show binding-related messages.
478
+ *
479
+ * <b>Note:</b> The message filtering is not yet supported for this control. Therefore the
480
+ * {@link sap.m.plugins.DataStateIndicator#getEnableFiltering enableFiltering} property of the <code>DataStateIndicator</code> plugin
481
+ * must not be set to <code>true</code>.
471
482
  *
472
483
  * @since 1.89
473
484
  */
@@ -482,7 +493,7 @@ sap.ui.define([
482
493
  * {@link sap.ui.mdc.IFilter}.
483
494
  */
484
495
  filter: {
485
- type: sFilterInterface,
496
+ type: "sap.ui.mdc.IFilter",
486
497
  multiple: false
487
498
  }
488
499
  },
@@ -492,6 +503,9 @@ sap.ui.define([
492
503
  */
493
504
  rowPress: {
494
505
  parameters: {
506
+ /**
507
+ * The binding context
508
+ */
495
509
  bindingContext: {
496
510
  type: "sap.ui.model.Context"
497
511
  }
@@ -502,12 +516,21 @@ sap.ui.define([
502
516
  */
503
517
  selectionChange: {
504
518
  parameters: {
519
+ /**
520
+ * The binding context of the pressed row
521
+ */
505
522
  bindingContext: {
506
523
  type: "sap.ui.model.Context"
507
524
  },
525
+ /**
526
+ * The new selection state of the item
527
+ */
508
528
  selected: {
509
529
  type: "boolean"
510
530
  },
531
+ /**
532
+ * Identifies whether the Select All checkbox was pressed
533
+ */
511
534
  selectAll: {
512
535
  type: "boolean"
513
536
  }
@@ -584,9 +607,9 @@ sap.ui.define([
584
607
  FilterIntegrationMixin.call(Table.prototype);
585
608
 
586
609
  /**
587
- * Create setter and getter for aggregation that are passed to ToolBar aggregation named "Between"
588
- * Several different Table aggregations are passed to the same ToolBar aggregation (Between)
589
- **/
610
+ * Create setter and getter for aggregation that are passed to ToolBar aggregation named "Between"
611
+ * Several different Table aggregations are passed to the same ToolBar aggregation (Between)
612
+ **/
590
613
  aToolBarBetweenAggregations.forEach(function(sAggregationName) {
591
614
  var sCapAggregationName = capitalize(sAggregationName),
592
615
  sPropertyName = "_o" + sCapAggregationName,
@@ -621,6 +644,9 @@ sap.ui.define([
621
644
  };
622
645
  });
623
646
 
647
+ /**
648
+ * @inheritDoc
649
+ */
624
650
  Table.prototype.init = function() {
625
651
 
626
652
  Control.prototype.init.apply(this, arguments);
@@ -635,6 +661,9 @@ sap.ui.define([
635
661
  };
636
662
  };
637
663
 
664
+ /**
665
+ * @inheritDoc
666
+ */
638
667
  Table.prototype.applySettings = function() {
639
668
  Control.prototype.applySettings.apply(this, arguments);
640
669
  this.initControlDelegate();
@@ -649,11 +678,12 @@ sap.ui.define([
649
678
  };
650
679
 
651
680
  /**
652
- * Returns a <code>Promise</code> that resolves once the table has been initialized after the creation and
653
- * changing of its type.
681
+ * Returns a <code>Promise</code> that resolves once the table has been initialized after the creation and changing of its type.
654
682
  *
655
683
  * @returns {Promise} A <code>Promise</code> that resolves after the table has been initialized
656
- * @public
684
+ * @private
685
+ * @ui5-restricted sap.fe
686
+ * MDC_PUBLIC_CANDIDATE
657
687
  */
658
688
  Table.prototype.initialized = function() {
659
689
  return this._oTableReady.promise;
@@ -686,10 +716,10 @@ sap.ui.define([
686
716
  * This gets called from the DataStateIndicator plugin when data state message filter is applied
687
717
  * @private
688
718
  */
689
- Table.prototype._onApplyMessageFilter = function(oEvent) {
719
+ Table.prototype._onApplyMessageFilter = function(oEvent) {
690
720
  this._oMessageFilter = oEvent.getParameter("filter");
691
721
  oEvent.preventDefault();
692
- this.rebind();
722
+ this._rebind();
693
723
  };
694
724
 
695
725
  /**
@@ -699,7 +729,7 @@ sap.ui.define([
699
729
  Table.prototype._onClearMessageFilter = function(oEvent) {
700
730
  this._oMessageFilter = null;
701
731
  oEvent.preventDefault();
702
- this.rebind();
732
+ this._rebind();
703
733
  };
704
734
 
705
735
  // ----Type----
@@ -737,15 +767,17 @@ sap.ui.define([
737
767
  };
738
768
 
739
769
  /**
740
- * Scrolls the table to the row with the given index. Depending on the table type, this might cause
741
- * additional requests. If the given index is -1, it will scroll to the end of the table. Scrolling to the end
742
- * of the table is based on the length of the underlying binding. If the length is not final, it will only scroll
743
- * to the end of the current binding and might trigger a request for additional entries. This also applies in case
744
- * of a responsive table with growing enabled.
770
+ * Scrolls the table to the row with the given index. Depending on the table type, this might cause additional requests. If the given index is -1,
771
+ * it will scroll to the end of the table based on the length of the underlying binding. If the length is not final, it will only scroll to the
772
+ * end of the current binding and might trigger a request for additional entries. This also applies in case of a responsive table with growing
773
+ * enabled.
745
774
  *
746
775
  * @param {number} iIndex The index of the row that should be scrolled into the visible area
747
776
  * @since 1.76
748
777
  * @returns {Promise} A <code>Promise</code> that resolves after the table scrolls to the row with the given index
778
+ * @private
779
+ * @ui5-restricted sap.fe
780
+ * MDC_PUBLIC_CANDIDATE
749
781
  */
750
782
  Table.prototype.scrollToIndex = function(iIndex) {
751
783
  return new Promise(function(resolve, reject) {
@@ -776,18 +808,18 @@ sap.ui.define([
776
808
  };
777
809
 
778
810
  /**
779
- * Sets the focus on the row. If <code>bFirstInteractiveElement</code> is <code>true</code>, and there are
780
- * interactive elements inside the row, sets the focus on the first interactive element. Otherwise the
781
- * focus is on the first data cell, if the type is <code>GridTableType</code>, and on the entire row, if
782
- * the type is <code>ResponsiveTableType</code>.
783
- * If the given index is not visible, the table scrolls to it automatically. In this case the same rules
784
- * apply as in {@link #scrollToIndex}.
811
+ * Sets the focus on the row. If <code>bFirstInteractiveElement</code> is <code>true</code>, and there are interactive elements inside the row,
812
+ * sets the focus on the first interactive element. Otherwise sets the focus on the first data cell, if the type is <code>GridTableType</code>,
813
+ * and on the entire row, if the type is <code>ResponsiveTableType</code>.
814
+ * If the given index is not visible, the table scrolls to it automatically. In this case the same rules apply as in {@link #scrollToIndex}.
785
815
  *
786
816
  * @param {number} iIndex The index of the row that is to be focused
787
- * @param {boolean} [bFirstInteractiveElement=false] Indicates whether to set the focus on the first
788
- * interactive element inside the row
817
+ * @param {boolean} [bFirstInteractiveElement=false] Indicates whether to set the focus on the first interactive element inside the row
789
818
  * @since 1.86
790
819
  * @returns {Promise} A <code>Promise</code> that resolves after the focus has been set
820
+ * @private
821
+ * @ui5-restricted sap.fe
822
+ * MDC_PUBLIC_CANDIDATE
791
823
  */
792
824
  Table.prototype.focusRow = function(iIndex, bFirstInteractiveElement) {
793
825
  return this.scrollToIndex(iIndex).then(function() {
@@ -848,16 +880,12 @@ sap.ui.define([
848
880
  }
849
881
 
850
882
  this._bForceRebind = true;
851
- this.checkAndRebind();
883
+ this._rebind();
852
884
  }
853
885
 
854
886
  return this;
855
887
  };
856
888
 
857
- /**
858
- * Sets the value for the <code>headerLevel</code> property.
859
- * @param {string} sLevel - The level that is set to the header
860
- */
861
889
  Table.prototype.setHeaderLevel = function(sLevel) {
862
890
  if (this.getHeaderLevel() === sLevel) {
863
891
  return this;
@@ -876,13 +904,6 @@ sap.ui.define([
876
904
  }
877
905
  };
878
906
 
879
- /**
880
- * Sets the busy state on the inner table. The busy state will not be
881
- * applied to the sap.ui.mdc.Table itself.
882
- *
883
- * @param {boolean} bBusy Busy state that is applied to the inner table
884
- * @returns {this} Returns <code>this</code> to allow method chaining
885
- */
886
907
  Table.prototype.setBusy = function(bBusy) {
887
908
  this.setProperty('busy', bBusy, true);
888
909
 
@@ -893,12 +914,6 @@ sap.ui.define([
893
914
  return this;
894
915
  };
895
916
 
896
- /**
897
- * Sets the delay in milliseconds, after which the busy indicator will show up for the inner table.
898
- *
899
- * @param {int} iDelay the delay in milliseconds
900
- * @returns {this} Returns <code>this</code> to allow method chaining
901
- */
902
917
  Table.prototype.setBusyIndicatorDelay = function(iDelay) {
903
918
  this.setProperty('busyIndicatorDelay', iDelay, true);
904
919
 
@@ -1069,10 +1084,6 @@ sap.ui.define([
1069
1084
  updateFilterInfoBar(oTable);
1070
1085
  }
1071
1086
 
1072
- /**
1073
- * Overwrite public setter to rerout filterconditions to inner FilterBar
1074
- *
1075
- */
1076
1087
  Table.prototype.setFilterConditions = function(mConditions) {
1077
1088
  this.setProperty("filterConditions", mConditions, true);
1078
1089
 
@@ -1109,8 +1120,9 @@ sap.ui.define([
1109
1120
  }
1110
1121
 
1111
1122
  oTable._fullyInitialized().then(function() {
1123
+ var oPropertyHelper = oTable.getPropertyHelper();
1112
1124
  var aPropertyLabels = aFilteredProperties.map(function(sPropertyName) {
1113
- return oTable.getPropertyHelper().getLabel(sPropertyName);
1125
+ return oPropertyHelper.hasProperty(sPropertyName) ? oPropertyHelper.getProperty(sPropertyName).label : "";
1114
1126
  });
1115
1127
  var oResourceBundle = Core.getLibraryResourceBundle("sap.ui.mdc");
1116
1128
  var oListFormat = ListFormat.getInstance();
@@ -1363,7 +1375,7 @@ sap.ui.define([
1363
1375
  }
1364
1376
 
1365
1377
  if (this.getAutoBindOnInit()) {
1366
- this.checkAndRebind();
1378
+ this.rebind();
1367
1379
  }
1368
1380
 
1369
1381
  return this.awaitPropertyHelper();
@@ -1485,7 +1497,7 @@ sap.ui.define([
1485
1497
  };
1486
1498
 
1487
1499
  /**
1488
- * Getter for the current filter conditions present on the Table
1500
+ * Returns the current filter conditions present on the table.
1489
1501
  *
1490
1502
  * @private
1491
1503
  * @ui5-restricted sap.ui.mdc
@@ -1588,11 +1600,11 @@ sap.ui.define([
1588
1600
  };
1589
1601
 
1590
1602
  /**
1591
- * Checks whether group personalization is enabled.
1592
- *
1593
- * @protected
1594
- * @returns {boolean} Whether group personalization is enabled
1595
- */
1603
+ * Checks whether aggregation personalization is enabled.
1604
+ *
1605
+ * @protected
1606
+ * @returns {boolean} Whether aggregation personalization is enabled
1607
+ */
1596
1608
  Table.prototype.isAggregationEnabled = function () {
1597
1609
  return this.getP13nMode().indexOf("Aggregate") > -1;
1598
1610
  };
@@ -1734,7 +1746,7 @@ sap.ui.define([
1734
1746
 
1735
1747
  if (mCustomConfig.includeFilterSettings) {
1736
1748
  oProcessor = ExportUtils.parseFilterConfiguration(oRowBinding, function(sPropertyName) {
1737
- return oPropertyHelper.getLabel(sPropertyName);
1749
+ return oPropertyHelper.hasProperty(sPropertyName) ? oPropertyHelper.getProperty(sPropertyName).label : null;
1738
1750
  }).then(function(oFilterConfig) {
1739
1751
  if (oFilterConfig) {
1740
1752
  mExportSettings.workbook.context = {
@@ -1787,7 +1799,7 @@ sap.ui.define([
1787
1799
 
1788
1800
  this._loadExportLibrary().then(function() {
1789
1801
  sap.ui.require(['sap/ui/export/ExportUtils'], function(ExportUtils) {
1790
- var bEnablePDFExport = new URL(window.location.href).search.indexOf("sap-ui-xx-enablePDFExport=true");
1802
+ var bEnablePDFExport = new URL(window.location.href).search.indexOf("sap-ui-xx-enablePDFExport=true") > -1;
1791
1803
  ExportUtils.getExportSettingsViaDialog(that._cachedExportSettings, that, undefined, bEnablePDFExport).then(function(oUserInput) {
1792
1804
  that._cachedExportSettings = oUserInput;
1793
1805
  that._onExport(oUserInput);
@@ -1810,6 +1822,11 @@ sap.ui.define([
1810
1822
  return this._oExportLibLoadPromise;
1811
1823
  };
1812
1824
 
1825
+ /**
1826
+ * Event handler for <code>keydown</code>.
1827
+ * @param {object} oEvent The event object
1828
+ * @private
1829
+ */
1813
1830
  Table.prototype.onkeydown = function(oEvent) {
1814
1831
  if (oEvent.isMarked()) {
1815
1832
  return;
@@ -1993,20 +2010,25 @@ sap.ui.define([
1993
2010
 
1994
2011
  this._fullyInitialized().then(function() {
1995
2012
  var oResourceBundle = Core.getLibraryResourceBundle("sap.ui.mdc");
2013
+ var oProperty = this.getPropertyHelper().getProperty(oMDCColumn.getDataProperty());
2014
+
1996
2015
  if (this._oPopover) {
1997
2016
  this._oPopover.destroy();
1998
2017
  this._oPopover = null;
1999
2018
  }
2000
- if (this.isSortingEnabled()) {
2001
- var aAscendItems = [] , aDescendItems = [];
2002
- this.getPropertyHelper().getSortableProperties(oMDCColumn.getDataProperty()).forEach(function(oProperty) {
2019
+
2020
+ if (this.isSortingEnabled() && oProperty) {
2021
+ var aAscendItems = [];
2022
+ var aDescendItems = [];
2023
+
2024
+ oProperty.getSortableProperties().forEach(function(oProperty) {
2003
2025
  aAscendItems.push(new Item({
2004
- text: oProperty.getLabel(),
2005
- key: oProperty.getName()
2026
+ text: oProperty.label,
2027
+ key: oProperty.name
2006
2028
  }));
2007
2029
  aDescendItems.push(new Item({
2008
- text: oProperty.getLabel(),
2009
- key: oProperty.getName()
2030
+ text: oProperty.label,
2031
+ key: oProperty.name
2010
2032
  }));
2011
2033
  });
2012
2034
 
@@ -2031,25 +2053,15 @@ sap.ui.define([
2031
2053
  oColumn.addDependent(this._oPopover);
2032
2054
  }
2033
2055
  }
2034
- var aHeaderItems = [];
2035
- var aFilterable = [];
2036
2056
  var oDelegate = this.getControlDelegate();
2037
- aHeaderItems = (oDelegate.addColumnMenuItems && oDelegate.addColumnMenuItems(this, oMDCColumn)) || [];
2057
+ var aHeaderItems = (oDelegate.addColumnMenuItems && oDelegate.addColumnMenuItems(this, oMDCColumn)) || [];
2038
2058
 
2039
- this.getPropertyHelper().getFilterableProperties(oMDCColumn.getDataProperty()).forEach(function(oProperty) {
2040
- aFilterable.push(new Item({
2041
- text: oProperty.getLabel(),
2042
- key: oProperty.getName()
2043
- }));
2044
- });
2045
-
2046
- if (this.isFilteringEnabled() && aFilterable.length) {
2047
- var oFilter = new ColumnPopoverSelectListItem({
2059
+ if (this.isFilteringEnabled() && oProperty && oProperty.getFilterableProperties().length > 0) {
2060
+ aHeaderItems.unshift(new ColumnPopoverSelectListItem({
2048
2061
  label: oResourceBundle.getText("table.SETTINGS_FILTER"),
2049
2062
  icon: "sap-icon://filter",
2050
2063
  action: [onShowFilterDialog, this]
2051
- });
2052
- aHeaderItems.unshift(oFilter);
2064
+ }));
2053
2065
  }
2054
2066
 
2055
2067
  if (bResizeButton) {
@@ -2430,17 +2442,26 @@ sap.ui.define([
2430
2442
 
2431
2443
  Table.prototype._registerInnerFilter = function(oFilter) {
2432
2444
  oFilter.attachSearch(function() {
2433
- this.rebind();
2445
+ this._rebind();
2434
2446
  }, this);
2435
2447
  };
2436
2448
 
2449
+ /**
2450
+ * Checks whether the table is bound.
2451
+ *
2452
+ * @returns {boolean} Whether the table is bound
2453
+ * @private
2454
+ * @ui5-restricted sap.fe
2455
+ * MDC_PUBLIC_CANDIDATE
2456
+ */
2437
2457
  Table.prototype.isTableBound = function() {
2438
2458
  return this._oTable ? this._oTable.isBound(this._bMobileTable ? "items" : "rows") : false;
2439
2459
  };
2440
2460
 
2441
2461
  /**
2442
2462
  * Defines the rows/items aggregation binding
2443
- * @returns {Promise} Returns a <code>Promise</code>
2463
+ *
2464
+ * @returns {Promise} A <code>Promise</code> that resolves when the rows are bound
2444
2465
  * @private
2445
2466
  */
2446
2467
  Table.prototype.bindRows = function() {
@@ -2450,7 +2471,7 @@ sap.ui.define([
2450
2471
 
2451
2472
  var oBindingInfo = {};
2452
2473
 
2453
- this.getControlDelegate().updateBindingInfo(this, this.getPayload(), oBindingInfo);
2474
+ this.getControlDelegate().updateBindingInfo(this, oBindingInfo, oBindingInfo);
2454
2475
 
2455
2476
  if (oBindingInfo.path) {
2456
2477
  this._oTable.setShowOverlay(false);
@@ -2534,7 +2555,8 @@ sap.ui.define([
2534
2555
  /**
2535
2556
  * Provides an additional announcement for the screen reader to inform the user that the table
2536
2557
  * has been updated.
2537
- * @param {int} iRowCount number of total rows
2558
+ *
2559
+ * @param {int} iRowCount Number of total rows
2538
2560
  * @private
2539
2561
  */
2540
2562
  Table.prototype._announceTableUpdate = function(iRowCount) {
@@ -2565,9 +2587,10 @@ sap.ui.define([
2565
2587
 
2566
2588
  aMDCColumns.forEach(function(oMDCColumn) {
2567
2589
  var oInnerColumn = Core.byId(oMDCColumn.getId() + "-innerColumn");
2568
- var aSortablePaths = oPropertyHelper.getSortableProperties(oMDCColumn.getDataProperty()).map(function(oProperty) {
2569
- return oProperty.getPath();
2570
- });
2590
+ var oProperty = oPropertyHelper.getProperty(oMDCColumn.getDataProperty());
2591
+ var aSortablePaths = oProperty ? oProperty.getSortableProperties().map(function(oProperty) {
2592
+ return oProperty.path;
2593
+ }) : [];
2571
2594
 
2572
2595
  if (aSortablePaths.length > 0) {
2573
2596
  var oSorter = aSorters.find(function(oSorter) {
@@ -2585,7 +2608,7 @@ sap.ui.define([
2585
2608
  };
2586
2609
 
2587
2610
  /**
2588
- * gets table's row count
2611
+ * Gets the row count of the table.
2589
2612
  *
2590
2613
  * @private
2591
2614
  * @returns {int} the row count
@@ -2671,16 +2694,19 @@ sap.ui.define([
2671
2694
  };
2672
2695
 
2673
2696
  // TODO: Delete!
2674
- Table.prototype.rebindTable = function() {
2675
- this.rebind();
2697
+ Table.prototype.rebindTable = function () {
2698
+ this._rebind();
2676
2699
  };
2677
2700
 
2678
- Table.prototype.rebind = function() {
2701
+ /**
2702
+ * Rebinds the table rows.
2703
+ */
2704
+ Table.prototype._rebind = function() {
2679
2705
  // Bind the rows/items of the table, only once it is initialized.
2680
2706
  if (this._bFullyInitialized) {
2681
2707
  this.bindRows();
2682
2708
  } else {
2683
- this._fullyInitialized().then(this.rebind.bind(this));
2709
+ this._fullyInitialized().then(this._rebind.bind(this));
2684
2710
  }
2685
2711
  };
2686
2712
 
@@ -2700,8 +2726,10 @@ sap.ui.define([
2700
2726
  oPropertyHelper = this.getPropertyHelper();
2701
2727
 
2702
2728
  aSorterProperties.forEach(function(oSorter) {
2703
- var sPath = oPropertyHelper.getPath(oSorter.name);
2704
- aSorters.push(new Sorter(sPath, oSorter.descending));
2729
+ if (oPropertyHelper.hasProperty(oSorter.name)) {
2730
+ var sPath = oPropertyHelper.getProperty(oSorter.name).path;
2731
+ aSorters.push(new Sorter(sPath, oSorter.descending));
2732
+ }
2705
2733
  });
2706
2734
 
2707
2735
  return aSorters;
@@ -2718,6 +2746,10 @@ sap.ui.define([
2718
2746
  });
2719
2747
  };
2720
2748
 
2749
+ /**
2750
+ * Terminates the <code>MDCTable</code> control.
2751
+ * @private
2752
+ */
2721
2753
  Table.prototype.exit = function() {
2722
2754
  // Always destroy the template
2723
2755
  if (this._oTemplate) {