@openui5/sap.ui.mdc 1.99.0 → 1.100.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.
- package/THIRDPARTY.txt +2 -2
- package/package.json +4 -4
- package/src/sap/ui/mdc/.library +1 -1
- package/src/sap/ui/mdc/ActionToolbar.js +1 -1
- package/src/sap/ui/mdc/Chart.js +50 -32
- package/src/sap/ui/mdc/ChartDelegate.js +66 -21
- package/src/sap/ui/mdc/ChartRenderer.js +1 -1
- package/src/sap/ui/mdc/Control.js +11 -6
- package/src/sap/ui/mdc/Element.js +10 -6
- package/src/sap/ui/mdc/Field.js +19 -4
- package/src/sap/ui/mdc/FilterBar.js +1 -1
- package/src/sap/ui/mdc/FilterBarDelegate.js +26 -0
- package/src/sap/ui/mdc/FilterField.js +41 -3
- package/src/sap/ui/mdc/Link.js +3 -3
- package/src/sap/ui/mdc/MultiValueField.js +11 -1
- package/src/sap/ui/mdc/Table.js +73 -39
- package/src/sap/ui/mdc/TableDelegate.js +28 -1
- package/src/sap/ui/mdc/ValueHelp.js +8 -3
- package/src/sap/ui/mdc/ValueHelpDelegate.js +2 -1
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
- package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
- package/src/sap/ui/mdc/chart/ChartToolbar.js +13 -6
- package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +7 -7
- package/src/sap/ui/mdc/chart/DrillStackHandler.js +6 -6
- package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/condition/Condition.js +1 -1
- package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
- package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
- package/src/sap/ui/mdc/condition/FilterConverter.js +4 -2
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +133 -25
- package/src/sap/ui/mdc/condition/Operator.js +4 -2
- package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +78 -24
- package/src/sap/ui/mdc/condition/RangeOperator.js +5 -5
- package/src/sap/ui/mdc/designtime/Util.js +63 -0
- package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +23 -30
- package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +3 -0
- package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +3 -1
- package/src/sap/ui/mdc/designtime/table/Table.designtime.js +39 -52
- package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
- package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
- package/src/sap/ui/mdc/field/ConditionType.js +15 -4
- package/src/sap/ui/mdc/field/ConditionsType.js +2 -1
- package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
- package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
- package/src/sap/ui/mdc/field/DefineConditionPanel.js +16 -5
- package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +76 -19
- package/src/sap/ui/mdc/field/FieldBase.js +62 -11
- package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
- package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -1
- package/src/sap/ui/mdc/field/FieldInput.js +1 -1
- package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
- package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelp.js +4 -1
- package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +5 -4
- package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +5 -3
- package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +7 -7
- package/src/sap/ui/mdc/field/InParameter.js +1 -1
- package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
- package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
- package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
- package/src/sap/ui/mdc/field/OutParameter.js +1 -1
- package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
- package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
- package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
- package/src/sap/ui/mdc/field/content/ContentFactory.js +5 -1
- package/src/sap/ui/mdc/field/content/DateContent.js +27 -19
- package/src/sap/ui/mdc/field/content/DateTimeContent.js +0 -6
- package/src/sap/ui/mdc/filterbar/FilterBarBase.js +76 -208
- package/src/sap/ui/mdc/filterbar/PropertyHelper.js +27 -2
- package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +127 -57
- package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +2 -2
- package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +7 -3
- package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +52 -14
- package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +37 -19
- package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
- package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +48 -31
- package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +36 -0
- package/src/sap/ui/mdc/flexibility/ConditionFlex.js +47 -10
- package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +0 -1
- package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +2 -85
- package/src/sap/ui/mdc/library.js +11 -4
- package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
- package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
- package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
- package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
- package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
- package/src/sap/ui/mdc/link/Factory.js +1 -1
- package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
- package/src/sap/ui/mdc/link/LinkItem.js +1 -1
- package/src/sap/ui/mdc/link/Panel.js +1 -1
- package/src/sap/ui/mdc/link/PanelItem.js +1 -1
- package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
- package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
- package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
- package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
- package/src/sap/ui/mdc/messagebundle.properties +2 -1
- package/src/sap/ui/mdc/mixin/AdaptationMixin.js +20 -19
- package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -141
- package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -9
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +348 -0
- package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
- package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +70 -3
- package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +116 -20
- package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +2 -2
- package/src/sap/ui/mdc/odata/v4/TableDelegate.js +11 -33
- package/src/sap/ui/mdc/odata/v4/TypeUtil.js +2 -4
- package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
- package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +281 -263
- package/src/sap/ui/mdc/p13n/AdaptationProvider.js +1 -1
- package/src/sap/ui/mdc/p13n/Engine.js +21 -18
- package/src/sap/ui/mdc/p13n/FlexUtil.js +0 -5
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
- package/src/sap/ui/mdc/p13n/StateUtil.js +4 -0
- package/src/sap/ui/mdc/p13n/UIManager.js +16 -13
- package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +18 -14
- package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +6 -6
- package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +49 -27
- package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +4 -3
- package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +136 -0
- package/src/sap/ui/mdc/p13n/panels/GroupView.js +53 -28
- package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +54 -18
- package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +4 -7
- package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +1 -2
- package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +8 -4
- package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +1 -0
- package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +2 -2
- package/src/sap/ui/mdc/table/CreationRow.js +1 -1
- package/src/sap/ui/mdc/table/GridTableType.js +75 -27
- package/src/sap/ui/mdc/table/PropertyHelper.js +20 -13
- package/src/sap/ui/mdc/table/ResponsiveTableType.js +86 -13
- package/src/sap/ui/mdc/table/RowActionItem.js +119 -0
- package/src/sap/ui/mdc/table/RowSettings.js +42 -1
- package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +2 -2
- package/src/sap/ui/mdc/themes/base/Chart.less +2 -0
- package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +1 -0
- package/src/sap/ui/mdc/util/DateUtil.js +32 -7
- package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
- package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
- package/src/sap/ui/mdc/util/PropertyHelper.js +201 -76
- package/src/sap/ui/mdc/util/TypeUtil.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Dialog.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Popover.js +5 -3
- package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +4 -4
- package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/FixedList.js +13 -10
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +4 -10
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +6 -4
- package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +2 -0
- package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +0 -1
- package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +8 -6
- package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +0 -150
- package/src/sap/ui/mdc/p13n/panels/BasePanel.js +0 -721
- package/src/sap/ui/mdc/p13n/panels/ListView.js +0 -408
- package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -92
- package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -150
- package/src/sap/ui/mdc/ui/Container.js +0 -240
- package/src/sap/ui/mdc/ui/ContainerItem.js +0 -79
|
@@ -57,23 +57,33 @@ sap.ui.define([
|
|
|
57
57
|
*
|
|
58
58
|
* Metadata information:
|
|
59
59
|
* - type
|
|
60
|
-
*
|
|
60
|
+
* Can be any type that is also allowed for a control property, plus "PropertyReference" for references to simple properties.
|
|
61
61
|
* Complex types can be specified with an object that describes sub-attributes.
|
|
62
62
|
* Examples: "string", "string[]", "sap.ui.mdc.MyEnum", "any", "PropertyReference",
|
|
63
63
|
* {
|
|
64
|
-
* subAttribute: {
|
|
64
|
+
* subAttribute: {
|
|
65
|
+
* type: "string",
|
|
66
|
+
* default: {
|
|
67
|
+
* value: "myDefaultValue"
|
|
68
|
+
* }
|
|
69
|
+
* }
|
|
65
70
|
* ...
|
|
66
71
|
* }
|
|
67
72
|
* - mandatory (optional, default=false, only for top-level attribute)
|
|
68
73
|
* Whether this attribute must be provided.
|
|
69
74
|
* - allowedForComplexProperty (optional, default=false)
|
|
70
|
-
*
|
|
75
|
+
* Whether it is allowed to provide this attribute for a complex property.
|
|
71
76
|
* - valueForComplexProperty (optional):
|
|
72
77
|
* For a complex property, this defines the value of an attribute that is not allowed for complex properties.
|
|
73
|
-
* -
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
78
|
+
* - default: { (optional, type: Object) - specifies the default value property of the attribute
|
|
79
|
+
* - value
|
|
80
|
+
* This can either be a value, or a reference to another attribute in the form "attribute:x", with x being the name of the other
|
|
81
|
+
* attribute. The default value of this attribute is then the value of the other attribute. This works only one level deep.
|
|
82
|
+
* Examples: "attribute:name", "attribute:attributeName.subAttributeName"
|
|
83
|
+
* - ignoreIfNull (default=false)
|
|
84
|
+
* Prevents setting the default value for this attribute if set to <code>true</code>.
|
|
85
|
+
* Defines the entire attribute as <code>null</code> if the attribute value itself is from type <code>null</code>.
|
|
86
|
+
* }
|
|
77
87
|
*/
|
|
78
88
|
var mAttributeMetadata = { // TODO: "allowedForComplexProperty" propagation to children + reserved reference attribute, e.g. unit -> unitProperty
|
|
79
89
|
// Common
|
|
@@ -89,7 +99,9 @@ sap.ui.define([
|
|
|
89
99
|
},
|
|
90
100
|
visible: { // Whether the property is visible in the "Items" personalization.
|
|
91
101
|
type: "boolean",
|
|
92
|
-
|
|
102
|
+
"default": {
|
|
103
|
+
value: true
|
|
104
|
+
},
|
|
93
105
|
allowedForComplexProperty: true
|
|
94
106
|
},
|
|
95
107
|
path: { // The technical path for a data source property.
|
|
@@ -115,12 +127,16 @@ sap.ui.define([
|
|
|
115
127
|
// TODO: What's the meaning? type = boolean? Is used only once in FilterBarBase: oProperty.maxConditions !== -1
|
|
116
128
|
maxConditions: {
|
|
117
129
|
type: "int",
|
|
118
|
-
|
|
130
|
+
"default": {
|
|
131
|
+
value: -1
|
|
132
|
+
},
|
|
119
133
|
valueForComplexProperty: null
|
|
120
134
|
},
|
|
121
135
|
caseSensitive: {
|
|
122
136
|
type: "boolean",
|
|
123
|
-
|
|
137
|
+
"default": {
|
|
138
|
+
value: true
|
|
139
|
+
}
|
|
124
140
|
},
|
|
125
141
|
group: { // Key of the group the property is inside. Used to visually group properties in personalization dialogs.
|
|
126
142
|
type: "string",
|
|
@@ -134,12 +150,16 @@ sap.ui.define([
|
|
|
134
150
|
// Table, Chart, P13N
|
|
135
151
|
filterable: { // Whether it is possible to filter by this property.
|
|
136
152
|
type: "boolean",
|
|
137
|
-
|
|
153
|
+
"default": {
|
|
154
|
+
value: true
|
|
155
|
+
},
|
|
138
156
|
valueForComplexProperty: false
|
|
139
157
|
},
|
|
140
158
|
sortable: { // Whether it is possible to sort by this property.
|
|
141
159
|
type: "boolean",
|
|
142
|
-
|
|
160
|
+
"default": {
|
|
161
|
+
value: true
|
|
162
|
+
},
|
|
143
163
|
valueForComplexProperty: false
|
|
144
164
|
},
|
|
145
165
|
|
|
@@ -167,7 +187,59 @@ sap.ui.define([
|
|
|
167
187
|
allowedForComplexProperty: true
|
|
168
188
|
},
|
|
169
189
|
visualSettings: { // This object contains all relevant properties for visual adjustments
|
|
170
|
-
type:
|
|
190
|
+
type: {
|
|
191
|
+
widthCalculation: { // This object contains all properties and their default values for the column width calculation
|
|
192
|
+
type: {
|
|
193
|
+
minWidth: {
|
|
194
|
+
type: "int",
|
|
195
|
+
"default": {
|
|
196
|
+
value: 2
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
maxWidth: {
|
|
200
|
+
type: "int",
|
|
201
|
+
"default": {
|
|
202
|
+
value: 19
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
defaultWidth: {
|
|
206
|
+
type: "int",
|
|
207
|
+
"default": {
|
|
208
|
+
value: 8
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
gap: {
|
|
212
|
+
type: "float",
|
|
213
|
+
"default": {
|
|
214
|
+
value: 0
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
includeLabel: {
|
|
218
|
+
type: "boolean",
|
|
219
|
+
"default": {
|
|
220
|
+
value: true
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
verticalArrangement: {
|
|
224
|
+
type: "boolean",
|
|
225
|
+
"default": {
|
|
226
|
+
value: false
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
excludeProperties: {
|
|
230
|
+
type: "PropertyReference[]"
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
"default": {
|
|
234
|
+
value: {},
|
|
235
|
+
ignoreIfNull: true
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
"default": {
|
|
240
|
+
value: {}
|
|
241
|
+
},
|
|
242
|
+
allowedForComplexProperty: true
|
|
171
243
|
},
|
|
172
244
|
|
|
173
245
|
// Chart
|
|
@@ -382,7 +454,7 @@ sap.ui.define([
|
|
|
382
454
|
}
|
|
383
455
|
|
|
384
456
|
if (vValue == null) {
|
|
385
|
-
setAttributeDefault(oPropertySection, mAttribute, sPath, sAttribute, aDependenciesForDefaults);
|
|
457
|
+
setAttributeDefault(oPropertySection, mAttribute, sPath, sAttribute, aDependenciesForDefaults, vValue);
|
|
386
458
|
}
|
|
387
459
|
|
|
388
460
|
if (typeof mAttribute.type === "object") {
|
|
@@ -415,21 +487,30 @@ sap.ui.define([
|
|
|
415
487
|
});
|
|
416
488
|
}
|
|
417
489
|
|
|
418
|
-
function setAttributeDefault(oPropertySection, mAttributeSection, sSection, sAttribute, aDependenciesForDefaults) {
|
|
419
|
-
if ("
|
|
420
|
-
|
|
490
|
+
function setAttributeDefault(oPropertySection, mAttributeSection, sSection, sAttribute, aDependenciesForDefaults, vValue) {
|
|
491
|
+
if ("default" in mAttributeSection) {
|
|
492
|
+
var oDefault = mAttributeSection.default;
|
|
493
|
+
|
|
494
|
+
// ignoreIfNull will applies only if a default value for the attribute has been specified in its metadata
|
|
495
|
+
if (vValue === null && oDefault.ignoreIfNull && oDefault.value !== undefined) {
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
if (oDefault.value === undefined) {
|
|
500
|
+
oPropertySection[sAttribute] = getTypeDefault(mAttributeSection.type);
|
|
501
|
+
} else if (typeof oDefault.value === "string" && oDefault.value.startsWith("attribute:")) {
|
|
421
502
|
// Attributes that reference another attribute for the default value need to be processed in a second step.
|
|
422
503
|
// This is only supported 1 level deep.
|
|
423
504
|
aDependenciesForDefaults.push({
|
|
424
|
-
source:
|
|
505
|
+
source: oDefault.value.substring(oDefault.value.indexOf(":") + 1),
|
|
425
506
|
targetPath: sSection,
|
|
426
507
|
targetAttribute: sAttribute,
|
|
427
508
|
targetType: mAttributeSection.type
|
|
428
509
|
});
|
|
429
|
-
} else if (typeof
|
|
430
|
-
oPropertySection[sAttribute] = merge({},
|
|
510
|
+
} else if (typeof oDefault.value === "object") {
|
|
511
|
+
oPropertySection[sAttribute] = merge({}, oDefault.value);
|
|
431
512
|
} else {
|
|
432
|
-
oPropertySection[sAttribute] =
|
|
513
|
+
oPropertySection[sAttribute] = oDefault.value;
|
|
433
514
|
}
|
|
434
515
|
} else {
|
|
435
516
|
oPropertySection[sAttribute] = getTypeDefault(mAttributeSection.type);
|
|
@@ -453,16 +534,33 @@ sap.ui.define([
|
|
|
453
534
|
}
|
|
454
535
|
}
|
|
455
536
|
|
|
537
|
+
function finalizeAttributeMetadata(mAttributeSection, sPath, bParentAllowedForComplexProperty) {
|
|
538
|
+
for (var sAttribute in mAttributeSection) {
|
|
539
|
+
var mAttribute = mAttributeSection[sAttribute];
|
|
540
|
+
var sAttributePath = sPath == null ? sAttribute : sPath + "." + sAttribute;
|
|
541
|
+
|
|
542
|
+
if (sPath === "extension") {
|
|
543
|
+
finalizeAttributeMetadata(mAttribute.type, sAttributePath);
|
|
544
|
+
continue;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
if (bParentAllowedForComplexProperty && mAttribute.allowedForComplexProperty !== false) {
|
|
548
|
+
mAttribute.allowedForComplexProperty = true;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
if (typeof mAttribute.type === "object") {
|
|
552
|
+
finalizeAttributeMetadata(mAttribute.type, sAttributePath, mAttribute.allowedForComplexProperty);
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
|
|
456
557
|
function mergeExtensionsIntoProperties(aProperties, mExtensions) {
|
|
457
558
|
var iMatchingExtensions = 0;
|
|
458
|
-
|
|
459
559
|
mExtensions = mExtensions || {};
|
|
460
|
-
|
|
461
560
|
for (var i = 0; i < aProperties.length; i++) {
|
|
462
561
|
if ("extension" in aProperties[i]) {
|
|
463
562
|
throwInvalidPropertyError("Property contains invalid attribute 'extension'.", aProperties[i]);
|
|
464
563
|
}
|
|
465
|
-
|
|
466
564
|
if (aProperties[i].name in mExtensions) {
|
|
467
565
|
aProperties[i].extension = mExtensions[aProperties[i].name];
|
|
468
566
|
iMatchingExtensions++;
|
|
@@ -470,18 +568,73 @@ sap.ui.define([
|
|
|
470
568
|
aProperties[i].extension = {};
|
|
471
569
|
}
|
|
472
570
|
}
|
|
473
|
-
|
|
474
571
|
if (iMatchingExtensions !== Object.keys(mExtensions).length) {
|
|
475
572
|
throw new Error("At least one property extension does not point to an existing property.");
|
|
476
573
|
}
|
|
477
574
|
}
|
|
478
575
|
|
|
576
|
+
function _createPrivate(oInstance, oParent, aProperties, mExtensions, aAllowedAttributes, mExtensionAttributeMetadata) {
|
|
577
|
+
var mPrivate = {};
|
|
578
|
+
var mInstanceAttributeMetadata = aCommonAttributes.concat(aAllowedAttributes || []).reduce(function(mMetadata, sAttribute) {
|
|
579
|
+
if (sAttribute in mAttributeMetadata) {
|
|
580
|
+
mMetadata[sAttribute] = mAttributeMetadata[sAttribute];
|
|
581
|
+
}
|
|
582
|
+
return mMetadata;
|
|
583
|
+
}, Object.assign({}, oInstance._mExperimentalAdditionalAttributes));
|
|
584
|
+
if (mExtensionAttributeMetadata) {
|
|
585
|
+
mPrivate.mAttributeMetadata = Object.assign({
|
|
586
|
+
extension: {
|
|
587
|
+
type: mExtensionAttributeMetadata,
|
|
588
|
+
mandatory: true,
|
|
589
|
+
allowedForComplexProperty: true
|
|
590
|
+
}
|
|
591
|
+
}, mInstanceAttributeMetadata);
|
|
592
|
+
mPrivate.aMandatoryExtensionAttributes = Object.keys(mExtensionAttributeMetadata).filter(function(sAttribute) {
|
|
593
|
+
return mExtensionAttributeMetadata[sAttribute].mandatory;
|
|
594
|
+
});
|
|
595
|
+
} else {
|
|
596
|
+
mPrivate.mAttributeMetadata = mInstanceAttributeMetadata;
|
|
597
|
+
mPrivate.aMandatoryExtensionAttributes = [];
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
finalizeAttributeMetadata(mPrivate.mAttributeMetadata);
|
|
601
|
+
|
|
602
|
+
mPrivate.aMandatoryAttributes = Object.keys(mPrivate.mAttributeMetadata).filter(function(sAttribute) {
|
|
603
|
+
return mPrivate.mAttributeMetadata[sAttribute].mandatory;
|
|
604
|
+
});
|
|
605
|
+
|
|
606
|
+
var aClonedProperties = merge([], aProperties);
|
|
607
|
+
var mProperties = createPropertyMap(aClonedProperties);
|
|
608
|
+
if (mExtensionAttributeMetadata) {
|
|
609
|
+
mergeExtensionsIntoProperties(aClonedProperties, merge({}, mExtensions));
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
var oPreviousPrivate = _private.get(oInstance);
|
|
613
|
+
var aPreviousProperties = oPreviousPrivate && oPreviousPrivate.aRawProperties;
|
|
614
|
+
_private.set(oInstance, mPrivate);
|
|
615
|
+
oInstance.validateProperties(aClonedProperties, aPreviousProperties);
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
mPrivate.oParent = oParent || null;
|
|
619
|
+
mPrivate.aRawProperties = aProperties;
|
|
620
|
+
mPrivate.aProperties = aClonedProperties;
|
|
621
|
+
mPrivate.mProperties = mProperties;
|
|
622
|
+
mPrivate._ = {
|
|
623
|
+
mExtensions: mExtensions,
|
|
624
|
+
aAllowedAttributes: aAllowedAttributes,
|
|
625
|
+
mExtensionAttributeMetadata: mExtensionAttributeMetadata
|
|
626
|
+
};
|
|
627
|
+
|
|
628
|
+
enrichProperties(oInstance, aClonedProperties);
|
|
629
|
+
prepareProperties(oInstance, aClonedProperties);
|
|
630
|
+
}
|
|
631
|
+
|
|
479
632
|
/**
|
|
480
633
|
* Constructor for a new helper for the given properties.
|
|
481
634
|
*
|
|
482
635
|
* @param {object[]} aProperties
|
|
483
636
|
* The properties to process in this helper
|
|
484
|
-
* @param {
|
|
637
|
+
* @param {Object<string, object>} [mExtensions]
|
|
485
638
|
* Key-value map, where the key is the name of the property and the value is the extension containing mode-specific information.
|
|
486
639
|
* The extension of a property is stored in a reserved <code>extension</code> attribute and its attributes must be specified with
|
|
487
640
|
* <code>mExtensionAttributeMetadata</code>.
|
|
@@ -502,7 +655,7 @@ sap.ui.define([
|
|
|
502
655
|
* @extends sap.ui.base.Object
|
|
503
656
|
*
|
|
504
657
|
* @author SAP SE
|
|
505
|
-
* @version 1.
|
|
658
|
+
* @version 1.100.0
|
|
506
659
|
*
|
|
507
660
|
* @private
|
|
508
661
|
* @experimental
|
|
@@ -525,7 +678,6 @@ sap.ui.define([
|
|
|
525
678
|
throw new Error("Property extensions must be a plain object.");
|
|
526
679
|
}
|
|
527
680
|
}
|
|
528
|
-
|
|
529
681
|
if (oParent && !BaseObject.isA(oParent, "sap.ui.base.ManagedObject")) {
|
|
530
682
|
throw new Error("The type of the parent is invalid.");
|
|
531
683
|
}
|
|
@@ -538,50 +690,7 @@ sap.ui.define([
|
|
|
538
690
|
}.bind(this));
|
|
539
691
|
}
|
|
540
692
|
|
|
541
|
-
|
|
542
|
-
var mInstanceAttributeMetadata = aCommonAttributes.concat(aAllowedAttributes || []).reduce(function(mMetadata, sAttribute) {
|
|
543
|
-
if (sAttribute in mAttributeMetadata) {
|
|
544
|
-
mMetadata[sAttribute] = mAttributeMetadata[sAttribute];
|
|
545
|
-
}
|
|
546
|
-
return mMetadata;
|
|
547
|
-
}, Object.assign({}, this._mExperimentalAdditionalAttributes));
|
|
548
|
-
|
|
549
|
-
if (mExtensionAttributeMetadata) {
|
|
550
|
-
mPrivate.mAttributeMetadata = Object.assign({
|
|
551
|
-
extension: {
|
|
552
|
-
type: mExtensionAttributeMetadata,
|
|
553
|
-
mandatory: true,
|
|
554
|
-
allowedForComplexProperty: true
|
|
555
|
-
}
|
|
556
|
-
}, mInstanceAttributeMetadata);
|
|
557
|
-
mPrivate.aMandatoryExtensionAttributes = Object.keys(mExtensionAttributeMetadata).filter(function(sAttribute) {
|
|
558
|
-
return mExtensionAttributeMetadata[sAttribute].mandatory;
|
|
559
|
-
});
|
|
560
|
-
} else {
|
|
561
|
-
mPrivate.mAttributeMetadata = mInstanceAttributeMetadata;
|
|
562
|
-
mPrivate.aMandatoryExtensionAttributes = [];
|
|
563
|
-
}
|
|
564
|
-
|
|
565
|
-
mPrivate.aMandatoryAttributes = Object.keys(mPrivate.mAttributeMetadata).filter(function(sAttribute) {
|
|
566
|
-
return mPrivate.mAttributeMetadata[sAttribute].mandatory;
|
|
567
|
-
});
|
|
568
|
-
|
|
569
|
-
var aClonedProperties = merge([], aProperties);
|
|
570
|
-
var mProperties = createPropertyMap(aClonedProperties);
|
|
571
|
-
|
|
572
|
-
if (mExtensionAttributeMetadata) {
|
|
573
|
-
mergeExtensionsIntoProperties(aClonedProperties, merge({}, mExtensions));
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
_private.set(this, mPrivate);
|
|
577
|
-
this.validateProperties(aClonedProperties);
|
|
578
|
-
|
|
579
|
-
mPrivate.oParent = oParent || null;
|
|
580
|
-
mPrivate.aProperties = aClonedProperties;
|
|
581
|
-
mPrivate.mProperties = mProperties;
|
|
582
|
-
|
|
583
|
-
enrichProperties(this, aClonedProperties);
|
|
584
|
-
prepareProperties(this, aClonedProperties);
|
|
693
|
+
_createPrivate(this, oParent, aProperties, mExtensions, aAllowedAttributes, mExtensionAttributeMetadata);
|
|
585
694
|
}
|
|
586
695
|
});
|
|
587
696
|
|
|
@@ -593,14 +702,15 @@ sap.ui.define([
|
|
|
593
702
|
* any method that tries to access them might not work as expected.
|
|
594
703
|
*
|
|
595
704
|
* @param {object[]} aProperties The properties to validate
|
|
705
|
+
* @param {object[]} [aPreviousProperties] The previous set of properties to validate against
|
|
596
706
|
* @throws {Error} If the properties are invalid
|
|
597
707
|
* @protected
|
|
598
708
|
*/
|
|
599
|
-
PropertyHelper.prototype.validateProperties = function(aProperties) {
|
|
709
|
+
PropertyHelper.prototype.validateProperties = function(aProperties, aPreviousProperties) {
|
|
600
710
|
var oUniquePropertiesSet = new Set();
|
|
601
711
|
|
|
602
712
|
for (var i = 0; i < aProperties.length; i++) {
|
|
603
|
-
this.validateProperty(aProperties[i], aProperties);
|
|
713
|
+
this.validateProperty(aProperties[i], aProperties, aPreviousProperties);
|
|
604
714
|
oUniquePropertiesSet.add(aProperties[i].name);
|
|
605
715
|
}
|
|
606
716
|
|
|
@@ -618,10 +728,11 @@ sap.ui.define([
|
|
|
618
728
|
*
|
|
619
729
|
* @param {object} oProperty The property to validate
|
|
620
730
|
* @param {object[]} aProperties The entire array properties
|
|
731
|
+
* @param {object[]} [aPreviousProperties] The previous set of properties to validate against
|
|
621
732
|
* @throws {Error} If the property is invalid
|
|
622
733
|
* @protected
|
|
623
734
|
*/
|
|
624
|
-
PropertyHelper.prototype.validateProperty = function(oProperty, aProperties) {
|
|
735
|
+
PropertyHelper.prototype.validateProperty = function(oProperty, aProperties, aPreviousProperties) {
|
|
625
736
|
if (!isPlainObject(oProperty)) {
|
|
626
737
|
throwInvalidPropertyError("Property info must be a plain object.", oProperty);
|
|
627
738
|
}
|
|
@@ -641,7 +752,6 @@ sap.ui.define([
|
|
|
641
752
|
throwInvalidPropertyError("Property does not contain mandatory attribute '" + sMandatoryAttribute + "'.", oProperty);
|
|
642
753
|
}
|
|
643
754
|
});
|
|
644
|
-
|
|
645
755
|
_private.get(this).aMandatoryExtensionAttributes.forEach(function(sMandatoryAttribute) {
|
|
646
756
|
if (!(sMandatoryAttribute in oProperty.extension)) {
|
|
647
757
|
reportInvalidProperty("Property does not contain mandatory attribute 'extension." + sMandatoryAttribute + "'.", oProperty);
|
|
@@ -749,6 +859,21 @@ sap.ui.define([
|
|
|
749
859
|
return oPrivate ? oPrivate.oParent : null;
|
|
750
860
|
};
|
|
751
861
|
|
|
862
|
+
|
|
863
|
+
/**
|
|
864
|
+
* Sets all properties known to this helper.
|
|
865
|
+
*
|
|
866
|
+
* @param {object[]} aProperties The properties to process in this helper
|
|
867
|
+
* @returns {sap.ui.mdc.util.PropertyHelper} returns propertyhelper instance
|
|
868
|
+
* @public
|
|
869
|
+
* @since 1.100.0
|
|
870
|
+
*/
|
|
871
|
+
PropertyHelper.prototype.setProperties = function (aProperties) {
|
|
872
|
+
var mPrivate = _private.get(this);
|
|
873
|
+
_createPrivate(this, mPrivate.oParent, aProperties, mPrivate._.mExtensions, mPrivate._.aAllowedAttributes, mPrivate._.mExtensionAttributeMetadata);
|
|
874
|
+
return this;
|
|
875
|
+
};
|
|
876
|
+
|
|
752
877
|
/**
|
|
753
878
|
* Gets all properties known to this helper.
|
|
754
879
|
*
|
|
@@ -60,7 +60,7 @@ sap.ui.define([
|
|
|
60
60
|
*
|
|
61
61
|
* As default <code>string</code> is returned.
|
|
62
62
|
*
|
|
63
|
-
* @param {string}
|
|
63
|
+
* @param {string} sType Given type string or sap.ui.model.SimpleType
|
|
64
64
|
* @param {object} oFormatOptions Used <code>FormatOptions</code>
|
|
65
65
|
* @param {object} oConstraints Used <code>Constraints</code>
|
|
66
66
|
* @returns {sap.ui.mdc.enum.BaseType} output <code>Date</code>, <code>DateTime</code> or <code>Time</code>...
|
|
@@ -37,7 +37,7 @@ sap.ui.define([
|
|
|
37
37
|
* @param {object} [mSettings] Initial settings for the new control
|
|
38
38
|
* @class Container for the <code>sap.ui.mdc.ValueHelp</code> element showing a dialog.
|
|
39
39
|
* @extends sap.ui.mdc.valuehelp.base.Container
|
|
40
|
-
* @version 1.
|
|
40
|
+
* @version 1.100.0
|
|
41
41
|
* @constructor
|
|
42
42
|
* @abstract
|
|
43
43
|
* @private
|
|
@@ -7,11 +7,13 @@
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
'sap/ui/mdc/valuehelp/base/Container',
|
|
9
9
|
'sap/ui/mdc/util/loadModules',
|
|
10
|
-
"sap/ui/dom/units/Rem"
|
|
10
|
+
"sap/ui/dom/units/Rem",
|
|
11
|
+
"sap/ui/thirdparty/jquery"
|
|
11
12
|
], function(
|
|
12
13
|
Container,
|
|
13
14
|
loadModules,
|
|
14
|
-
Rem
|
|
15
|
+
Rem,
|
|
16
|
+
jQuery
|
|
15
17
|
) {
|
|
16
18
|
"use strict";
|
|
17
19
|
|
|
@@ -24,7 +26,7 @@ sap.ui.define([
|
|
|
24
26
|
* @param {object} [mSettings] Initial settings for the new control
|
|
25
27
|
* @class Container for the <code>sap.ui.mdc.ValueHelp</code> element showing a popover.
|
|
26
28
|
* @extends sap.ui.mdc.valuehelp.base.Container
|
|
27
|
-
* @version 1.
|
|
29
|
+
* @version 1.100.0
|
|
28
30
|
* @constructor
|
|
29
31
|
* @abstract
|
|
30
32
|
* @private
|
|
@@ -24,7 +24,7 @@ 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.
|
|
27
|
+
* @version 1.100.0
|
|
28
28
|
* @constructor
|
|
29
29
|
* @abstract
|
|
30
30
|
* @private
|
|
@@ -32,7 +32,7 @@ sap.ui.define([
|
|
|
32
32
|
* @param {object} [mSettings] Initial settings for the new control
|
|
33
33
|
* @class Content for the <code>sap.ui.mdc.valuehelp.base.Container</code> element.
|
|
34
34
|
* @extends sap.ui.core.Element
|
|
35
|
-
* @version 1.
|
|
35
|
+
* @version 1.100.0
|
|
36
36
|
* @constructor
|
|
37
37
|
* @abstract
|
|
38
38
|
* @private
|
|
@@ -20,7 +20,7 @@ sap.ui.define([
|
|
|
20
20
|
* @param {object} [mSettings] Initial settings for the new control
|
|
21
21
|
* @class Content for the <code>sap.ui.mdc.valuehelp.content.Dialog</code> element.
|
|
22
22
|
* @extends sap.ui.core.Control
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.100.0
|
|
24
24
|
* @constructor
|
|
25
25
|
* @abstract
|
|
26
26
|
* @private
|
|
@@ -34,7 +34,7 @@ sap.ui.define([
|
|
|
34
34
|
* @param {object} [mSettings] Initial settings for the new control
|
|
35
35
|
* @class Content for the <code>sap.ui.mdc.valuehelp.base.Container</code> element.
|
|
36
36
|
* @extends sap.ui.mdc.valuehelp.base.ListContent
|
|
37
|
-
* @version 1.
|
|
37
|
+
* @version 1.100.0
|
|
38
38
|
* @constructor
|
|
39
39
|
* @abstract
|
|
40
40
|
* @private
|
|
@@ -116,14 +116,14 @@ sap.ui.define([
|
|
|
116
116
|
* FilterBar
|
|
117
117
|
*/
|
|
118
118
|
filterBar: {
|
|
119
|
-
type: "sap.ui.mdc.filterbar.
|
|
119
|
+
type: "sap.ui.mdc.filterbar.vh.FilterBar",
|
|
120
120
|
multiple: false
|
|
121
121
|
},
|
|
122
122
|
/**
|
|
123
123
|
* Default FilterBar, ceated internally if none given.
|
|
124
124
|
*/
|
|
125
125
|
_defaultFilterBar: {
|
|
126
|
-
type: "sap.ui.mdc.filterbar.
|
|
126
|
+
type: "sap.ui.mdc.filterbar.vh.FilterBar",
|
|
127
127
|
multiple: false,
|
|
128
128
|
visibility: "hidden"
|
|
129
129
|
}
|
|
@@ -573,7 +573,7 @@ sap.ui.define([
|
|
|
573
573
|
var oListBinding = this._getListBinding();
|
|
574
574
|
var oDelegate = this._getValueHelpDelegate();
|
|
575
575
|
var oDelegatePayload = this._getValueHelpDelegatePayload();
|
|
576
|
-
bSearchSupported = oDelegate && oDelegate.isSearchSupported(oDelegatePayload, oListBinding);
|
|
576
|
+
bSearchSupported = oDelegate && oDelegate.isSearchSupported(oDelegatePayload, this, oListBinding);
|
|
577
577
|
}
|
|
578
578
|
|
|
579
579
|
return bSearchSupported;
|
|
@@ -20,7 +20,7 @@ sap.ui.define([
|
|
|
20
20
|
* @param {object} [mSettings] Initial settings for the new control
|
|
21
21
|
* @class Content for the <code>sap.ui.mdc.valuehelp.base.Container</code> element.
|
|
22
22
|
* @extends sap.ui.mdc.valuehelp.base.Content
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.100.0
|
|
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 Content for the <code>sap.ui.mdc.valuehelp.base.Container</code> element to provide a value help for boolean fields.
|
|
24
24
|
* @extends sap.ui.mdc.valuehelp.content.FixedList
|
|
25
|
-
* @version 1.
|
|
25
|
+
* @version 1.100.0
|
|
26
26
|
* @constructor
|
|
27
27
|
* @abstract
|
|
28
28
|
* @private
|
|
@@ -25,7 +25,7 @@ sap.ui.define([
|
|
|
25
25
|
* @param {object} [mSettings] Initial settings for the new control
|
|
26
26
|
* @class Content for the <code>sap.ui.mdc.valuehelp.base.Container</code> element showing a condition panel.
|
|
27
27
|
* @extends sap.ui.mdc.valuehelp.base.Content
|
|
28
|
-
* @version 1.
|
|
28
|
+
* @version 1.100.0
|
|
29
29
|
* @constructor
|
|
30
30
|
* @abstract
|
|
31
31
|
* @private
|
|
@@ -8,14 +8,14 @@ sap.ui.define([
|
|
|
8
8
|
"sap/ui/mdc/valuehelp/base/ListContent",
|
|
9
9
|
"sap/ui/mdc/util/loadModules",
|
|
10
10
|
"sap/ui/mdc/enum/ConditionValidated",
|
|
11
|
-
"sap/ui/
|
|
12
|
-
"sap/ui/
|
|
11
|
+
"sap/ui/mdc/enum/SelectType",
|
|
12
|
+
"sap/ui/model/ParseException"
|
|
13
13
|
], function(
|
|
14
14
|
ListContent,
|
|
15
15
|
loadModules,
|
|
16
16
|
ConditionValidated,
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
SelectType,
|
|
18
|
+
ParseException
|
|
19
19
|
) {
|
|
20
20
|
"use strict";
|
|
21
21
|
|
|
@@ -25,8 +25,8 @@ sap.ui.define([
|
|
|
25
25
|
* @param {string} [sId] ID for the new control, generated automatically if no ID is given
|
|
26
26
|
* @param {object} [mSettings] Initial settings for the new control
|
|
27
27
|
* @class Content for the <code>sap.ui.mdc.valuehelp.base.Container</code> element showing a list with fix values.
|
|
28
|
-
* @extends sap.ui.mdc.valuehelp.base.
|
|
29
|
-
* @version 1.
|
|
28
|
+
* @extends sap.ui.mdc.valuehelp.base.ListContent
|
|
29
|
+
* @version 1.100.0
|
|
30
30
|
* @constructor
|
|
31
31
|
* @abstract
|
|
32
32
|
* @private
|
|
@@ -118,7 +118,8 @@ sap.ui.define([
|
|
|
118
118
|
"sap/m/library",
|
|
119
119
|
"sap/ui/model/Filter",
|
|
120
120
|
"sap/ui/model/Sorter",
|
|
121
|
-
"sap/ui/model/base/ManagedObjectModel"
|
|
121
|
+
"sap/ui/model/base/ManagedObjectModel",
|
|
122
|
+
"sap/base/strings/whitespaceReplacer"
|
|
122
123
|
]).then(function (aModules) {
|
|
123
124
|
var List = aModules[0];
|
|
124
125
|
var DisplayListItem = aModules[1];
|
|
@@ -126,13 +127,14 @@ sap.ui.define([
|
|
|
126
127
|
var Filter = aModules[3];
|
|
127
128
|
var Sorter = aModules[4];
|
|
128
129
|
var ManagedObjectModel = aModules[5];
|
|
130
|
+
var whitespaceReplacer = aModules[6];
|
|
129
131
|
|
|
130
132
|
this._oManagedObjectModel = new ManagedObjectModel(this);
|
|
131
133
|
|
|
132
134
|
var oItemTemplate = new DisplayListItem(this.getId() + "-item", {
|
|
133
135
|
type: mLibrary.ListType.Active,
|
|
134
|
-
label: "
|
|
135
|
-
value: "
|
|
136
|
+
label: {path: "$help>text", formatter: whitespaceReplacer},
|
|
137
|
+
value: {path: "$help>additionalText", formatter: whitespaceReplacer},
|
|
136
138
|
valueTextDirection: "{$help>textDirection}"
|
|
137
139
|
}).addStyleClass("sapMComboBoxNonInteractiveItem"); // to add focus outline to selected items
|
|
138
140
|
|
|
@@ -445,6 +447,7 @@ sap.ui.define([
|
|
|
445
447
|
if (oItem !== oSelectedItem || (bUseFirstMatch && !bLeaveFocus)) {
|
|
446
448
|
var oOriginalItem = _getOriginalItem.call(this, oItem);
|
|
447
449
|
var vKey = _getKey.call(this, oOriginalItem);
|
|
450
|
+
var sDescription = oOriginalItem.getText();
|
|
448
451
|
|
|
449
452
|
if (this.getParent().isOpen()) {
|
|
450
453
|
oList.scrollToIndex(iSelectedIndex); // only possible if open
|
|
@@ -453,7 +456,7 @@ sap.ui.define([
|
|
|
453
456
|
}
|
|
454
457
|
|
|
455
458
|
oItem.setSelected(true);
|
|
456
|
-
var oCondition = _setConditions.call(this, vKey,
|
|
459
|
+
var oCondition = _setConditions.call(this, vKey, sDescription);
|
|
457
460
|
this.fireNavigated({condition: oCondition, itemId: oItem.getId(), leaveFocus: false});
|
|
458
461
|
} else if (bLeaveFocus) {
|
|
459
462
|
this.fireNavigated({condition: undefined, itemId: undefined, leaveFocus: bLeaveFocus});
|