@openui5/sap.ui.mdc 1.93.3 → 1.96.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 (237) hide show
  1. package/.reuse/dep5 +6 -11
  2. package/THIRDPARTY.txt +10 -16
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +236 -334
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -1
  7. package/src/sap/ui/mdc/Chart.js +150 -22
  8. package/src/sap/ui/mdc/ChartDelegateNew.js +15 -0
  9. package/src/sap/ui/mdc/ChartNew.js +107 -66
  10. package/src/sap/ui/mdc/Control.js +4 -3
  11. package/src/sap/ui/mdc/Element.js +5 -4
  12. package/src/sap/ui/mdc/Field.js +2 -2
  13. package/src/sap/ui/mdc/FilterBar.js +1 -10
  14. package/src/sap/ui/mdc/FilterField.js +28 -4
  15. package/src/sap/ui/mdc/Link.js +2 -2
  16. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  17. package/src/sap/ui/mdc/Table.js +160 -79
  18. package/src/sap/ui/mdc/TableDelegate.js +20 -3
  19. package/src/sap/ui/mdc/ValueHelp.js +1474 -0
  20. package/src/sap/ui/mdc/ValueHelpDelegate.js +147 -0
  21. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +49 -104
  22. package/src/sap/ui/mdc/chart/DimensionItem.js +3 -3
  23. package/src/sap/ui/mdc/chart/Item.js +2 -3
  24. package/src/sap/ui/mdc/chart/MeasureItem.js +2 -2
  25. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +21 -2
  26. package/src/sap/ui/mdc/chart/ToolbarHandler.js +237 -225
  27. package/src/sap/ui/mdc/chartNew/ChartSelectionDetailsNew.js +1 -1
  28. package/src/sap/ui/mdc/chartNew/ChartToolbarNew.js +14 -10
  29. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +1 -1
  30. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +12 -10
  31. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -1
  32. package/src/sap/ui/mdc/chartNew/PropertyHelperNew.js +1 -1
  33. package/src/sap/ui/mdc/condition/Condition.js +2 -2
  34. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  35. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  36. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  37. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +13 -7
  38. package/src/sap/ui/mdc/condition/Operator.js +4 -4
  39. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  40. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +43 -0
  41. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +91 -0
  42. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +20 -0
  43. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +31 -0
  44. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +5 -0
  45. package/src/sap/ui/mdc/enum/ContentMode.js +25 -4
  46. package/src/sap/ui/mdc/enum/SelectType.js +43 -0
  47. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  48. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  49. package/src/sap/ui/mdc/field/ConditionType.js +19 -4
  50. package/src/sap/ui/mdc/field/ConditionsType.js +5 -4
  51. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  52. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  53. package/src/sap/ui/mdc/field/DefineConditionPanel.js +38 -14
  54. package/src/sap/ui/mdc/field/FieldBase.js +92 -41
  55. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +9 -2
  56. package/src/sap/ui/mdc/field/FieldHelpBase.js +64 -4
  57. package/src/sap/ui/mdc/field/FieldInfoBase.js +9 -1
  58. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  59. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  60. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  61. package/src/sap/ui/mdc/field/FieldValueHelp.js +7 -1
  62. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  63. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  64. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +1 -1
  65. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +2 -2
  66. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  67. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  68. package/src/sap/ui/mdc/field/ListFieldHelp.js +3 -3
  69. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  70. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  71. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  72. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  73. package/src/sap/ui/mdc/field/content/BooleanContent.js +15 -3
  74. package/src/sap/ui/mdc/field/content/ContentFactory.js +16 -8
  75. package/src/sap/ui/mdc/field/content/DefaultContent.js +64 -23
  76. package/src/sap/ui/mdc/field/content/LinkContent.js +6 -0
  77. package/src/sap/ui/mdc/field/content/SearchContent.js +21 -3
  78. package/src/sap/ui/mdc/field/content/UnitContent.js +2 -2
  79. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +105 -44
  80. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +52 -0
  81. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +10 -51
  82. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  83. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +22 -0
  84. package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +19 -0
  85. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  86. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +57 -46
  87. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  88. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  89. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +203 -197
  90. package/src/sap/ui/mdc/library.js +588 -8
  91. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  92. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  93. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  94. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  95. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  96. package/src/sap/ui/mdc/link/Factory.js +1 -1
  97. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  98. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  99. package/src/sap/ui/mdc/link/Panel.js +1 -1
  100. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  101. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  102. package/src/sap/ui/mdc/link/SelectionDialog.js +2 -2
  103. package/src/sap/ui/mdc/link/SelectionDialogItem.js +1 -1
  104. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  105. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  106. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  107. package/src/sap/ui/mdc/messagebundle.properties +31 -5
  108. package/src/sap/ui/mdc/messagebundle_ar.properties +11 -4
  109. package/src/sap/ui/mdc/messagebundle_bg.properties +10 -3
  110. package/src/sap/ui/mdc/messagebundle_ca.properties +10 -3
  111. package/src/sap/ui/mdc/messagebundle_cs.properties +12 -5
  112. package/src/sap/ui/mdc/messagebundle_cy.properties +10 -3
  113. package/src/sap/ui/mdc/messagebundle_da.properties +10 -3
  114. package/src/sap/ui/mdc/messagebundle_de.properties +12 -5
  115. package/src/sap/ui/mdc/messagebundle_el.properties +11 -4
  116. package/src/sap/ui/mdc/messagebundle_en.properties +9 -2
  117. package/src/sap/ui/mdc/messagebundle_en_GB.properties +10 -3
  118. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +11 -3
  119. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +19 -3
  120. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +11 -2
  121. package/src/sap/ui/mdc/messagebundle_es.properties +35 -28
  122. package/src/sap/ui/mdc/messagebundle_es_MX.properties +10 -3
  123. package/src/sap/ui/mdc/messagebundle_et.properties +10 -3
  124. package/src/sap/ui/mdc/messagebundle_fi.properties +11 -4
  125. package/src/sap/ui/mdc/messagebundle_fr.properties +22 -15
  126. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +10 -3
  127. package/src/sap/ui/mdc/messagebundle_hi.properties +10 -3
  128. package/src/sap/ui/mdc/messagebundle_hr.properties +10 -3
  129. package/src/sap/ui/mdc/messagebundle_hu.properties +11 -4
  130. package/src/sap/ui/mdc/messagebundle_id.properties +11 -4
  131. package/src/sap/ui/mdc/messagebundle_it.properties +33 -26
  132. package/src/sap/ui/mdc/messagebundle_iw.properties +10 -3
  133. package/src/sap/ui/mdc/messagebundle_ja.properties +13 -6
  134. package/src/sap/ui/mdc/messagebundle_kk.properties +10 -3
  135. package/src/sap/ui/mdc/messagebundle_ko.properties +10 -3
  136. package/src/sap/ui/mdc/messagebundle_lt.properties +10 -3
  137. package/src/sap/ui/mdc/messagebundle_lv.properties +10 -3
  138. package/src/sap/ui/mdc/messagebundle_ms.properties +10 -3
  139. package/src/sap/ui/mdc/messagebundle_nl.properties +11 -4
  140. package/src/sap/ui/mdc/messagebundle_no.properties +17 -10
  141. package/src/sap/ui/mdc/messagebundle_pl.properties +14 -7
  142. package/src/sap/ui/mdc/messagebundle_pt.properties +11 -4
  143. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +10 -3
  144. package/src/sap/ui/mdc/messagebundle_ro.properties +13 -6
  145. package/src/sap/ui/mdc/messagebundle_ru.properties +10 -3
  146. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -3
  147. package/src/sap/ui/mdc/messagebundle_sk.properties +11 -4
  148. package/src/sap/ui/mdc/messagebundle_sl.properties +10 -3
  149. package/src/sap/ui/mdc/messagebundle_sv.properties +11 -4
  150. package/src/sap/ui/mdc/messagebundle_th.properties +16 -9
  151. package/src/sap/ui/mdc/messagebundle_tr.properties +10 -3
  152. package/src/sap/ui/mdc/messagebundle_uk.properties +10 -3
  153. package/src/sap/ui/mdc/messagebundle_vi.properties +10 -3
  154. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +10 -3
  155. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +10 -3
  156. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  157. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
  158. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +3 -3
  159. package/src/sap/ui/mdc/mixin/PromiseMixin.js +94 -0
  160. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +1 -1
  161. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +6 -6
  162. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +37 -10
  163. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +94 -0
  164. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew.js +492 -203
  165. package/src/sap/ui/mdc/p13n/DefaultProviderRegistry.js +1 -1
  166. package/src/sap/ui/mdc/p13n/Engine.js +3 -2
  167. package/src/sap/ui/mdc/p13n/P13nBuilder.js +6 -60
  168. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  169. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  170. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +22 -24
  171. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +59 -0
  172. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +1 -2
  173. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +17 -8
  174. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -2
  175. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +1171 -0
  176. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +1 -1
  177. package/src/sap/ui/mdc/p13n/panels/GroupView.js +7 -11
  178. package/src/sap/ui/mdc/p13n/panels/ListView.js +5 -3
  179. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +16 -9
  180. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -1
  181. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -1
  182. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +1 -1
  183. package/src/sap/ui/mdc/p13n/panels/Wrapper.js +1 -1
  184. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +89 -0
  185. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +9 -6
  186. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +33 -4
  187. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +9 -15
  188. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +12 -0
  189. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +5 -12
  190. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +19 -21
  191. package/src/sap/ui/mdc/table/Column.js +35 -9
  192. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  193. package/src/sap/ui/mdc/table/GridTableType.js +0 -1
  194. package/src/sap/ui/mdc/table/PropertyHelper.js +108 -5
  195. package/src/sap/ui/mdc/table/ResponsiveTableType.js +19 -3
  196. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  197. package/src/sap/ui/mdc/table/TableTypeBase.js +0 -1
  198. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  199. package/src/sap/ui/mdc/themes/base/FilterBar.less +2 -2
  200. package/src/sap/ui/mdc/themes/base/GroupView.less +2 -2
  201. package/src/sap/ui/mdc/themes/base/ListView.less +2 -2
  202. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +56 -21
  203. package/src/sap/ui/mdc/ui/Container.js +2 -2
  204. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  205. package/src/sap/ui/mdc/util/Common.js +26 -0
  206. package/src/sap/ui/mdc/util/FilterUtil.js +12 -1
  207. package/src/sap/ui/mdc/util/IdentifierUtil.js +4 -0
  208. package/src/sap/ui/mdc/util/PromiseCache.js +266 -0
  209. package/src/sap/ui/mdc/util/PropertyHelper.js +22 -1
  210. package/src/sap/ui/mdc/valuehelp/Dialog.js +498 -0
  211. package/src/sap/ui/mdc/valuehelp/Popover.js +362 -0
  212. package/src/sap/ui/mdc/valuehelp/base/Container.js +642 -0
  213. package/src/sap/ui/mdc/valuehelp/base/Content.js +628 -0
  214. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +139 -0
  215. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +557 -0
  216. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +133 -0
  217. package/src/sap/ui/mdc/valuehelp/content/Bool.js +318 -0
  218. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +276 -0
  219. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +532 -0
  220. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +638 -0
  221. package/src/sap/ui/mdc/valuehelp/content/MTable.js +916 -0
  222. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -2
  223. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +48 -0
  224. package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsBase.js +310 -0
  225. package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsViz.js +39 -0
  226. package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsBase.js +118 -0
  227. package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsViz.js +137 -0
  228. package/test/sap/ui/mdc/testutils/opa/chartNew/ChartNew.js +24 -0
  229. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +289 -0
  230. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +250 -0
  231. package/test/sap/ui/mdc/testutils/opa/filterbar/Assertions.js +91 -0
  232. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +137 -0
  233. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +25 -0
  234. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +401 -93
  235. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +4 -1
  236. package/test/sap/ui/mdc/testutils/opa/p13n/{waitForP13nButtonWithParentAndIcon.js → waitForP13nButtonWithMatchers.js} +5 -18
  237. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +0 -1
@@ -0,0 +1,638 @@
1
+ /*
2
+ * ! OpenUI5
3
+ * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ 'sap/ui/mdc/valuehelp/base/FilterableListContent',
9
+ 'sap/ui/mdc/util/loadModules',
10
+ 'sap/base/util/deepEqual',
11
+ 'sap/ui/mdc/enum/SelectType',
12
+ 'sap/ui/mdc/library',
13
+ 'sap/m/library',
14
+ "sap/ui/table/library",
15
+ "sap/ui/mdc/p13n/Engine",
16
+ "sap/ui/mdc/enum/PersistenceMode"
17
+
18
+ ], function(
19
+ FilterableListContent,
20
+ loadModules,
21
+ deepEqual,
22
+ SelectType,
23
+ library,
24
+ mLibrary,
25
+ uiTableLibrary,
26
+ Engine,
27
+ PersistenceMode
28
+ ) {
29
+ "use strict";
30
+
31
+ var ListMode = mLibrary.ListMode;
32
+ var Sticky = mLibrary.Sticky;
33
+ var MDCSelectionMode = library.SelectionMode;
34
+
35
+ var UITableVisibleRowCountMode = uiTableLibrary.VisibleRowCountMode;
36
+ var UITableSelectionMode = uiTableLibrary.SelectionMode;
37
+ var UITableSelectionBehavior = uiTableLibrary.SelectionBehavior;
38
+
39
+ var _getMDCTableType = function(oTable) {
40
+ var sType, oType = sType = oTable && oTable.getType();
41
+ if (!oType) {
42
+ sType = "Table"; // back to the default behaviour
43
+ } else if (typeof oType === "object") {
44
+ if (oType.isA("sap.ui.mdc.table.ResponsiveTableType")) {
45
+ sType = "ResponsiveTable";
46
+ } else {
47
+ sType = "Table";
48
+ }
49
+ }
50
+ return sType;
51
+ };
52
+
53
+ var _setupTableHelper = function () {
54
+ var oTable = this._getTable();
55
+ var oInnerTable = oTable && oTable._oTable;
56
+ var oListBinding = oTable.getRowBinding();
57
+
58
+ var _getUITableSelectionHandler = function () {
59
+ return this._oUITableSelectionPlugin || oInnerTable;
60
+ }.bind(this);
61
+
62
+ var _fireSelect = function (oItem, bSelected) {
63
+ var oValues = this._getItemFromContext(oItem.getBindingContext());
64
+ var oCondition = oValues && this._createCondition(oValues.key, oValues.description, oValues.inParameters, oValues.outParameters);
65
+ var sAddRemoveType = bSelected ? SelectType.Add : SelectType.Remove;
66
+ this.fireSelect({type: this._isSingleSelect() ? SelectType.Set : sAddRemoveType, conditions: [oCondition]});
67
+ };
68
+
69
+ var MDCTableHelperConfig = {
70
+ "ResponsiveTable": {
71
+ getListBindingInfo: function () {
72
+ return oInnerTable && oInnerTable.getBindingInfo("items");
73
+ },
74
+ getItems: function () {
75
+ return oInnerTable.getItems();
76
+ },
77
+ getSelectedItems: function () {
78
+ return oInnerTable.getSelectedItems();
79
+ },
80
+ modifySelection: function (oItem, bSelected) {
81
+ if (oItem.getSelected() !== bSelected) {
82
+ oItem.setSelected(bSelected);
83
+ }
84
+ },
85
+ handleItemPress: function (oEvent) {
86
+ var oItem = oEvent.getParameter("listItem");
87
+ if (!this.isTypeahead() || !this._isSingleSelect()) {
88
+ oItem.setSelected(!oItem.getSelected());
89
+ }
90
+ _fireSelect.call(this, oItem, oItem.getSelected());
91
+ },
92
+ handleSelectionChange: function (oEvent) {
93
+ if (!this.isTypeahead() || !this._isSingleSelect()) { // single-suggestion handled in this._handleItemPress
94
+ var oParams = oEvent.getParameters();
95
+ var aListItems = oParams.listItems || oParams.listItem && [oParams.listItem];
96
+ var aConditions = aListItems.map(function (oItem) {
97
+ // var sKey = _getListItemKey.call(this, oItem);
98
+ // return sKey && this._createCondition(sKey);
99
+ var oValues = this._getItemFromContext(oItem.getBindingContext());
100
+ return oValues && this._createCondition(oValues.key, oValues.description, oValues.inParameters, oValues.outParameters);
101
+ }.bind(this));
102
+ this.fireSelect({type: oParams.selected ? SelectType.Add : SelectType.Remove, conditions: aConditions});
103
+ }
104
+ },
105
+ adjustTable: function () {
106
+ var aSticky = oInnerTable.getSticky();
107
+ if (!aSticky || aSticky.length === 0) {
108
+ // make headers sticky
109
+ oInnerTable.setSticky([Sticky.ColumnHeaders]);
110
+ }
111
+ if (this._isSingleSelect()) {
112
+ oInnerTable.setMode(ListMode.SingleSelectLeft);
113
+ } else {
114
+ oInnerTable.setMode(ListMode.MultiSelect);
115
+ }
116
+ },
117
+ handleScrolling: function (iIndex) {
118
+ var oScrollDelegate = this.getScrollDelegate();
119
+ if (oScrollDelegate) {
120
+ oInnerTable.scrollToIndex(iIndex).catch(function (oError) {
121
+ // TODO: Handle scroll error?
122
+ });
123
+ return true;
124
+ }
125
+ },
126
+ handleListBinding: function () {
127
+
128
+ }
129
+ },
130
+ "Table": {
131
+ getListBindingInfo: function () {
132
+ return oInnerTable && oInnerTable.getBindingInfo("rows");
133
+ },
134
+ getItems: function () {
135
+ return oInnerTable.getRows().filter(function (oRow) {
136
+ var oRowBindingContext = oRow.getBindingContext();
137
+ return oRowBindingContext && oRowBindingContext.getObject(); // don't return empty rows
138
+ });
139
+ },
140
+ getSelectedItems: function () {
141
+ var aSelectedIndices = _getUITableSelectionHandler().getSelectedIndices();
142
+ var aSelectedContexts = aSelectedIndices.reduce(function(aResult, iCurrent) {
143
+ var oContext = oInnerTable.getContextByIndex(iCurrent);
144
+ return oContext ? aResult.concat(oContext) : aResult;
145
+ }, []);
146
+ return MDCTableHelperConfig["Table"].getItems().filter(function (oRow) {
147
+ return aSelectedContexts.indexOf(oRow.getBindingContext()) >= 0;
148
+ });
149
+ },
150
+ modifySelection: function (oItem, bSelected) {
151
+ var oContext = oItem.getBindingContext();
152
+ var iContextIndex = MDCTableHelperConfig["Table"].getContexts().indexOf(oContext);
153
+ var bInSelectedIndices = _getUITableSelectionHandler().getSelectedIndices().indexOf(iContextIndex) >= 0;
154
+ if (bSelected && !bInSelectedIndices) {
155
+ return this._isSingleSelect() ? _getUITableSelectionHandler().setSelectedIndex(iContextIndex) : _getUITableSelectionHandler().addSelectionInterval(iContextIndex,iContextIndex);
156
+ } else if (!bSelected && bInSelectedIndices) {
157
+ return _getUITableSelectionHandler().removeSelectionInterval(iContextIndex,iContextIndex);
158
+ }
159
+ },
160
+ handleItemPress: function (oEvent) {
161
+ },
162
+ handleSelectionChange: function (oEvent) {
163
+
164
+ if (this._bScrolling || this._bBusy) {
165
+ return;
166
+ }
167
+
168
+ var aRowIndices = oEvent.getParameter("rowIndices"); // rowIndices are actually context indices
169
+ var aContexts = MDCTableHelperConfig["Table"].getContexts().filter(function (oContext, iIndex) {
170
+ return aRowIndices.indexOf(iIndex) >= 0;
171
+ });
172
+ var aRows = MDCTableHelperConfig["Table"].getItems().filter(function (oRow, iIndex) {
173
+ return aContexts.indexOf(oRow.getBindingContext()) >= 0;
174
+ });
175
+ var aAddConditions = [], aRemoveConditions = [];
176
+ var aSelectedRows = MDCTableHelperConfig["Table"].getSelectedItems();
177
+ var aCurrentConditions = this.getConditions();
178
+ aRows.forEach(function (oRow, i) {
179
+ var bIsInSelectedConditions = this._isItemSelected(oRow, aCurrentConditions);
180
+ var bIsRowSelected = aSelectedRows.indexOf(oRow) !== -1;
181
+ if (bIsInSelectedConditions !== bIsRowSelected) {
182
+ var aBucket = aSelectedRows.indexOf(oRow) !== -1 ? aAddConditions : aRemoveConditions;
183
+ var oValues = this._getItemFromContext(oRow.getBindingContext());
184
+ var oCondition = oValues && this._createCondition(oValues.key, oValues.description, oValues.inParameters, oValues.outParameters);
185
+ aBucket.push(oCondition);
186
+ }
187
+ }.bind(this));
188
+
189
+ var bSingle = this._isSingleSelect();
190
+
191
+ if (aAddConditions.length) {
192
+ this.fireSelect({type: this._isSingleSelect() ? SelectType.Set : SelectType.Add, conditions: aAddConditions});
193
+ if (bSingle) {
194
+ return;
195
+ }
196
+ }
197
+
198
+ if (aRemoveConditions.length) {
199
+ this.fireSelect({type: this._isSingleSelect() ? SelectType.Set : SelectType.Remove, conditions: aRemoveConditions});
200
+ }
201
+ },
202
+ adjustTable: function () {
203
+ var oRowMode = oInnerTable.getRowMode();
204
+ if (!oRowMode) {
205
+ oInnerTable.setVisibleRowCountMode(UITableVisibleRowCountMode.Auto);
206
+ oInnerTable.setMinAutoRowCount(3);
207
+ } else if (oRowMode.isA("sap.ui.table.rowmodes.AutoRowMode")) {
208
+ oRowMode.setMinRowCount(3);
209
+ }
210
+ var sSelectionMode = this._isSingleSelect() ? UITableSelectionMode.Single : UITableSelectionMode.MultiToggle;
211
+ var sSelectionBehavior = this._isSingleSelect() ? UITableSelectionBehavior.RowOnly : UITableSelectionBehavior.Row;
212
+ oInnerTable.setSelectionBehavior(sSelectionBehavior);
213
+ _getUITableSelectionHandler().setSelectionMode(sSelectionMode);
214
+ },
215
+ handleScrolling: function (iIndex) {
216
+ var iFirstVisibleRowIndex = oInnerTable.getFirstVisibleRow();
217
+ if (typeof iIndex === "undefined" || iIndex < 0) {
218
+ iIndex = iFirstVisibleRowIndex - 1;
219
+ }
220
+ if (iIndex >= 0 && iIndex != iFirstVisibleRowIndex) {
221
+ oInnerTable.setFirstVisibleRow(iIndex);
222
+ return Promise.resolve();
223
+ }
224
+ return false;
225
+ },
226
+ getContexts: function () {
227
+ return oListBinding && (oListBinding.aContexts || (oListBinding.aIndices && oListBinding.aIndices.map(function (iIndex) {
228
+ return oInnerTable.getContextByIndex(iIndex);
229
+ })) || oListBinding.getContexts());
230
+ },
231
+ handleListBinding: function () {
232
+ oListBinding.attachEvent("change", this._handleUpdateFinished.bind(this));
233
+ }
234
+ }
235
+ };
236
+
237
+ return MDCTableHelperConfig[this._sTableType];
238
+ };
239
+
240
+ function _updateSelection () {
241
+ if (this._oTableHelper) {
242
+ this._bSelectionIsUpdating = true;
243
+ var aItems = this._oTableHelper.getItems();
244
+ var aConditions = this.getConditions();
245
+ var aModifications = [];
246
+ for (var iId in aItems) {
247
+ var oItem = aItems[iId];
248
+ var bSelected = this._isItemSelected(oItem, aConditions);
249
+ aModifications.push(this._oTableHelper.modifySelection.call(this, oItem, bSelected));
250
+ }
251
+ Promise.all(aModifications).then(function() {
252
+ this._bSelectionIsUpdating = false;
253
+ }.bind(this));
254
+ }
255
+ }
256
+
257
+ // TODO: @ui5-restricted sap.ui.mdc
258
+ /**
259
+ * Constructor for a new <code>MDCTable</code> content.
260
+ *
261
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
262
+ * @param {object} [mSettings] Initial settings for the new control
263
+ * @class Content for the <code>sap.ui.mdc.valuehelp.base.Container</code> element using a sap.ui.mdc.Table.
264
+ * @extends sap.ui.mdc.valuehelp.base.FilterableListContent
265
+ * @version 1.96.1
266
+ * @constructor
267
+ * @abstract
268
+ * @private
269
+ * @since 1.95.0
270
+ * @alias sap.ui.mdc.valuehelp.content.MDCTable
271
+ * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
272
+ */
273
+ var MDCTable = FilterableListContent.extend("sap.ui.mdc.valuehelp.content.MDCTable", /** @lends sap.ui.mdc.valuehelp.content.MDCTable.prototype */
274
+ {
275
+ metadata: {
276
+ library: "sap.ui.mdc",
277
+ interfaces: [
278
+ "sap.ui.mdc.valuehelp.IDialogContent"
279
+ ],
280
+ properties: {
281
+ },
282
+ aggregations: {
283
+ /**
284
+ * Table to be used in value help
285
+ */
286
+ table: {
287
+ type: "sap.ui.mdc.Table",
288
+ multiple: false
289
+ }
290
+ },
291
+ events: {
292
+
293
+ },
294
+ defaultAggregation: "table"
295
+ }
296
+ });
297
+
298
+ MDCTable.prototype.init = function () {
299
+ FilterableListContent.prototype.init.apply(this, arguments);
300
+
301
+ this._oObserver.observe(this, {
302
+ aggregations: ["table"]
303
+ });
304
+
305
+ this._addPromise("listBinding");
306
+ };
307
+
308
+ var handleListBinding = function () {
309
+ var oListBinding = this._getTable().getRowBinding();
310
+ if (oListBinding) {
311
+ this._oTableHelper = _setupTableHelper.call(this);
312
+ this._oTableHelper.handleListBinding.call(this);
313
+ _adjustTable.call(this);
314
+ this._resolvePromise("listBinding", oListBinding);
315
+ }
316
+ };
317
+
318
+ var handleTableHeader = function () {
319
+ if (this._oTable && !this._oTable.getHeader()) {
320
+ this._oTable.setHeader( this._oResourceBundle.getText("valuehelp.TABLETITLENONUMBER"));
321
+ }
322
+ };
323
+
324
+ MDCTable.prototype._handleConditionsUpdate = function() {
325
+ _updateSelection.call(this);
326
+ };
327
+ MDCTable.prototype._handleUpdateFinished = function (oEvent) {
328
+ this._bScrolling = false;
329
+ this._bSearchTriggered = false;
330
+ _updateSelection.call(this);
331
+ };
332
+
333
+
334
+ MDCTable.prototype._handleFirstVisibleRowChanged = function (oEvent) {
335
+ this._bScrolling = true;
336
+ };
337
+
338
+ MDCTable.prototype._handleBusyStateChanged = function (oEvent) {
339
+ this._bBusy = oEvent.getParameter("busy");
340
+ };
341
+
342
+ var handleInnerTable = function (oInnerTable, sMutation) {
343
+
344
+ if (!oInnerTable) {
345
+ return;
346
+ }
347
+
348
+ if (sMutation === "remove") {
349
+ if (this._sTableType === "Table") {
350
+ oInnerTable.detachEvent("cellClick", this._handleItemPress, this);
351
+ oInnerTable.detachEvent("rowSelectionChange", this._handleSelectionChange, this);
352
+ oInnerTable.detachEvent("rowsUpdated", this._handleUpdateFinished, this);
353
+ oInnerTable.detachEvent("firstVisibleRowChanged", this._handleFirstVisibleRowChanged, this);
354
+ oInnerTable.detachEvent("busyStateChanged", this._handleBusyStateChanged, this);
355
+ if (this._oUITableSelectionPlugin) {
356
+ this._oUITableSelectionPlugin.detachEvent("selectionChange", this._handleSelectionChange, this);
357
+ }
358
+ this._oUITableSelectionPlugin = undefined;
359
+ } else if (this._sTableType === "ResponsiveTable") {
360
+ oInnerTable.detachEvent("itemPress", this._handleItemPress, this);
361
+ oInnerTable.detachEvent("selectionChange", this._handleSelectionChange, this);
362
+ oInnerTable.detachEvent("updateFinished", this._handleUpdateFinished, this);
363
+ }
364
+ this._oObserver.unobserve(oInnerTable);
365
+ } else {
366
+ // eslint-disable-next-line no-lonely-if
367
+ if (this._sTableType === "Table") {
368
+ this._oObserver.observe(oInnerTable, {bindings: ["rows"], aggregations: ["plugins"]});
369
+ oInnerTable.attachEvent("cellClick", this._handleItemPress, this);
370
+ oInnerTable.attachEvent("rowSelectionChange", this._handleSelectionChange, this);
371
+ oInnerTable.attachEvent("rowsUpdated", this._handleUpdateFinished, this);
372
+ oInnerTable.attachEvent("firstVisibleRowChanged", this._handleFirstVisibleRowChanged, this);
373
+ oInnerTable.attachEvent("busyStateChanged", this._handleBusyStateChanged, this);
374
+ this._oUITableSelectionPlugin = oInnerTable.getPlugins().find(function (oPlugin) {
375
+ return oPlugin.isA("sap.ui.table.plugins.SelectionPlugin");
376
+ });
377
+ if (this._oUITableSelectionPlugin) {
378
+ this._oUITableSelectionPlugin.attachEvent("selectionChange", this._handleSelectionChange, this);
379
+ }
380
+ } else if (this._sTableType === "ResponsiveTable") {
381
+ this._oObserver.observe(oInnerTable, {bindings: ["items"]});
382
+ oInnerTable.attachEvent("itemPress", this._handleItemPress, this);
383
+ oInnerTable.attachEvent("selectionChange", this._handleSelectionChange, this);
384
+ oInnerTable.attachEvent("updateFinished", this._handleUpdateFinished, this);
385
+ }
386
+ }
387
+ };
388
+
389
+ var _handleSearch = function () {
390
+ return this.applyFilters(this.getFilterValue());
391
+ };
392
+
393
+ MDCTable.prototype._observeChanges = function (oChanges) {
394
+
395
+ var oFilterBar, oDefaultFilterBar;
396
+ if (oChanges.name === "_defaultFilterBar") {
397
+ oDefaultFilterBar = oChanges.child;
398
+ if (oChanges.mutation === "insert") {
399
+ oFilterBar = this.getFilterBar();
400
+ if (!oFilterBar) {
401
+ oDefaultFilterBar.attachSearch(_handleSearch, this);
402
+ }
403
+ } else {
404
+ oDefaultFilterBar.detachSearch(_handleSearch, this);
405
+ }
406
+ _updateTableFilter.call(this);
407
+ }
408
+
409
+ if (oChanges.name === "filterBar") {
410
+ oFilterBar = oChanges.child;
411
+ oDefaultFilterBar = this.getAggregation("_defaultFilterBar");
412
+ if (oChanges.mutation === "insert") {
413
+ if (oDefaultFilterBar) {
414
+ oDefaultFilterBar.detachSearch(_handleSearch, this);
415
+ }
416
+ oFilterBar.attachSearch(_handleSearch, this);
417
+ } else {
418
+ if (oDefaultFilterBar) {
419
+ oDefaultFilterBar.attachSearch(_handleSearch, this);
420
+ }
421
+ oFilterBar.detachSearch(_handleSearch, this);
422
+ }
423
+ _updateTableFilter.call(this);
424
+ }
425
+
426
+ if (oChanges.name === "table") { // outer table
427
+ var oTable = oChanges.child;
428
+ if (oChanges.mutation === "remove") {
429
+ Engine.getInstance().defaultProviderRegistry.detach(oTable);
430
+ this._oObserver.unobserve(oTable);
431
+ this._oTable = null;
432
+ this._oTableHelper = null;
433
+ this._addPromise("listBinding");
434
+ } else {
435
+ this._oTable = oTable;
436
+ Engine.getInstance().defaultProviderRegistry.attach(oTable, PersistenceMode.Transient);
437
+ this._oObserver.observe(oTable, {aggregations: ["_content"]});
438
+ this._sTableType = _getMDCTableType(oTable);
439
+ oTable.addDelegate({ onmouseover: function (oEvent) { // Fix m.Table itemPress
440
+ var oItem = jQuery(oEvent.target).control(0);
441
+ if (oItem && oItem.isA("sap.m.ColumnListItem")) {
442
+ oItem.setType("Active");
443
+ }
444
+ }});
445
+ handleInnerTable.call(this, this._oTable._oTable, "insert");
446
+ handleListBinding.call(this);
447
+ handleTableHeader.call(this);
448
+ _updateTableFilter.call(this);
449
+ }
450
+ return;
451
+ }
452
+
453
+ if (oChanges.name === "_content") { // inner table
454
+ handleInnerTable.call(this, oChanges.child, oChanges.mutation);
455
+ return;
456
+ }
457
+
458
+ if (["rows", "items"].indexOf(oChanges.name) !== -1 && oChanges.mutation === "ready") { // inner table's binding
459
+ handleListBinding.call(this);
460
+ return;
461
+ }
462
+
463
+ if (oChanges.name === "config") {
464
+ _adjustTable.call(this);
465
+ }
466
+
467
+ if (oChanges.name === "plugins") {
468
+ this._oUITableSelectionPlugin = oChanges.mutation === "remove" || !oChanges.child.isA("sap.ui.table.plugins.SelectionPlugin") ? undefined : oChanges.child;
469
+ if (this._oUITableSelectionPlugin) {
470
+ this._oUITableSelectionPlugin.attachEvent("selectionChange", this._handleSelectionChange, this);
471
+ }
472
+ }
473
+
474
+ FilterableListContent.prototype._observeChanges.apply(this, arguments);
475
+ };
476
+
477
+ MDCTable.prototype._getTable = function () {
478
+ return this._oTable;
479
+ };
480
+
481
+ function _updateTableFilter () {
482
+ var oFilterBar = this._getPriorityFilterBar();
483
+
484
+ if (this._oTable && oFilterBar && this._oTable.getFilter() !== oFilterBar.getId()) {
485
+ this._oTable.setFilter(oFilterBar);
486
+ }
487
+ }
488
+
489
+ function _adjustTable () {
490
+ if (this._oTable) {
491
+ this._oTable.setSelectionMode(this._isSingleSelect() ? MDCSelectionMode.Single : MDCSelectionMode.Multi);
492
+ }
493
+
494
+ if (this._oTableHelper) {
495
+ this._oTableHelper.adjustTable.call(this);
496
+ }
497
+ }
498
+
499
+ MDCTable.prototype.getContent = function () {
500
+ return this._retrievePromise("wrappedContent", function () {
501
+ return loadModules([
502
+ "sap/ui/layout/FixFlex",
503
+ "sap/m/VBox",
504
+ "sap/m/ScrollContainer"
505
+ ]).then(function(aModules) {
506
+
507
+ var FixFlex = aModules[0];
508
+ var VBox = aModules[1];
509
+ var ScrollContainer = aModules[2];
510
+
511
+ if (!this._oContentLayout) {
512
+
513
+ this._oFilterBarVBox = new VBox(this.getId() + "-FilterBarBox", {visible: "{$this>/_filterBarVisible}"});
514
+ this._oFilterBarVBox.addStyleClass("sapMdcValueHelpPanelFilterbar");
515
+ this._oFilterBarVBox._oWrapper = this;
516
+ this._oFilterBarVBox.getItems = function () {
517
+ return [this._oWrapper._getPriorityFilterBar.call(this._oWrapper)];
518
+ };
519
+
520
+ this._oTableBox = new VBox(this.getId() + "-TB", {height: "100%"});
521
+ this._oTableBox.addStyleClass("sapMdcValueHelpPanelTableBox");
522
+ this._oTableBox._oWrapper = this;
523
+ this._oTableBox.getItems = function () {
524
+ return [this._oWrapper._sTableType === "ResponsiveTable" ? this._oWrapper._oScrollContainer : this._oWrapper._oTable];
525
+ };
526
+
527
+ this._oContentLayout = new FixFlex(this.getId() + "-FF", {minFlexSize: 200, fixContent: this._oFilterBarVBox, flexContent: this._oTableBox});
528
+
529
+ this._oScrollContainer = new ScrollContainer(this.getId() + "-SC", {
530
+ height: "calc(100% - 0.5rem)",
531
+ width: "100%",
532
+ vertical: true
533
+ });
534
+
535
+ this._oScrollContainer._oWrapper = this;
536
+ this._oScrollContainer.getContent = function() {
537
+ var aContent = [];
538
+ var oTable = this._oWrapper && this._oWrapper._oTable;
539
+ if (oTable) {
540
+ aContent.push(oTable);
541
+ }
542
+ return aContent;
543
+ };
544
+ }
545
+
546
+ this.setAggregation("displayContent", this._oContentLayout);
547
+
548
+ if (!this._getPriorityFilterBar()) {
549
+ return this._createDefaultFilterBar().then(function () {
550
+ return this._oContentLayout;
551
+ }.bind(this));
552
+ }
553
+ return this._oContentLayout;
554
+ }.bind(this));
555
+ }.bind(this));
556
+ };
557
+
558
+ MDCTable.prototype._getListBinding = function() {
559
+ var oTable = this.getTable();
560
+ return oTable && oTable.getRowBinding();
561
+ };
562
+
563
+ MDCTable.prototype._getListBindingInfo = function () {
564
+ return this._oTableHelper && this._oTableHelper.getListBindingInfo();
565
+ };
566
+
567
+ MDCTable.prototype.applyFilters = function(sSearch) { // TODO the arguments are not passed as expected.
568
+
569
+ var oTable = this.getTable();
570
+ var oFilterBar = this._getPriorityFilterBar();
571
+
572
+ if (oTable && oFilterBar) {
573
+ var oListBinding = this._getListBinding();
574
+ var bListBindingSuspended = oListBinding && oListBinding.isSuspended();
575
+
576
+ if (oListBinding && !bListBindingSuspended && !this._bSearchTriggered) {
577
+ var sFBSearch = oFilterBar.getSearch() || "";
578
+ var sBindingSearch = oListBinding.mParameters.$search || "";
579
+ var aFBFilters = this._getFiltersForFilterBar();
580
+ var aBindingFilters = oListBinding.aApplicationFilters.reduce(function (aResult, oFilter) {
581
+ return aResult.concat(oFilter._bMultiFilter ? oFilter.aFilters : oFilter);
582
+ }, []);
583
+ var bFiltersChanged = !deepEqual(aFBFilters, aBindingFilters);
584
+ var bSearchChanged = sFBSearch !== sBindingSearch;
585
+ var bTableHasOverlay = oTable._oTable && oTable._oTable.getShowOverlay && oTable._oTable.getShowOverlay();
586
+
587
+
588
+ if (bFiltersChanged || bSearchChanged || bTableHasOverlay) {
589
+ this._handleScrolling();
590
+ oFilterBar.triggerSearch();
591
+ this._bSearchTriggered = true;
592
+ }
593
+ }
594
+
595
+ if (bListBindingSuspended) {
596
+ oListBinding.resume();
597
+ }
598
+
599
+ if (!oListBinding && oTable.getAutoBindOnInit()) {
600
+ this._retrievePromise("listBinding").then(function () {
601
+ this.applyFilters(sSearch);
602
+ }.bind(this));
603
+ }
604
+ }
605
+ };
606
+
607
+ MDCTable.prototype._handleScrolling = function (oItem) {
608
+ return this._oTableHelper && this._oTableHelper.handleScrolling.call(this, oItem);
609
+ };
610
+
611
+ MDCTable.prototype.getScrollDelegate = function() {
612
+ if (!this.isTypeahead() && this._oScrollContainer) {
613
+ return this._oScrollContainer.getScrollDelegate();
614
+ }
615
+ return FilterableListContent.prototype.getScrollDelegate.apply(this, arguments);
616
+ };
617
+
618
+ MDCTable.prototype._handleItemPress = function (oEvent) {
619
+ this._oTableHelper.handleItemPress.call(this, oEvent);
620
+ };
621
+
622
+ MDCTable.prototype._handleSelectionChange = function (oEvent) {
623
+ if (!this._bSelectionIsUpdating) {
624
+ this._oTableHelper.handleSelectionChange.call(this, oEvent);
625
+ }
626
+ };
627
+
628
+ MDCTable.prototype.isQuickSelectSupported = function() {
629
+ return true;
630
+ };
631
+
632
+ MDCTable.prototype.setParent = function(oParent) {
633
+ FilterableListContent.prototype.setParent.apply(this, arguments);
634
+ _adjustTable.call(this);
635
+ };
636
+
637
+ return MDCTable;
638
+ });