@openui5/sap.ui.mdc 1.141.2 → 1.142.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/README.md +2 -2
- package/REUSE.toml +38 -0
- package/THIRDPARTY.txt +34 -1
- 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 +1 -1
- package/src/sap/ui/mdc/Control.js +1 -1
- package/src/sap/ui/mdc/DefaultTypeMap.js +1 -1
- package/src/sap/ui/mdc/Element.js +1 -1
- package/src/sap/ui/mdc/Field.js +26 -3
- package/src/sap/ui/mdc/FilterBar.js +1 -1
- package/src/sap/ui/mdc/FilterField.js +2 -2
- package/src/sap/ui/mdc/Geomap.js +571 -0
- package/src/sap/ui/mdc/GeomapDelegate.js +285 -0
- package/src/sap/ui/mdc/GeomapRenderer.js +76 -0
- package/src/sap/ui/mdc/Link.js +1 -1
- package/src/sap/ui/mdc/MultiValueField.js +3 -3
- package/src/sap/ui/mdc/Table.js +117 -101
- package/src/sap/ui/mdc/TableDelegate.js +3 -2
- package/src/sap/ui/mdc/ValueHelp.js +1 -1
- package/src/sap/ui/mdc/ValueHelpDelegate.js +4 -1
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
- package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +1 -1
- package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
- package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/chart/ToolbarControlFactory.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 +1 -1
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +1 -1
- package/src/sap/ui/mdc/condition/Operator.js +1 -1
- package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
- package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
- package/src/sap/ui/mdc/designtime/geomap/Geomap.designtime.js +23 -0
- package/src/sap/ui/mdc/enums/GeomapControlPosition.js +46 -0
- package/src/sap/ui/mdc/field/ConditionType.js +1 -1
- package/src/sap/ui/mdc/field/ConditionTypeMixin.js +1 -1
- package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
- package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
- package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
- package/src/sap/ui/mdc/field/FieldBase.js +45 -20
- package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -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/FieldSelect.js +1 -1
- package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
- package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +22 -0
- package/src/sap/ui/mdc/field/MultiValueFieldItem.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/filterbar/FilterBarBase.js +35 -1
- package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +3 -0
- package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
- package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
- package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
- 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 +1 -1
- package/src/sap/ui/mdc/flexibility/SortFlex.js +12 -5
- package/src/sap/ui/mdc/flexibility/Table.flexibility.js +17 -11
- package/src/sap/ui/mdc/flexibility/actiontoolbar/CombineAction.js +1 -1
- package/src/sap/ui/mdc/flexibility/actiontoolbar/SplitAction.js +1 -1
- package/src/sap/ui/mdc/flexibility/helpers/getAffectedSorter.js +25 -0
- package/src/sap/ui/mdc/geomap/Item.js +48 -0
- package/src/sap/ui/mdc/geomap/PropertyHelper.js +70 -0
- package/src/sap/ui/mdc/library.js +6 -4
- package/src/sap/ui/mdc/link/Factory.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/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 +13 -1
- package/src/sap/ui/mdc/messagebundle_de.properties +2 -2
- package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +9 -1
- package/src/sap/ui/mdc/messagebundle_fr.properties +1 -1
- package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/FilterBarLayoutMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
- package/src/sap/ui/mdc/odata/TypeMap.js +1 -1
- package/src/sap/ui/mdc/odata/v4/GeomapDelegate.js +60 -0
- package/src/sap/ui/mdc/odata/v4/TableDelegate.js +53 -2
- package/src/sap/ui/mdc/odata/v4/TypeMap.js +1 -1
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/p13n/StateUtil.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ColumnFreezeController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ShowDetailsController.js +1 -1
- package/src/sap/ui/mdc/rules/Table.support.js +149 -118
- package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
- package/src/sap/ui/mdc/table/CreationRow.js +1 -1
- package/src/sap/ui/mdc/table/DragDropConfig.js +1 -1
- package/src/sap/ui/mdc/table/GridTableType.js +1 -14
- package/src/sap/ui/mdc/table/ODataV4PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
- package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
- package/src/sap/ui/mdc/table/RowSettings.js +1 -1
- package/src/sap/ui/mdc/table/utils/Personalization.js +1 -1
- package/src/sap/ui/mdc/themes/base/Geomap.less +50 -0
- package/src/sap/ui/mdc/ushell/SemanticObjectMapping.js +1 -1
- package/src/sap/ui/mdc/ushell/SemanticObjectMappingItem.js +1 -1
- package/src/sap/ui/mdc/ushell/SemanticObjectUnavailableAction.js +1 -1
- package/src/sap/ui/mdc/util/InfoBar.js +1 -1
- package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
- package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/util/PropertyHelperUtil.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Dialog.js +2 -2
- package/src/sap/ui/mdc/valuehelp/FilterBar.js +22 -3
- package/src/sap/ui/mdc/valuehelp/Popover.js +1 -1
- 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/DefineConditionPanel.js +126 -25
- package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +4 -3
- 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 +1 -1
- package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +1 -1
|
@@ -101,7 +101,7 @@ sap.ui.define([
|
|
|
101
101
|
* @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent, sap.ui.core.ILabelable
|
|
102
102
|
*
|
|
103
103
|
* @author SAP SE
|
|
104
|
-
* @version 1.
|
|
104
|
+
* @version 1.142.0
|
|
105
105
|
*
|
|
106
106
|
* @constructor
|
|
107
107
|
* @alias sap.ui.mdc.field.FieldBase
|
|
@@ -3173,6 +3173,9 @@ sap.ui.define([
|
|
|
3173
3173
|
|
|
3174
3174
|
if (!bError) {
|
|
3175
3175
|
this.setProperty("conditions", aConditions, true); // do not invalidate whole field
|
|
3176
|
+
if (this.shouldFireValidationSuccessOnConditionUpdate(aConditions)) {
|
|
3177
|
+
_fireValidationSuccessForContent.call(this, oContent);
|
|
3178
|
+
}
|
|
3176
3179
|
}
|
|
3177
3180
|
|
|
3178
3181
|
if (!FilterOperatorUtil.compareConditionsArray(aConditions, aConditionsOld)) { // update only if real change
|
|
@@ -3181,26 +3184,8 @@ sap.ui.define([
|
|
|
3181
3184
|
_triggerChange.call(this, aConditions, true);
|
|
3182
3185
|
}
|
|
3183
3186
|
} else if (bChangeAfterError) { // last valid value choosen again
|
|
3187
|
+
_fireValidationSuccessForContent.call(this, oContent);
|
|
3184
3188
|
_triggerChange.call(this, aConditions, true);
|
|
3185
|
-
|
|
3186
|
-
if (oContent) { // fire validation success on content directly, as triggered only after ENTER or Focusout. (As we don't know the internal content behaviour we cannot just fake ENTER or Focusout)
|
|
3187
|
-
for (const sProperty in oContent.getMetadata().getAllProperties()) {
|
|
3188
|
-
if (oContent.getBindingPath(sProperty) === "/conditions") {
|
|
3189
|
-
const oBinding = oContent.getBinding(sProperty);
|
|
3190
|
-
const oType = oBinding?.getType();
|
|
3191
|
-
if (oType instanceof ConditionsType) {
|
|
3192
|
-
oContent.fireValidationSuccess({
|
|
3193
|
-
element: oContent,
|
|
3194
|
-
property: sProperty,
|
|
3195
|
-
type: oType,
|
|
3196
|
-
newValue: oContent.getDOMValue?.(),
|
|
3197
|
-
oldValue: oContent.getProperty(sProperty)
|
|
3198
|
-
}, false, true); // bAllowPreventDefault, bEnableEventBubbling
|
|
3199
|
-
break;
|
|
3200
|
-
}
|
|
3201
|
-
}
|
|
3202
|
-
}
|
|
3203
|
-
}
|
|
3204
3189
|
}
|
|
3205
3190
|
}
|
|
3206
3191
|
|
|
@@ -4138,6 +4123,46 @@ sap.ui.define([
|
|
|
4138
4123
|
|
|
4139
4124
|
};
|
|
4140
4125
|
|
|
4126
|
+
/**
|
|
4127
|
+
* Checks if a condition update needs to fire a <code>ValidationSuccess</code> event.
|
|
4128
|
+
*
|
|
4129
|
+
* This is required in {@link sap.ui.mdc.field.Field Field} if the condition update doesn't lead to an update of the
|
|
4130
|
+
* {@link sap.ui.mdc.field.Field#setValue value} property. (If only description or payload is changed.)
|
|
4131
|
+
*
|
|
4132
|
+
* @param {sap.ui.mdc.condition.ConditionObject[]} aConditions Current conditions
|
|
4133
|
+
* @returns {boolean} <code>true</code> if the <code>ValidationSuccess</code> event is fired
|
|
4134
|
+
* @protected
|
|
4135
|
+
* @since 1.142.0
|
|
4136
|
+
*/
|
|
4137
|
+
FieldBase.prototype.shouldFireValidationSuccessOnConditionUpdate = function (aConditions) {
|
|
4138
|
+
|
|
4139
|
+
return false;
|
|
4140
|
+
|
|
4141
|
+
};
|
|
4142
|
+
|
|
4143
|
+
function _fireValidationSuccessForContent(oContent) {
|
|
4144
|
+
|
|
4145
|
+
if (oContent) { // fire validation success on content directly, as triggered only after ENTER or Focusout. (As we don't know the internal content behaviour we cannot just fake ENTER or Focusout)
|
|
4146
|
+
for (const sProperty in oContent.getMetadata().getAllProperties()) {
|
|
4147
|
+
if (oContent.getBindingPath(sProperty) === "/conditions") {
|
|
4148
|
+
const oBinding = oContent.getBinding(sProperty);
|
|
4149
|
+
const oType = oBinding?.getType();
|
|
4150
|
+
if (oType instanceof ConditionsType) {
|
|
4151
|
+
oContent.fireValidationSuccess({
|
|
4152
|
+
element: oContent,
|
|
4153
|
+
property: sProperty,
|
|
4154
|
+
type: oType,
|
|
4155
|
+
newValue: oContent.getDOMValue?.(),
|
|
4156
|
+
oldValue: oContent.getProperty(sProperty)
|
|
4157
|
+
}, false, true); // bAllowPreventDefault, bEnableEventBubbling
|
|
4158
|
+
break;
|
|
4159
|
+
}
|
|
4160
|
+
}
|
|
4161
|
+
}
|
|
4162
|
+
}
|
|
4163
|
+
|
|
4164
|
+
}
|
|
4165
|
+
|
|
4141
4166
|
/**
|
|
4142
4167
|
* Sets the ValueState for content controls
|
|
4143
4168
|
*
|
|
@@ -31,7 +31,7 @@ sap.ui.define([
|
|
|
31
31
|
* A <code>FieldInfoBase</code> element is a base class that shows any kind of information related to the <code>Field</code> control, for example, navigation targets or contact details.
|
|
32
32
|
* This is the basis for link-features. If the link is pressed a popover might be opened.
|
|
33
33
|
* @extends sap.ui.mdc.Element
|
|
34
|
-
* @version 1.
|
|
34
|
+
* @version 1.142.0
|
|
35
35
|
* @constructor
|
|
36
36
|
* @since 1.54.0
|
|
37
37
|
* @public
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* The <code>FieldInput</code> control is used to render an input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
|
|
25
25
|
* It enhances the {@link sap.m.Input Input} control to add ARIA attributes and other {@link sap.ui.mdc.field.FieldBase FieldBase}-specific logic.
|
|
26
26
|
* @extends sap.m.Input
|
|
27
|
-
* @version 1.
|
|
27
|
+
* @version 1.142.0
|
|
28
28
|
* @constructor
|
|
29
29
|
* @abstract
|
|
30
30
|
* @private
|
|
@@ -16,7 +16,7 @@ sap.ui.define([
|
|
|
16
16
|
* @class Functions uses in <code>FieldInputRenderer</code> and <code>FieldMultiInputRenderer</code> to adjust aria attributes.
|
|
17
17
|
*
|
|
18
18
|
* @author SAP SE
|
|
19
|
-
* @version 1.
|
|
19
|
+
* @version 1.142.0
|
|
20
20
|
* @since 1.86.0
|
|
21
21
|
* @alias sap.ui.mdc.field.FieldInputRenderUtil
|
|
22
22
|
*
|
|
@@ -31,7 +31,7 @@ sap.ui.define([
|
|
|
31
31
|
* The <code>FieldMultiInput</code> control is used to render a multi-input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
|
|
32
32
|
* It enhances the {@link sap.m.MultiInput MultiInput} control to add ARIA attributes and other {@link sap.ui.mdc.field.FieldBase FieldBase}-specific logic.
|
|
33
33
|
* @extends sap.m.MultiInput
|
|
34
|
-
* @version 1.
|
|
34
|
+
* @version 1.142.0
|
|
35
35
|
* @constructor
|
|
36
36
|
* @abstract
|
|
37
37
|
* @private
|
|
@@ -31,7 +31,7 @@ sap.ui.define([
|
|
|
31
31
|
* The <code>FieldSelect</code> control is used to render an select field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
|
|
32
32
|
* It enhances the {@link sap.m.Select Select} control to allow {@link sap.ui.mdc.field.FieldBase FieldBase}-specific ValueHelp logic.
|
|
33
33
|
* @extends sap.m.Input
|
|
34
|
-
* @version 1.
|
|
34
|
+
* @version 1.142.0
|
|
35
35
|
* @constructor
|
|
36
36
|
* @abstract
|
|
37
37
|
* @private
|
|
@@ -38,11 +38,33 @@ sap.ui.define([
|
|
|
38
38
|
* @param {sap.ui.mdc.MultiValueField} oMultiValueField Current <code>MultiValueField</code> control to determine binding information to update the values of the related model
|
|
39
39
|
* @public
|
|
40
40
|
* @experimental
|
|
41
|
+
* @deprecated As of version 1.142, replaced by {@link module:sap/ui/mdc/field/MultiValueFieldDelegate.updateItemsFromConditions updateItemsFromConditions}.
|
|
41
42
|
*/
|
|
42
43
|
MultiValueFieldDelegate.updateItems = function(oPayload, aConditions, oMultiValueField) {
|
|
43
44
|
|
|
44
45
|
};
|
|
45
46
|
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Implements the model-specific logic to update items after conditions have been updated.
|
|
50
|
+
*
|
|
51
|
+
* Items can be removed, updated, or added.
|
|
52
|
+
* Use the binding information of the <code>MultiValueField</code> control to update the data in the related model.
|
|
53
|
+
*
|
|
54
|
+
* @param {sap.ui.mdc.MultiValueField} oMultiValueField Current <code>MultiValueField</code> control to determine binding information to update the values of the related model
|
|
55
|
+
* @param {sap.ui.mdc.condition.ConditionObject[]} aConditions Current conditions of the <code>MultiValueField</code> control
|
|
56
|
+
* @public
|
|
57
|
+
* @experimental
|
|
58
|
+
* @since 1.142
|
|
59
|
+
*/
|
|
60
|
+
MultiValueFieldDelegate.updateItemsFromConditions = function(oMultiValueField, aConditions) {
|
|
61
|
+
/**
|
|
62
|
+
* @deprecated As of version 1.142
|
|
63
|
+
*/
|
|
64
|
+
this.updateItems.apply(this, [oMultiValueField.getPayload(), aConditions, oMultiValueField]);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
|
|
46
68
|
MultiValueFieldDelegate.indexOfCondition = function(oMultiValueField, oValueHelp, oCondition, aConditions) {
|
|
47
69
|
|
|
48
70
|
// as all conditions belongs to items and therefore get state "Validated" compare conditions from manual user input with validated conditions
|
|
@@ -20,7 +20,7 @@ sap.ui.define([
|
|
|
20
20
|
* Base type for <code>MultiValueFieldItem</code> control.
|
|
21
21
|
* The {@link sap.ui.mdc.MultiValueField MultiValueField} holds its values as items. The <code>MultiValueFieldItem</code> element defines these items.
|
|
22
22
|
* @extends sap.ui.core.Element
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.142.0
|
|
24
24
|
* @constructor
|
|
25
25
|
* @since 1.93.0
|
|
26
26
|
* @public
|
|
@@ -22,7 +22,7 @@ sap.ui.define([
|
|
|
22
22
|
* The <code>TokenDisplay</code> control is used to render a field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
|
|
23
23
|
* It enhances the {@link sap.m.Token Token} control to add ARIA attributes and other {@link sap.ui.mdc.field.FieldBase FieldBase}-specific logic.
|
|
24
24
|
* @extends sap.m.Token
|
|
25
|
-
* @version 1.
|
|
25
|
+
* @version 1.142.0
|
|
26
26
|
* @constructor
|
|
27
27
|
* @abstract
|
|
28
28
|
* @private
|
|
@@ -29,7 +29,7 @@ sap.ui.define([
|
|
|
29
29
|
* It enhances the {@link sap.m.Tokenizer Tokenizer} control to support display only tokens.
|
|
30
30
|
* @extends sap.m.Tokenizer
|
|
31
31
|
* @implements sap.ui.core.ILabelable
|
|
32
|
-
* @version 1.
|
|
32
|
+
* @version 1.142.0
|
|
33
33
|
* @constructor
|
|
34
34
|
* @abstract
|
|
35
35
|
*
|
|
@@ -72,7 +72,7 @@ sap.ui.define([
|
|
|
72
72
|
* @class The <code>FilterBarBase</code> control is the base for filter displaying controls in MDC.
|
|
73
73
|
* @extends sap.ui.mdc.Control
|
|
74
74
|
* @author SAP SE
|
|
75
|
-
* @version 1.
|
|
75
|
+
* @version 1.142.0
|
|
76
76
|
* @constructor
|
|
77
77
|
* @public
|
|
78
78
|
* @since 1.80.0
|
|
@@ -225,6 +225,17 @@ sap.ui.define([
|
|
|
225
225
|
type: "sap.ui.mdc.filterbar.IFilterContainer",
|
|
226
226
|
multiple: false,
|
|
227
227
|
visibility: "hidden"
|
|
228
|
+
},
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Internal aggregation that stores invisible texts for accessibility.
|
|
232
|
+
*
|
|
233
|
+
* @since 1.142
|
|
234
|
+
*/
|
|
235
|
+
invisibleTexts: {
|
|
236
|
+
type: "sap.ui.core.InvisibleText",
|
|
237
|
+
multiple: true,
|
|
238
|
+
visibility: "hidden"
|
|
228
239
|
}
|
|
229
240
|
},
|
|
230
241
|
associations: {
|
|
@@ -2031,6 +2042,29 @@ sap.ui.define([
|
|
|
2031
2042
|
return aSearchConditions[0] ? aSearchConditions[0].values[0] : "";
|
|
2032
2043
|
};
|
|
2033
2044
|
|
|
2045
|
+
/**
|
|
2046
|
+
* Adds an <code>InvisibleText</code> to the <code>FilterBar</code> that can be used for accessibility purposes.
|
|
2047
|
+
*
|
|
2048
|
+
* @param {sap.ui.core.InvisibleText} oInvisibleText The invisible text to be added
|
|
2049
|
+
* @protected
|
|
2050
|
+
* @since 1.142
|
|
2051
|
+
*/
|
|
2052
|
+
FilterBarBase.prototype.addInvisibleText = function(oInvisibleText) {
|
|
2053
|
+
this.addAggregation("invisibleTexts", oInvisibleText);
|
|
2054
|
+
};
|
|
2055
|
+
|
|
2056
|
+
/**
|
|
2057
|
+
* Retrieves an <code>InvisibleText</code> by ID.
|
|
2058
|
+
*
|
|
2059
|
+
* @param {string} sId ID of the invisible text to be retrieved
|
|
2060
|
+
* @returns {sap.ui.core.InvisibleText} The invisible text with the given ID
|
|
2061
|
+
* @protected
|
|
2062
|
+
* @since 1.142
|
|
2063
|
+
*/
|
|
2064
|
+
FilterBarBase.prototype.getInvisibleText = function(sId) {
|
|
2065
|
+
return this.getAggregation("invisibleTexts")?.find((oInvisibleText) => oInvisibleText.getId() === sId);
|
|
2066
|
+
};
|
|
2067
|
+
|
|
2034
2068
|
FilterBarBase.prototype.exit = function() {
|
|
2035
2069
|
|
|
2036
2070
|
if (this._hasAssignedVariantManagement() && FlexApplyAPI) {
|
|
@@ -37,6 +37,9 @@ sap.ui.define([],
|
|
|
37
37
|
oRm.style("width", oControl.getWidth());
|
|
38
38
|
}
|
|
39
39
|
oRm.openEnd();
|
|
40
|
+
|
|
41
|
+
oControl.getAggregation("invisibleTexts")?.forEach((oInvisibleText) => oRm.renderControl(oInvisibleText));
|
|
42
|
+
|
|
40
43
|
const oInnerLayout = oControl.getAggregation("layout") ? oControl.getAggregation("layout").getInner() : null;
|
|
41
44
|
oRm.renderControl(oInnerLayout);
|
|
42
45
|
oRm.close("div");
|
|
@@ -27,7 +27,7 @@ sap.ui.define([
|
|
|
27
27
|
* <b>Note:</b> The <code>FilterBar</code> can only be used for a {@link sap.ui.mdc.valuehelp.Dialog Dialog} and not on its own.
|
|
28
28
|
* @extends sap.ui.mdc.valuehelp.FilterBar
|
|
29
29
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.142.0
|
|
31
31
|
* @constructor
|
|
32
32
|
* @public
|
|
33
33
|
* @since 1.84.0
|
|
@@ -187,7 +187,7 @@ sap.ui.define([
|
|
|
187
187
|
// 3) Check & insert the item in the controls according aggregation
|
|
188
188
|
.then((oControlAggregationItem) => {
|
|
189
189
|
if (!oControlAggregationItem) {
|
|
190
|
-
throw new Error(
|
|
190
|
+
throw new Error(`No item in ${oAggregation.name} created. Change to ${this._getChangeTypeText(!bIsRevert)} cannot be ${this._getOperationText(bIsRevert)} at this moment`);
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
if (aDefaultAggregation.indexOf(oControlAggregationItem) < 0) {
|
|
@@ -9,8 +9,9 @@ sap.ui.define([
|
|
|
9
9
|
"sap/ui/fl/changeHandler/Base",
|
|
10
10
|
"sap/ui/fl/changeHandler/condenser/Classification",
|
|
11
11
|
"sap/ui/fl/changeHandler/common/ChangeCategories",
|
|
12
|
-
"./helpers/addKeyOrName"
|
|
13
|
-
|
|
12
|
+
"./helpers/addKeyOrName",
|
|
13
|
+
"./helpers/getAffectedSorter"
|
|
14
|
+
], (merge, Util, FLChangeHandlerBase, CondenserClassification, ChangeCategories, addKeyOrName, getAffectedSorter) => {
|
|
14
15
|
"use strict";
|
|
15
16
|
|
|
16
17
|
const fFinalizeSortChange = function(oChange, oControl, oSortContent, bIsRevert) {
|
|
@@ -174,7 +175,13 @@ sap.ui.define([
|
|
|
174
175
|
revert: fRemoveSort,
|
|
175
176
|
getCondenserInfo: function(oChange, mPropertyBag) {
|
|
176
177
|
return {
|
|
177
|
-
|
|
178
|
+
// DINC0635408: If the application uses flex without backend condensing, the following action will result in a faulty condensing behaviour:
|
|
179
|
+
// addSort(asc) -> save variant -> removeSort(asc) -> addSort(desc) == addSort(asc) !! expected outcome is addSort(desc)
|
|
180
|
+
// This is due to the fact, that in those cases only the additional changes applied are considered for condensing, leading to removeSort, addSort canceling each other out,
|
|
181
|
+
// as they do not have any differing information (both have the same "affectedControl").
|
|
182
|
+
// To circumvent this issue (also will happen in RTA), we add the sort order to the affectedControl id, to provide a proper distinction during condensing.
|
|
183
|
+
// This does not have any effect on the actual change, as condensing (and the affectedControl) is not stored in the change, but solely used during runtime.
|
|
184
|
+
affectedControl: { id: getAffectedSorter(oChange.getContent()) },
|
|
178
185
|
affectedControlIdProperty: "name",
|
|
179
186
|
targetContainer: oChange.getSelector(),
|
|
180
187
|
targetAggregation: "sorters",
|
|
@@ -196,7 +203,7 @@ sap.ui.define([
|
|
|
196
203
|
revert: fAddSort,
|
|
197
204
|
getCondenserInfo: function(oChange, mPropertyBag) {
|
|
198
205
|
return {
|
|
199
|
-
affectedControl: { id:
|
|
206
|
+
affectedControl: { id: getAffectedSorter(oChange.getContent()) },
|
|
200
207
|
affectedControlIdProperty: "name",
|
|
201
208
|
targetContainer: oChange.getSelector(),
|
|
202
209
|
targetAggregation: "sorters",
|
|
@@ -218,7 +225,7 @@ sap.ui.define([
|
|
|
218
225
|
revert: fMoveSort,
|
|
219
226
|
getCondenserInfo: function(oChange, mPropertyBag) {
|
|
220
227
|
return {
|
|
221
|
-
affectedControl: { id:
|
|
228
|
+
affectedControl: { id: getAffectedSorter(oChange.getContent()) },
|
|
222
229
|
affectedControlIdProperty: "name",
|
|
223
230
|
targetContainer: oChange.getSelector(),
|
|
224
231
|
targetAggregation: "sorters",
|
|
@@ -5,22 +5,28 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
"./SortFlex",
|
|
9
|
+
"./ColumnFlex",
|
|
10
|
+
"./ConditionFlex",
|
|
11
|
+
"./GroupFlex",
|
|
12
|
+
"./AggregateFlex",
|
|
13
|
+
"./xConfigFlex"
|
|
14
|
+
], (
|
|
15
|
+
SortFlex,
|
|
16
|
+
ColumnFlex,
|
|
17
|
+
ConditionFlex,
|
|
18
|
+
GroupFlex,
|
|
19
|
+
AggregateFlex,
|
|
20
|
+
xConfigFlex
|
|
21
|
+
) => {
|
|
16
22
|
"use strict";
|
|
17
23
|
|
|
18
24
|
return {
|
|
19
25
|
"hideControl": "default",
|
|
20
26
|
"unhideControl": "default",
|
|
21
|
-
addColumn: ColumnFlex.
|
|
22
|
-
removeColumn: ColumnFlex.
|
|
23
|
-
moveColumn: ColumnFlex.
|
|
27
|
+
addColumn: ColumnFlex.addColumn,
|
|
28
|
+
removeColumn: ColumnFlex.removeColumn,
|
|
29
|
+
moveColumn: ColumnFlex.moveColumn,
|
|
24
30
|
removeSort: SortFlex.removeSort,
|
|
25
31
|
addSort: SortFlex.addSort,
|
|
26
32
|
moveSort: SortFlex.moveSort,
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2025 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
|
+
"./addKeyOrName"
|
|
8
|
+
], (addKeyOrName) => {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Returns the ID of the sorter affected by the change.
|
|
13
|
+
*
|
|
14
|
+
* @param {object} oChangeContent content of the change
|
|
15
|
+
* @returns {string} ID of the affected control
|
|
16
|
+
*
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
const getAffectedSorter = (oChangeContent) => {
|
|
20
|
+
const sSortOrder = oChangeContent.descending ? "desc" : "asc";
|
|
21
|
+
return `${addKeyOrName(oChangeContent).key}-${sSortOrder}`;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return getAffectedSorter;
|
|
25
|
+
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* !OpenUI5
|
|
3
|
+
* (c) Copyright 2025 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
|
+
"sap/ui/core/Element"
|
|
8
|
+
], (Element) => {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Constructor for a new <code>Item</code>.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} [sId] ID for the new element, generated automatically if no ID is given
|
|
15
|
+
* @param {object} [mSettings] initial settings for the new element
|
|
16
|
+
* @class The <code>Item</code> element for the geomap/property metadata used within MDC Geomap.
|
|
17
|
+
* @extends sap.ui.core.Element
|
|
18
|
+
* @author SAP SE
|
|
19
|
+
* @public
|
|
20
|
+
* @ui5-experimental-since 1.142
|
|
21
|
+
* @alias sap.ui.mdc.geomap.Item
|
|
22
|
+
*/
|
|
23
|
+
const Item = Element.extend("sap.ui.mdc.geomap.Item", /** @lends sap.ui.mdc.geomap.Item.prototype */ {
|
|
24
|
+
metadata: {
|
|
25
|
+
library: "sap.ui.mdc",
|
|
26
|
+
properties: {
|
|
27
|
+
/**
|
|
28
|
+
* The unique identifier of the geomap item that reflects the name of property in the PropertyInfo.
|
|
29
|
+
*
|
|
30
|
+
* @since 1.142
|
|
31
|
+
*/
|
|
32
|
+
propertyKey: {
|
|
33
|
+
type: "string"
|
|
34
|
+
},
|
|
35
|
+
/**
|
|
36
|
+
* Label for the item, either as a string literal or by a pointer, using the binding to some property containing the label.
|
|
37
|
+
*/
|
|
38
|
+
label: {
|
|
39
|
+
type: "string"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
return Item;
|
|
47
|
+
|
|
48
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2025 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
|
+
"../util/PropertyHelper", "sap/ui/core/Lib"
|
|
9
|
+
], (
|
|
10
|
+
PropertyHelperBase,
|
|
11
|
+
Library
|
|
12
|
+
) => {
|
|
13
|
+
"use strict";
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Constructor for a new geomap property helper.
|
|
17
|
+
*
|
|
18
|
+
* @param {object[]} aProperties The properties to process in this helper
|
|
19
|
+
* @param {sap.ui.base.ManagedObject} [oParent] A reference to an instance that will act as the parent of this helper
|
|
20
|
+
*
|
|
21
|
+
* @class
|
|
22
|
+
* Geomap property helpers give geomaps of this library a consistent and standardized view on properties and their attributes.
|
|
23
|
+
* Property helpers validate the given properties, set default values, and provides utilities to work with these properties.
|
|
24
|
+
* The utilities can only be used for properties that are known to the helper. Known properties are all those that are passed to the constructor.
|
|
25
|
+
*
|
|
26
|
+
* @extends sap.ui.mdc.util.PropertyHelper
|
|
27
|
+
*
|
|
28
|
+
* @author SAP SE
|
|
29
|
+
* @version 1.142.0
|
|
30
|
+
*
|
|
31
|
+
* @private
|
|
32
|
+
* @ui5-experimental-since 1.142
|
|
33
|
+
* @alias sap.ui.mdc.geomap.PropertyHelper
|
|
34
|
+
*/
|
|
35
|
+
const PropertyHelper = PropertyHelperBase.extend("sap.ui.mdc.geomap.PropertyHelper", {
|
|
36
|
+
constructor: function(aProperties, oParent) {
|
|
37
|
+
PropertyHelperBase.call(this, aProperties, oParent, {
|
|
38
|
+
propertyInfos: true
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @inheritDoc
|
|
45
|
+
*/
|
|
46
|
+
PropertyHelper.prototype.prepareProperty = function(oProperty, mProperties) {
|
|
47
|
+
if (!oProperty.path && oProperty.propertyPath) {
|
|
48
|
+
oProperty.path = oProperty.propertyPath;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (!oProperty.typeConfig && oProperty.dataType) {
|
|
52
|
+
const oFormatOptions = oProperty.formatOptions ? oProperty.formatOptions : null;
|
|
53
|
+
const oConstraints = oProperty.constraints ? oProperty.constraints : {};
|
|
54
|
+
|
|
55
|
+
oProperty.typeConfig = this.getParent().getTypeMap().getTypeConfig(oProperty.dataType, oFormatOptions, oConstraints);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
PropertyHelperBase.prototype.prepareProperty.apply(this, arguments);
|
|
59
|
+
|
|
60
|
+
oProperty.isAggregatable = function() {
|
|
61
|
+
|
|
62
|
+
if (oProperty) {
|
|
63
|
+
return oProperty.isComplex() ? false : oProperty.aggregatable;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
return PropertyHelper;
|
|
69
|
+
|
|
70
|
+
});
|
|
@@ -22,13 +22,13 @@ sap.ui.define([
|
|
|
22
22
|
* @namespace
|
|
23
23
|
* @alias sap.ui.mdc
|
|
24
24
|
* @author SAP SE
|
|
25
|
-
* @version 1.
|
|
25
|
+
* @version 1.142.0
|
|
26
26
|
* @since 1.80
|
|
27
27
|
* @public
|
|
28
28
|
*/
|
|
29
29
|
const thisLib = Library.init({
|
|
30
30
|
apiVersion: 2,
|
|
31
|
-
version: "1.
|
|
31
|
+
version: "1.142.0",
|
|
32
32
|
name: "sap.ui.mdc",
|
|
33
33
|
dependencies: ["sap.ui.core", "sap.m"],
|
|
34
34
|
...{
|
|
@@ -68,7 +68,8 @@ sap.ui.define([
|
|
|
68
68
|
"sap.ui.mdc.MultiValueField",
|
|
69
69
|
"sap.ui.mdc.link.Panel",
|
|
70
70
|
"sap.ui.mdc.Chart",
|
|
71
|
-
"sap.ui.mdc.p13n.PersistenceProvider"
|
|
71
|
+
"sap.ui.mdc.p13n.PersistenceProvider",
|
|
72
|
+
"sap.ui.mdc.Geomap"
|
|
72
73
|
],
|
|
73
74
|
elements: [
|
|
74
75
|
"sap.ui.mdc.table.Column",
|
|
@@ -106,7 +107,8 @@ sap.ui.define([
|
|
|
106
107
|
"sap.ui.mdc.valuehelp.content.FixedList",
|
|
107
108
|
"sap.ui.mdc.valuehelp.content.FixedListItem",
|
|
108
109
|
"sap.ui.mdc.valuehelp.content.MDCTable",
|
|
109
|
-
"sap.ui.mdc.valuehelp.content.MTable"
|
|
110
|
+
"sap.ui.mdc.valuehelp.content.MTable",
|
|
111
|
+
"sap.ui.mdc.geomap.Item"
|
|
110
112
|
],
|
|
111
113
|
extensions: {
|
|
112
114
|
flChangeHandlers: {
|
|
@@ -11,7 +11,7 @@ sap.ui.define(["sap/base/Log"], (Log) => {
|
|
|
11
11
|
* @namespace Factory to access services outside of sap.ui.mdc library like for example <code>ushell</code> services.
|
|
12
12
|
* @name sap.ui.mdc.link.Factory
|
|
13
13
|
* @author SAP SE
|
|
14
|
-
* @version 1.
|
|
14
|
+
* @version 1.142.0
|
|
15
15
|
* @private
|
|
16
16
|
* @since 1.54.0
|
|
17
17
|
*/
|