@openui5/sap.ui.mdc 1.100.0 → 1.102.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 (223) hide show
  1. package/.eslintrc.json +19 -0
  2. package/THIRDPARTY.txt +5 -5
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +1 -1
  6. package/src/sap/ui/mdc/Chart.js +28 -46
  7. package/src/sap/ui/mdc/ChartDelegate.js +10 -0
  8. package/src/sap/ui/mdc/Control.js +1 -1
  9. package/src/sap/ui/mdc/Element.js +1 -1
  10. package/src/sap/ui/mdc/Field.js +9 -2
  11. package/src/sap/ui/mdc/FilterBar.js +1 -1
  12. package/src/sap/ui/mdc/FilterField.js +2 -2
  13. package/src/sap/ui/mdc/Link.js +1 -1
  14. package/src/sap/ui/mdc/LinkDelegate.js +7 -5
  15. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  16. package/src/sap/ui/mdc/Table.js +313 -424
  17. package/src/sap/ui/mdc/TableDelegate.js +92 -39
  18. package/src/sap/ui/mdc/ValueHelp.js +147 -634
  19. package/src/sap/ui/mdc/ValueHelpDelegate.js +159 -7
  20. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  21. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  22. package/src/sap/ui/mdc/chart/ChartToolbar.js +8 -3
  23. package/src/sap/ui/mdc/chart/ChartTypeButton.js +11 -2
  24. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +2 -0
  25. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  26. package/src/sap/ui/mdc/condition/Condition.js +14 -9
  27. package/src/sap/ui/mdc/condition/ConditionConverter.js +58 -6
  28. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  29. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  30. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +14 -10
  31. package/src/sap/ui/mdc/condition/Operator.js +95 -15
  32. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +5 -3
  33. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  34. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +13 -1
  35. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +3 -1
  36. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +1 -1
  37. package/src/sap/ui/mdc/enum/PropagationReason.js +43 -0
  38. package/src/sap/ui/mdc/enum/SelectType.js +3 -0
  39. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  40. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  41. package/src/sap/ui/mdc/field/ConditionType.js +59 -21
  42. package/src/sap/ui/mdc/field/ConditionsType.js +7 -2
  43. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  44. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  45. package/src/sap/ui/mdc/field/DefineConditionPanel.js +15 -19
  46. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +3 -3
  47. package/src/sap/ui/mdc/field/FieldBase.js +29 -13
  48. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +41 -19
  49. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -1
  50. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  51. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  52. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  53. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  54. package/src/sap/ui/mdc/field/FieldValueHelp.js +6 -4
  55. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  56. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +3 -1
  57. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +7 -1
  58. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -3
  59. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +28 -29
  60. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  61. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  62. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  63. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  64. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  65. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  66. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  67. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  68. package/src/sap/ui/mdc/field/content/ContentFactory.js +8 -0
  69. package/src/sap/ui/mdc/field/content/DateTimeContent.js +43 -2
  70. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +90 -69
  71. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +5 -0
  72. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  73. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +1 -0
  74. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +1 -0
  75. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +41 -11
  76. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +37 -5
  77. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +4 -41
  78. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +54 -0
  79. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +2 -2
  80. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  81. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  82. package/src/sap/ui/mdc/library.js +21 -25
  83. package/src/sap/ui/mdc/link/ContactDetails.js +107 -23
  84. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  85. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  86. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  87. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  88. package/src/sap/ui/mdc/link/ContactDetailsRenderer.js +26 -0
  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 +196 -24
  93. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  94. package/src/sap/ui/mdc/link/PanelRenderer.js +26 -0
  95. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  96. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  97. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  98. package/src/sap/ui/mdc/messagebundle.properties +9 -5
  99. package/src/sap/ui/mdc/messagebundle_ar.properties +9 -7
  100. package/src/sap/ui/mdc/messagebundle_bg.properties +7 -5
  101. package/src/sap/ui/mdc/messagebundle_ca.properties +7 -5
  102. package/src/sap/ui/mdc/messagebundle_cs.properties +7 -5
  103. package/src/sap/ui/mdc/messagebundle_cy.properties +7 -5
  104. package/src/sap/ui/mdc/messagebundle_da.properties +7 -5
  105. package/src/sap/ui/mdc/messagebundle_de.properties +7 -5
  106. package/src/sap/ui/mdc/messagebundle_el.properties +6 -4
  107. package/src/sap/ui/mdc/messagebundle_en.properties +7 -5
  108. package/src/sap/ui/mdc/messagebundle_en_GB.properties +7 -5
  109. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +7 -5
  110. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +7 -5
  111. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +7 -5
  112. package/src/sap/ui/mdc/messagebundle_es.properties +7 -5
  113. package/src/sap/ui/mdc/messagebundle_es_MX.properties +7 -5
  114. package/src/sap/ui/mdc/messagebundle_et.properties +7 -5
  115. package/src/sap/ui/mdc/messagebundle_fi.properties +7 -5
  116. package/src/sap/ui/mdc/messagebundle_fr.properties +7 -5
  117. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +7 -5
  118. package/src/sap/ui/mdc/messagebundle_hi.properties +7 -5
  119. package/src/sap/ui/mdc/messagebundle_hr.properties +7 -5
  120. package/src/sap/ui/mdc/messagebundle_hu.properties +7 -5
  121. package/src/sap/ui/mdc/messagebundle_id.properties +7 -5
  122. package/src/sap/ui/mdc/messagebundle_it.properties +7 -5
  123. package/src/sap/ui/mdc/messagebundle_iw.properties +6 -4
  124. package/src/sap/ui/mdc/messagebundle_ja.properties +8 -6
  125. package/src/sap/ui/mdc/messagebundle_kk.properties +7 -5
  126. package/src/sap/ui/mdc/messagebundle_ko.properties +6 -4
  127. package/src/sap/ui/mdc/messagebundle_lt.properties +7 -5
  128. package/src/sap/ui/mdc/messagebundle_lv.properties +7 -5
  129. package/src/sap/ui/mdc/messagebundle_ms.properties +7 -5
  130. package/src/sap/ui/mdc/messagebundle_nl.properties +7 -5
  131. package/src/sap/ui/mdc/messagebundle_no.properties +7 -5
  132. package/src/sap/ui/mdc/messagebundle_pl.properties +7 -5
  133. package/src/sap/ui/mdc/messagebundle_pt.properties +13 -11
  134. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +7 -5
  135. package/src/sap/ui/mdc/messagebundle_ro.properties +7 -5
  136. package/src/sap/ui/mdc/messagebundle_ru.properties +7 -5
  137. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -8
  138. package/src/sap/ui/mdc/messagebundle_sk.properties +7 -5
  139. package/src/sap/ui/mdc/messagebundle_sl.properties +8 -6
  140. package/src/sap/ui/mdc/messagebundle_sv.properties +8 -6
  141. package/src/sap/ui/mdc/messagebundle_th.properties +7 -5
  142. package/src/sap/ui/mdc/messagebundle_tr.properties +10 -8
  143. package/src/sap/ui/mdc/messagebundle_uk.properties +7 -5
  144. package/src/sap/ui/mdc/messagebundle_vi.properties +7 -5
  145. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +7 -5
  146. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +7 -5
  147. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +4 -11
  148. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  149. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  150. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  151. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +10 -4
  152. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -0
  153. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +1 -1
  154. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +8 -6
  155. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +18 -33
  156. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +63 -3
  157. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +76 -3
  158. package/src/sap/ui/mdc/p13n/Engine.js +154 -54
  159. package/src/sap/ui/mdc/p13n/FlexUtil.js +26 -14
  160. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  161. package/src/sap/ui/mdc/p13n/StateUtil.js +30 -51
  162. package/src/sap/ui/mdc/p13n/UIManager.js +6 -2
  163. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +0 -178
  164. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +15 -12
  165. package/src/sap/ui/mdc/p13n/modules/xConfigAPI.js +219 -0
  166. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +73 -14
  167. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +42 -18
  168. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -0
  169. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +2 -2
  170. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +30 -2
  171. package/src/sap/ui/mdc/p13n/subcontroller/ChartTypeController.js +46 -0
  172. package/src/sap/ui/mdc/p13n/subcontroller/ColumnWidthController.js +37 -6
  173. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +24 -6
  174. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +9 -2
  175. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +2 -2
  176. package/src/sap/ui/mdc/table/Column.js +271 -132
  177. package/src/sap/ui/mdc/table/CreationRow.js +3 -1
  178. package/src/sap/ui/mdc/table/GridTableType.js +0 -5
  179. package/src/sap/ui/mdc/table/PropertyHelper.js +80 -158
  180. package/src/sap/ui/mdc/table/ResponsiveTableType.js +64 -44
  181. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  182. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  183. package/src/sap/ui/mdc/table/TableSettings.js +10 -22
  184. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  185. package/src/sap/ui/mdc/table/menu/Item.js +78 -0
  186. package/src/sap/ui/mdc/table/menu/ItemContainer.js +60 -0
  187. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +151 -0
  188. package/src/sap/ui/mdc/themes/base/Chart.less +9 -0
  189. package/src/sap/ui/mdc/themes/base/InfoPanel.less +1 -0
  190. package/src/sap/ui/mdc/ui/Container.js +0 -0
  191. package/src/sap/ui/mdc/util/DateUtil.js +30 -5
  192. package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
  193. package/src/sap/ui/mdc/util/IdentifierUtil.js +3 -3
  194. package/src/sap/ui/mdc/util/PromiseCache.js +6 -2
  195. package/src/sap/ui/mdc/util/PropertyHelper.js +5 -1
  196. package/src/sap/ui/mdc/valuehelp/Dialog.js +291 -66
  197. package/src/sap/ui/mdc/valuehelp/Popover.js +4 -3
  198. package/src/sap/ui/mdc/valuehelp/base/Container.js +71 -52
  199. package/src/sap/ui/mdc/valuehelp/base/Content.js +57 -24
  200. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  201. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +193 -280
  202. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +6 -6
  203. package/src/sap/ui/mdc/valuehelp/content/Bool.js +4 -4
  204. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +4 -4
  205. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +4 -4
  206. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +65 -59
  207. package/src/sap/ui/mdc/valuehelp/content/MTable.js +95 -182
  208. package/test/sap/ui/mdc/testutils/opa/chart/ActionsBase.js +48 -2
  209. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +4 -5
  210. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +4 -5
  211. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +55 -4
  212. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +2 -2
  213. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +53 -12
  214. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +6 -6
  215. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +103 -122
  216. package/test/sap/ui/mdc/testutils/opa/p13n/waitForSelectWithSelectedTextOnPanel.js +5 -2
  217. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +70 -0
  218. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +9 -7
  219. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +2 -2
  220. package/src/sap/ui/mdc/link/ContactDetails.control.xml +0 -29
  221. package/src/sap/ui/mdc/link/Panel.control.xml +0 -36
  222. package/src/sap/ui/mdc/link/PanelListItem.control.xml +0 -24
  223. package/src/sap/ui/mdc/link/PanelListItem.js +0 -101
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @param {object} [mSettings] Initial settings for the new control
34
34
  * @class Wrapper to use a <code>sap.m.Table</code> control as content of a <code>FieldValueHelp</code> element
35
35
  * @extends sap.ui.mdc.field.FieldValueHelpTableWrapperBase
36
- * @version 1.100.0
36
+ * @version 1.102.1
37
37
  * @constructor
38
38
  * @private
39
39
  * @ui5-restricted sap.ui.mdc
@@ -208,37 +208,36 @@ sap.ui.define([
208
208
  }
209
209
  };
210
210
 
211
+ function _getSelectedContexts (oTable) {
212
+ var oSelectionHandler = _getSelectionHandler.call(this, oTable);
213
+ var aSelectedIndices = oSelectionHandler.getSelectedIndices();
214
+ return aSelectedIndices.reduce(function(aPrevious, iCurrent) {
215
+ var oContext = oTable.getContextByIndex(iCurrent);
216
+ return oContext ? aPrevious.concat(oContext) : aPrevious;
217
+ }, []);
218
+ }
219
+
211
220
  FieldValueHelpUITableWrapper.prototype._getTableItems = function (bSelectedOnly, bNoVirtual) {
221
+ var aResult = [];
212
222
  var oTable = this._getWrappedTable();
213
-
214
- if (!oTable) {
215
- return [];
216
- }
217
-
218
- var aResult;
219
- var oSelectionHandler,aSelectedIndices,aSelectedContexts;
220
-
221
- if (bSelectedOnly) {
222
- oSelectionHandler = _getSelectionHandler.call(this, oTable);
223
- aSelectedIndices = oSelectionHandler.getSelectedIndices();
224
- aSelectedContexts = aSelectedIndices.reduce(function(aResult, iCurrent) {
225
- var oContext = oTable.getContextByIndex(iCurrent);
226
- return oContext ? aResult.concat(oContext) : aResult;
227
- }, []);
228
- }
229
-
230
- if (!bNoVirtual) {
231
- var oBinding = oTable.getBinding();
232
- aResult = bSelectedOnly ? aSelectedContexts : oBinding && oBinding.getAllCurrentContexts();
233
- } else {
234
- aResult = oTable.getRows().filter(function (oRow) {
235
- var oRowBindingContext = oRow.getBindingContext();
236
- return oRowBindingContext && oRowBindingContext.getObject(); // don't return empty rows
237
- });
238
- if (bSelectedOnly) {
239
- aResult = aResult.filter(function (oRow) {
240
- return aSelectedContexts.indexOf(oRow.getBindingContext()) >= 0;
223
+ if (oTable) {
224
+ if (!bNoVirtual) {
225
+ if (bSelectedOnly) {
226
+ aResult = _getSelectedContexts.call(this, oTable);
227
+ } else {
228
+ var oBinding = oTable.getBinding();
229
+ aResult = oBinding && oBinding.getAllCurrentContexts() || [];
230
+ }
231
+ } else {
232
+ aResult = oTable.getRows().filter(function (oRow) {
233
+ var oRowBindingContext = oRow.getBindingContext();
234
+ return oRowBindingContext && oRowBindingContext.getObject(); // don't return empty rows
241
235
  });
236
+ if (bSelectedOnly) {
237
+ aResult = aResult.filter(function (oRow) {
238
+ return _getSelectedContexts.call(this, oTable).indexOf(oRow.getBindingContext()) >= 0;
239
+ });
240
+ }
242
241
  }
243
242
  }
244
243
  return aResult;
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @param {object} [mSettings] Initial settings for the new control
21
21
  * @class The <code>InParameter</code> element is used in the {@link sap.ui.mdc.field.FieldValueHelp FieldValueHelp} element.
22
22
  * @extends sap.ui.core.Element
23
- * @version 1.100.0
23
+ * @version 1.102.1
24
24
  * @constructor
25
25
  * @abstract
26
26
  * @private
@@ -39,7 +39,7 @@ sap.ui.define([
39
39
  * @param {object} [mSettings] Initial settings for the new control
40
40
  * @class A field help used in the <code>FieldHelp</code> association of controls based on {@link sap.ui.mdc.field.FieldBase FieldBase} that shows a list of items.
41
41
  * @extends sap.ui.mdc.field.FieldHelpBase
42
- * @version 1.100.0
42
+ * @version 1.102.1
43
43
  * @constructor
44
44
  * @private
45
45
  * @ui5-restricted sap.fe
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.core.ListItem
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.100.0
26
+ * @version 1.102.1
27
27
  *
28
28
  * @private
29
29
  * @ui5-restricted sap.fe
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @param {object} [mSettings] Initial settings for the new control
21
21
  * @class Base type for <code>MultiValueFieldItem</code> control.
22
22
  * @extends sap.ui.core.Element
23
- * @version 1.100.0
23
+ * @version 1.102.1
24
24
  * @constructor
25
25
  * @abstract
26
26
  * @private
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @param {object} [mSettings] Initial settings for the new control
23
23
  * @class The <code>OutParameter</code> element is used in the {@link sap.ui.mdc.field.FieldValueHelp FieldValueHelp} element.
24
24
  * @extends sap.ui.mdc.field.InParameter
25
- * @version 1.100.0
25
+ * @version 1.102.1
26
26
  * @constructor
27
27
  * @abstract
28
28
  * @private
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @param {object} [mSettings] Initial settings for the new control
24
24
  * @class The <code>TokenDisplay</code> control is used to render a field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
25
25
  * @extends sap.m.Token
26
- * @version 1.100.0
26
+ * @version 1.102.1
27
27
  * @constructor
28
28
  * @abstract
29
29
  * @private
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @param {object} [mSettings] Initial settings for the new control
29
29
  * @class The <code>TokenizerDisplay</code> control is used to render a Tokenizer inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
30
30
  * @extends sap.m.Tokenizer
31
- * @version 1.100.0
31
+ * @version 1.102.1
32
32
  * @constructor
33
33
  * @abstract
34
34
  * @private
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.XMLComposite
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.100.0
40
+ * @version 1.102.1
41
41
  *
42
42
  * @constructor
43
43
  * @alias sap.ui.mdc.field.ValueHelpPanel
@@ -413,6 +413,14 @@ sap.ui.define([
413
413
  this._oUnitType = oUnitType;
414
414
  };
415
415
 
416
+ ContentFactory.prototype.getCompositeTypes = function() {
417
+ return this._aCompositeTypes;
418
+ };
419
+
420
+ ContentFactory.prototype.setCompositeTypes = function(aCompositeTypes) {
421
+ this._aCompositeTypes = aCompositeTypes;
422
+ };
423
+
416
424
  ContentFactory.prototype.isMeasure = function() {
417
425
  return this._bIsMeasure;
418
426
  };
@@ -5,8 +5,11 @@
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ui/mdc/field/content/DefaultContent",
8
- "sap/ui/mdc/field/content/DateContent"
9
- ], function(DefaultContent, DateContent) {
8
+ "sap/ui/mdc/field/content/DateContent",
9
+ "sap/ui/mdc/util/DateUtil",
10
+ "sap/base/util/merge",
11
+ "sap/base/util/ObjectPath"
12
+ ], function(DefaultContent, DateContent, DateUtil, merge, ObjectPath) {
10
13
  "use strict";
11
14
 
12
15
  /**
@@ -29,6 +32,44 @@ sap.ui.define([
29
32
  },
30
33
  createEditMultiLine: function() {
31
34
  throw new Error("sap.ui.mdc.field.content.DateTimeContent - createEditMultiLine not defined!");
35
+ },
36
+ _createDatePickerControl: function(oContentFactory, aControlClasses, sId) {
37
+ var aControls = DateContent._createDatePickerControl.apply(this, arguments);
38
+ var oType = oContentFactory.getDateOriginalType() || oContentFactory.getDataType(); // if no clone-type created use original type
39
+
40
+ if (DateUtil.showTimezone(oType)) {
41
+ // bind timezone to timezone part; handle as "unit"
42
+ var oUnitConditionsType = oContentFactory.getUnitConditionsType();
43
+ aControls[0].bindProperty("timezone", { path: "$field>/conditions", type: oUnitConditionsType });
44
+ aControls[0].setShowTimezone(true);
45
+ }
46
+
47
+ return aControls;
48
+ },
49
+ _adjustDataTypeForDate: function(oContentFactory) {
50
+ var oType = oContentFactory.retrieveDataType();
51
+ var oFormatOptions = oType.getFormatOptions();
52
+
53
+ if (DateUtil.showTimezone(oType)) {
54
+ // create internal type without showing timezone
55
+ this._getDatePattern(oContentFactory, oFormatOptions); // to determine pattern
56
+ oContentFactory.setDateOriginalType(oContentFactory.getDataType());
57
+ oContentFactory.setDataType(DateUtil.createInternalType(oType, oContentFactory.getValueFormat()));
58
+ oContentFactory.updateConditionType();
59
+
60
+ // handle timezone as "unit"; create internal type to show only timezone
61
+ oFormatOptions = merge({}, oFormatOptions); // do not manipulate original object
62
+ delete oFormatOptions.pattern; // remove pattern, if set at it might prevent showing the timezone but show the DateTime
63
+ oFormatOptions.showDate = false;
64
+ oFormatOptions.showTime = false;
65
+ oFormatOptions.showTimezone = true;
66
+ var oConstraints = oType.getConstraints();
67
+ var sName = oType.getMetadata().getName();
68
+ var TypeClass = ObjectPath.get(sName);
69
+ oContentFactory.setUnitType(new TypeClass(oFormatOptions, oConstraints));
70
+ } else {
71
+ DateContent._adjustDataTypeForDate.apply(this, arguments);
72
+ }
32
73
  }
33
74
 
34
75
  });
@@ -6,6 +6,7 @@
6
6
  sap.ui.define([
7
7
  'sap/ui/mdc/p13n/subcontroller/FilterController',
8
8
  'sap/ui/core/library',
9
+ 'sap/ui/core/ShortcutHintsMixin',
9
10
  'sap/ui/Device',
10
11
  'sap/ui/mdc/Control',
11
12
  'sap/base/Log',
@@ -14,18 +15,17 @@ sap.ui.define([
14
15
  'sap/ui/base/ManagedObjectObserver',
15
16
  'sap/ui/mdc/condition/ConditionModel',
16
17
  'sap/ui/mdc/condition/Condition',
17
- 'sap/ui/mdc/util/IdentifierUtil',
18
18
  'sap/ui/mdc/condition/ConditionConverter',
19
- "sap/ui/mdc/util/FilterUtil",
19
+ 'sap/ui/mdc/util/IdentifierUtil',
20
20
  "sap/ui/mdc/filterbar/PropertyHelper",
21
21
  "sap/ui/fl/apply/api/ControlVariantApplyAPI",
22
22
  "sap/m/library",
23
23
  "sap/m/Button",
24
- 'sap/m/MessageBox',
25
- "sap/ui/core/ShortcutHintsMixin"],
24
+ 'sap/m/MessageBox'],
26
25
  function(
27
26
  FilterController,
28
27
  coreLibrary,
28
+ ShortcutHintsMixin,
29
29
  Device,
30
30
  Control,
31
31
  Log,
@@ -34,15 +34,13 @@ sap.ui.define([
34
34
  ManagedObjectObserver,
35
35
  ConditionModel,
36
36
  Condition,
37
- IdentifierUtil,
38
37
  ConditionConverter,
39
- FilterUtil,
38
+ IdentifierUtil,
40
39
  PropertyHelper,
41
40
  ControlVariantApplyAPI,
42
41
  mLibrary,
43
42
  Button,
44
- MessageBox,
45
- ShortcutHintsMixin) {
43
+ MessageBox) {
46
44
  "use strict";
47
45
 
48
46
  var ValueState = coreLibrary.ValueState;
@@ -54,7 +52,7 @@ sap.ui.define([
54
52
  * @class The <code>FilterBarBase</code> control is used as a faceless base class for common functionality of any MDC FilterBar derivation.
55
53
  * @extends sap.ui.mdc.Control
56
54
  * @author SAP SE
57
- * @version 1.100.0
55
+ * @version 1.102.1
58
56
  * @constructor
59
57
  * @private
60
58
  * @ui5-restricted sap.ui.mdc
@@ -260,7 +258,8 @@ sap.ui.define([
260
258
  NoError: -1,
261
259
  RequiredHasNoValue: 0,
262
260
  FieldInErrorState: 1,
263
- AsyncValidation: 2
261
+ AsyncValidation: 2,
262
+ OngoingChangeAppliance: 3
264
263
  };
265
264
 
266
265
  FilterBarBase.prototype.init = function() {
@@ -284,6 +283,12 @@ sap.ui.define([
284
283
 
285
284
  this._bPersistValues = false;
286
285
 
286
+ this.getEngine().registerAdaptation(this, {
287
+ controller: {
288
+ Filter: FilterController
289
+ }
290
+ });
291
+
287
292
  this._fResolveInitialFiltersApplied = undefined;
288
293
  this._oInitialFiltersAppliedPromise = new Promise(function(resolve) {
289
294
  this._fResolveInitialFiltersApplied = resolve;
@@ -295,7 +300,6 @@ sap.ui.define([
295
300
  this._bIgnoreQueuing = false; // used to overrule the default behaviour of suspendSelection
296
301
  };
297
302
 
298
- //TODO: consider to restructure the approach _createInnerLayout to properties or seperate methods
299
303
  /**
300
304
  * Interface for inner layout creation, needs to: provide three variables on the FilterBarBase derivation:
301
305
  *
@@ -345,7 +349,6 @@ sap.ui.define([
345
349
  },
346
350
  this
347
351
  );
348
-
349
352
  }
350
353
 
351
354
  return this._btnSearch;
@@ -372,7 +375,6 @@ sap.ui.define([
372
375
  this._setPropertyHelperClass(PropertyHelper);
373
376
  this._setupPropertyInfoStore("propertyInfo");
374
377
  this._applySettings(mSettings, oScope);
375
- //this._initControlDelegate();
376
378
  Promise.all([this.awaitPropertyHelper()]).then(function() {
377
379
  if (!this._bIsBeingDestroyed) {
378
380
  this._applyInitialFilterConditions();
@@ -388,14 +390,6 @@ sap.ui.define([
388
390
  this._oConditionModel.attachPropertyChange(this._handleConditionModelPropertyChange, this);
389
391
  };
390
392
 
391
- // FilterBarBase.prototype._initControlDelegate = function() {
392
- // Promise.all([this.awaitPropertyHelper()]).then(function() {
393
- // if (!this._bIsBeingDestroyed) {
394
- // this._applyInitialFilterConditions();
395
- // }
396
- // }.bind(this));
397
- // };
398
-
399
393
  FilterBarBase.prototype._waitForMetadata = function() {
400
394
  return this._retrieveMetadata().then(function() {
401
395
  this._applyInitialFilterConditions();
@@ -632,25 +626,18 @@ sap.ui.define([
632
626
 
633
627
  FilterBarBase.prototype._addConditionChange = function(mOrigConditions, sFieldPath) {
634
628
 
635
- this.getEngine().createChanges({
629
+ if (!this._aOngoingChangeAppliance) {
630
+ this._aOngoingChangeAppliance = [];
631
+ }
632
+
633
+ this._aOngoingChangeAppliance.push(this.getEngine().createChanges({
636
634
  control: this,
635
+ applySequentially: true,
637
636
  key: "Filter",
638
637
  state: mOrigConditions
639
- });
638
+ }));
640
639
  };
641
640
 
642
- FilterBarBase.prototype._registerOnEngineOnModificationEnd = function() {
643
- this._oConditionChangeStartedPromise = new Promise(function(resolve) {
644
- this._fConditionChangeStartedPromiseResolve = resolve;
645
- }.bind(this));
646
- };
647
-
648
- FilterBarBase.prototype._onChangeAppliance = function() {
649
- if (this._fConditionChangeStartedPromiseResolve) {
650
- this._fConditionChangeStartedPromiseResolve();
651
- this._fConditionChangeStartedPromiseResolve = null;
652
- }
653
- };
654
641
 
655
642
  FilterBarBase.prototype._handleConditionModelPropertyChange = function(oEvent) {
656
643
 
@@ -670,8 +657,6 @@ sap.ui.define([
670
657
 
671
658
  if (this._bPersistValues && this._isPersistenceSupported()) {
672
659
 
673
- this._registerOnEngineOnModificationEnd();
674
-
675
660
  var aConditions = oEvent.getParameter("value");
676
661
 
677
662
  if (this._getPropertyByName(sFieldPath)) {
@@ -832,6 +817,10 @@ sap.ui.define([
832
817
  return this.validate();
833
818
  };
834
819
 
820
+ FilterBarBase.prototype._hasRetrieveMetadataToBeCalled = function() {
821
+ return ((this.getPropertyHelper() === null) || ((this.getPropertyHelper().getProperties().length === 0) && !this.isPropertyHelperFinal()));
822
+ };
823
+
835
824
  /**
836
825
  * Returns a promise for the asynchronous validation of filters.
837
826
  *
@@ -839,6 +828,7 @@ sap.ui.define([
839
828
  * @ui5-restricted sap.ui.mdc, sap.fe
840
829
  * @MDC_PUBLIC_CANDIDATE
841
830
  *
831
+ * @param {boolean} bSuppressSearch Determines if the <code>search</code> event is triggered after successful validation
842
832
  * @returns {Promise} Returns a Promise which resolves after the validation of erroneous fields has been propagated.
843
833
  *
844
834
  */
@@ -864,8 +854,8 @@ sap.ui.define([
864
854
  return this._oValidationPromise;
865
855
  }.bind(this);
866
856
 
867
- return this.initialized().then(function() {
868
- if (!this.isPropertyHelperFinal()) {
857
+ return this.waitForInitialization().then(function() {
858
+ if (this._hasRetrieveMetadataToBeCalled()) {
869
859
  return this._retrieveMetadata().then(function() {
870
860
  return fValidateFc();
871
861
  });
@@ -904,6 +894,16 @@ sap.ui.define([
904
894
  return vRetErrorState;
905
895
  };
906
896
 
897
+ FilterBarBase.prototype._checkOngoingChangeAppliance = function() {
898
+ var vRetErrorState = ErrorState.NoError;
899
+
900
+ if (this._aOngoingChangeAppliance && this._aOngoingChangeAppliance.length > 0) {
901
+ vRetErrorState = ErrorState.OngoingChangeAppliance;
902
+ }
903
+
904
+ return vRetErrorState;
905
+ };
906
+
907
907
 
908
908
  FilterBarBase.prototype._checkRequiredFields = function() {
909
909
  var vRetErrorState = ErrorState.NoError;
@@ -978,6 +978,11 @@ sap.ui.define([
978
978
  return vRetErrorState;
979
979
  }
980
980
 
981
+ vRetErrorState = this._checkOngoingChangeAppliance();
982
+ if (vRetErrorState !== ErrorState.NoError) {
983
+ return vRetErrorState;
984
+ }
985
+
981
986
  vRetErrorState = this._checkRequiredFields();
982
987
  if (vRetErrorState !== ErrorState.NoError) {
983
988
  return vRetErrorState;
@@ -1030,10 +1035,21 @@ sap.ui.define([
1030
1035
  }
1031
1036
  };
1032
1037
 
1033
- /**
1034
- * Executes the search.
1035
- * @private
1036
- */
1038
+ FilterBarBase.prototype._handleOngoingChangeAppliance = function(bFireSearch) {
1039
+ if (this._aOngoingChangeAppliance && (this._aOngoingChangeAppliance.length > 0)) {
1040
+
1041
+ var aChangePromises = this._aOngoingChangeAppliance.slice();
1042
+ this._aOngoingChangeAppliance = null;
1043
+
1044
+ Promise.all(aChangePromises).then(function() {
1045
+ this._validate(bFireSearch);
1046
+ }.bind(this), function() {
1047
+ this._validate(bFireSearch);
1048
+ }.bind(this));
1049
+ }
1050
+ };
1051
+
1052
+ // Executes the search.
1037
1053
  FilterBarBase.prototype._validate = function(bFireSearch) {
1038
1054
  var sErrorMessage, vRetErrorState;
1039
1055
 
@@ -1048,12 +1064,6 @@ sap.ui.define([
1048
1064
  this._fResolvedSearchPromise = null;
1049
1065
  }.bind(this);
1050
1066
 
1051
- var fnValidationSucceeds = function() {
1052
- fnCheckAndFireSearch();
1053
- this._fResolvedSearchPromise();
1054
- fnCleanup();
1055
- }.bind(this);
1056
-
1057
1067
  if (this.bIsDestroyed) {
1058
1068
  fnCleanup();
1059
1069
  return;
@@ -1067,14 +1077,15 @@ sap.ui.define([
1067
1077
  return;
1068
1078
  }
1069
1079
 
1080
+ if (vRetErrorState === ErrorState.OngoingChangeAppliance) {
1081
+ this._handleOngoingChangeAppliance(bFireSearch);
1082
+ return;
1083
+ }
1084
+
1070
1085
  if (vRetErrorState === ErrorState.NoError) {
1071
- if (this._oConditionChangeStartedPromise) {
1072
- this._oConditionChangeStartedPromise.then(function() {
1073
- fnValidationSucceeds();
1074
- });
1075
- } else {
1076
- fnValidationSucceeds();
1077
- }
1086
+ fnCheckAndFireSearch();
1087
+ this._fResolvedSearchPromise();
1088
+ fnCleanup();
1078
1089
  } else {
1079
1090
  if (vRetErrorState === ErrorState.RequiredHasNoValue) {
1080
1091
  sErrorMessage = this._oRb.getText("filterbar.REQUIRED_CONDITION_MISSING");
@@ -1123,18 +1134,26 @@ sap.ui.define([
1123
1134
  return this._getModelConditions(this._getConditionModel(), true);
1124
1135
  };
1125
1136
 
1126
- FilterBarBase.prototype.hasProperty = function(sName) {
1127
- return this._getPropertyByName(sName);
1128
- };
1129
-
1137
+ /**
1138
+ * Returns the state of initialization.
1139
+ * This method does not trigger the retrieval of the metadata.
1140
+ * @private
1141
+ * @ui5-restricted sap.ui.mdc, sap.fe
1142
+ * @MDC_PUBLIC_CANDIDATE
1143
+ * @returns {Promise} Resolves after the initial filters have been applied
1144
+ */
1130
1145
  FilterBarBase.prototype.waitForInitialization = function() {
1131
1146
  return Promise.all([this._oInitialFiltersAppliedPromise, this._oMetadataAppliedPromise]);
1132
1147
  };
1133
1148
 
1134
- FilterBarBase.prototype._initialized = function() {
1135
- return this.waitForInitialization();
1136
- };
1137
-
1149
+ /**
1150
+ * Returns the state of initialization.
1151
+ * This method triggers the retrieval of the metadata.
1152
+ * @private
1153
+ * @ui5-restricted sap.ui.mdc, sap.fe
1154
+ * @MDC_PUBLIC_CANDIDATE
1155
+ * @returns {Promise} Resolves after the initial filters have been applied and the metadata has been obtained
1156
+ */
1138
1157
  FilterBarBase.prototype.initialized = function() {
1139
1158
 
1140
1159
  if (!this._oMetadataAppliedPromise) {
@@ -1230,7 +1249,7 @@ sap.ui.define([
1230
1249
  };
1231
1250
 
1232
1251
  FilterBarBase.prototype.removeCondition = function(sFieldPath, oXCondition) {
1233
- return this._initialized().then(function() {
1252
+ return this.waitForInitialization().then(function() {
1234
1253
  var oCM = this._getConditionModel();
1235
1254
  if (oCM) {
1236
1255
  this._isPathKnownAsync(sFieldPath, oXCondition).then(function() {
@@ -1258,7 +1277,7 @@ sap.ui.define([
1258
1277
  };
1259
1278
 
1260
1279
  FilterBarBase.prototype.addCondition = function(sFieldPath, oXCondition) {
1261
- return this._initialized().then(function() {
1280
+ return this.waitForInitialization().then(function() {
1262
1281
  var oCM = this._getConditionModel();
1263
1282
  if (oCM) {
1264
1283
  this._isPathKnownAsync(sFieldPath, oXCondition).then(function() {
@@ -1277,6 +1296,7 @@ sap.ui.define([
1277
1296
  fPromiseResolve = resolve;
1278
1297
  });
1279
1298
 
1299
+ this._oConditionModel.detachPropertyChange(this._handleConditionModelPropertyChange, this);
1280
1300
  var fApplyConditions = function(mConditionsData) {
1281
1301
  for ( sFieldPath in mConditionsData) {
1282
1302
  aConditions = mConditionsData[sFieldPath];
@@ -1299,6 +1319,7 @@ sap.ui.define([
1299
1319
  }
1300
1320
  }
1301
1321
 
1322
+ this._oConditionModel.attachPropertyChange(this._handleConditionModelPropertyChange, this);
1302
1323
  fPromiseResolve();
1303
1324
  }.bind(this);
1304
1325
 
@@ -1633,7 +1654,6 @@ sap.ui.define([
1633
1654
  if (oFilterField && (oFilterField.getValueState() !== ValueState.None)) {
1634
1655
  oFilterField.setValueState(ValueState.None);
1635
1656
  }
1636
-
1637
1657
  };
1638
1658
 
1639
1659
  FilterBarBase.prototype.applyConditionsAfterChangesApplied = function() {
@@ -1766,6 +1786,7 @@ sap.ui.define([
1766
1786
  *
1767
1787
  * @private
1768
1788
  * @ui5-restricted sap.fe
1789
+ * @MDC_PUBLIC_CANDIDATE
1769
1790
  * @returns {map} Map containing the external conditions.
1770
1791
  */
1771
1792
  FilterBarBase.prototype.getConditions = function() {
@@ -1784,6 +1805,7 @@ sap.ui.define([
1784
1805
  *
1785
1806
  * @private
1786
1807
  * @ui5-restricted sap.fe
1808
+ * @MDC_PUBLIC_CANDIDATE
1787
1809
  * @returns {string} Value of search condition or empty
1788
1810
  */
1789
1811
  FilterBarBase.prototype.getSearch = function() {
@@ -1846,8 +1868,7 @@ sap.ui.define([
1846
1868
 
1847
1869
  this._aFIChanges = null;
1848
1870
 
1849
- this._oConditionChangeStartedPromise = null;
1850
- this._fConditionChangeStartedPromiseResolve = undefined;
1871
+ this._aOngoingChangeAppliance = null;
1851
1872
  };
1852
1873
 
1853
1874
  return FilterBarBase;
@@ -15,6 +15,7 @@ sap.ui.define([
15
15
  /**
16
16
  * Creates the inner layout for the IFilterContainer.
17
17
  * @protected
18
+ * @ui5-restricted sap.ui.mdc, sap.fe
18
19
  */
19
20
  IFilterContainer.prototype.init = function() {
20
21
  Element.prototype.init.apply(this, arguments);
@@ -25,6 +26,7 @@ sap.ui.define([
25
26
  * Getter for the inner layout item.
26
27
  * @returns {Control} Control instance of the inner layout item.
27
28
  * @protected
29
+ * @ui5-restricted sap.ui.mdc, sap.fe
28
30
  */
29
31
  IFilterContainer.prototype.getInner = function(){
30
32
  return this.oLayout;
@@ -41,6 +43,7 @@ sap.ui.define([
41
43
  /**
42
44
  * Remove the inner content from the layout item.
43
45
  * @protected
46
+ * @ui5-restricted sap.ui.mdc, sap.fe
44
47
  */
45
48
  IFilterContainer.prototype.removeFilterField = function(oControl) {
46
49
  //remove the content from the inner layout this.oLayout
@@ -50,6 +53,7 @@ sap.ui.define([
50
53
  * Insert the inner content to the layout item.
51
54
  * @returns {Array} Array of all inner controls in the layout item.
52
55
  * @protected
56
+ * @ui5-restricted sap.ui.mdc, sap.fe
53
57
  */
54
58
  IFilterContainer.prototype.getFilterFields = function() {
55
59
  //return the inner controls as array
@@ -59,6 +63,7 @@ sap.ui.define([
59
63
  * Overwrite the default 'exit' to cleanup the created layout properly
60
64
  *
61
65
  * @protected
66
+ * @ui5-restricted sap.ui.mdc, sap.fe
62
67
  */
63
68
  IFilterContainer.prototype.exit = function() {
64
69
  Element.prototype.exit.apply(this, arguments);
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.mdc.util.PropertyHelper
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.100.0
36
+ * @version 1.102.1
37
37
  *
38
38
  * @private
39
39
  * @experimental
@@ -16,6 +16,7 @@ sap.ui.define([
16
16
  * @extends sap.ui.mdc.filterbar.IFilterContainer
17
17
  * @constructor
18
18
  * @private
19
+ * @ui5-restricted sap.ui.mdc, sap.fe
19
20
  * @since 1.80.0
20
21
  * @alias sap.ui.mdc.filterbar.aligned.FilterContainer
21
22
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
@@ -17,6 +17,7 @@ sap.ui.define(['sap/ui/layout/VerticalLayout', 'sap/ui/layout/VerticalLayoutRend
17
17
  * @extends sap.ui.layout.VerticalLayout
18
18
  * @constructor
19
19
  * @private
20
+ * @ui5-restricted sap.ui.mdc, sap.fe
20
21
  * @since 1.61.0
21
22
  * @alias sap.ui.mdc.filterbar.aligned.FilterItemLayout
22
23
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel