@openui5/sap.ui.mdc 1.95.0 → 1.96.3

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 (213) hide show
  1. package/.reuse/dep5 +10 -5
  2. package/THIRDPARTY.txt +17 -8
  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/Chart.js +140 -20
  7. package/src/sap/ui/mdc/ChartDelegateNew.js +15 -0
  8. package/src/sap/ui/mdc/ChartNew.js +83 -56
  9. package/src/sap/ui/mdc/Control.js +4 -3
  10. package/src/sap/ui/mdc/Element.js +4 -3
  11. package/src/sap/ui/mdc/Field.js +2 -2
  12. package/src/sap/ui/mdc/FilterBar.js +1 -10
  13. package/src/sap/ui/mdc/FilterField.js +2 -2
  14. package/src/sap/ui/mdc/Link.js +2 -2
  15. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  16. package/src/sap/ui/mdc/Table.js +81 -25
  17. package/src/sap/ui/mdc/ValueHelp.js +29 -14
  18. package/src/sap/ui/mdc/ValueHelpDelegate.js +110 -4
  19. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +49 -104
  20. package/src/sap/ui/mdc/chart/DimensionItem.js +3 -3
  21. package/src/sap/ui/mdc/chart/Item.js +2 -3
  22. package/src/sap/ui/mdc/chart/MeasureItem.js +2 -2
  23. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +21 -2
  24. package/src/sap/ui/mdc/chart/ToolbarHandler.js +5 -3
  25. package/src/sap/ui/mdc/chartNew/ChartSelectionDetailsNew.js +1 -1
  26. package/src/sap/ui/mdc/chartNew/ChartToolbarNew.js +14 -10
  27. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +11 -9
  28. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -1
  29. package/src/sap/ui/mdc/chartNew/PropertyHelperNew.js +1 -1
  30. package/src/sap/ui/mdc/condition/Condition.js +2 -2
  31. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  32. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  33. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  34. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +1 -1
  35. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  36. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  37. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +43 -0
  38. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +91 -0
  39. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +19 -0
  40. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +31 -0
  41. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +5 -0
  42. package/src/sap/ui/mdc/enum/ContentMode.js +25 -4
  43. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  44. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  45. package/src/sap/ui/mdc/field/ConditionType.js +1 -1
  46. package/src/sap/ui/mdc/field/ConditionsType.js +5 -4
  47. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  48. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  49. package/src/sap/ui/mdc/field/DefineConditionPanel.js +1 -1
  50. package/src/sap/ui/mdc/field/FieldBase.js +16 -9
  51. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -1
  52. package/src/sap/ui/mdc/field/FieldInfoBase.js +9 -1
  53. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  54. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  55. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  56. package/src/sap/ui/mdc/field/FieldValueHelp.js +1 -1
  57. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  58. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  59. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +1 -1
  60. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +1 -1
  61. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  62. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  63. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  64. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  65. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  66. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  67. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  68. package/src/sap/ui/mdc/field/content/BooleanContent.js +15 -3
  69. package/src/sap/ui/mdc/field/content/ContentFactory.js +16 -8
  70. package/src/sap/ui/mdc/field/content/DefaultContent.js +64 -23
  71. package/src/sap/ui/mdc/field/content/LinkContent.js +6 -0
  72. package/src/sap/ui/mdc/field/content/SearchContent.js +21 -3
  73. package/src/sap/ui/mdc/field/content/UnitContent.js +2 -2
  74. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +5 -2
  75. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  76. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
  77. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  78. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +22 -0
  79. package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +19 -0
  80. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  81. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  82. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  83. package/src/sap/ui/mdc/library.js +17 -7
  84. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  85. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  86. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  87. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  88. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  89. package/src/sap/ui/mdc/link/Factory.js +1 -1
  90. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  91. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  92. package/src/sap/ui/mdc/link/Panel.js +1 -1
  93. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  94. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  95. package/src/sap/ui/mdc/link/SelectionDialog.js +2 -2
  96. package/src/sap/ui/mdc/link/SelectionDialogItem.js +1 -1
  97. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  98. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  99. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  100. package/src/sap/ui/mdc/messagebundle.properties +22 -4
  101. package/src/sap/ui/mdc/messagebundle_ar.properties +10 -2
  102. package/src/sap/ui/mdc/messagebundle_bg.properties +10 -2
  103. package/src/sap/ui/mdc/messagebundle_ca.properties +10 -2
  104. package/src/sap/ui/mdc/messagebundle_cs.properties +21 -13
  105. package/src/sap/ui/mdc/messagebundle_cy.properties +10 -2
  106. package/src/sap/ui/mdc/messagebundle_da.properties +10 -2
  107. package/src/sap/ui/mdc/messagebundle_de.properties +10 -2
  108. package/src/sap/ui/mdc/messagebundle_el.properties +10 -2
  109. package/src/sap/ui/mdc/messagebundle_en.properties +8 -0
  110. package/src/sap/ui/mdc/messagebundle_en_GB.properties +8 -0
  111. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +2 -0
  112. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +19 -3
  113. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +2 -0
  114. package/src/sap/ui/mdc/messagebundle_es.properties +10 -2
  115. package/src/sap/ui/mdc/messagebundle_es_MX.properties +10 -2
  116. package/src/sap/ui/mdc/messagebundle_et.properties +10 -2
  117. package/src/sap/ui/mdc/messagebundle_fi.properties +10 -2
  118. package/src/sap/ui/mdc/messagebundle_fr.properties +12 -4
  119. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +9 -1
  120. package/src/sap/ui/mdc/messagebundle_hi.properties +11 -3
  121. package/src/sap/ui/mdc/messagebundle_hr.properties +10 -2
  122. package/src/sap/ui/mdc/messagebundle_hu.properties +10 -2
  123. package/src/sap/ui/mdc/messagebundle_id.properties +10 -2
  124. package/src/sap/ui/mdc/messagebundle_it.properties +10 -2
  125. package/src/sap/ui/mdc/messagebundle_iw.properties +10 -2
  126. package/src/sap/ui/mdc/messagebundle_ja.properties +18 -10
  127. package/src/sap/ui/mdc/messagebundle_kk.properties +10 -2
  128. package/src/sap/ui/mdc/messagebundle_ko.properties +10 -2
  129. package/src/sap/ui/mdc/messagebundle_lt.properties +10 -2
  130. package/src/sap/ui/mdc/messagebundle_lv.properties +10 -2
  131. package/src/sap/ui/mdc/messagebundle_ms.properties +10 -2
  132. package/src/sap/ui/mdc/messagebundle_nl.properties +11 -3
  133. package/src/sap/ui/mdc/messagebundle_no.properties +10 -2
  134. package/src/sap/ui/mdc/messagebundle_pl.properties +10 -2
  135. package/src/sap/ui/mdc/messagebundle_pt.properties +11 -3
  136. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +10 -2
  137. package/src/sap/ui/mdc/messagebundle_ro.properties +10 -2
  138. package/src/sap/ui/mdc/messagebundle_ru.properties +10 -2
  139. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -2
  140. package/src/sap/ui/mdc/messagebundle_sk.properties +10 -2
  141. package/src/sap/ui/mdc/messagebundle_sl.properties +10 -2
  142. package/src/sap/ui/mdc/messagebundle_sv.properties +10 -2
  143. package/src/sap/ui/mdc/messagebundle_th.properties +10 -2
  144. package/src/sap/ui/mdc/messagebundle_tr.properties +10 -2
  145. package/src/sap/ui/mdc/messagebundle_uk.properties +10 -2
  146. package/src/sap/ui/mdc/messagebundle_vi.properties +10 -2
  147. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +12 -4
  148. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +11 -3
  149. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  150. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  151. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  152. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  153. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +1 -1
  154. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +2 -2
  155. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew.js +212 -32
  156. package/src/sap/ui/mdc/p13n/DefaultProviderRegistry.js +1 -1
  157. package/src/sap/ui/mdc/p13n/Engine.js +3 -2
  158. package/src/sap/ui/mdc/p13n/P13nBuilder.js +1 -1
  159. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  160. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  161. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +59 -0
  162. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +1 -2
  163. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +6 -6
  164. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -2
  165. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +1171 -0
  166. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +1 -1
  167. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -2
  168. package/src/sap/ui/mdc/p13n/panels/ListView.js +5 -3
  169. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +1 -1
  170. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -1
  171. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -1
  172. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +1 -1
  173. package/src/sap/ui/mdc/p13n/panels/Wrapper.js +1 -1
  174. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +89 -0
  175. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +9 -6
  176. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +33 -4
  177. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +9 -15
  178. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +5 -12
  179. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +19 -21
  180. package/src/sap/ui/mdc/table/Column.js +14 -5
  181. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  182. package/src/sap/ui/mdc/table/GridTableType.js +0 -1
  183. package/src/sap/ui/mdc/table/PropertyHelper.js +17 -86
  184. package/src/sap/ui/mdc/table/ResponsiveTableType.js +12 -2
  185. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  186. package/src/sap/ui/mdc/table/TableTypeBase.js +0 -1
  187. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  188. package/src/sap/ui/mdc/ui/Container.js +2 -2
  189. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  190. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  191. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  192. package/src/sap/ui/mdc/valuehelp/Dialog.js +49 -26
  193. package/src/sap/ui/mdc/valuehelp/Popover.js +35 -19
  194. package/src/sap/ui/mdc/valuehelp/base/Container.js +221 -19
  195. package/src/sap/ui/mdc/valuehelp/base/Content.js +219 -33
  196. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +50 -7
  197. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +47 -27
  198. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +38 -10
  199. package/src/sap/ui/mdc/valuehelp/content/Bool.js +135 -49
  200. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +64 -38
  201. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +55 -27
  202. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +25 -6
  203. package/src/sap/ui/mdc/valuehelp/content/MTable.js +120 -85
  204. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +2 -1
  205. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +48 -0
  206. package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsBase.js +310 -0
  207. package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsViz.js +39 -0
  208. package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsBase.js +118 -0
  209. package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsViz.js +137 -0
  210. package/test/sap/ui/mdc/testutils/opa/chartNew/ChartNew.js +24 -0
  211. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +289 -0
  212. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +163 -17
  213. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +2 -0
@@ -24,12 +24,12 @@ sap.ui.define([
24
24
  * @param {object} [mSettings] Initial settings for the new control
25
25
  * @class Container for the <code>ValueHelp</code> element.
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.95.0
27
+ * @version 1.96.3
28
28
  * @constructor
29
29
  * @abstract
30
30
  * @private
31
31
  * @ui5-restricted sap.ui.mdc
32
- * @since 1.91.0
32
+ * @since 1.95.0
33
33
  * @alias sap.ui.mdc.valuehelp.base.Container
34
34
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
35
35
  */
@@ -48,43 +48,94 @@ sap.ui.define([
48
48
  }
49
49
  },
50
50
  aggregations: {
51
+ /**
52
+ * Used container element. (e.g. Popover or Dialog)
53
+ */
51
54
  _container: {
52
55
  type: "sap.ui.core.Element",
53
56
  multiple: false,
54
57
  visibility: "hidden"
55
58
  },
56
- content: {
59
+ /**
60
+ * Content of the container.
61
+ * This aggregation holds the actual controls enabling the user to select items or create conditions (e.g. tables or condition panels)
62
+ */
63
+ content: {
57
64
  type: "sap.ui.mdc.valuehelp.base.Content",
58
65
  multiple: true
59
66
  }
60
67
  },
61
68
  events: {
69
+ /**
70
+ * Fired if the selected condition changed.
71
+ */
62
72
  select: {
63
73
  parameters: {
74
+ /**
75
+ * Type of the selection change (add, remove)
76
+ */
64
77
  type: { type: "sap.ui.mdc.enum.SelectType" },
78
+ /**
79
+ * Changed conditions
80
+ *
81
+ * <b>Note:</b> A condition must have the structure of {@link sap.ui.mdc.condition.ConditionObject ConditionObject}.
82
+ */
65
83
  conditions: { type: "object[]" }
66
84
  }
67
85
  },
86
+ /**
87
+ * Fired if a change on the value help is confirmed
88
+ */
68
89
  confirm: {
69
90
  parameters: {
91
+ /**
92
+ * True if the value help needs to be closed
93
+ */
70
94
  close: { type: "boolean" }
71
95
  }
72
96
  },
97
+ /**
98
+ * Fired if the value help is opened.
99
+ */
73
100
  opened: {},
101
+ /**
102
+ * Fired if the value help is closed.
103
+ */
74
104
  closed: {},
105
+ /**
106
+ * Fired if the change is cancelled.
107
+ */
75
108
  cancel: {},
109
+ /**
110
+ * Fired if the Container requests the delegate content.
111
+ */
76
112
  requestDelegateContent: {
77
113
  parameters: {
78
114
  container: { type: "sap.ui.mdc.valuehelp.base.Container" }
79
115
  }
80
116
  },
117
+ /**
118
+ * Fired if the value help should switch to dialog mode.
119
+ */
81
120
  requestSwitchToDialog: {},
121
+ /**
122
+ * Fired if a navigation was executed in the content of the container
123
+ */
82
124
  navigated: {
83
125
  parameters: {
126
+ /**
127
+ * True if the focus should be set back to the field.
128
+ */
84
129
  bLeaveFocus: { type: "boolean" },
130
+ /**
131
+ * Navigated condition.
132
+ *
133
+ * <b>Note:</b> A condition must have the structure of {@link sap.ui.mdc.condition.ConditionObject ConditionObject}.
134
+ */
85
135
  condition: { type: "object" },
86
- value: { type: "string" },
87
- key: { type: "string" },
136
+ /**
137
+ * ID of the navigated item. (This is needed to set the corresponding aria-attribute)
138
+ */
88
139
  itemId: { type: "string" }
89
140
  }
90
141
  }
@@ -103,9 +154,9 @@ sap.ui.define([
103
154
  if (oChanges.name === "content") {
104
155
  var oContent = oChanges.child;
105
156
  if (oChanges.mutation === "remove") {
106
- oContent.unbindProperty("_filterValue");
107
- oContent.unbindProperty("_conditions");
108
- oContent.unbindProperty("_config");
157
+ oContent.unbindProperty("filterValue");
158
+ oContent.unbindProperty("conditions");
159
+ oContent.unbindProperty("config");
109
160
  oContent.detachConfirm(this._handleConfirmed, this);
110
161
  oContent.detachCancel(this._handleCanceled, this);
111
162
  oContent.detachSelect(this._handleSelect, this);
@@ -120,13 +171,13 @@ sap.ui.define([
120
171
  }
121
172
 
122
173
  } else {
123
- oContent.bindProperty("_filterValue", { path: "/filterValue", model: "$valueHelp", mode: BindingMode.OneWay}); // inherit from ValueHelp
174
+ oContent.bindProperty("filterValue", { path: "/filterValue", model: "$valueHelp", mode: BindingMode.OneWay}); // inherit from ValueHelp
124
175
  var oBindingOptions = { path: "/conditions", model: "$valueHelp", mode: BindingMode.OneWay};
125
176
  if (oContent._formatConditions) {
126
177
  oBindingOptions.formatter = oContent._formatConditions.bind(oContent);
127
178
  }
128
- oContent.bindProperty("_conditions", oBindingOptions); // inherit from ValueHelp
129
- oContent.bindProperty("_config", { path: "/_config", model: "$valueHelp", mode: BindingMode.OneWay}); // inherit from ValueHelp
179
+ oContent.bindProperty("conditions", oBindingOptions); // inherit from ValueHelp
180
+ oContent.bindProperty("config", { path: "/_config", model: "$valueHelp", mode: BindingMode.OneWay}); // inherit from ValueHelp
130
181
 
131
182
  oContent.attachConfirm(this._handleConfirmed, this);
132
183
  oContent.attachCancel(this._handleCanceled, this);
@@ -170,7 +221,8 @@ sap.ui.define([
170
221
  };
171
222
 
172
223
  Container.prototype.getDomRef = function() {
173
- // need to be implemented by real container
224
+ var oContainer = this.getAggregation("_container");
225
+ return oContainer && oContainer.getDomRef();
174
226
  };
175
227
 
176
228
  Container.prototype.getUIArea = function() { // TODO: Ask Frank, if better way available
@@ -184,6 +236,7 @@ sap.ui.define([
184
236
  /**
185
237
  * Opens the container
186
238
  *
239
+ * @param {Promise} oValueHelpContentPromise Promise for content request
187
240
  * @returns {Promise} This promise resolves after the container completely opened.
188
241
  *
189
242
  * @private
@@ -208,8 +261,6 @@ sap.ui.define([
208
261
  /**
209
262
  * Closes the container
210
263
  *
211
- * @returns {Promise} This promise resolves after the container completely closed.
212
- *
213
264
  * @private
214
265
  * @ui5-restricted sap.ui.mdc.ValueHelp
215
266
  */
@@ -261,23 +312,95 @@ sap.ui.define([
261
312
  this.fireSelect({type: oEvent.getParameter("type"), conditions: oEvent.getParameter("conditions")});
262
313
  };
263
314
 
264
- Container.prototype.isOpen = function () {
315
+ /**
316
+ * Determines if the container is open.
317
+ *
318
+ * <b>Note:</b> This function must only be called by the <code>ValueHelp</code> element.
319
+ *
320
+ * @returns {boolean} true if open or opening
321
+ *
322
+ * @private
323
+ * @ui5-restricted sap.ui.mdc.ValueHelp
324
+ * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
325
+ */
326
+ Container.prototype.isOpen = function () {
265
327
  var oPromise = this._retrievePromise("open");
266
328
  return oPromise && oPromise.isSettled();
267
329
  };
268
330
 
269
- Container.prototype.isOpening = function () {
331
+ /**
332
+ * Determines if the container is opening.
333
+ *
334
+ * <b>Note:</b> This function must only be called by the <code>ValueHelp</code> element.
335
+ *
336
+ * @returns {boolean} true if opening
337
+ *
338
+ * @private
339
+ * @ui5-restricted sap.ui.mdc.ValueHelp
340
+ * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
341
+ */
342
+ Container.prototype.isOpening = function () {
270
343
  var oPromise = this._retrievePromise("open");
271
344
  return oPromise && !oPromise.isCanceled() && !oPromise.isSettled();
272
345
  };
273
346
 
347
+ /**
348
+ * Determines the item (key and description) for a given value.
349
+ *
350
+ * The container checks if there is an item with a key or description that fits this value.
351
+ *
352
+ * <b>Note:</b> This function must only be called by the <code>ValueHelp</code> element.
353
+ *
354
+ * @param {object} oConfig Configuration
355
+ * @param {any} oConfig.value Value as entered by user
356
+ * @param {any} [oConfig.parsedValue] Value parsed by type to fit the data type of the key
357
+ * @param {object} [oConfig.inParameters] In parameters for the key (as a key must not be unique.)
358
+ * @param {object} [oConfig.outParameters] Out parameters for the key (as a key must not be unique.)
359
+ * @param {sap.ui.model.Context} [oConfig.bindingContext] <code>BindingContext</code> of the checked field. Inside a table the <code>ValueHelp</code> element might be connected to a different row.
360
+ * @param {boolean} [oConfig.checkKeyFirst] If set, the container checks first if the value fits a key // TODO: not longer needed?
361
+ * @param {boolean} oConfig.checkKey If set, the container checks only if there is an item with the given key. This is set to <code>false</code> if the value cannot be a valid key because of type validation.
362
+ * @param {boolean} oConfig.checkDescription If set, the container checks only if there is an item with the given description. This is set to <code>false</code> if only the key is used in the field.
363
+ * @param {sap.ui.mdc.condition.ConditionModel} [oConfig.conditionModel] <code>ConditionModel</code>, in case of <code>FilterField</code>
364
+ * @param {string} [oConfig.conditionModelName] Name of the <code>ConditionModel</code>, in case of <code>FilterField</code>
365
+ * @param {boolean} [oConfig.caseSensitive] If set, the check is done case sensitive
366
+ * @returns {Promise<sap.ui.mdc.field.FieldHelpItem>} Promise returning object containing description, key, in and out parameters.
367
+ * @throws {sap.ui.model.FormatException|sap.ui.model.ParseException} if entry is not found or not unique
368
+ *
369
+ * @private
370
+ * @ui5-restricted sap.ui.mdc.ValueHelp
371
+ * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
372
+ */
274
373
  Container.prototype.getItemForValue = function(oConfig) { // TODO only for TypeAhead container
275
374
  };
276
375
 
277
- Container.prototype.isValidationSupported = function(oConfig) { // TODO only for TypeAhead container
376
+ /**
377
+ * Defines if the content of the container can be used for input validation.
378
+ *
379
+ * @returns {boolean} True if content can be used for input validation
380
+ *
381
+ * @private
382
+ * @ui5-restricted sap.ui.mdc.ValueHelp
383
+ * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
384
+ */
385
+ Container.prototype.isValidationSupported = function() { // TODO only for TypeAhead container
386
+ return false;
278
387
  };
279
388
 
280
389
 
390
+ /**
391
+ * Triggers navigation in the content of the container.
392
+ *
393
+ * As this could be asynchronous in case additional data needs to be loaded a promise is returned.
394
+ *
395
+ * <b>Note:</b> This function must only be called by the <code>ValueHelp</code> element.
396
+ *
397
+ * @param {int} iStep Number of steps for navigation (e.g. 1 means next item, -1 means previous item)
398
+ * @returns {Promise<object>} Promise returning object of navigated item (condition and itemId)
399
+ *
400
+ * @private
401
+ * @ui5-restricted sap.ui.mdc.ValueHelp
402
+ * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
403
+ */
281
404
  Container.prototype.navigate = function(iStep) { // pass through to content
282
405
  return Promise.all([this._getContainer()]).then(function (aResults) {
283
406
  return this._placeContent(aResults[0]);
@@ -299,22 +422,84 @@ sap.ui.define([
299
422
  Container.prototype.removeFocus = function() {
300
423
  };
301
424
 
425
+ /**
426
+ * Determines if the container is used as typeahead inside the value help
427
+ *
428
+ * <b>Note:</b> This function is used by the container and content and must not be used from outside
429
+ *
430
+ * @returns {boolean} True if used as typeahead
431
+ *
432
+ * @private
433
+ * @ui5-restricted sap.ui.mdc.valueHelp.base.Content
434
+ * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
435
+ */
302
436
  Container.prototype.isTypeahead = function () {
303
437
  var oValueHelp = this.getParent();
304
438
  return oValueHelp && oValueHelp.getTypeahead() === this;
305
439
  };
306
440
 
441
+ /**
442
+ * Determines the delegate of the value help
443
+ *
444
+ * <b>Note:</b> This function is used by the container and content and must not be used from outside
445
+ *
446
+ * @returns {sap.ui.mdc.BaseDelegate} <code>typeUtil</code> made available by a delegate module
447
+ * @throws Throws an error if the delegate module is not available
448
+ *
449
+ * @private
450
+ * @ui5-restricted sap.ui.mdc.valueHelp.base.Content
451
+ * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
452
+ */
307
453
  Container.prototype.getValueHelpDelegate = function () {
308
454
  var oValueHelp = this.getParent();
309
455
  return oValueHelp && oValueHelp.getControlDelegate();
310
456
  };
311
457
 
312
- Container.prototype.awaitValueHelpDelegate = function () {
458
+ /**
459
+ * Determines the delegate payload of the value help
460
+ *
461
+ * <b>Note:</b> This function is used by the container and content and must not be used from outside
462
+ *
463
+ * @returns {object} payload
464
+ *
465
+ * @private
466
+ * @ui5-restricted sap.ui.mdc.valueHelp.base.Content
467
+ * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
468
+ */
469
+ Container.prototype.getValueHelpDelegatePayload = function () {
470
+ var oValueHelp = this.getParent();
471
+ return oValueHelp && oValueHelp.getPayload();
472
+ };
473
+
474
+ /**
475
+ * Provides access to the delegate initialization <code>Promise</code> of the value help.
476
+ *
477
+ * <b>Note:</b> This function is used by the container and content and must not be used from outside
478
+ *
479
+ * @returns {Promise} Returns a <code>Promise</code> reflecting the delegate initialization
480
+ * @throws Throws an error if the delegate module is not available
481
+ *
482
+ * @private
483
+ * @ui5-restricted sap.ui.mdc.valueHelp.base.Content
484
+ * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
485
+ */
486
+ Container.prototype.awaitValueHelpDelegate = function () {
313
487
  var oValueHelp = this.getParent();
314
488
  return oValueHelp && oValueHelp.awaitControlDelegate();
315
489
  };
316
490
 
317
- Container.prototype.isValueHelpDelegateInitialized = function () {
491
+ /**
492
+ * Determines if delegate of the value help is initialized
493
+ *
494
+ * <b>Note:</b> This function is used by the container and content and must not be used from outside
495
+ *
496
+ * @returns {boolean} True if delegate is initialized
497
+ *
498
+ * @private
499
+ * @ui5-restricted sap.ui.mdc.valueHelp.base.Content
500
+ * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
501
+ */
502
+ Container.prototype.isValueHelpDelegateInitialized = function () {
318
503
  var oValueHelp = this.getParent();
319
504
  return oValueHelp && oValueHelp.bDelegateInitialized;
320
505
  };
@@ -428,6 +613,23 @@ sap.ui.define([
428
613
 
429
614
  };
430
615
 
616
+ Container.prototype._getContainerConfig = function (oContent) {
617
+ var oConfig = oContent && oContent.getContainerConfig();
618
+ var oResult = oConfig && oConfig[this.getMetadata().getName()]; // find configuration for this exact type
619
+
620
+ if (!oResult && oConfig) { // search for configurations of other implemented types
621
+ var aTypes = Object.keys(oConfig);
622
+ var sNonSpecificType = aTypes.find(function (sType) {
623
+ return this.isA(sType);
624
+ }.bind(this));
625
+ if (sNonSpecificType) {
626
+ oResult = oConfig[sNonSpecificType];
627
+ }
628
+ }
629
+
630
+ return oResult;
631
+ };
632
+
431
633
  Container.prototype.exit = function() {
432
634
  this._oObserver.disconnect();
433
635
  this._oObserver = undefined;