@openui5/sap.ui.mdc 1.96.2 → 1.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/.reuse/dep5 +1 -1
  2. package/THIRDPARTY.txt +2 -1
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +2 -7
  6. package/src/sap/ui/mdc/Chart.js +1 -1
  7. package/src/sap/ui/mdc/ChartNew.js +1 -1
  8. package/src/sap/ui/mdc/ChartNewRenderer.js +2 -2
  9. package/src/sap/ui/mdc/Control.js +1 -1
  10. package/src/sap/ui/mdc/Element.js +1 -1
  11. package/src/sap/ui/mdc/Field.js +3 -2
  12. package/src/sap/ui/mdc/FilterBar.js +1 -1
  13. package/src/sap/ui/mdc/FilterField.js +16 -2
  14. package/src/sap/ui/mdc/Link.js +1 -1
  15. package/src/sap/ui/mdc/MultiValueField.js +2 -1
  16. package/src/sap/ui/mdc/Table.js +161 -133
  17. package/src/sap/ui/mdc/TableDelegate.js +13 -11
  18. package/src/sap/ui/mdc/ValueHelp.js +33 -7
  19. package/src/sap/ui/mdc/ValueHelpDelegate.js +20 -0
  20. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  21. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +1 -1
  22. package/src/sap/ui/mdc/chart/ToolbarHandler.js +1 -1
  23. package/src/sap/ui/mdc/chartNew/ChartSelectionDetailsNew.js +1 -1
  24. package/src/sap/ui/mdc/chartNew/ChartToolbarNew.js +1 -1
  25. package/src/sap/ui/mdc/chartNew/PropertyHelperNew.js +1 -1
  26. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  27. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  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 +6 -2
  31. package/src/sap/ui/mdc/condition/Operator.js +9 -9
  32. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +437 -0
  33. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  34. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +17 -17
  35. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +21 -0
  36. package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +104 -0
  37. package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +22 -0
  38. package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +23 -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 +7 -7
  42. package/src/sap/ui/mdc/field/ConditionsType.js +7 -7
  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 +1 -1
  46. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +311 -0
  47. package/src/sap/ui/mdc/field/FieldBase.js +54 -47
  48. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -1
  49. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  50. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  51. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  52. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  53. package/src/sap/ui/mdc/field/FieldValueHelp.js +6 -6
  54. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  55. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +20 -0
  56. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  57. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +1 -1
  58. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +2 -1
  59. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  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/ValueHelpPanel.js +2 -1
  66. package/src/sap/ui/mdc/field/content/BooleanContent.js +1 -1
  67. package/src/sap/ui/mdc/field/content/ContentFactory.js +23 -21
  68. package/src/sap/ui/mdc/field/content/DateContent.js +128 -2
  69. package/src/sap/ui/mdc/field/content/DateTimeContent.js +9 -1
  70. package/src/sap/ui/mdc/field/content/DefaultContent.js +1 -1
  71. package/src/sap/ui/mdc/field/content/TimeContent.js +8 -1
  72. package/src/sap/ui/mdc/field/content/UnitContent.js +23 -4
  73. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +25 -17
  74. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  75. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
  76. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  77. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  78. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  79. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  80. package/src/sap/ui/mdc/library.js +19 -3
  81. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  82. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  83. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  84. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  85. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  86. package/src/sap/ui/mdc/link/Factory.js +1 -1
  87. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  88. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  89. package/src/sap/ui/mdc/link/Panel.js +1 -1
  90. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  91. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  92. package/src/sap/ui/mdc/link/SelectionDialog.js +1 -1
  93. package/src/sap/ui/mdc/link/SelectionDialogItem.js +1 -1
  94. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  95. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  96. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  97. package/src/sap/ui/mdc/messagebundle.properties +13 -4
  98. package/src/sap/ui/mdc/messagebundle_ar.properties +8 -2
  99. package/src/sap/ui/mdc/messagebundle_bg.properties +8 -2
  100. package/src/sap/ui/mdc/messagebundle_ca.properties +8 -2
  101. package/src/sap/ui/mdc/messagebundle_cs.properties +8 -2
  102. package/src/sap/ui/mdc/messagebundle_cy.properties +8 -2
  103. package/src/sap/ui/mdc/messagebundle_da.properties +8 -2
  104. package/src/sap/ui/mdc/messagebundle_de.properties +8 -2
  105. package/src/sap/ui/mdc/messagebundle_el.properties +8 -2
  106. package/src/sap/ui/mdc/messagebundle_en.properties +8 -2
  107. package/src/sap/ui/mdc/messagebundle_en_GB.properties +8 -2
  108. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +14 -0
  109. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +3 -19
  110. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +14 -0
  111. package/src/sap/ui/mdc/messagebundle_es.properties +9 -3
  112. package/src/sap/ui/mdc/messagebundle_es_MX.properties +8 -2
  113. package/src/sap/ui/mdc/messagebundle_et.properties +8 -2
  114. package/src/sap/ui/mdc/messagebundle_fi.properties +8 -2
  115. package/src/sap/ui/mdc/messagebundle_fr.properties +12 -6
  116. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +8 -2
  117. package/src/sap/ui/mdc/messagebundle_hi.properties +8 -2
  118. package/src/sap/ui/mdc/messagebundle_hr.properties +8 -2
  119. package/src/sap/ui/mdc/messagebundle_hu.properties +8 -2
  120. package/src/sap/ui/mdc/messagebundle_id.properties +8 -2
  121. package/src/sap/ui/mdc/messagebundle_it.properties +8 -2
  122. package/src/sap/ui/mdc/messagebundle_iw.properties +8 -2
  123. package/src/sap/ui/mdc/messagebundle_ja.properties +8 -2
  124. package/src/sap/ui/mdc/messagebundle_kk.properties +8 -2
  125. package/src/sap/ui/mdc/messagebundle_ko.properties +8 -2
  126. package/src/sap/ui/mdc/messagebundle_lt.properties +8 -2
  127. package/src/sap/ui/mdc/messagebundle_lv.properties +8 -2
  128. package/src/sap/ui/mdc/messagebundle_ms.properties +8 -2
  129. package/src/sap/ui/mdc/messagebundle_nl.properties +8 -2
  130. package/src/sap/ui/mdc/messagebundle_no.properties +8 -2
  131. package/src/sap/ui/mdc/messagebundle_pl.properties +8 -2
  132. package/src/sap/ui/mdc/messagebundle_pt.properties +8 -2
  133. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +8 -2
  134. package/src/sap/ui/mdc/messagebundle_ro.properties +8 -2
  135. package/src/sap/ui/mdc/messagebundle_ru.properties +8 -2
  136. package/src/sap/ui/mdc/messagebundle_sh.properties +8 -2
  137. package/src/sap/ui/mdc/messagebundle_sk.properties +8 -2
  138. package/src/sap/ui/mdc/messagebundle_sl.properties +8 -2
  139. package/src/sap/ui/mdc/messagebundle_sv.properties +8 -2
  140. package/src/sap/ui/mdc/messagebundle_th.properties +8 -2
  141. package/src/sap/ui/mdc/messagebundle_tr.properties +8 -2
  142. package/src/sap/ui/mdc/messagebundle_uk.properties +8 -2
  143. package/src/sap/ui/mdc/messagebundle_vi.properties +8 -2
  144. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +8 -2
  145. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +8 -2
  146. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  147. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  148. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +3 -3
  149. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  150. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +1 -1
  151. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +65 -37
  152. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
  153. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew.js +12 -3
  154. package/src/sap/ui/mdc/p13n/Engine.js +32 -9
  155. package/src/sap/ui/mdc/p13n/P13nBuilder.js +1 -1
  156. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +21 -10
  157. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  158. package/src/sap/ui/mdc/p13n/StateUtil.js +20 -0
  159. package/src/sap/ui/mdc/p13n/UIManager.js +11 -6
  160. package/src/sap/ui/mdc/p13n/{DefaultProviderRegistry.js → modules/DefaultProviderRegistry.js} +2 -2
  161. package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +86 -0
  162. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +19 -3
  163. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +40 -32
  164. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +1 -1
  165. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  166. package/src/sap/ui/mdc/table/Column.js +34 -9
  167. package/src/sap/ui/mdc/table/CreationRow.js +14 -13
  168. package/src/sap/ui/mdc/table/GridTableType.js +11 -10
  169. package/src/sap/ui/mdc/table/PropertyHelper.js +21 -21
  170. package/src/sap/ui/mdc/table/ResponsiveTableType.js +23 -24
  171. package/src/sap/ui/mdc/table/RowSettings.js +8 -6
  172. package/src/sap/ui/mdc/table/TableTypeBase.js +4 -4
  173. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +15 -71
  174. package/src/sap/ui/mdc/themes/base/Chart.less +3 -0
  175. package/src/sap/ui/mdc/themes/base/library.source.less +1 -0
  176. package/src/sap/ui/mdc/ui/Container.js +2 -2
  177. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  178. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  179. package/src/sap/ui/mdc/util/PropertyHelper.js +111 -319
  180. package/src/sap/ui/mdc/valuehelp/Dialog.js +2 -1
  181. package/src/sap/ui/mdc/valuehelp/Popover.js +13 -2
  182. package/src/sap/ui/mdc/valuehelp/base/Container.js +32 -1
  183. package/src/sap/ui/mdc/valuehelp/base/Content.js +35 -5
  184. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  185. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +42 -15
  186. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  187. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  188. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +25 -31
  189. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  190. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +8 -3
  191. package/src/sap/ui/mdc/valuehelp/content/MTable.js +15 -3
  192. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +102 -96
  193. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +0 -111
  194. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +0 -322
  195. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +0 -133
  196. package/src/sap/ui/mdc/p13n/panels/Wrapper.js +0 -203
@@ -0,0 +1,437 @@
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/m/DynamicDateOption',
9
+ 'sap/m/DynamicDateValueHelpUIType',
10
+ 'sap/m/Input',
11
+ 'sap/m/DatePicker',
12
+ 'sap/ui/mdc/condition/Operator',
13
+ 'sap/ui/mdc/util/DateUtil',
14
+ 'sap/ui/model/json/JSONModel',
15
+ 'sap/ui/model/FormatException',
16
+ 'sap/ui/model/ParseException',
17
+ 'sap/ui/model/ValidateException',
18
+ 'sap/ui/core/library'
19
+ ], function(
20
+ DynamicDateOption,
21
+ DynamicDateValueHelpUIType,
22
+ Input,
23
+ DatePicker,
24
+ Operator,
25
+ DateUtil,
26
+ JSONModel,
27
+ FormatException,
28
+ ParseException,
29
+ ValidateException,
30
+ coreLibrary
31
+ ) {
32
+ "use strict";
33
+
34
+ var ValueState = coreLibrary.ValueState;
35
+
36
+ /**
37
+ * Constructor for a new OperatorDynamicDateOption.
38
+ *
39
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
40
+ * @param {object} [mSettings] Initial settings for the new control
41
+ * @param {string} [mSettings.key] One of the predefined keys identifying the standard dynamic date
42
+ *
43
+ * @class
44
+ * Maps an {@link sap.ui.mdc.condition.Operator Operator} to a {@link sap.m.DynamicDateOption DynamicDateOption}.
45
+ * @extends sap.m.DynamicDateOption
46
+ *
47
+ * @author SAP SE
48
+ * @version 1.97.0
49
+ *
50
+ * @private
51
+ * @ui5-restricted sap.ui.mdc
52
+ * @experimental As of version 1.96
53
+ * @since 1.96
54
+ * @alias sap.ui.mdc.condition.OperatorDynamicDateOption
55
+ * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
56
+ */
57
+ var OperatorDynamicDateOption = DynamicDateOption.extend("sap.ui.mdc.condition.OperatorDynamicDateOption", /** @lends sap.ui.mdc.condition.OperatorDynamicDateOption.prototype */ {
58
+ metadata: {
59
+ library: "sap.ui.mdc",
60
+ properties: {
61
+ /**
62
+ * Operator used in the corresponding filter field.
63
+ *
64
+ * <b>Note:</b> A condition must be an instance of {@link sap.ui.mdc.condition.Operator Operator}.
65
+ */
66
+ operator: { type: "object" },
67
+ /**
68
+ * Data type of the corresponding filter field.
69
+ *
70
+ * <b>Note:</b> A condition must be an instance of {@link sap.ui.model.Type Type}.
71
+ */
72
+ type: { type: "object" }
73
+ }
74
+ }
75
+ });
76
+
77
+ OperatorDynamicDateOption.prototype.exit = function() {
78
+ if (this._oModel) {
79
+ this._oModel.destroy();
80
+ this._oModel = undefined;
81
+ this._mChangeHandler = undefined;
82
+ }
83
+
84
+ if (this._aUITypes) {
85
+ for (var i = 0; i < this._aUITypes.length; i++) {
86
+ this._aUITypes[i].destroy();
87
+ }
88
+ this._aUITypes = undefined;
89
+ }
90
+ // _removeControls.call(this);
91
+ };
92
+
93
+ OperatorDynamicDateOption.prototype.validateProperty = function(sPropertyName, oValue) {
94
+
95
+ if (sPropertyName === "operator" && oValue && (typeof oValue !== "object" || !oValue.isA || !oValue.isA("sap.ui.mdc.condition.Operator"))) {
96
+ throw new Error("\"" + oValue + "\" is of type " + typeof oValue + ", expected " +
97
+ "sap.ui.mdc.condition.Operator for property \"" + sPropertyName + "\" of " + this);
98
+ } else if (sPropertyName === "type" && oValue && (typeof oValue !== "object" || !oValue.isA || !oValue.isA("sap.ui.model.Type"))) {
99
+ throw new Error("\"" + oValue + "\" is of type " + typeof oValue + ", expected " +
100
+ "sap.ui.model.Type for property \"" + sPropertyName + "\" of " + this);
101
+ }
102
+
103
+ return DynamicDateOption.prototype.validateProperty.apply(this, arguments);
104
+
105
+ };
106
+
107
+ OperatorDynamicDateOption.prototype.getKey = function() {
108
+
109
+ var oOperator = this.getOperator();
110
+ return oOperator.name;
111
+
112
+ };
113
+
114
+ OperatorDynamicDateOption.prototype.isRange = function() {
115
+
116
+ var oOperator = this.getOperator();
117
+ return oOperator.isA("sap.ui.mdc.condition.RangeOperator");
118
+
119
+ };
120
+
121
+ OperatorDynamicDateOption.prototype.getText = function(oControl) {
122
+
123
+ var oOperator = this.getOperator();
124
+ return oOperator.longText;
125
+
126
+ };
127
+
128
+ OperatorDynamicDateOption.prototype.getValueHelpUITypes = function(oControl) {
129
+
130
+ if (!this._aUITypes) {
131
+ var oOperator = this.getOperator();
132
+ var oType = this.getType();
133
+ this._aUITypes = [];
134
+
135
+ for (var i = 0; i < oOperator.valueTypes.length; i++) {
136
+ var vType = oOperator.valueTypes[i];
137
+ if (vType === Operator.ValueType.Self) {
138
+ this._aUITypes.push(new DynamicDateValueHelpUIType({
139
+ type: "date"
140
+ }));
141
+ } else if (vType === Operator.ValueType.Static) {
142
+ continue;
143
+ } else {
144
+ oType = oOperator._createLocalType(vType, oType);
145
+ if (oType.isA("sap.ui.model.type.Integer") || oType.isA("sap.ui.model.odata.type.Int")) { // TODO: better check for Integer
146
+ this._aUITypes.push(new DynamicDateValueHelpUIType({
147
+ type: "int"
148
+ }));
149
+ } else {
150
+ this._aUITypes.push(new DynamicDateValueHelpUIType({
151
+ type: "custom"
152
+ }));
153
+ }
154
+ }
155
+ }
156
+ }
157
+
158
+ return this._aUITypes;
159
+
160
+ };
161
+
162
+ OperatorDynamicDateOption.prototype.createValueHelpUI = function(oControl, fnControlsUpdated) {
163
+ var oValue = oControl.getValue();
164
+ var oOperator = this.getOperator();
165
+ var oType = this.getType();
166
+ var sKey = this.getKey();
167
+ var sControlId = oControl.getId();
168
+
169
+ if (!oValue || oValue.operator !== sKey) {
170
+ // initialize value
171
+ oValue = {operator: sKey, values: []};
172
+ if (oOperator.valueDefaults) {
173
+ oValue.values = oOperator.valueDefaults;
174
+ }
175
+ }
176
+
177
+ // remove old controls as they are destroyed after usage from DynamicDateRange control
178
+ _removeControls.call(this, oControl);
179
+ if (!oControl.aControlsByParameters) {
180
+ oControl.aControlsByParameters = {};
181
+ }
182
+ oControl.aControlsByParameters[sKey] = [];
183
+
184
+ var fnChangeHandler = function(oEvent) {
185
+ fnControlsUpdated(this);
186
+ }.bind(this);
187
+
188
+ for (var i = 0; i < oOperator.valueTypes.length; i++) {
189
+ var vType = oOperator.valueTypes[i];
190
+ var oDate;
191
+
192
+ if (!oControl.aControlsByParameters[sKey][i]) {
193
+ if (oOperator.createControl) {
194
+ // use internal model to bind the control
195
+ if (!this._oModel) {
196
+ fnChangeHandler = function(oEvent) {
197
+ var sPath = oEvent.getParameter("path");
198
+ var aParts = sPath.split("/");
199
+ var sControlId = aParts[0] || aParts[1];
200
+ if (this._mChangeHandler && this._mChangeHandler[sControlId]) {
201
+ this._mChangeHandler[sControlId](this);
202
+ }
203
+ }.bind(this);
204
+ this._oModel = new JSONModel();
205
+ this._oModel.attachPropertyChange({}, fnChangeHandler, this);
206
+ this._mChangeHandler = {};
207
+ }
208
+ var oModelData = this._oModel.getData();
209
+ oModelData[sControlId] = { // only change for current control
210
+ value0: oValue && oValue.values[0],
211
+ value1: oValue && oValue.values[1]
212
+ };
213
+ this._mChangeHandler[sControlId] = fnControlsUpdated;
214
+ if (vType !== Operator.ValueType.Self) {
215
+ oType = oOperator._createLocalType(vType, oType);
216
+ }
217
+ var oInputControl = oOperator.createControl(oType, "internal>/" + sControlId + "/value" + i, i, sControlId + "-" + i);
218
+ oInputControl.setModel(this._oModel, "internal");
219
+ oControl.aControlsByParameters[sKey].push(oInputControl);
220
+ } else if (vType === Operator.ValueType.Self) {
221
+ // TODO: DatePicker or Calendar?
222
+ // convert internal value to date
223
+ if (oValue && oValue.values[i]) {
224
+ oDate = DateUtil.typeToUniversalDate(oValue.values[i], oType);
225
+ oDate = DateUtil.utcToLocal(oDate);
226
+ }
227
+ var oFormatOptions = oType.getFormatOptions();
228
+
229
+ var oDatePicker = new DatePicker(sControlId + "-" + i, {
230
+ dateValue: oDate,
231
+ displayFormat: oFormatOptions.style || oFormatOptions.pattern,
232
+ displayFormatType: oFormatOptions.calendarType,
233
+ change: fnChangeHandler
234
+ });
235
+ oControl.aControlsByParameters[sKey].push(oDatePicker);
236
+ } else if (typeof vType === "object"){
237
+ // just use Input
238
+ var oInput = new Input(sControlId + "-" + i, {
239
+ value: oValue && oValue.values[i],
240
+ change: fnChangeHandler
241
+ });
242
+ oControl.aControlsByParameters[sKey].push(oInput);
243
+ }
244
+ // } else // update values
245
+ // if (oOperator.createControl) {
246
+ // this._oModel.setProperty("/value0", oValue && oValue.values[0]);
247
+ // this._oModel.setProperty("/value1", oValue && oValue.values[1]);
248
+ // } else if (vType === Operator.ValueType.Self) {
249
+ // if (oValue && oValue.values[i]) {
250
+ // oDate = DateUtil.typeToUniversalDate(oValue.values[i], oType);
251
+ // oDate = DateUtil.utcToLocal(oDate);
252
+ // }
253
+ // oControl.aControlsByParameters[sKey][i].setDateValue(oDate);
254
+ // } else if (typeof vType === "object"){
255
+ // oControl.aControlsByParameters[sKey][i].setValue(oValue && oValue.values[i]);
256
+ }
257
+
258
+ }
259
+
260
+ return oControl.aControlsByParameters[sKey];
261
+
262
+ };
263
+
264
+ OperatorDynamicDateOption.prototype.validateValueHelpUI = function(oControl) {
265
+
266
+ var sKey = this.getKey();
267
+ var oOperator = this.getOperator();
268
+ var oType = this.getType();
269
+ var oOutput;
270
+ var bValid = true;
271
+ var sValueState = ValueState.None;
272
+ var sValueStateText;
273
+ var i = 0;
274
+
275
+ try {
276
+ oOutput = this.getValueHelpOutput(oControl); // catch ParseExeptions
277
+ for (i = 0; i < oOutput.values.length; i++) {
278
+ var vValue = oOutput.values[i];
279
+ if (vValue === undefined || vValue === null) { // TODO: might be operator dependent
280
+ bValid = false;
281
+ }
282
+ }
283
+ oOperator.validate(oOutput.values, oType);
284
+ } catch (oException) {
285
+ bValid = false;
286
+ sValueState = ValueState.Error;
287
+ sValueStateText = oException.message;
288
+ if (oException && !(oException instanceof ParseException) && !(oException instanceof ValidateException)) {
289
+ throw oException; // unknown error -> just raise it
290
+ }
291
+ }
292
+
293
+ if (!oOperator.createControl) {
294
+ // custom control is bound, so input is checked in binding
295
+ for (i = 0; i < oControl.aControlsByParameters[sKey].length; i++) {
296
+ var oInputControl = oControl.aControlsByParameters[sKey][i];
297
+ if (oInputControl.setValueState) {
298
+ oInputControl.setValueState(sValueState);
299
+ oInputControl.setValueStateText(sValueStateText);
300
+ }
301
+ }
302
+ }
303
+
304
+ return bValid;
305
+
306
+ };
307
+
308
+ OperatorDynamicDateOption.prototype.getValueHelpOutput = function(oControl) {
309
+
310
+ var sKey = this.getKey();
311
+ var oResult = {operator: sKey, values: []};
312
+ var oOperator = this.getOperator();
313
+ var oType = this.getType();
314
+ var sControlId = oControl.getId();
315
+
316
+ for (var i = 0; i < oOperator.valueTypes.length; i++) {
317
+ var oInputControl = oControl.aControlsByParameters[sKey][i];
318
+ if (oInputControl) {
319
+ var vValue;
320
+ if (oOperator.createControl) {
321
+ // use value from internal Model
322
+ vValue = this._oModel ? this._oModel.getProperty("/" + sControlId + "/value" + i) : null;
323
+ } else if (oOperator.valueTypes[i] === Operator.ValueType.Self) {
324
+ // DatePicker used -> get Date Value
325
+ if (!oInputControl.isValidValue()) {
326
+ throw new ParseException(); // to show error state
327
+ }
328
+ vValue = oInputControl.getDateValue();
329
+ if (vValue) {
330
+ // parse to Types format
331
+ vValue = DateUtil.localToUtc(vValue);
332
+ vValue = DateUtil.universalDateToType(vValue, oType);
333
+ }
334
+ } else {
335
+ vValue = oInputControl.getValue();
336
+ oType = oOperator._createLocalType(oOperator.valueTypes[i], oType);
337
+ // parse String to types value
338
+ vValue = oType.parseValue(vValue, "string");
339
+ }
340
+ oResult.values.push(vValue);
341
+ }
342
+ }
343
+
344
+ return oResult;
345
+
346
+ };
347
+
348
+ OperatorDynamicDateOption.prototype.getGroupHeader = function() {
349
+ var oOperator = this.getOperator();
350
+ if (oOperator.group && oOperator.group.text) {
351
+ return oOperator.group.text;
352
+ }
353
+
354
+ return DynamicDateOption.prototype.getGroupHeader.apply(this, arguments); // "Default group header still used!"; //TODO how to create a custom Option inside an existing group?
355
+ };
356
+
357
+ OperatorDynamicDateOption.prototype.getGroup = function() {
358
+ var oOperator = this.getOperator();
359
+ if (oOperator.group) {
360
+ return oOperator.group.id;
361
+ }
362
+ return DynamicDateOption.prototype.getGroup.apply(this, arguments);
363
+ };
364
+
365
+ OperatorDynamicDateOption.prototype.toDates = function(oValue) {
366
+ var oOperator = this.getOperator();
367
+ var oType = this.getType();
368
+ var aRange;
369
+ var i = 0;
370
+
371
+ if (oOperator.isA("sap.ui.mdc.condition.RangeOperator")) {
372
+ aRange = oOperator._getRange(oValue && oValue.values, oType);
373
+ // convert to local date
374
+ for (i = 0; i < aRange.length; i++) {
375
+ aRange[i] = DateUtil.typeToUniversalDate(aRange[i], oType);
376
+ aRange[i] = DateUtil.utcToLocal(aRange[i]);
377
+ }
378
+ } else if (oOperator.valueTypes[0] === Operator.ValueType.Self) {
379
+ aRange = oValue.values;
380
+ for (i = 0; i < aRange.length; i++) {
381
+ if (aRange[i]) {
382
+ aRange[i] = DateUtil.typeToUniversalDate(aRange[i], oType);
383
+ aRange[i] = DateUtil.utcToLocal(aRange[i]);
384
+ }
385
+ }
386
+ if (aRange.length === 1) {
387
+ // TODO: better solution for single dates
388
+ aRange.push(aRange[0]);
389
+ }
390
+ // TODO How to convert GT or GE.....
391
+ } else if ([Operator.ValueType.Self, Operator.ValueType.Static].indexOf(oOperator.valueTypes[0]) === -1) {
392
+ // oType = oOperator._createLocalType(oOperator.valueTypes[0], this.type);
393
+ throw new Error("Cannot convert to date, use RangeOperator");
394
+ }
395
+ return aRange;
396
+ };
397
+
398
+ OperatorDynamicDateOption.prototype.format = function(oValue) {
399
+ var oOperator = this.getOperator();
400
+ var oType = this.getType();
401
+ return oOperator.format(oValue, oType);
402
+ };
403
+
404
+ OperatorDynamicDateOption.prototype.parse = function(sValue) {
405
+ var oOperator = this.getOperator();
406
+ var oType = this.getType();
407
+
408
+ if (sValue && oOperator.parse(sValue)) {
409
+ var oResult = {};
410
+ oResult.operator = this.getKey();
411
+ oResult.values = oOperator.parse(sValue, oType);
412
+ return oResult;
413
+ }
414
+ };
415
+
416
+ OperatorDynamicDateOption.prototype.enhanceFormattedValue = function(sFormattedValue, sAdditionalValue) {
417
+ return false;
418
+ };
419
+
420
+ function _removeControls(oControl) {
421
+
422
+ var sKey = this.getKey();
423
+
424
+ if (oControl && oControl.aControlsByParameters && oControl.aControlsByParameters[sKey]) {
425
+ for (var i = 0; i < oControl.aControlsByParameters[sKey].length; i++) {
426
+ var oUIControl = oControl.aControlsByParameters[sKey][i];
427
+ if (!oUIControl.bIsDestroyed) {
428
+ oUIControl.destroy();
429
+ }
430
+ }
431
+ delete oControl.aControlsByParameters[sKey];
432
+ }
433
+
434
+ }
435
+
436
+ return OperatorDynamicDateOption;
437
+ });
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @param {int[]|function} [oConfiguration.defaultValues] Array of values for the defaults of <code>RangeOperators</code> parameter. This can be a function, which returns the array of values. If not used the default for the values is 1.
34
34
  * @constructor
35
35
  * @author SAP SE
36
- * @version 1.96.2
36
+ * @version 1.97.0
37
37
  * @private
38
38
  * @ui5-restricted sap.fe
39
39
  * @MDC_PUBLIC_CANDIDATE
@@ -21,63 +21,63 @@ sap.ui.define([
21
21
  },
22
22
  properties: {
23
23
  width: {
24
- ignore: false
24
+ ignore: true
25
25
  },
26
26
  height: {
27
- ignore: false
27
+ ignore: true
28
28
  },
29
29
  delegate: {
30
30
  ignore: true
31
31
  },
32
32
  header: {
33
- ignore: false
33
+ ignore: true
34
34
  },
35
35
  noDataText: {
36
- ignore: false
36
+ ignore: true
37
37
  },
38
38
  p13nMode: {
39
- ignore: false
39
+ ignore: true
40
40
  },
41
41
  legendVisible: {
42
- ignore: false
42
+ ignore: true
43
43
  },
44
44
  ignoreToolbarActions: {
45
- ignore: false
45
+ ignore: true
46
46
  },
47
47
  minWidth: {
48
- ignore: false
48
+ ignore: true
49
49
  },
50
50
  minHeight: {
51
- ignore: false
51
+ ignore: true
52
52
  },
53
53
  sortConditions: {
54
54
  ignore: true
55
55
  },
56
56
  showChartTooltip: {
57
- ignore: false
57
+ ignore: true
58
58
  },
59
59
  autoBindOnInit: {
60
- ignore: false
60
+ ignore: true
61
61
  },
62
62
  chartType: {
63
- ignore: false
63
+ ignore: true
64
64
  },
65
65
  showSelectionDetails: {
66
- ignore: false
66
+ ignore: true
67
67
  }
68
68
  },
69
69
  aggregations: {
70
70
  items: {
71
- ignore: false
71
+ ignore: true
72
72
  },
73
73
  actions: {
74
- ignore: false
74
+ ignore: true
75
75
  },
76
76
  selectionDetailsActions: {
77
- ignore: false
77
+ ignore: true
78
78
  },
79
79
  _toolbar: {
80
- ignore: true
80
+ ignore: false
81
81
  },
82
82
  _breadcrumbs: {
83
83
  ignore: true
@@ -0,0 +1,21 @@
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
+ sap.ui.define([
7
+ ], function () {
8
+ "use strict";
9
+
10
+ return {
11
+ properties: {
12
+ value: {
13
+ ignore: true
14
+ },
15
+
16
+ additionalValue: {
17
+ ignore: true
18
+ }
19
+ }
20
+ };
21
+ });
@@ -0,0 +1,104 @@
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
+ sap.ui.define([
7
+ ], function () {
8
+ "use strict";
9
+
10
+ return {
11
+ properties: {
12
+ dataType: {
13
+ ignore: true
14
+ },
15
+
16
+ dataTypeConstraints: {
17
+ ignore: true
18
+ },
19
+
20
+ dataTypeFormatOptions: {
21
+ ignore: true
22
+ },
23
+
24
+ editMode: {
25
+ ignore: true
26
+ },
27
+
28
+ required: {
29
+ ignore: true
30
+ },
31
+
32
+ display: {
33
+ ignore: true
34
+ },
35
+
36
+ textAlign: {
37
+ ignore: true
38
+ },
39
+
40
+ textDirection: {
41
+ ignore: true
42
+ },
43
+
44
+ placeholder: {
45
+ ignore: true
46
+ },
47
+
48
+ valueState: {
49
+ ignore: true
50
+ },
51
+
52
+ valueStateText: {
53
+ ignore: true
54
+ },
55
+
56
+ width: {
57
+ ignore: true
58
+ },
59
+
60
+ multipleLines: {
61
+ ignore: true
62
+ },
63
+
64
+ maxConditions: {
65
+ ignore: true
66
+ },
67
+
68
+ conditions: {
69
+ ignore: true
70
+ },
71
+
72
+ label: {
73
+ ignore: true
74
+ },
75
+
76
+ delegate: {
77
+ ignore: true
78
+ },
79
+
80
+ showEmptyIndicator: {
81
+ ignore: true
82
+ }
83
+
84
+ },
85
+ aggregations: {
86
+ content: {
87
+ ignore: true
88
+ },
89
+
90
+ contentEdit: {
91
+ ignore: true
92
+ },
93
+
94
+ contentDisplay: {
95
+ ignore: true
96
+ },
97
+
98
+ fieldInfo: {
99
+ ignore: true
100
+ }
101
+ }
102
+
103
+ };
104
+ });
@@ -0,0 +1,22 @@
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
+ sap.ui.define([
7
+ ], function () {
8
+ "use strict";
9
+
10
+ return {
11
+ properties: {
12
+ operators: {
13
+ ignore: true
14
+ },
15
+
16
+ defaultOperator: {
17
+ ignore: true
18
+ }
19
+ }
20
+
21
+ };
22
+ });
@@ -0,0 +1,23 @@
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
+ sap.ui.define([
7
+ ], function () {
8
+ "use strict";
9
+
10
+ return {
11
+ properties: {
12
+ delegate: {
13
+ ignore: true
14
+ }
15
+ },
16
+ aggregations: {
17
+ items: {
18
+ ignore: true
19
+ }
20
+ }
21
+
22
+ };
23
+ });
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @param {object} [mSettings] Initial settings for the new control
36
36
  * @class A field help used in the <code>FieldHelp</code> association in <code>FieldBase</code> controls that shows a list for Boolean values.
37
37
  * @extends sap.ui.mdc.field.FieldHelpBase
38
- * @version 1.96.2
38
+ * @version 1.97.0
39
39
  * @constructor
40
40
  * @private
41
41
  * @ui5-restricted sap.ui.mdc.field.FieldBase