@openui5/sap.ui.mdc 1.96.1 → 1.97.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/.reuse/dep5 +1 -1
  2. package/THIRDPARTY.txt +2 -1
  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 +1 -1
  7. package/src/sap/ui/mdc/BaseDelegate.js +1 -1
  8. package/src/sap/ui/mdc/Chart.js +2 -2
  9. package/src/sap/ui/mdc/ChartDelegate.js +1 -1
  10. package/src/sap/ui/mdc/ChartDelegateNew.js +1 -1
  11. package/src/sap/ui/mdc/ChartNew.js +2 -2
  12. package/src/sap/ui/mdc/ChartNewRenderer.js +3 -3
  13. package/src/sap/ui/mdc/ChartRenderer.js +1 -1
  14. package/src/sap/ui/mdc/Control.js +2 -2
  15. package/src/sap/ui/mdc/Delegate.js +1 -1
  16. package/src/sap/ui/mdc/Element.js +2 -2
  17. package/src/sap/ui/mdc/Field.js +4 -3
  18. package/src/sap/ui/mdc/FilterBar.js +2 -2
  19. package/src/sap/ui/mdc/FilterBarDelegate.js +1 -1
  20. package/src/sap/ui/mdc/FilterField.js +17 -3
  21. package/src/sap/ui/mdc/Link.js +2 -2
  22. package/src/sap/ui/mdc/LinkDelegate.js +1 -1
  23. package/src/sap/ui/mdc/MultiValueField.js +3 -2
  24. package/src/sap/ui/mdc/Table.js +175 -135
  25. package/src/sap/ui/mdc/TableDelegate.js +14 -12
  26. package/src/sap/ui/mdc/ValueHelp.js +34 -8
  27. package/src/sap/ui/mdc/ValueHelpDelegate.js +21 -1
  28. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
  29. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
  30. package/src/sap/ui/mdc/chart/ChartSettings.js +1 -1
  31. package/src/sap/ui/mdc/chart/ChartTypeButton.js +1 -1
  32. package/src/sap/ui/mdc/chart/DimensionItem.js +1 -1
  33. package/src/sap/ui/mdc/chart/DrillStackHandler.js +1 -1
  34. package/src/sap/ui/mdc/chart/Item.js +1 -1
  35. package/src/sap/ui/mdc/chart/MeasureItem.js +1 -1
  36. package/src/sap/ui/mdc/chart/MetadataDelegate.js +1 -1
  37. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +2 -2
  38. package/src/sap/ui/mdc/chart/SelectionHandler.js +1 -1
  39. package/src/sap/ui/mdc/chart/ToolbarHandler.js +2 -2
  40. package/src/sap/ui/mdc/chartNew/ChartSelectionDetailsNew.js +2 -2
  41. package/src/sap/ui/mdc/chartNew/ChartToolbarNew.js +2 -2
  42. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +1 -1
  43. package/src/sap/ui/mdc/chartNew/DrillBreadcrumbsNew.js +1 -1
  44. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +1 -1
  45. package/src/sap/ui/mdc/chartNew/ItemNew.js +1 -1
  46. package/src/sap/ui/mdc/chartNew/PropertyHelperNew.js +2 -2
  47. package/src/sap/ui/mdc/chartNew/SelectionDetailsActionsNew.js +1 -1
  48. package/src/sap/ui/mdc/condition/Condition.js +2 -2
  49. package/src/sap/ui/mdc/condition/ConditionConverter.js +2 -2
  50. package/src/sap/ui/mdc/condition/ConditionModel.js +2 -2
  51. package/src/sap/ui/mdc/condition/ConditionModelPropertyBinding.js +1 -1
  52. package/src/sap/ui/mdc/condition/FilterConverter.js +2 -2
  53. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +7 -3
  54. package/src/sap/ui/mdc/condition/Operator.js +10 -10
  55. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +437 -0
  56. package/src/sap/ui/mdc/condition/RangeOperator.js +2 -2
  57. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +1 -1
  58. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +1 -1
  59. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +18 -18
  60. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +21 -0
  61. package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +104 -0
  62. package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +22 -0
  63. package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +23 -0
  64. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +1 -1
  65. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +1 -1
  66. package/src/sap/ui/mdc/designtime/library.designtime.js +1 -1
  67. package/src/sap/ui/mdc/designtime/link/Panel.designtime.js +1 -1
  68. package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +1 -1
  69. package/src/sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime.js +1 -1
  70. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +1 -1
  71. package/src/sap/ui/mdc/enum/ActionToolbarActionAlignment.js +1 -1
  72. package/src/sap/ui/mdc/enum/BaseType.js +1 -1
  73. package/src/sap/ui/mdc/enum/ConditionValidated.js +1 -1
  74. package/src/sap/ui/mdc/enum/ContentMode.js +1 -1
  75. package/src/sap/ui/mdc/enum/EditMode.js +1 -1
  76. package/src/sap/ui/mdc/enum/FieldDisplay.js +1 -1
  77. package/src/sap/ui/mdc/enum/OutParameterMode.js +1 -1
  78. package/src/sap/ui/mdc/enum/PersistenceMode.js +1 -1
  79. package/src/sap/ui/mdc/enum/SelectType.js +1 -1
  80. package/src/sap/ui/mdc/field/BoolFieldHelp.js +2 -2
  81. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +2 -2
  82. package/src/sap/ui/mdc/field/ConditionType.js +8 -8
  83. package/src/sap/ui/mdc/field/ConditionsType.js +8 -8
  84. package/src/sap/ui/mdc/field/CustomFieldHelp.js +2 -2
  85. package/src/sap/ui/mdc/field/CustomFieldInfo.js +2 -2
  86. package/src/sap/ui/mdc/field/DefineConditionPanel.js +2 -2
  87. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +311 -0
  88. package/src/sap/ui/mdc/field/FieldBase.js +55 -48
  89. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
  90. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +1 -1
  91. package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
  92. package/src/sap/ui/mdc/field/FieldHelpBaseDelegate.js +1 -1
  93. package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -2
  94. package/src/sap/ui/mdc/field/FieldInput.js +2 -2
  95. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +2 -2
  96. package/src/sap/ui/mdc/field/FieldInputRenderer.js +1 -1
  97. package/src/sap/ui/mdc/field/FieldMultiInput.js +2 -2
  98. package/src/sap/ui/mdc/field/FieldMultiInputRenderer.js +1 -1
  99. package/src/sap/ui/mdc/field/FieldValueHelp.js +7 -7
  100. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +2 -2
  101. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +21 -1
  102. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +2 -2
  103. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +2 -2
  104. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -2
  105. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +2 -2
  106. package/src/sap/ui/mdc/field/InParameter.js +2 -2
  107. package/src/sap/ui/mdc/field/ListFieldHelp.js +2 -2
  108. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +2 -2
  109. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +1 -1
  110. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +2 -2
  111. package/src/sap/ui/mdc/field/OutParameter.js +2 -2
  112. package/src/sap/ui/mdc/field/ValueHelpPanel.js +3 -2
  113. package/src/sap/ui/mdc/field/content/BooleanContent.js +2 -2
  114. package/src/sap/ui/mdc/field/content/ContentFactory.js +24 -22
  115. package/src/sap/ui/mdc/field/content/DateContent.js +129 -3
  116. package/src/sap/ui/mdc/field/content/DateTimeContent.js +10 -2
  117. package/src/sap/ui/mdc/field/content/DefaultContent.js +2 -2
  118. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  119. package/src/sap/ui/mdc/field/content/SearchContent.js +1 -1
  120. package/src/sap/ui/mdc/field/content/TimeContent.js +9 -2
  121. package/src/sap/ui/mdc/field/content/UnitContent.js +24 -5
  122. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +26 -18
  123. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  124. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
  125. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +2 -2
  126. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +1 -1
  127. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +1 -1
  128. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +2 -2
  129. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +1 -1
  130. package/src/sap/ui/mdc/filterbar/p13n/FilterGroupLayout.js +1 -1
  131. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +1 -1
  132. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +1 -1
  133. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +1 -1
  134. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +2 -2
  135. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
  136. package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +1 -1
  137. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +1 -1
  138. package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +1 -1
  139. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +1 -1
  140. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +1 -1
  141. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +2 -2
  142. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +1 -1
  143. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +1 -1
  144. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +1 -1
  145. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +2 -2
  146. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +2 -2
  147. package/src/sap/ui/mdc/flexibility/GroupFlex.js +1 -1
  148. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +1 -1
  149. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +1 -1
  150. package/src/sap/ui/mdc/flexibility/PanelItem.flexibility.js +1 -1
  151. package/src/sap/ui/mdc/flexibility/SortFlex.js +1 -1
  152. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +1 -1
  153. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +1 -1
  154. package/src/sap/ui/mdc/library.js +20 -4
  155. package/src/sap/ui/mdc/link/ContactDetails.js +2 -2
  156. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +2 -2
  157. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +2 -2
  158. package/src/sap/ui/mdc/link/ContactDetailsItem.js +2 -2
  159. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +2 -2
  160. package/src/sap/ui/mdc/link/Factory.js +2 -2
  161. package/src/sap/ui/mdc/link/FakeFlpConnector.js +2 -2
  162. package/src/sap/ui/mdc/link/LinkItem.js +2 -2
  163. package/src/sap/ui/mdc/link/Log.js +1 -1
  164. package/src/sap/ui/mdc/link/Panel.js +2 -2
  165. package/src/sap/ui/mdc/link/PanelItem.js +2 -2
  166. package/src/sap/ui/mdc/link/PanelListItem.js +2 -2
  167. package/src/sap/ui/mdc/link/SelectionDialog.js +2 -2
  168. package/src/sap/ui/mdc/link/SelectionDialogItem.js +2 -2
  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 +13 -4
  173. package/src/sap/ui/mdc/messagebundle_ar.properties +16 -2
  174. package/src/sap/ui/mdc/messagebundle_bg.properties +16 -2
  175. package/src/sap/ui/mdc/messagebundle_ca.properties +16 -2
  176. package/src/sap/ui/mdc/messagebundle_cs.properties +27 -13
  177. package/src/sap/ui/mdc/messagebundle_cy.properties +16 -2
  178. package/src/sap/ui/mdc/messagebundle_da.properties +16 -2
  179. package/src/sap/ui/mdc/messagebundle_de.properties +16 -2
  180. package/src/sap/ui/mdc/messagebundle_el.properties +16 -2
  181. package/src/sap/ui/mdc/messagebundle_en.properties +14 -0
  182. package/src/sap/ui/mdc/messagebundle_en_GB.properties +14 -0
  183. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +14 -0
  184. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +3 -19
  185. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +14 -0
  186. package/src/sap/ui/mdc/messagebundle_es.properties +17 -3
  187. package/src/sap/ui/mdc/messagebundle_es_MX.properties +16 -2
  188. package/src/sap/ui/mdc/messagebundle_et.properties +16 -2
  189. package/src/sap/ui/mdc/messagebundle_fi.properties +16 -2
  190. package/src/sap/ui/mdc/messagebundle_fr.properties +22 -8
  191. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +15 -1
  192. package/src/sap/ui/mdc/messagebundle_hi.properties +17 -3
  193. package/src/sap/ui/mdc/messagebundle_hr.properties +16 -2
  194. package/src/sap/ui/mdc/messagebundle_hu.properties +16 -2
  195. package/src/sap/ui/mdc/messagebundle_id.properties +16 -2
  196. package/src/sap/ui/mdc/messagebundle_it.properties +16 -2
  197. package/src/sap/ui/mdc/messagebundle_iw.properties +16 -2
  198. package/src/sap/ui/mdc/messagebundle_ja.properties +24 -10
  199. package/src/sap/ui/mdc/messagebundle_kk.properties +16 -2
  200. package/src/sap/ui/mdc/messagebundle_ko.properties +16 -2
  201. package/src/sap/ui/mdc/messagebundle_lt.properties +16 -2
  202. package/src/sap/ui/mdc/messagebundle_lv.properties +16 -2
  203. package/src/sap/ui/mdc/messagebundle_ms.properties +16 -2
  204. package/src/sap/ui/mdc/messagebundle_nl.properties +16 -2
  205. package/src/sap/ui/mdc/messagebundle_no.properties +16 -2
  206. package/src/sap/ui/mdc/messagebundle_pl.properties +16 -2
  207. package/src/sap/ui/mdc/messagebundle_pt.properties +16 -2
  208. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +16 -2
  209. package/src/sap/ui/mdc/messagebundle_ro.properties +16 -2
  210. package/src/sap/ui/mdc/messagebundle_ru.properties +16 -2
  211. package/src/sap/ui/mdc/messagebundle_sh.properties +16 -2
  212. package/src/sap/ui/mdc/messagebundle_sk.properties +16 -2
  213. package/src/sap/ui/mdc/messagebundle_sl.properties +16 -2
  214. package/src/sap/ui/mdc/messagebundle_sv.properties +16 -2
  215. package/src/sap/ui/mdc/messagebundle_th.properties +16 -2
  216. package/src/sap/ui/mdc/messagebundle_tr.properties +16 -2
  217. package/src/sap/ui/mdc/messagebundle_uk.properties +16 -2
  218. package/src/sap/ui/mdc/messagebundle_vi.properties +16 -2
  219. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +18 -4
  220. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +17 -3
  221. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +2 -2
  222. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
  223. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +4 -4
  224. package/src/sap/ui/mdc/mixin/PromiseMixin.js +2 -2
  225. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
  226. package/src/sap/ui/mdc/odata/json/FilterBarDelegate.js +1 -1
  227. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +1 -1
  228. package/src/sap/ui/mdc/odata/v4/ChartDelegateNew.js +1 -1
  229. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +2 -2
  230. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +1 -1
  231. package/src/sap/ui/mdc/odata/v4/FieldValueHelpDelegate.js +1 -1
  232. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +1 -1
  233. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +1 -1
  234. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +66 -38
  235. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +1 -1
  236. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +2 -2
  237. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
  238. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew.js +13 -4
  239. package/src/sap/ui/mdc/p13n/AdaptationProvider.js +1 -1
  240. package/src/sap/ui/mdc/p13n/Engine.js +33 -10
  241. package/src/sap/ui/mdc/p13n/FlexUtil.js +1 -1
  242. package/src/sap/ui/mdc/p13n/P13nBuilder.js +2 -2
  243. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +22 -11
  244. package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
  245. package/src/sap/ui/mdc/p13n/StateUtil.js +21 -1
  246. package/src/sap/ui/mdc/p13n/UIManager.js +12 -7
  247. package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +1 -1
  248. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +1 -1
  249. package/src/sap/ui/mdc/p13n/{DefaultProviderRegistry.js → modules/DefaultProviderRegistry.js} +3 -3
  250. package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +86 -0
  251. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +1 -1
  252. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +20 -4
  253. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +1 -1
  254. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -1
  255. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +41 -33
  256. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -1
  257. package/src/sap/ui/mdc/p13n/panels/ListView.js +1 -1
  258. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +1 -1
  259. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +1 -1
  260. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +1 -1
  261. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +1 -1
  262. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +2 -2
  263. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +2 -2
  264. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +1 -1
  265. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +1 -1
  266. package/src/sap/ui/mdc/p13n/subcontroller/ColumnWidthController.js +1 -1
  267. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +1 -1
  268. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +1 -1
  269. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +1 -1
  270. package/src/sap/ui/mdc/table/Column.js +35 -10
  271. package/src/sap/ui/mdc/table/CreationRow.js +15 -14
  272. package/src/sap/ui/mdc/table/GridTableType.js +12 -11
  273. package/src/sap/ui/mdc/table/PropertyHelper.js +22 -22
  274. package/src/sap/ui/mdc/table/ResponsiveTableType.js +24 -25
  275. package/src/sap/ui/mdc/table/RowSettings.js +9 -7
  276. package/src/sap/ui/mdc/table/TableSettings.js +1 -1
  277. package/src/sap/ui/mdc/table/TableTypeBase.js +5 -5
  278. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +16 -72
  279. package/src/sap/ui/mdc/themes/base/Chart.less +3 -0
  280. package/src/sap/ui/mdc/themes/base/library.source.less +2 -1
  281. package/src/sap/ui/mdc/ui/Container.js +3 -3
  282. package/src/sap/ui/mdc/ui/ContainerItem.js +3 -3
  283. package/src/sap/ui/mdc/util/Common.js +1 -1
  284. package/src/sap/ui/mdc/util/DateUtil.js +1 -1
  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 +2 -2
  289. package/src/sap/ui/mdc/util/PropertyHelper.js +112 -320
  290. package/src/sap/ui/mdc/util/TypeUtil.js +1 -1
  291. package/src/sap/ui/mdc/util/loadModules.js +1 -1
  292. package/src/sap/ui/mdc/valuehelp/Dialog.js +3 -2
  293. package/src/sap/ui/mdc/valuehelp/Popover.js +14 -3
  294. package/src/sap/ui/mdc/valuehelp/base/Container.js +33 -2
  295. package/src/sap/ui/mdc/valuehelp/base/Content.js +36 -6
  296. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -2
  297. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +43 -16
  298. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -2
  299. package/src/sap/ui/mdc/valuehelp/content/Bool.js +2 -2
  300. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +26 -32
  301. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +2 -2
  302. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +9 -4
  303. package/src/sap/ui/mdc/valuehelp/content/MTable.js +16 -4
  304. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +102 -96
  305. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +0 -111
  306. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +0 -322
  307. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +0 -133
  308. 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
 
@@ -85,7 +85,6 @@ sap.ui.define([
85
85
  var ToolbarDesign = MLibrary.ToolbarDesign;
86
86
  var ToolbarStyle = MLibrary.ToolbarStyle;
87
87
  var MultiSelectMode = library.MultiSelectMode;
88
- var sFilterInterface = "sap.ui.mdc.IFilter";
89
88
  var internalMap = new window.WeakMap();
90
89
  var internal = function(oTable) {
91
90
  if (!internalMap.has(oTable)) {
@@ -106,26 +105,26 @@ sap.ui.define([
106
105
  }
107
106
 
108
107
  /**
109
- * Constructor for a new Table.
108
+ * Constructor for a new <code>MDCTable</code>.
110
109
  *
111
110
  * @param {string} [sId] Optional ID for the new control; generated automatically if no non-empty ID is given
111
+ * <b>Note:</b> this can be omitted, no matter whether <code>mSettings</code> will be given or not.
112
112
  * @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.
113
+ * @class
114
+ * <p>
115
+ * A metadata-driven table to simplify the usage of existing tables, such as the <code>ResponsiveTable</code> and <code>GridTable</code>
116
+ * controls. The metadata needs to be provided via the {@link sap.ui.mdc.TableDelegate TableDelegate} implementation in the form of a
117
+ * <code>PropertyInfo</code>.
118
+ * </p>
122
119
  * @extends sap.ui.mdc.Control
123
120
  * @author SAP SE
124
121
  * @private
125
122
  * @experimental
126
123
  * @since 1.58
127
124
  * @alias sap.ui.mdc.Table
128
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
125
+ * @ui5-metamodel This control will also be described in the UI5 (legacy) designtime metamodel
126
+ * @ui5-restricted sap.fe
127
+ * MDC_PUBLIC_CANDIDATE
129
128
  */
130
129
  var Table = Control.extend("sap.ui.mdc.Table", {
131
130
  metadata: {
@@ -156,7 +155,7 @@ sap.ui.define([
156
155
  invalidate: true
157
156
  },
158
157
  /**
159
- * Specifies the actions available for a table row.
158
+ * Actions available for a table row.
160
159
  *
161
160
  * @since 1.60
162
161
  */
@@ -165,7 +164,7 @@ sap.ui.define([
165
164
  defaultValue: []
166
165
  },
167
166
  /**
168
- * Specifies the personalization options for the table.<br>
167
+ * Personalization options for the table.<br>
169
168
  * <b>Note:</b> The order of the options does not influence the position on the UI.
170
169
  *
171
170
  * @since 1.62
@@ -189,8 +188,9 @@ sap.ui.define([
189
188
  }
190
189
  },
191
190
  /**
192
- * Defines the semantic level of the header.
191
+ * Semantic level of the header.
193
192
  * For more information, see {@link sap.m.Title#setLevel}.
193
+ *
194
194
  * @since 1.84
195
195
  */
196
196
  headerLevel: {
@@ -199,8 +199,7 @@ sap.ui.define([
199
199
  defaultValue: sap.ui.core.TitleLevel.Auto
200
200
  },
201
201
  /**
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>.
202
+ * Determines whether to bind the table automatically after the initial creation or re-creation of the table.
204
203
  */
205
204
  autoBindOnInit: {
206
205
  type: "boolean",
@@ -208,7 +207,7 @@ sap.ui.define([
208
207
  defaultValue: true
209
208
  },
210
209
  /**
211
- * Specifies the header text that is shown in the table.
210
+ * Header text that is shown in the table.
212
211
  */
213
212
  header: {
214
213
  type: "string",
@@ -216,8 +215,8 @@ sap.ui.define([
216
215
  defaultValue: null
217
216
  },
218
217
  /**
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.
218
+ * Determines whether the header text is shown in the table. Regardless of its value, the given header text is used to label the table
219
+ * correctly for accessibility purposes.
221
220
  *
222
221
  * @since 1.63
223
222
  */
@@ -227,19 +226,19 @@ sap.ui.define([
227
226
  defaultValue: true
228
227
  },
229
228
  /**
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.
229
+ * Selection mode of the table. Specifies whether single or multiple rows can be selected and how the selection can be extended. It
230
+ * may also influence the visual appearance.
232
231
  */
233
232
  selectionMode: {
234
233
  type: "sap.ui.mdc.SelectionMode",
235
234
  defaultValue: SelectionMode.None
236
235
  },
237
236
  /**
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>
237
+ * 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
238
+ * shown on the user interface.<br>
240
239
  * <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>
240
+ * For better performance dedicated OData requests should not be sent. The count mode must be configured either in the model or in the
241
+ * binding of the table.<br>
243
242
  * This property can only be used if the back-end service supports row count.
244
243
  */
245
244
  showRowCount: {
@@ -249,10 +248,10 @@ sap.ui.define([
249
248
  },
250
249
 
251
250
  /**
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>
251
+ * Number of records to be requested from the model. If the <code>type</code> property is set to <code>ResponsiveTable</code>, then it
252
+ * refers to the {@link sap.m.ListBase#getGrowingThreshold growingThreshold} property of <code>ResponsiveTable</code>. If the
253
+ * <code>type</code> property is set to <code>Table</code>, then it refers to the {@link sap.ui.table.Table#getThreshold threshold}
254
+ * property of <code>GridTable</code>.<br>
256
255
  * <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
256
  * of the corresponding table types.
258
257
  *
@@ -265,7 +264,7 @@ sap.ui.define([
265
264
  },
266
265
 
267
266
  /**
268
- * Defines the no data text shown in the table.
267
+ * Determines the text shown when the table has no data.
269
268
  *
270
269
  * @since 1.63
271
270
  */
@@ -274,9 +273,10 @@ sap.ui.define([
274
273
  },
275
274
 
276
275
  /**
277
- * Defines the sort conditions.
276
+ * Sort conditions.
278
277
  *
279
- * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
278
+ * <b>Note</b>: This property must not be bound.<br>
279
+ * <b>Note:</b> This property is exclusively used for handling flexibility changes.
280
280
  *
281
281
  * @since 1.73
282
282
  */
@@ -285,9 +285,10 @@ sap.ui.define([
285
285
  },
286
286
 
287
287
  /**
288
- * Defines the filter conditions.
288
+ * Filter conditions.
289
289
  *
290
- * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
290
+ * <b>Note</b>: This property must not be bound.<br>
291
+ * <b>Note:</b> This property is exclusively used for handling flexibility changes.
291
292
  *
292
293
  * @since 1.80.0
293
294
  */
@@ -297,9 +298,10 @@ sap.ui.define([
297
298
  },
298
299
 
299
300
  /**
300
- * Defines the group conditions.
301
+ * Group conditions.
301
302
  *
302
- * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
303
+ * <b>Note</b>: This property must not be bound.<br>
304
+ * <b>Note:</b> This property is exclusively used for handling flexibility changes.
303
305
  *
304
306
  * @since 1.87
305
307
  */
@@ -308,9 +310,10 @@ sap.ui.define([
308
310
  },
309
311
 
310
312
  /**
311
- * Defines the aggregate conditions.
313
+ * Aggregate conditions.
312
314
  *
313
- * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
315
+ * <b>Note</b>: This property must not be bound.<br>
316
+ * <b>Note:</b> This property is exclusively used for handling flexibility changes.
314
317
  *
315
318
  * @since 1.87
316
319
  */
@@ -319,7 +322,7 @@ sap.ui.define([
319
322
  },
320
323
 
321
324
  /**
322
- * Enables table data export.
325
+ * Determines whether table data export is enabled.
323
326
  *
324
327
  * @since 1.75
325
328
  */
@@ -336,7 +339,7 @@ sap.ui.define([
336
339
  defaultValue: 100
337
340
  },
338
341
  /**
339
- * Enables column resizing for all supported table types.
342
+ * Determines whether column resizing is enabled.
340
343
  *
341
344
  * @since 1.90
342
345
  */
@@ -346,7 +349,7 @@ sap.ui.define([
346
349
  defaultValue: true
347
350
  },
348
351
  /**
349
- * Controls the visibility of the Paste button.
352
+ * Determines whether the Paste button is visible.
350
353
  *
351
354
  * @since 1.91
352
355
  */
@@ -367,13 +370,13 @@ sap.ui.define([
367
370
  },
368
371
  /**
369
372
  * 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.
373
+ * If this property is set to the <code>Default</code> value, the <code>ResponsiveTable</code> type control renders the Select All
374
+ * checkbox in the column header, otherwise the Deselect All icon is rendered.
372
375
  *
373
376
  * This property is used with the <code>selectionMode="Multi"</code>.
374
377
  * @since 1.93
375
378
  */
376
- multiSelectMode : {
379
+ multiSelectMode : {
377
380
  type: "sap.ui.mdc.MultiSelectMode",
378
381
  group: "Behavior",
379
382
  defaultValue: MultiSelectMode.Default
@@ -423,6 +426,7 @@ sap.ui.define([
423
426
 
424
427
  /**
425
428
  * This row can be used for user input to create new data if {@link sap.ui.mdc.TableType TableType} is "<code>Table</code>".
429
+ * <b>Note:</b> Once the binding implements support for creating transient records, this aggregation will be removed.
426
430
  */
427
431
  creationRow: {
428
432
  type: "sap.ui.mdc.table.CreationRow",
@@ -450,7 +454,7 @@ sap.ui.define([
450
454
  },
451
455
 
452
456
  /**
453
- * Additional Filter for the table.
457
+ * Additional <code>Filter</code> for the table.
454
458
  */
455
459
  quickFilter: {
456
460
  type: "sap.ui.core.Control",
@@ -459,15 +463,18 @@ sap.ui.define([
459
463
 
460
464
  /**
461
465
  * 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
466
  *
467
+ * <b>Note:</b> Each time the properties of the settings are changed, they have to be applied again via <code>setRowSettings</code>
468
+ * for the changes to take effect.
465
469
  */
466
470
  rowSettings: {type: "sap.ui.mdc.table.RowSettings", multiple: false},
467
471
 
468
472
  /**
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>.
473
+ * <code>DataStateIndicator</code> plugin that can be used to show binding-related messages.
474
+ *
475
+ * <b>Note:</b> The message filtering is not yet supported for this control therefore
476
+ * {@link sap.m.plugins.DataStateIndicator#getEnableFiltering enableFiltering} property of the <code>DataStateIndicator</code> must
477
+ * not be set to <code>true</code>.
471
478
  *
472
479
  * @since 1.89
473
480
  */
@@ -482,39 +489,51 @@ sap.ui.define([
482
489
  * {@link sap.ui.mdc.IFilter}.
483
490
  */
484
491
  filter: {
485
- type: sFilterInterface,
492
+ type: "sap.ui.mdc.IFilter",
486
493
  multiple: false
487
494
  }
488
495
  },
489
496
  events: {
490
497
  /**
491
- * This event is fired when a row in the table is pressed.
498
+ * Fired when a row in the table is pressed.
492
499
  */
493
500
  rowPress: {
494
501
  parameters: {
502
+ /**
503
+ * The binding context
504
+ */
495
505
  bindingContext: {
496
506
  type: "sap.ui.model.Context"
497
507
  }
498
508
  }
499
509
  },
500
510
  /**
501
- * This event is fired when the selection in the table is changed.
511
+ * Fired when the selection in the table is changed.
502
512
  */
503
513
  selectionChange: {
504
514
  parameters: {
515
+ /**
516
+ * The binding context of the pressed row
517
+ */
505
518
  bindingContext: {
506
519
  type: "sap.ui.model.Context"
507
520
  },
521
+ /**
522
+ * The new selection state of the item
523
+ */
508
524
  selected: {
509
525
  type: "boolean"
510
526
  },
527
+ /**
528
+ * Identifies whether selectAll was pressed
529
+ */
511
530
  selectAll: {
512
531
  type: "boolean"
513
532
  }
514
533
  }
515
534
  },
516
535
  /**
517
- * This event is fired right before the export is triggered.
536
+ * Fired right before the export is triggered.
518
537
  *
519
538
  * For more information about the export settings, see {@link sap.ui.export.Spreadsheet} or
520
539
  * {@link topic:7e12e6b9154a4607be9d6072c72d609c Spreadsheet Export Configuration}.
@@ -541,7 +560,7 @@ sap.ui.define([
541
560
  }
542
561
  },
543
562
  /**
544
- * This event is fired when the user pastes content from the clipboard to the table.
563
+ * Fired when the user pastes content from the clipboard to the table.
545
564
  */
546
565
  paste: {
547
566
  parameters: {
@@ -584,9 +603,9 @@ sap.ui.define([
584
603
  FilterIntegrationMixin.call(Table.prototype);
585
604
 
586
605
  /**
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
- **/
606
+ * Create setter and getter for aggregation that are passed to ToolBar aggregation named "Between"
607
+ * Several different Table aggregations are passed to the same ToolBar aggregation (Between)
608
+ **/
590
609
  aToolBarBetweenAggregations.forEach(function(sAggregationName) {
591
610
  var sCapAggregationName = capitalize(sAggregationName),
592
611
  sPropertyName = "_o" + sCapAggregationName,
@@ -621,6 +640,9 @@ sap.ui.define([
621
640
  };
622
641
  });
623
642
 
643
+ /**
644
+ * @inheritDoc
645
+ */
624
646
  Table.prototype.init = function() {
625
647
 
626
648
  Control.prototype.init.apply(this, arguments);
@@ -635,6 +657,9 @@ sap.ui.define([
635
657
  };
636
658
  };
637
659
 
660
+ /**
661
+ * @inheritDoc
662
+ */
638
663
  Table.prototype.applySettings = function() {
639
664
  Control.prototype.applySettings.apply(this, arguments);
640
665
  this.initControlDelegate();
@@ -649,11 +674,12 @@ sap.ui.define([
649
674
  };
650
675
 
651
676
  /**
652
- * Returns a <code>Promise</code> that resolves once the table has been initialized after the creation and
653
- * changing of its type.
677
+ * Returns a <code>Promise</code> that resolves once the table has been initialized after the creation and changing of its type.
654
678
  *
655
679
  * @returns {Promise} A <code>Promise</code> that resolves after the table has been initialized
656
- * @public
680
+ * @private
681
+ * @ui5-restricted sap.fe
682
+ * MDC_PUBLIC_CANDIDATE
657
683
  */
658
684
  Table.prototype.initialized = function() {
659
685
  return this._oTableReady.promise;
@@ -686,7 +712,7 @@ sap.ui.define([
686
712
  * This gets called from the DataStateIndicator plugin when data state message filter is applied
687
713
  * @private
688
714
  */
689
- Table.prototype._onApplyMessageFilter = function(oEvent) {
715
+ Table.prototype._onApplyMessageFilter = function(oEvent) {
690
716
  this._oMessageFilter = oEvent.getParameter("filter");
691
717
  oEvent.preventDefault();
692
718
  this.rebind();
@@ -737,15 +763,17 @@ sap.ui.define([
737
763
  };
738
764
 
739
765
  /**
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.
766
+ * 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,
767
+ * 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
768
+ * end of the current binding and might trigger a request for additional entries. This also applies in case of a responsive table with growing
769
+ * enabled.
745
770
  *
746
771
  * @param {number} iIndex The index of the row that should be scrolled into the visible area
747
772
  * @since 1.76
748
773
  * @returns {Promise} A <code>Promise</code> that resolves after the table scrolls to the row with the given index
774
+ * @private
775
+ * @ui5-restricted sap.fe
776
+ * MDC_PUBLIC_CANDIDATE
749
777
  */
750
778
  Table.prototype.scrollToIndex = function(iIndex) {
751
779
  return new Promise(function(resolve, reject) {
@@ -776,18 +804,18 @@ sap.ui.define([
776
804
  };
777
805
 
778
806
  /**
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}.
807
+ * Sets the focus on the row. If <code>bFirstInteractiveElement</code> is <code>true</code>, and there are interactive elements inside the row,
808
+ * sets the focus on the first interactive element. Otherwise sets the focus on the first data cell, if the type is <code>GridTableType</code>,
809
+ * and on the entire row, if the type is <code>ResponsiveTableType</code>.
810
+ * 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
811
  *
786
812
  * @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
813
+ * @param {boolean} [bFirstInteractiveElement=false] Indicates whether to set the focus on the first interactive element inside the row
789
814
  * @since 1.86
790
815
  * @returns {Promise} A <code>Promise</code> that resolves after the focus has been set
816
+ * @private
817
+ * @ui5-restricted sap.fe
818
+ * MDC_PUBLIC_CANDIDATE
791
819
  */
792
820
  Table.prototype.focusRow = function(iIndex, bFirstInteractiveElement) {
793
821
  return this.scrollToIndex(iIndex).then(function() {
@@ -854,10 +882,6 @@ sap.ui.define([
854
882
  return this;
855
883
  };
856
884
 
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
885
  Table.prototype.setHeaderLevel = function(sLevel) {
862
886
  if (this.getHeaderLevel() === sLevel) {
863
887
  return this;
@@ -876,13 +900,6 @@ sap.ui.define([
876
900
  }
877
901
  };
878
902
 
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
903
  Table.prototype.setBusy = function(bBusy) {
887
904
  this.setProperty('busy', bBusy, true);
888
905
 
@@ -893,12 +910,6 @@ sap.ui.define([
893
910
  return this;
894
911
  };
895
912
 
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
913
  Table.prototype.setBusyIndicatorDelay = function(iDelay) {
903
914
  this.setProperty('busyIndicatorDelay', iDelay, true);
904
915
 
@@ -1069,10 +1080,6 @@ sap.ui.define([
1069
1080
  updateFilterInfoBar(oTable);
1070
1081
  }
1071
1082
 
1072
- /**
1073
- * Overwrite public setter to rerout filterconditions to inner FilterBar
1074
- *
1075
- */
1076
1083
  Table.prototype.setFilterConditions = function(mConditions) {
1077
1084
  this.setProperty("filterConditions", mConditions, true);
1078
1085
 
@@ -1109,8 +1116,9 @@ sap.ui.define([
1109
1116
  }
1110
1117
 
1111
1118
  oTable._fullyInitialized().then(function() {
1119
+ var oPropertyHelper = oTable.getPropertyHelper();
1112
1120
  var aPropertyLabels = aFilteredProperties.map(function(sPropertyName) {
1113
- return oTable.getPropertyHelper().getLabel(sPropertyName);
1121
+ return oPropertyHelper.hasProperty(sPropertyName) ? oPropertyHelper.getProperty(sPropertyName).label : "";
1114
1122
  });
1115
1123
  var oResourceBundle = Core.getLibraryResourceBundle("sap.ui.mdc");
1116
1124
  var oListFormat = ListFormat.getInstance();
@@ -1485,7 +1493,7 @@ sap.ui.define([
1485
1493
  };
1486
1494
 
1487
1495
  /**
1488
- * Getter for the current filter conditions present on the Table
1496
+ * Returns the current filter conditions present on the table
1489
1497
  *
1490
1498
  * @private
1491
1499
  * @ui5-restricted sap.ui.mdc
@@ -1588,11 +1596,11 @@ sap.ui.define([
1588
1596
  };
1589
1597
 
1590
1598
  /**
1591
- * Checks whether group personalization is enabled.
1592
- *
1593
- * @protected
1594
- * @returns {boolean} Whether group personalization is enabled
1595
- */
1599
+ * Checks whether aggregation personalization is enabled.
1600
+ *
1601
+ * @protected
1602
+ * @returns {boolean} Whether aggregation personalization is enabled
1603
+ */
1596
1604
  Table.prototype.isAggregationEnabled = function () {
1597
1605
  return this.getP13nMode().indexOf("Aggregate") > -1;
1598
1606
  };
@@ -1734,7 +1742,7 @@ sap.ui.define([
1734
1742
 
1735
1743
  if (mCustomConfig.includeFilterSettings) {
1736
1744
  oProcessor = ExportUtils.parseFilterConfiguration(oRowBinding, function(sPropertyName) {
1737
- return oPropertyHelper.getLabel(sPropertyName);
1745
+ return oPropertyHelper.hasProperty(sPropertyName) ? oPropertyHelper.getProperty(sPropertyName).label : null;
1738
1746
  }).then(function(oFilterConfig) {
1739
1747
  if (oFilterConfig) {
1740
1748
  mExportSettings.workbook.context = {
@@ -1810,6 +1818,11 @@ sap.ui.define([
1810
1818
  return this._oExportLibLoadPromise;
1811
1819
  };
1812
1820
 
1821
+ /**
1822
+ * Event handler for <code>keydown</code>.
1823
+ * @param {object} oEvent The event object
1824
+ * @private
1825
+ */
1813
1826
  Table.prototype.onkeydown = function(oEvent) {
1814
1827
  if (oEvent.isMarked()) {
1815
1828
  return;
@@ -1982,6 +1995,10 @@ sap.ui.define([
1982
1995
  };
1983
1996
 
1984
1997
  Table.prototype._onColumnPress = function(oColumn) {
1998
+ if (this._bSuppressOpenMenu) {
1999
+ return;
2000
+ }
2001
+
1985
2002
  var oParent = oColumn.getParent(),
1986
2003
  iIndex = oParent.indexOfColumn(oColumn),
1987
2004
  oMDCColumn = this.getColumns()[iIndex],
@@ -1989,20 +2006,25 @@ sap.ui.define([
1989
2006
 
1990
2007
  this._fullyInitialized().then(function() {
1991
2008
  var oResourceBundle = Core.getLibraryResourceBundle("sap.ui.mdc");
2009
+ var oProperty = this.getPropertyHelper().getProperty(oMDCColumn.getDataProperty());
2010
+
1992
2011
  if (this._oPopover) {
1993
2012
  this._oPopover.destroy();
1994
2013
  this._oPopover = null;
1995
2014
  }
1996
- if (this.isSortingEnabled()) {
1997
- var aAscendItems = [] , aDescendItems = [];
1998
- this.getPropertyHelper().getSortableProperties(oMDCColumn.getDataProperty()).forEach(function(oProperty) {
2015
+
2016
+ if (this.isSortingEnabled() && oProperty) {
2017
+ var aAscendItems = [];
2018
+ var aDescendItems = [];
2019
+
2020
+ oProperty.getSortableProperties().forEach(function(oProperty) {
1999
2021
  aAscendItems.push(new Item({
2000
- text: oProperty.getLabel(),
2001
- key: oProperty.getName()
2022
+ text: oProperty.label,
2023
+ key: oProperty.name
2002
2024
  }));
2003
2025
  aDescendItems.push(new Item({
2004
- text: oProperty.getLabel(),
2005
- key: oProperty.getName()
2026
+ text: oProperty.label,
2027
+ key: oProperty.name
2006
2028
  }));
2007
2029
  });
2008
2030
 
@@ -2027,25 +2049,15 @@ sap.ui.define([
2027
2049
  oColumn.addDependent(this._oPopover);
2028
2050
  }
2029
2051
  }
2030
- var aHeaderItems = [];
2031
- var aFilterable = [];
2032
2052
  var oDelegate = this.getControlDelegate();
2033
- aHeaderItems = (oDelegate.addColumnMenuItems && oDelegate.addColumnMenuItems(this, oMDCColumn)) || [];
2034
-
2035
- this.getPropertyHelper().getFilterableProperties(oMDCColumn.getDataProperty()).forEach(function(oProperty) {
2036
- aFilterable.push(new Item({
2037
- text: oProperty.getLabel(),
2038
- key: oProperty.getName()
2039
- }));
2040
- });
2053
+ var aHeaderItems = (oDelegate.addColumnMenuItems && oDelegate.addColumnMenuItems(this, oMDCColumn)) || [];
2041
2054
 
2042
- if (this.isFilteringEnabled() && aFilterable.length) {
2043
- var oFilter = new ColumnPopoverSelectListItem({
2055
+ if (this.isFilteringEnabled() && oProperty && oProperty.getFilterableProperties().length > 0) {
2056
+ aHeaderItems.unshift(new ColumnPopoverSelectListItem({
2044
2057
  label: oResourceBundle.getText("table.SETTINGS_FILTER"),
2045
2058
  icon: "sap-icon://filter",
2046
2059
  action: [onShowFilterDialog, this]
2047
- });
2048
- aHeaderItems.unshift(oFilter);
2060
+ }));
2049
2061
  }
2050
2062
 
2051
2063
  if (bResizeButton) {
@@ -2056,7 +2068,15 @@ sap.ui.define([
2056
2068
  aHeaderItems.forEach(function(oItem) {
2057
2069
  this._createPopover(oItem, oColumn);
2058
2070
  }, this);
2059
- this._oPopover && this._oPopover.openBy(oColumn);
2071
+
2072
+ if (this._oPopover) {
2073
+ this._oPopover.openBy(oColumn);
2074
+ this._oPopover.getAggregation("_popover").attachAfterClose(function() {
2075
+ this._bSuppressOpenMenu = false;
2076
+ }, this);
2077
+ this._bSuppressOpenMenu = true;
2078
+ }
2079
+
2060
2080
  }.bind(this));
2061
2081
  };
2062
2082
 
@@ -2422,13 +2442,22 @@ sap.ui.define([
2422
2442
  }, this);
2423
2443
  };
2424
2444
 
2445
+ /**
2446
+ * Checks whether the table is bound.
2447
+ *
2448
+ * @returns {boolean} Whether the table is bound
2449
+ * @private
2450
+ * @ui5-restricted sap.fe
2451
+ * MDC_PUBLIC_CANDIDATE
2452
+ */
2425
2453
  Table.prototype.isTableBound = function() {
2426
2454
  return this._oTable ? this._oTable.isBound(this._bMobileTable ? "items" : "rows") : false;
2427
2455
  };
2428
2456
 
2429
2457
  /**
2430
2458
  * Defines the rows/items aggregation binding
2431
- * @returns {Promise} Returns a <code>Promise</code>
2459
+ *
2460
+ * @returns {Promise} A <code>Promise</code> that resolves when the rows are bound
2432
2461
  * @private
2433
2462
  */
2434
2463
  Table.prototype.bindRows = function() {
@@ -2522,7 +2551,8 @@ sap.ui.define([
2522
2551
  /**
2523
2552
  * Provides an additional announcement for the screen reader to inform the user that the table
2524
2553
  * has been updated.
2525
- * @param {int} iRowCount number of total rows
2554
+ *
2555
+ * @param {int} iRowCount Number of total rows
2526
2556
  * @private
2527
2557
  */
2528
2558
  Table.prototype._announceTableUpdate = function(iRowCount) {
@@ -2553,9 +2583,10 @@ sap.ui.define([
2553
2583
 
2554
2584
  aMDCColumns.forEach(function(oMDCColumn) {
2555
2585
  var oInnerColumn = Core.byId(oMDCColumn.getId() + "-innerColumn");
2556
- var aSortablePaths = oPropertyHelper.getSortableProperties(oMDCColumn.getDataProperty()).map(function(oProperty) {
2557
- return oProperty.getPath();
2558
- });
2586
+ var oProperty = oPropertyHelper.getProperty(oMDCColumn.getDataProperty());
2587
+ var aSortablePaths = oProperty ? oProperty.getSortableProperties().map(function(oProperty) {
2588
+ return oProperty.path;
2589
+ }) : [];
2559
2590
 
2560
2591
  if (aSortablePaths.length > 0) {
2561
2592
  var oSorter = aSorters.find(function(oSorter) {
@@ -2573,7 +2604,7 @@ sap.ui.define([
2573
2604
  };
2574
2605
 
2575
2606
  /**
2576
- * gets table's row count
2607
+ * Gets the row count of the table
2577
2608
  *
2578
2609
  * @private
2579
2610
  * @returns {int} the row count
@@ -2663,6 +2694,9 @@ sap.ui.define([
2663
2694
  this.rebind();
2664
2695
  };
2665
2696
 
2697
+ /**
2698
+ * Rebinds the table rows.
2699
+ */
2666
2700
  Table.prototype.rebind = function() {
2667
2701
  // Bind the rows/items of the table, only once it is initialized.
2668
2702
  if (this._bFullyInitialized) {
@@ -2688,8 +2722,10 @@ sap.ui.define([
2688
2722
  oPropertyHelper = this.getPropertyHelper();
2689
2723
 
2690
2724
  aSorterProperties.forEach(function(oSorter) {
2691
- var sPath = oPropertyHelper.getPath(oSorter.name);
2692
- aSorters.push(new Sorter(sPath, oSorter.descending));
2725
+ if (oPropertyHelper.hasProperty(oSorter.name)) {
2726
+ var sPath = oPropertyHelper.getProperty(oSorter.name).path;
2727
+ aSorters.push(new Sorter(sPath, oSorter.descending));
2728
+ }
2693
2729
  });
2694
2730
 
2695
2731
  return aSorters;
@@ -2706,6 +2742,10 @@ sap.ui.define([
2706
2742
  });
2707
2743
  };
2708
2744
 
2745
+ /**
2746
+ * Termination of the <code>MDCTable</code> control
2747
+ * @private
2748
+ */
2709
2749
  Table.prototype.exit = function() {
2710
2750
  // Always destroy the template
2711
2751
  if (this._oTemplate) {