@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,276 @@
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/Content',
9
+ 'sap/ui/mdc/util/loadModules',
10
+ 'sap/ui/mdc/enum/SelectType',
11
+ 'sap/ui/mdc/enum/ConditionValidated',
12
+ 'sap/ui/mdc/util/Common'
13
+ ], function(
14
+ Content,
15
+ loadModules,
16
+ SelectType,
17
+ ConditionValidated,
18
+ Common
19
+ ) {
20
+ "use strict";
21
+ /**
22
+ * Constructor for a new <code>Conditions</code> content.
23
+ *
24
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
25
+ * @param {object} [mSettings] Initial settings for the new control
26
+ * @class Content for the <code>sap.ui.mdc.valuehelp.base.Container</code> element showing a condition panel.
27
+ * @extends sap.ui.mdc.valuehelp.base.Content
28
+ * @version 1.96.1
29
+ * @constructor
30
+ * @abstract
31
+ * @private
32
+ * @ui5-restricted sap.ui.mdc
33
+ * @since 1.95.0
34
+ * @alias sap.ui.mdc.valuehelp.content.Conditions
35
+ * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
36
+ */
37
+ var Conditions = Content.extend(
38
+ "sap.ui.mdc.valuehelp.content.Conditions" /** @lends sap.ui.mdc.valuehelp.content.Conditions.prototype */,
39
+ {
40
+ metadata: {
41
+ library: "sap.ui.mdc",
42
+ interfaces: [
43
+ "sap.ui.mdc.valuehelp.ITypeaheadContent",
44
+ "sap.ui.mdc.valuehelp.IDialogContent"
45
+ ],
46
+ properties: {
47
+ // /**
48
+ // * Internal property to bind the OK button to enable or disable it.
49
+ // */
50
+ // _enableOK: {
51
+ // type: "boolean",
52
+ // group: "Appearance",
53
+ // defaultValue: true,
54
+ // visibility: "hidden"
55
+ // }
56
+ /**
57
+ * Label shown on condition panel.
58
+ */
59
+ label: {
60
+ type: "string"
61
+ }
62
+ },
63
+ aggregations: {
64
+ _defineConditionPanel: {
65
+ type: "sap.ui.mdc.field.DefineConditionPanel",
66
+ multiple: false,
67
+ visibility: "hidden"
68
+ }
69
+ },
70
+ events: {}
71
+ }
72
+ }
73
+ );
74
+
75
+ // var FilterOperatorUtil;
76
+
77
+ Conditions.prototype.init = function () {
78
+ Content.prototype.init.apply(this, arguments);
79
+ this._oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
80
+ };
81
+
82
+ Conditions.prototype.exit = function () {
83
+
84
+ Common.cleanup(this, [
85
+ "_oScrollContainer", "_oDefineConditionPanel"
86
+ ]);
87
+
88
+ Content.prototype.exit.apply(this, arguments);
89
+ };
90
+
91
+ Conditions.prototype.getContent = function () {
92
+ return this._retrievePromise("content", function () {
93
+ return loadModules([
94
+ "sap/ui/mdc/field/DefineConditionPanel",
95
+ "sap/ui/model/base/ManagedObjectModel", // TODO use on ValueHelp level? But then how to bind local properties?
96
+ // "sap/ui/mdc/condition/FilterOperatorUtil"
97
+ "sap/m/ScrollContainer"
98
+ ]).then(function (aModules) {
99
+ var DefineConditionPanel = aModules[0];
100
+ var ManagedObjectModel = aModules[1];
101
+ // FilterOperatorUtil = aModules[2];
102
+ var ScrollContainer = aModules[2];
103
+
104
+ this._oManagedObjectModel = new ManagedObjectModel(this);
105
+ this._oDefineConditionPanel = new DefineConditionPanel(
106
+ this.getId() + "-DCP",
107
+ {
108
+ label: "{$help>/label}",
109
+ conditions: "{$help>/conditions}",
110
+ inputOK: "{$valueHelp>/_valid}",
111
+ formatOptions: {path: "$help>/config", formatter: _convertConfig}, // TODO: change DefineConditionPanel to use Config
112
+ conditionProcessed: _handleConditionProcessed.bind(this)
113
+ }
114
+ ).setModel(this._oManagedObjectModel, "$help");
115
+ this.setAggregation("_defineConditionPanel", this._oDefineConditionPanel, true); // to have in control tree
116
+
117
+ this._oScrollContainer = new ScrollContainer(this.getId() + "-SC", {
118
+ height: "100%",
119
+ width: "100%",
120
+ vertical: true
121
+ });
122
+
123
+ this._oScrollContainer._oWrapper = this;
124
+ this._oScrollContainer.getContent = function() {
125
+ var aContent = [];
126
+ var oDefineConditionPanel = this._oWrapper && this._oWrapper._oDefineConditionPanel;
127
+ if (oDefineConditionPanel) {
128
+ aContent.push(oDefineConditionPanel);
129
+ }
130
+ return aContent;
131
+ };
132
+ this.setAggregation("displayContent", this._oScrollContainer);
133
+ return this._oScrollContainer;
134
+ }.bind(this));
135
+ }.bind(this));
136
+ };
137
+
138
+ Conditions.prototype.getCount = function (aConditions) {
139
+ var iCount = 0;
140
+
141
+ for (var i = 0; i < aConditions.length; i++) {
142
+ var oCondition = aConditions[i];
143
+ if (oCondition.isEmpty !== true && oCondition.validated === ConditionValidated.NotValidated) {
144
+ iCount++;
145
+ }
146
+ }
147
+ return iCount;
148
+ };
149
+
150
+ Conditions.prototype.getUseAsValueHelp = function() {
151
+ return false;
152
+ };
153
+
154
+ Conditions.prototype.getValueHelpIcon = function() {
155
+
156
+ return "sap-icon://value-help";
157
+
158
+ };
159
+
160
+ Conditions.prototype.isFocusInHelp = function() {
161
+
162
+ return true;
163
+
164
+ };
165
+
166
+ Conditions.prototype.getRequiresTokenizer = function() {
167
+ // when only the conditions content is on the dialog the tokenizer should be hidden.
168
+ return false;
169
+ };
170
+
171
+ Conditions.prototype.getFormattedTitle = function(iCount) {
172
+ var sTitle = Content.prototype.getFormattedTitle.apply(this, arguments);
173
+ if (!sTitle) {
174
+ sTitle = this._oResourceBundle.getText(iCount ? "valuehelp.DEFINECONDITIONS" : "valuehelp.DEFINECONDITIONSNONUMBER", iCount);
175
+ }
176
+ return sTitle;
177
+ };
178
+
179
+ Conditions.prototype.getFormattedShortTitle = function() {
180
+ var sShortTitle = this.getShortTitle();
181
+ if (!sShortTitle) {
182
+ sShortTitle = this._oResourceBundle.getText("valuehelp.DEFINECONDITIONS.Shorttitle");
183
+ }
184
+ return sShortTitle;
185
+ };
186
+
187
+ Conditions.prototype.getAriaAttributes = function(iMaxConditions) {
188
+
189
+ return { // return default values, but needs to be implemented by specific content
190
+ contentId: this.getId() + "-DCP", // as DefineConditionPanel might be created async, use fix ID
191
+ ariaHasPopup: "dialog",
192
+ roleDescription: null // no multi-selection
193
+ };
194
+
195
+ };
196
+
197
+ Conditions.prototype.getContainerConfig = function () {
198
+ return {
199
+ 'sap.ui.mdc.valuehelp.Popover': {
200
+ showArrow: true,
201
+ showHeader: true,
202
+ getContentWidth: function () { return "500px"; },
203
+ getFooter: function () {
204
+ return this._retrievePromise("footer", function () {
205
+ return loadModules(["sap/m/library", "sap/m/Button"]).then(function (aModules) {
206
+ var oMLibrary = aModules[0];
207
+ var ButtonType = oMLibrary.ButtonType;
208
+ var Button = aModules[1];
209
+ var oButtonOK = new Button(this.getId() + "-ok", {
210
+ text: this._oResourceBundle.getText("valuehelp.OK"),
211
+ enabled: "{$valueHelp>/_valid}",
212
+ type: ButtonType.Emphasized,
213
+ press: _handleOK.bind(this)
214
+ });
215
+ var oButtonCancel = new Button(this.getId() + "-cancel", {
216
+ text: this._oResourceBundle.getText("valuehelp.CANCEL"),
217
+ press: this.fireCancel.bind(this)
218
+ });
219
+ return [oButtonOK, oButtonCancel];
220
+ }.bind(this));
221
+ }.bind(this));
222
+ }.bind(this)
223
+ }
224
+ };
225
+ };
226
+
227
+ function _handleOK(oEvent) {
228
+ // var aConditions = this.getConditions();
229
+ //
230
+ // // remove empty conditions
231
+ // aConditions = Condition._removeEmptyConditions(aConditions);
232
+ // aConditions = Condition._removeInitialFlags(aConditions);
233
+ // FilterOperatorUtil.updateConditionsValues(aConditions); // to remove static text from static conditions
234
+ //
235
+ // this.fireSetConditions({conditions: aConditions});
236
+ this.fireConfirm();
237
+ }
238
+
239
+ function _handleConditionProcessed(oEvent) {
240
+ var aNextConditions = this.getConditions();
241
+
242
+ if (this._getMaxConditions() === 1) { // TODO: Better treatment of conditions? DefineConditionPanel currently hijacks conditions
243
+ aNextConditions = aNextConditions.filter(function(oCondition){
244
+ return oCondition.validated === "NotValidated";
245
+ });
246
+ }
247
+
248
+ // remove empty conditions
249
+ // aConditions = Condition._removeEmptyConditions(aConditions);
250
+ // aConditions = Condition._removeInitialFlags(aConditions);
251
+ // FilterOperatorUtil.updateConditionsValues(aConditions); // to remove static text from static conditions
252
+
253
+ this.fireSelect({type: SelectType.Set, conditions: aNextConditions});
254
+
255
+ }
256
+
257
+ function _convertConfig(oConfig) {
258
+
259
+ // return formatOptions used by DefineConditionPanel
260
+ var oFormatOptions = {};
261
+ if (oConfig) {
262
+ oFormatOptions.valueType = oConfig.dataType;
263
+ oFormatOptions.maxConditions = oConfig.maxConditions;
264
+ oFormatOptions.delegate = oConfig.delegate;
265
+ oFormatOptions.delegateName = oConfig.delegateName;
266
+ oFormatOptions.payload = oConfig.payload;
267
+ oFormatOptions.operators = oConfig.operators;
268
+ oFormatOptions.display = oConfig.display;
269
+ }
270
+
271
+ return oFormatOptions;
272
+
273
+ }
274
+
275
+ return Conditions;
276
+ });