@openui5/sap.ui.mdc 1.97.1 → 1.100.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 (296) hide show
  1. package/.reuse/dep5 +25 -30
  2. package/THIRDPARTY.txt +15 -22
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +6 -3
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -2
  7. package/src/sap/ui/mdc/BaseDelegate.js +1 -1
  8. package/src/sap/ui/mdc/Chart.js +1128 -1806
  9. package/src/sap/ui/mdc/ChartDelegate.js +454 -250
  10. package/src/sap/ui/mdc/ChartRenderer.js +73 -77
  11. package/src/sap/ui/mdc/Control.js +11 -6
  12. package/src/sap/ui/mdc/Element.js +10 -6
  13. package/src/sap/ui/mdc/Field.js +19 -4
  14. package/src/sap/ui/mdc/FilterBar.js +3 -2
  15. package/src/sap/ui/mdc/FilterBarDelegate.js +26 -0
  16. package/src/sap/ui/mdc/FilterField.js +50 -9
  17. package/src/sap/ui/mdc/Link.js +25 -6
  18. package/src/sap/ui/mdc/LinkDelegate.js +3 -3
  19. package/src/sap/ui/mdc/MultiValueField.js +30 -6
  20. package/src/sap/ui/mdc/Table.js +151 -102
  21. package/src/sap/ui/mdc/TableDelegate.js +68 -13
  22. package/src/sap/ui/mdc/ValueHelp.js +26 -11
  23. package/src/sap/ui/mdc/ValueHelpDelegate.js +2 -1
  24. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
  25. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
  26. package/src/sap/ui/mdc/{chartNew/ChartSelectionDetailsNew.js → chart/ChartSelectionDetails.js} +8 -8
  27. package/src/sap/ui/mdc/{chartNew/ChartToolbarNew.js → chart/ChartToolbar.js} +60 -17
  28. package/src/sap/ui/mdc/chart/ChartTypeButton.js +55 -54
  29. package/src/sap/ui/mdc/{chartNew/DrillBreadcrumbsNew.js → chart/DrillBreadcrumbs.js} +10 -10
  30. package/src/sap/ui/mdc/chart/DrillStackHandler.js +43 -254
  31. package/src/sap/ui/mdc/chart/Item.js +62 -92
  32. package/src/sap/ui/mdc/{chartNew/PropertyHelperNew.js → chart/PropertyHelper.js} +3 -3
  33. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +17 -21
  34. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  35. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  36. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  37. package/src/sap/ui/mdc/condition/FilterConverter.js +4 -2
  38. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +388 -67
  39. package/src/sap/ui/mdc/condition/Operator.js +4 -2
  40. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +78 -24
  41. package/src/sap/ui/mdc/condition/RangeOperator.js +5 -5
  42. package/src/sap/ui/mdc/designtime/Util.js +63 -0
  43. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +23 -30
  44. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +83 -5
  45. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +81 -5
  46. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +3 -0
  47. package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +3 -1
  48. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +35 -8
  49. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  50. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  51. package/src/sap/ui/mdc/field/ConditionType.js +17 -6
  52. package/src/sap/ui/mdc/field/ConditionsType.js +2 -1
  53. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  54. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  55. package/src/sap/ui/mdc/field/DefineConditionPanel.js +88 -29
  56. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +77 -20
  57. package/src/sap/ui/mdc/field/FieldBase.js +93 -16
  58. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
  59. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +0 -3
  60. package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
  61. package/src/sap/ui/mdc/field/FieldInfoBase.js +24 -10
  62. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  63. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  64. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  65. package/src/sap/ui/mdc/field/FieldValueHelp.js +5 -2
  66. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  67. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +1 -1
  68. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +5 -4
  69. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +6 -4
  70. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +6 -3
  71. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +7 -7
  72. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  73. package/src/sap/ui/mdc/field/ListFieldHelp.js +10 -2
  74. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  75. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  76. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  77. package/src/sap/ui/mdc/field/TokenDisplay.js +70 -0
  78. package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +24 -0
  79. package/src/sap/ui/mdc/field/TokenizerDisplay.js +80 -0
  80. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +69 -0
  81. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  82. package/src/sap/ui/mdc/field/content/ContentFactory.js +10 -6
  83. package/src/sap/ui/mdc/field/content/DateContent.js +27 -19
  84. package/src/sap/ui/mdc/field/content/DateTimeContent.js +0 -6
  85. package/src/sap/ui/mdc/field/content/DefaultContent.js +35 -13
  86. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  87. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +285 -208
  88. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  89. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +27 -2
  90. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +132 -56
  91. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +2 -2
  92. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +7 -3
  93. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +52 -14
  94. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +3 -1
  95. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +43 -19
  96. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
  97. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +2 -2
  98. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +48 -31
  99. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +6 -4
  100. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +36 -0
  101. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +1 -1
  102. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +47 -10
  103. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +4 -3
  104. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  105. package/src/sap/ui/mdc/flexibility/GroupFlex.js +1 -1
  106. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +0 -1
  107. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +9 -3
  108. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +27 -0
  109. package/src/sap/ui/mdc/flexibility/SortFlex.js +2 -2
  110. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +6 -6
  111. package/src/sap/ui/mdc/library.js +54 -44
  112. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  113. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  114. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  115. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  116. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  117. package/src/sap/ui/mdc/link/Factory.js +2 -2
  118. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  119. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  120. package/src/sap/ui/mdc/link/Log.js +1 -1
  121. package/src/sap/ui/mdc/link/Panel.js +140 -177
  122. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  123. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  124. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  125. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  126. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  127. package/src/sap/ui/mdc/messagebundle.properties +57 -2
  128. package/src/sap/ui/mdc/messagebundle_ar.properties +39 -4
  129. package/src/sap/ui/mdc/messagebundle_bg.properties +54 -19
  130. package/src/sap/ui/mdc/messagebundle_ca.properties +37 -2
  131. package/src/sap/ui/mdc/messagebundle_cs.properties +52 -17
  132. package/src/sap/ui/mdc/messagebundle_cy.properties +37 -2
  133. package/src/sap/ui/mdc/messagebundle_da.properties +44 -9
  134. package/src/sap/ui/mdc/messagebundle_de.properties +37 -2
  135. package/src/sap/ui/mdc/messagebundle_el.properties +38 -3
  136. package/src/sap/ui/mdc/messagebundle_en.properties +37 -2
  137. package/src/sap/ui/mdc/messagebundle_en_GB.properties +37 -2
  138. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +37 -2
  139. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +61 -4
  140. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +37 -2
  141. package/src/sap/ui/mdc/messagebundle_es.properties +37 -2
  142. package/src/sap/ui/mdc/messagebundle_es_MX.properties +51 -16
  143. package/src/sap/ui/mdc/messagebundle_et.properties +37 -2
  144. package/src/sap/ui/mdc/messagebundle_fi.properties +43 -8
  145. package/src/sap/ui/mdc/messagebundle_fr.properties +38 -3
  146. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +37 -2
  147. package/src/sap/ui/mdc/messagebundle_hi.properties +38 -3
  148. package/src/sap/ui/mdc/messagebundle_hr.properties +37 -2
  149. package/src/sap/ui/mdc/messagebundle_hu.properties +37 -2
  150. package/src/sap/ui/mdc/messagebundle_id.properties +37 -2
  151. package/src/sap/ui/mdc/messagebundle_it.properties +53 -18
  152. package/src/sap/ui/mdc/messagebundle_iw.properties +38 -3
  153. package/src/sap/ui/mdc/messagebundle_ja.properties +37 -2
  154. package/src/sap/ui/mdc/messagebundle_kk.properties +37 -2
  155. package/src/sap/ui/mdc/messagebundle_ko.properties +41 -6
  156. package/src/sap/ui/mdc/messagebundle_lt.properties +37 -2
  157. package/src/sap/ui/mdc/messagebundle_lv.properties +41 -6
  158. package/src/sap/ui/mdc/messagebundle_ms.properties +37 -2
  159. package/src/sap/ui/mdc/messagebundle_nl.properties +42 -7
  160. package/src/sap/ui/mdc/messagebundle_no.properties +45 -10
  161. package/src/sap/ui/mdc/messagebundle_pl.properties +38 -3
  162. package/src/sap/ui/mdc/messagebundle_pt.properties +44 -9
  163. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +37 -2
  164. package/src/sap/ui/mdc/messagebundle_ro.properties +37 -2
  165. package/src/sap/ui/mdc/messagebundle_ru.properties +37 -2
  166. package/src/sap/ui/mdc/messagebundle_sh.properties +37 -2
  167. package/src/sap/ui/mdc/messagebundle_sk.properties +37 -2
  168. package/src/sap/ui/mdc/messagebundle_sl.properties +37 -2
  169. package/src/sap/ui/mdc/messagebundle_sv.properties +39 -4
  170. package/src/sap/ui/mdc/messagebundle_th.properties +40 -5
  171. package/src/sap/ui/mdc/messagebundle_tr.properties +37 -2
  172. package/src/sap/ui/mdc/messagebundle_uk.properties +41 -6
  173. package/src/sap/ui/mdc/messagebundle_vi.properties +37 -2
  174. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +37 -2
  175. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +37 -2
  176. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +30 -15
  177. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -142
  178. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +14 -17
  179. package/src/sap/ui/mdc/mixin/PromiseMixin.js +2 -3
  180. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +348 -0
  181. package/src/sap/ui/mdc/odata/TypeUtil.js +2 -2
  182. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +29 -483
  183. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +106 -0
  184. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +116 -20
  185. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +2 -2
  186. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +117 -123
  187. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +3 -5
  188. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
  189. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
  190. package/src/sap/ui/mdc/odata/v4/vizChart/{ChartDelegateNew.js → ChartDelegate.js} +459 -351
  191. package/src/sap/ui/mdc/p13n/AdaptationProvider.js +1 -1
  192. package/src/sap/ui/mdc/p13n/Engine.js +51 -30
  193. package/src/sap/ui/mdc/p13n/FlexUtil.js +6 -118
  194. package/src/sap/ui/mdc/p13n/P13nBuilder.js +7 -7
  195. package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
  196. package/src/sap/ui/mdc/p13n/StateUtil.js +24 -6
  197. package/src/sap/ui/mdc/p13n/UIManager.js +20 -19
  198. package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +4 -1
  199. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +19 -12
  200. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
  201. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +6 -6
  202. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +49 -27
  203. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1094 -49
  204. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +136 -0
  205. package/src/sap/ui/mdc/p13n/panels/GroupView.js +53 -28
  206. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +108 -0
  207. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +4 -7
  208. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +7 -7
  209. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +156 -11
  210. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +15 -26
  211. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +6 -5
  212. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +22 -11
  213. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +174 -0
  214. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +12 -19
  215. package/src/sap/ui/mdc/table/Column.js +12 -12
  216. package/src/sap/ui/mdc/table/CreationRow.js +11 -11
  217. package/src/sap/ui/mdc/table/GridTableType.js +80 -33
  218. package/src/sap/ui/mdc/table/PropertyHelper.js +63 -19
  219. package/src/sap/ui/mdc/table/ResponsiveTableType.js +94 -23
  220. package/src/sap/ui/mdc/table/RowActionItem.js +119 -0
  221. package/src/sap/ui/mdc/table/RowSettings.js +45 -4
  222. package/src/sap/ui/mdc/table/TableTypeBase.js +2 -2
  223. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +2 -2
  224. package/src/sap/ui/mdc/themes/base/Chart.less +2 -0
  225. package/src/sap/ui/mdc/themes/base/FieldBase.less +0 -5
  226. package/src/sap/ui/mdc/themes/base/TokenDisplay.less +89 -0
  227. package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +90 -0
  228. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +16 -4
  229. package/src/sap/ui/mdc/themes/base/library.source.less +2 -0
  230. package/src/sap/ui/mdc/util/Common.js +1 -1
  231. package/src/sap/ui/mdc/util/DateUtil.js +33 -8
  232. package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
  233. package/src/sap/ui/mdc/util/FormatUtil.js +3 -3
  234. package/src/sap/ui/mdc/util/IdentifierUtil.js +6 -6
  235. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  236. package/src/sap/ui/mdc/util/PropertyHelper.js +243 -87
  237. package/src/sap/ui/mdc/util/TypeUtil.js +6 -5
  238. package/src/sap/ui/mdc/valuehelp/Dialog.js +11 -8
  239. package/src/sap/ui/mdc/valuehelp/Popover.js +6 -3
  240. package/src/sap/ui/mdc/valuehelp/base/Container.js +2 -1
  241. package/src/sap/ui/mdc/valuehelp/base/Content.js +2 -1
  242. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -1
  243. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +5 -4
  244. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -1
  245. package/src/sap/ui/mdc/valuehelp/content/Bool.js +2 -1
  246. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +4 -2
  247. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +23 -14
  248. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +46 -17
  249. package/src/sap/ui/mdc/valuehelp/content/MTable.js +48 -27
  250. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -1
  251. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +3 -3
  252. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsBase.js +3 -3
  253. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsViz.js +0 -0
  254. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsBase.js +1 -1
  255. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsViz.js +0 -0
  256. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ChartNew.js +0 -0
  257. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +291 -0
  258. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +7 -7
  259. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +8 -9
  260. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +12 -11
  261. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +85 -0
  262. package/test/sap/ui/mdc/testutils/opa/link/Assertions.js +79 -0
  263. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +112 -0
  264. package/test/sap/ui/mdc/testutils/opa/link/waitForLink.js +50 -0
  265. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +264 -139
  266. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +27 -26
  267. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +54 -0
  268. package/test/sap/ui/mdc/testutils/opa/valueHelp/Assertions.js +5 -0
  269. package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +40 -0
  270. package/test/sap/ui/mdc/testutils/opa/valueHelp/Util.js +28 -0
  271. package/src/sap/ui/mdc/ChartDelegateNew.js +0 -395
  272. package/src/sap/ui/mdc/ChartNew.js +0 -1114
  273. package/src/sap/ui/mdc/ChartNewRenderer.js +0 -91
  274. package/src/sap/ui/mdc/chart/DimensionItem.js +0 -281
  275. package/src/sap/ui/mdc/chart/MeasureItem.js +0 -318
  276. package/src/sap/ui/mdc/chart/MetadataDelegate.js +0 -31
  277. package/src/sap/ui/mdc/chart/SelectionHandler.js +0 -127
  278. package/src/sap/ui/mdc/chart/ToolbarHandler.js +0 -328
  279. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +0 -295
  280. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +0 -212
  281. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -72
  282. package/src/sap/ui/mdc/chartNew/SelectionDetailsActionsNew.js +0 -34
  283. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +0 -91
  284. package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +0 -150
  285. package/src/sap/ui/mdc/link/SelectionDialog.control.xml +0 -66
  286. package/src/sap/ui/mdc/link/SelectionDialog.js +0 -213
  287. package/src/sap/ui/mdc/link/SelectionDialogItem.js +0 -86
  288. package/src/sap/ui/mdc/odata/v4/ChartDelegateNew.js +0 -35
  289. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +0 -39
  290. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +0 -721
  291. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +0 -1179
  292. package/src/sap/ui/mdc/p13n/panels/ListView.js +0 -404
  293. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -92
  294. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -150
  295. package/src/sap/ui/mdc/ui/Container.js +0 -240
  296. package/src/sap/ui/mdc/ui/ContainerItem.js +0 -79
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  *
15
15
  * @param {string} [sId] Optional ID for the new object; generated automatically if no non-empty ID is given
16
16
  * @param {object} [mSettings] initial settings for the new control
17
- * @class The column for the metadata driven table, that holds the template to be shown when the rows has data.
17
+ * @class The column for the metadata-driven table with the template, which is shown if the rows have data.
18
18
  * @extends sap.ui.core.Element
19
19
  * @author SAP SE
20
20
  * @private
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  defaultAggregation: "template",
33
33
  properties: {
34
34
  /**
35
- * Width of the column
35
+ * Width of the column.
36
36
  */
37
37
  width: {
38
38
  type: "sap.ui.core.CSSSize",
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  defaultValue: null
41
41
  },
42
42
  /**
43
- * Minimal width of the column
43
+ * Minimum width of the column.
44
44
  */
45
45
  minWidth: {
46
46
  type: "float",
@@ -48,13 +48,13 @@ sap.ui.define([
48
48
  defaultValue: 8
49
49
  },
50
50
  /**
51
- * The column header text
51
+ * The column header text.
52
52
  */
53
53
  header: {
54
54
  type: "string"
55
55
  },
56
56
  /**
57
- * Defines whether the column header is visible
57
+ * Defines whether the column header is visible.
58
58
  * @since 1.78
59
59
  */
60
60
  headerVisible: {
@@ -63,14 +63,14 @@ sap.ui.define([
63
63
  defaultValue: true
64
64
  },
65
65
  /**
66
- * Horizontal alignment of the content
66
+ * Horizontal alignment of the content.
67
67
  */
68
68
  hAlign: {
69
69
  type: "sap.ui.core.HorizontalAlign",
70
70
  defaultValue: "Begin"
71
71
  },
72
72
  /**
73
- * Importance of the column. It is used to show or hide the column based on the <code>MDCTable</code> configuration.
73
+ * Importance of the column. It is used to show or hide the column based on the <code>Table</code> configuration.
74
74
  */
75
75
  importance: {
76
76
  type: "sap.ui.core.Priority",
@@ -86,7 +86,7 @@ sap.ui.define([
86
86
  defaultValue: -1
87
87
  },
88
88
  /**
89
- * The data property related to the column
89
+ * The data property related to the column.
90
90
  */
91
91
  dataProperty: {
92
92
  type: "string"
@@ -95,15 +95,15 @@ sap.ui.define([
95
95
  events: {},
96
96
  aggregations: {
97
97
  /**
98
- * Template for the column
98
+ * Template for the column.
99
99
  */
100
100
  template: {
101
101
  type: "sap.ui.core.Control",
102
102
  multiple: false
103
103
  },
104
104
  /**
105
- * <code>CreationRow</code> template
106
- * <b>Note:</b> Once the binding implements support for creating transient records, this aggregation will be removed.
105
+ * <code>CreationRow</code> template.
106
+ * <b>Note:</b> Once the binding supports creating transient records, this aggregation will be removed.
107
107
  */
108
108
  creationTemplate: {
109
109
  type: "sap.ui.core.Control",
@@ -240,7 +240,7 @@ sap.ui.define([
240
240
 
241
241
  /**
242
242
  * Creates and returns the column header control.
243
- * If <code>headerVisible=false</code> then, <code>width=0px</code> is applied to the <code>sap.m.Label</code> control for accessibility purpose.
243
+ * If <code>headerVisible=false</code> then <code>width=0px</code> is applied to the <code>sap.m.Label</code> control for accessibility purposes.
244
244
  * @param {boolean} bMobileTable The type of the table
245
245
  * @param {boolean} bResizing Indicates whether the column is resizable
246
246
  * @returns {object} The column header control
@@ -12,16 +12,16 @@ sap.ui.define([
12
12
  var TableType = Library.TableType;
13
13
 
14
14
  /**
15
- * Constructor for a new CreationRow.
15
+ * Constructor for a new <code>CreationRow</code>.
16
16
  *
17
17
  * @param {string} [sId] Optional ID for the new object; generated automatically if no non-empty ID is given
18
- * @param {object} [mSettings] initial settings for the new control
19
- * @class Allows to enter data in a row shaped form, if the table's {@link sap.ui.mdc.TableType TableType} is "<code>Table</code>". The form
20
- * elements are aligned with the columns of the table, and are created automatically based on the
18
+ * @param {object} [mSettings] Initial settings for the new control
19
+ * @class Row that allows the user to enter data in a row-shaped form if the {@link sap.ui.mdc.TableType TableType} is "<code>Table</code>".
20
+ * The form elements are aligned with the columns of the table and are created automatically based on the
21
21
  * {@link sap.ui.mdc.table.Column#getCreationTemplate creationTemplate} aggregation of the {@link sap.ui.mdc.table.Column}.
22
22
  * @extends sap.ui.core.Element
23
23
  * @author SAP SE
24
- * @version 1.97.1
24
+ * @version 1.100.0
25
25
  * @constructor
26
26
  * @experimental
27
27
  * @private
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  defaultValue: true
45
45
  },
46
46
  /**
47
- * Determines whether the <code>sap.ui.mdc.table.CreationRow</code> and its inner control are in a busy state
47
+ * Determines whether the <code>sap.ui.mdc.table.CreationRow</code> and its inner control are in a busy state.
48
48
  */
49
49
  busy: {
50
50
  type: "boolean",
@@ -52,7 +52,7 @@ sap.ui.define([
52
52
  defaultValue: false
53
53
  },
54
54
  /**
55
- * Visibility of the <code>CreationRow</code>
55
+ * Visibility of the <code>CreationRow</code>.
56
56
  */
57
57
  visible: {
58
58
  type: "boolean",
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  },
63
63
  events: {
64
64
  /**
65
- * Fired when the corresponding keyboard shortcut or the apply button of the toolbar are pressed
65
+ * The event is fired when the corresponding keyboard shortcut or the apply button of the toolbar are pressed.
66
66
  */
67
67
  apply: {
68
68
  allowPreventDefault: true
@@ -145,9 +145,9 @@ sap.ui.define([
145
145
  };
146
146
 
147
147
  /**
148
- * Updates the row based on the configuration of the table this row is inside of.
148
+ * Updates the row based on the configuration of the table.
149
149
  *
150
- * @returns {Promise} Promise that resolves once the inner <code>CreationRow</code> control is updated
150
+ * @returns {Promise} <code>Promise</code> that resolves once the inner <code>CreationRow</code> control is updated
151
151
  * @private
152
152
  */
153
153
  CreationRow.prototype.update = function() {
@@ -231,7 +231,7 @@ sap.ui.define([
231
231
  }
232
232
 
233
233
  /**
234
- * Gets the table this row is inside of.
234
+ * Gets the table in which this row is located.
235
235
  *
236
236
  * @return {sap.ui.mdc.Table|null} The instance of the table or <code>null</code>, if this row is not inside a table.
237
237
  * @private
@@ -11,14 +11,13 @@ sap.ui.define([
11
11
 
12
12
  var InnerTable, InnerColumn, InnerRowAction, InnerRowActionItem, InnerMultiSelectionPlugin, InnerFixedRowMode, InnerAutoRowMode, InnerRowSettings;
13
13
  var RowCountMode = library.RowCountMode;
14
- var RowAction = library.RowAction;
15
14
 
16
15
  /**
17
16
  * Constructor for a new <code>GridTableType</code>.
18
17
  *
19
18
  * @param {string} [sId] Optional ID for the new object; generated automatically if no non-empty ID is given
20
- * @param {object} [mSettings] initial settings for the new object
21
- * @class The table type info base class for the metadata driven table.
19
+ * @param {object} [mSettings] Initial settings for the new object
20
+ * @class The table type info class for the metadata-driven table.
22
21
  * @extends sap.ui.mdc.table.TableTypeBase
23
22
  * @author SAP SE
24
23
  * @private
@@ -35,8 +34,7 @@ sap.ui.define([
35
34
  library: "sap.ui.mdc",
36
35
  properties: {
37
36
  /**
38
- * See sap.ui.mdc.RowCountMode for the options.<br>
39
- * Defaults to Auto - meaning table adjusts its height based on the parent container
37
+ * Defines how the table handles the row count.
40
38
  */
41
39
  rowCountMode: {
42
40
  type: "sap.ui.mdc.RowCountMode",
@@ -44,8 +42,8 @@ sap.ui.define([
44
42
  },
45
43
  /**
46
44
  * Row count of the inner table.<br>
47
- * When <code>sap.ui.mdc.RowCountMode.Auto</code> is used - this property specifies the <code>minAutoRowCount</code>.<br>
48
- * When <code>sap.ui.mdc.RowCountMode.Fixed</code> is used - this property specifies the <code>visibleRowCount</code>.
45
+ * This property specifies the minimum row count if <code>sap.ui.mdc.RowCountMode.Auto</code> is used.<br>
46
+ * This property specifies the row count if <code>sap.ui.mdc.RowCountMode.Fixed</code> is used.
49
47
  */
50
48
  rowCount: {
51
49
  type: "int",
@@ -169,15 +167,6 @@ sap.ui.define([
169
167
  return oColumn;
170
168
  };
171
169
 
172
- GridTableType.createNavigationRowAction = function(sIdPrefix, aEventInfo) {
173
- return new InnerRowAction(sIdPrefix + "--rowAction", {
174
- items: new InnerRowActionItem(sIdPrefix + "--rowActionItem", {
175
- type: RowAction.Navigation,
176
- press: aEventInfo
177
- })
178
- });
179
- };
180
-
181
170
  GridTableType.createMultiSelectionPlugin = function(oTable, aEventInfo) {
182
171
  return new InnerMultiSelectionPlugin(oTable.getId() + "--multiSelectPlugin", {
183
172
  selectionMode: TableTypeBase.getSelectionMode(oTable),
@@ -209,14 +198,7 @@ sap.ui.define([
209
198
  oTable._oTable.getPlugins()[0].setSelectionMode(sSelectionMode);
210
199
  };
211
200
 
212
- GridTableType.updateNavigation = function(oTable, fnRowActionPress) {
213
- oTable._oTable.setRowActionTemplate(this.createNavigationRowAction(oTable.getId(), [
214
- fnRowActionPress, oTable
215
- ]));
216
- oTable._oTable.setRowActionCount(1);
217
- };
218
-
219
- GridTableType.clearNavigation = function(oTable) {
201
+ GridTableType.removeRowActions = function(oTable) {
220
202
  var oInnerRowAction = oTable._oTable.getRowActionTemplate();
221
203
  if (oInnerRowAction) {
222
204
  oInnerRowAction.destroy();
@@ -225,20 +207,85 @@ sap.ui.define([
225
207
  oTable._oTable.setRowActionCount();
226
208
  };
227
209
 
228
- GridTableType.updateRowAction = function(oTable, bNavigation, fnRowActionPress) {
229
- this.clearNavigation(oTable);
230
- if (bNavigation) {
231
- this.updateNavigation(oTable, fnRowActionPress);
232
- }
233
- };
234
-
235
- GridTableType.updateRowSettings = function(oTable, oRowSettings) {
210
+ GridTableType.updateRowSettings = function(oTable, oRowSettings, fnRowActionPress) {
236
211
  var oInnerRowSettings = new InnerRowSettings(undefined, oRowSettings.getAllSettings());
237
-
212
+ this.updateRowActions(oTable.getParent(), oRowSettings, fnRowActionPress);
238
213
  oTable.getRowSettingsTemplate().destroy();
239
214
  oTable.setRowSettingsTemplate(oInnerRowSettings);
240
215
  };
241
216
 
217
+ GridTableType.updateRowActions = function (oTable, oRowSettings) {
218
+ this.removeRowActions(oTable);
219
+ if (!oRowSettings) {
220
+ return;
221
+ }
222
+ if (!oRowSettings.isBound("rowActions") && (!oRowSettings.getRowActions() || oRowSettings.getRowActions().length == 0)) {
223
+ return;
224
+ }
225
+
226
+ var oRowActions = oRowSettings.getAllActions();
227
+ if ("templateInfo" in oRowActions) {
228
+ var oTemplateInfo = oRowActions.templateInfo;
229
+ // Set template for inner row actions using temporary metadata
230
+ oRowActions.items.template = new InnerRowActionItem({
231
+ type: oTemplateInfo.type,
232
+ visible: oTemplateInfo.visible,
233
+ icon: oTemplateInfo.icon,
234
+ text: oTemplateInfo.text,
235
+ press: [this._onRowActionPress, oTable]
236
+ });
237
+ // Remove temporary metadata from row actions object
238
+ delete oRowActions.templateInfo;
239
+ } else {
240
+ oRowActions.items = oRowActions.items.map(function (oRowActionItem) {
241
+ var oInnerRowActionItem = new InnerRowActionItem({
242
+ type: oRowActionItem.isBound("type") ? oRowActionItem.getBindingInfo("type") : oRowActionItem.getType(),
243
+ visible: oRowActionItem.isBound("visible") ? oRowActionItem.getBindingInfo("visible") : oRowActionItem.getVisible(),
244
+ icon: oRowActionItem.isBound("icon") ? oRowActionItem.getBindingInfo("icon") : oRowActionItem._getIcon(),
245
+ text: oRowActionItem.isBound("text") ? oRowActionItem.getBindingInfo("text") : oRowActionItem._getText(),
246
+ press: [this._onRowActionPress, oTable]
247
+ });
248
+ // Add custom data for MDC row action, so original is retrievable from inner row action item
249
+ oInnerRowActionItem.data("rowAction", oRowActionItem);
250
+ return oInnerRowActionItem;
251
+ }, this);
252
+ }
253
+
254
+ var oInnerRowAction = new InnerRowAction(oTable.getId() + "--rowAction", oRowActions);
255
+ oTable._oTable.setRowActionTemplate(oInnerRowAction);
256
+ oTable._oTable.setRowActionCount(oRowSettings.getRowActionCount());
257
+ };
258
+
259
+ GridTableType._onRowActionPress = function (oEvent) {
260
+ var oInnerRowActionItem = oEvent.getParameter("item");
261
+ var oRowActionsInfo = this.getRowSettings().getAllActions();
262
+
263
+ if (this.getRowSettings().isBound("rowActions")) {
264
+ var sActionModel = oRowActionsInfo.items.model;
265
+ var oActionContext = oInnerRowActionItem.getBindingContext(sActionModel);
266
+
267
+ // Create a one time clone for the MDC RowAction and 'switch' binding context based on press action
268
+ if (!this._oRowActionItem) {
269
+ this._oRowActionItem = oRowActionsInfo.items.template.clone();
270
+ }
271
+ this._oRowActionItem.setBindingContext(oActionContext, oRowActionsInfo.items.model);
272
+
273
+ // Set model for row settings, as it is not propagated
274
+ this._oRowActionItem.setModel(this.getModel(sActionModel), sActionModel);
275
+ this.getRowSettings().addDependent(this._oRowActionItem);
276
+ } else {
277
+ this._oRowActionItem = oInnerRowActionItem.data("rowAction");
278
+ }
279
+ var oRow = oEvent.getParameter("row");
280
+ this._oRowActionItem.firePress({
281
+ bindingContext: oRow.getBindingContext()
282
+ });
283
+ if (this._oTableRowAction) {
284
+ this.fireRowPress({
285
+ bindingContext: oRow.getBindingContext()
286
+ });
287
+ }
288
+ };
242
289
 
243
290
  return GridTableType;
244
291
  });
@@ -15,14 +15,67 @@ sap.ui.define([
15
15
  ) {
16
16
  "use strict";
17
17
 
18
+ /**
19
+ * @typedef {object} sap.ui.mdc.table.PropertyInfo
20
+ * @extends sap.ui.mdc.util.PropertyInfo
21
+ *
22
+ * @property {object} [exportSettings]
23
+ * Object that contains information about the export settings, see {@link sap.ui.export.Spreadsheet}.
24
+ * @property {int} [maxConditions]
25
+ * Defines the maximum number of filter conditions for the property. Possible values that can be used:
26
+ * <ul>
27
+ * <li>1 is a single-filter expression field</li>
28
+ * <li>-1 is a multi-filter expression field</li>
29
+ * </ul>
30
+ * This information is for example used in the <code>addItem</code> method of the <code>FilterBar</code> control to forward this information to
31
+ * the created <code>FilterField</code> instance.
32
+ * @property {boolean} [filterable=true]
33
+ * Defines whether a property is filterable.
34
+ * @property {boolean} [sortable=true]
35
+ * Defines whether a property is sortable.
36
+ * @property {boolean} [groupable=false]
37
+ * Defines whether a property is groupable.
38
+ * @property {boolean} [key=false]
39
+ * Defines whether a property is a key or part of a key in the data.
40
+ * @property {string} [unit]
41
+ * Name of the unit property that is related to this property.
42
+ * @property {string} [text]
43
+ * Name of the text property that is related to this property in a 1:1 relation.
44
+ * @property {boolean} [required]
45
+ * Defines whether a filter condition for this property is required.
46
+ * @property {object} [visualSettings]
47
+ * This object contains all relevant properties for visual adjustments.
48
+ * @property {object} [visualSettings.widthCalculation]
49
+ * This object contains all properties and their default values for the column width calculation
50
+ * @property {integer} [visualSettings.widthCalculation.minWidth]
51
+ * The minimum content width in rem
52
+ * @property {integer} [visualSettings.widthCalculation.maxWidth]
53
+ * The maximum content width in rem
54
+ * @property {integer} [visualSettings.widthCalculation.defaultWidth]
55
+ * The default column content width when type check fails
56
+ * @property {float} [visualSettings.widthCalculation.gap]
57
+ * The additional content width in rem
58
+ * @property {boolean} [visualSettings.widthCalculation.includeLabel]
59
+ * Whether the label should be taken into account
60
+ * @property {boolean} [visualSettings.widthCalculation.verticalArrangement]
61
+ * Whether the referenced properties are arranged vertically
62
+ * @property {sap.ui.mdc.util.PropertyHelper[]} [visualSettings.widthCalculation.excludeProperties]
63
+ * A list of invisible referenced property names
64
+ *
65
+ * @private
66
+ * @experimental
67
+ * @ui5-restricted sap.fe
68
+ * MDC_PUBLIC_CANDIDATE
69
+ */
70
+
18
71
  /**
19
72
  * Constructor for a new table property helper.
20
73
  *
21
74
  * @param {object[]} aProperties
22
75
  * The properties to process in this helper
23
- * @param {object<string, object>} [mExtensions]
76
+ * @param {Object<string, object>} [mExtensions]
24
77
  * Key-value map, where the key is the name of the property and the value is the extension containing mode-specific information.
25
- * The extension of a property is stored in a reserved <code>extension</code> attribute and its attributes must be specified with
78
+ * The extension of a property is stored in a reserved <code>extension</code> attribute, and its attributes must be specified with
26
79
  * <code>mExtensionAttributeMetadata</code>.
27
80
  * @param {sap.ui.base.ManagedObject} [oParent]
28
81
  * A reference to an instance that will act as the parent of this helper
@@ -30,14 +83,14 @@ sap.ui.define([
30
83
  * The attribute metadata for the model-specific property extension
31
84
  *
32
85
  * @class
33
- * Table property helpers give tables of this library a consistent and standardized view on properties and their attributes.
86
+ * Table property helpers in this SAPUI5 library provide tables with consistent and standardized structure of properties and their attributes.
34
87
  * Validates the given properties, sets defaults, and provides utilities to work with these properties.
35
88
  * The utilities can only be used for properties that are known to the helper. Known properties are all those that are passed to the constructor.
36
89
  *
37
90
  * @extends sap.ui.mdc.util.PropertyHelper
38
91
  *
39
92
  * @author SAP SE
40
- * @version 1.97.1
93
+ * @version 1.100.0
41
94
  *
42
95
  * @private
43
96
  * @experimental
@@ -131,7 +184,7 @@ sap.ui.define([
131
184
  }, this);
132
185
  }
133
186
  } else if (!bSplitCells && oExportSettings) {
134
- // called for basic propertyInfo having exportSettings
187
+ // called for basic PropertyInfo having exportSettings
135
188
  oColumnExportSettings = getColumnExportSettingsObject(oColumn, oProperty, oExportSettings, bSplitCells);
136
189
  oColumnExportSettings.property = oProperty.path;
137
190
  aColumnExportSettings.push(oColumnExportSettings);
@@ -213,7 +266,7 @@ sap.ui.define([
213
266
  /**
214
267
  * Sets the width of the provided column based on the <code>visualSettings</code> of the relevant <code>PropertyInfo</code>.
215
268
  *
216
- * @param {sap.ui.mdc.table.Column} oMDCColumn The MDCColumn instance for which to set the width
269
+ * @param {sap.ui.mdc.table.Column} oMDCColumn The <code>Column</code> instance for which to set the width
217
270
  * @public
218
271
  * @since 1.95
219
272
  */
@@ -234,9 +287,9 @@ sap.ui.define([
234
287
  };
235
288
 
236
289
  /**
237
- * Calculates the column width based on the provided <code>PropertyInfo</code>
290
+ * Calculates the column width based on the provided <code>PropertyInfo</code>.
238
291
  *
239
- * @param {object} oProperty The properties of PropertyInfo of MDCColumn instance for which to set the width for
292
+ * @param {object} oProperty The properties of <code>PropertyInfo</code> of <code>Column</code> instance for which to set the width
240
293
  * @param {object} [mWidthCalculation] The configuration object for the width calculation
241
294
  * @param {int} [mWidthCalculation.minWidth=2] The minimum content width in rem
242
295
  * @param {int} [mWidthCalculation.maxWidth=19] The maximum content width in rem
@@ -252,17 +305,8 @@ sap.ui.define([
252
305
  PropertyHelper.prototype._calcColumnWidth = function (oProperty, mWidthCalculation) {
253
306
  var fWidth = 0;
254
307
  var fLabelWidth = 0;
255
- var mPropertyInfoWidthCalculation = oProperty.visualSettings ? oProperty.visualSettings.widthCalculation : {};
256
-
257
- mWidthCalculation = Object.assign({
258
- minWidth: 2,
259
- maxWidth: 19,
260
- defaultWidth: 8,
261
- gap: 0,
262
- includeLabel: true,
263
- excludeProperties: [],
264
- verticalArrangement: false
265
- }, mPropertyInfoWidthCalculation, mWidthCalculation || {});
308
+ var mPropertyInfoWidthCalculation = oProperty.visualSettings.widthCalculation;
309
+ mWidthCalculation = Object.assign({}, mPropertyInfoWidthCalculation, mWidthCalculation || {});
266
310
 
267
311
  var iMinWidth = Math.max(1, mWidthCalculation.minWidth);
268
312
  var iMaxWidth = Math.max(iMinWidth, mWidthCalculation.maxWidth);
@@ -16,8 +16,8 @@ sap.ui.define([
16
16
  * Constructor for a new <code>ResponsiveTableType</code>.
17
17
  *
18
18
  * @param {string} [sId] Optional ID for the new object; generated automatically if no non-empty ID is given
19
- * @param {object} [mSettings] initial settings for the new object
20
- * @class The table type info base class for the metadata driven table.
19
+ * @param {object} [mSettings] Initial settings for the new object
20
+ * @class The table type info class for the metadata-driven table.
21
21
  * @extends sap.ui.mdc.table.TableTypeBase
22
22
  * @author SAP SE
23
23
  * @private
@@ -34,8 +34,7 @@ sap.ui.define([
34
34
  library: "sap.ui.mdc",
35
35
  properties: {
36
36
  /**
37
- * See <code>sap.ui.mdc.GrowingMode</code><br>
38
- * Defaults to Basic - meaning only growing is enabled on <code>ResponsiveTable</code>
37
+ * Specifies the growing mode.
39
38
  */
40
39
  growingMode: {
41
40
  type: "sap.ui.mdc.GrowingMode",
@@ -58,13 +57,13 @@ sap.ui.define([
58
57
  defaultValue: false
59
58
  },
60
59
  /**
61
- * Defines which columns should be hidden instead of moved into the pop-in area depending on their importance.
60
+ * Defines which columns are hidden instead of moved into the pop-in area depending on their importance.
62
61
  * See {@link sap.m.Column#getImportance} and {@link sap.m.Table#getHiddenInPopin} for more details.
63
62
  *
64
63
  * <b>Note:</b> To hide columns based on their importance, it's mandatory to set <code>showDetailsButton="true"</code>.<br>
65
64
  * If no priority is given, the default configuration of {@link sap.ui.mdc.table.ResponsiveTableType#getShowDetailsButton} is used.<br>
66
- * If this property is changed after the <code>MDCTable</code> has been initialized, the new changes take effect only when the
67
- * Show / Hide Details button is pressed a second time.
65
+ * If this property is changed after the <code>Table</code> has been initialized, the new changes take effect only when the Show /
66
+ * Hide Details button is pressed a second time.
68
67
  *
69
68
  * @since 1.86
70
69
  */
@@ -168,25 +167,66 @@ sap.ui.define([
168
167
  oTable._oTable.setMultiSelectMode(oTable.getMultiSelectMode());
169
168
  };
170
169
 
171
- ResponsiveTableType.updateNavigation = function(oTable) {
172
- oTable._oTemplate.setType(RowAction.Navigation);
170
+ ResponsiveTableType.updateRowSettings = function(oTable, oRowSettings, fnRowActionPress) {
171
+ // Remove all bindings, as applySettings doesn't do it
172
+ var oRowTemplate = oTable._oTemplate;
173
+ oRowTemplate.unbindProperty("navigated");
174
+ oRowTemplate.unbindProperty("highlight");
175
+ oRowTemplate.unbindProperty("highlightText");
176
+
177
+ this.updateRowActions(oTable, oRowSettings, fnRowActionPress);
178
+ var oSettings = oRowSettings.getAllSettings();
179
+ oRowTemplate.applySettings(oSettings);
173
180
  };
174
181
 
175
- ResponsiveTableType.updateRowAction = function(oTable, bNavigation) {
182
+ ResponsiveTableType.updateRowActions = function (oTable, oRowSettings) {
183
+ oTable._oTemplate.unbindProperty("type");
184
+
176
185
  var sType = oTable.hasListeners("rowPress") ? "Active" : "Inactive";
177
- oTable._oTemplate.setType(sType);
178
- if (bNavigation) {
179
- this.updateNavigation(oTable);
186
+
187
+ if (!oRowSettings) {
188
+ oTable._oTemplate.setType(sType);
189
+ return;
180
190
  }
181
- };
182
191
 
183
- ResponsiveTableType.updateRowSettings = function(oRowTemplate, oRowSettings) {
184
- // Remove all bindings, as applySettings doesn't do it
185
- oRowTemplate.unbindProperty("navigated");
186
- oRowTemplate.unbindProperty("highlight");
187
- oRowTemplate.unbindProperty("highlightText");
192
+ var oRowActionsInfo = oRowSettings.getAllActions();
193
+ if ("templateInfo" in oRowActionsInfo) {
194
+ var oTemplateInfo = oRowActionsInfo.templateInfo;
195
+
196
+ if (oTemplateInfo.visible.formatter) {
197
+ // Wrap the formatter (which should return a boolean) value and determine the type based on the formatted value.
198
+ var fnFormatter = oTemplateInfo.visible.formatter;
199
+ oTemplateInfo.visible.formatter = function (sValue) {
200
+ var bVisible = fnFormatter(sValue);
201
+ return bVisible ? RowAction.Navigation : sType;
202
+ };
203
+ }
204
+ if (typeof oTemplateInfo.visible === "object") {
205
+ oTable._oTemplate.bindProperty("type", oTemplateInfo.visible);
206
+ } else {
207
+ oTable._oTemplate.setProperty("type", oTemplateInfo.visible);
208
+ }
209
+ } else if (oRowActionsInfo && oRowActionsInfo.items){
210
+ var _oRowActionItem;
211
+ if (oRowActionsInfo.items.length == 0) {
212
+ oTable._oTemplate.setType(sType);
213
+ return;
214
+ }
215
+
216
+ _oRowActionItem = oRowActionsInfo.items.find(function (oRowAction) {
217
+ return oRowAction.getType() == "Navigation";
218
+ });
188
219
 
189
- oRowTemplate.applySettings(oRowSettings.getAllSettings());
220
+ // ResponsiveTable currently only supports RowActionItem<Navigation>
221
+ if (!_oRowActionItem && oRowActionsInfo.items.length > 0) {
222
+ throw new Error("No RowAction of type 'Navigation' found. sap.m.Table only accepts RowAction of type 'Navigation'.");
223
+ }
224
+
225
+ // Associate RowActionItem<Navigation> to template for reference
226
+ oTable._oTemplate.data("rowAction", _oRowActionItem);
227
+ }
228
+
229
+ oTable._oTemplate.setType(RowAction.Navigation);
190
230
  };
191
231
 
192
232
  ResponsiveTableType.disableColumnResizer = function(oTable, oInnerTable) {
@@ -231,14 +271,13 @@ sap.ui.define([
231
271
  var oRb = Core.getLibraryResourceBundle("sap.ui.mdc"), sText;
232
272
 
233
273
  sText = this.bHideDetails ? oRb.getText("table.SHOWDETAILS_TEXT") : oRb.getText("table.HIDEDETAILS_TEXT");
234
- this._oShowDetailsButton.setTooltip(sText);
235
274
  this._oShowDetailsButton.setText(sText);
236
275
  };
237
276
 
238
277
  /**
239
278
  * Toggles the visibility of the Show Details button.<br>
240
279
  * If {@param bValue} is set to <code>true</code>, it sets the <code>hiddenInPopin</code> property on the inner <code>ResponsiveTable</code> to
241
- * hide columns based on <code>MDCTable</code> configuration (<code>showDetailsButton</code> and <code>detailsButtonSetting</code> properties).
280
+ * hide columns based on the <code>Table</code> configuration (<code>showDetailsButton</code> and <code>detailsButtonSetting</code> properties).
242
281
  * Otherwise an empty array is set to show all columns.
243
282
  *
244
283
  * @param {boolean} bValue - Whether to hide details and display the Show Details button
@@ -274,7 +313,7 @@ sap.ui.define([
274
313
  };
275
314
 
276
315
  /**
277
- * Helper function to get the importance of the columns that should be hidden based on <code>MDCTable</code> configuration.
316
+ * Helper function to get the importance of the columns to be hidden based on <code>Table</code> configuration.
278
317
  *
279
318
  * @returns {array} sap.ui.core.Priority[] Array of column priorities
280
319
  * @private
@@ -310,5 +349,37 @@ sap.ui.define([
310
349
  }
311
350
  };
312
351
 
352
+ ResponsiveTableType._onRowActionPress = function (oEvent) {
353
+ var oInnerRow = oEvent.getParameter("listItem");
354
+ var oContext = oInnerRow.getBindingContext();
355
+
356
+ if (oInnerRow.getType() !== "Navigation") {
357
+ return;
358
+ }
359
+
360
+ var oRowSettings = this.getRowSettings();
361
+ var oRowActionsInfo = oRowSettings.getAllActions();
362
+
363
+ if (this.getRowSettings().isBound("rowActions")) {
364
+ var sActionModel = oRowActionsInfo.items.model;
365
+ if (!this._oRowActionItem) {
366
+ this._oRowActionItem = oRowActionsInfo.items.template.clone();
367
+ }
368
+
369
+ // Set model for row settings, as it is not propagated
370
+ this._oRowActionItem.setModel(this.getModel(sActionModel), sActionModel);
371
+ this.getRowSettings().addDependent(this._oRowActionItem);
372
+ } else {
373
+ this._oRowActionItem = oInnerRow.data("rowAction");
374
+ }
375
+
376
+ // Binding Context cannot be determined for ResponsiveTable, which is why we always assume to have a RowActionItem<Navigation> no matter what
377
+ this._oRowActionItem.setType("Navigation");
378
+
379
+ this._oRowActionItem.firePress({
380
+ bindingContext: oContext
381
+ });
382
+ };
383
+
313
384
  return ResponsiveTableType;
314
385
  });