@openui5/sap.ui.integration 1.130.1 → 1.131.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 +1 -1
- package/package.json +7 -7
- package/src/sap/ui/integration/.library +1 -1
- package/src/sap/ui/integration/ActionDefinition.js +22 -3
- package/src/sap/ui/integration/Designtime.js +1 -1
- package/src/sap/ui/integration/Extension.js +1 -1
- package/src/sap/ui/integration/Host.js +1 -1
- package/src/sap/ui/integration/cards/AdaptiveContent.js +1 -1
- package/src/sap/ui/integration/cards/AnalyticalContent.js +1 -1
- package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +1 -1
- package/src/sap/ui/integration/cards/BaseContent.js +1 -1
- package/src/sap/ui/integration/cards/BaseListContent.js +19 -23
- package/src/sap/ui/integration/cards/CalendarContent.js +1 -1
- package/src/sap/ui/integration/cards/ComponentContent.js +1 -1
- package/src/sap/ui/integration/cards/Footer.js +1 -1
- package/src/sap/ui/integration/cards/Header.js +1 -1
- package/src/sap/ui/integration/cards/ListContent.js +1 -1
- package/src/sap/ui/integration/cards/NumericHeader.js +1 -1
- package/src/sap/ui/integration/cards/ObjectContent.js +1 -1
- package/src/sap/ui/integration/cards/TableContent.js +1 -1
- package/src/sap/ui/integration/cards/TimelineContent.js +1 -1
- package/src/sap/ui/integration/cards/WebPageContent.js +1 -1
- package/src/sap/ui/integration/cards/actions/CardActions.js +1 -1
- package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
- package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
- package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
- package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
- package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
- package/src/sap/ui/integration/cards/filters/BaseFilter.js +1 -1
- package/src/sap/ui/integration/cards/filters/ComboBoxFilter.js +1 -1
- package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +1 -1
- package/src/sap/ui/integration/cards/filters/FilterBar.js +1 -1
- package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +1 -1
- package/src/sap/ui/integration/cards/filters/SearchFilter.js +1 -1
- package/src/sap/ui/integration/cards/filters/SelectFilter.js +1 -1
- package/src/sap/ui/integration/cards/list/MicrochartsResizeHelper.js +1 -1
- package/src/sap/ui/integration/controls/ActionsStrip.js +1 -1
- package/src/sap/ui/integration/controls/ActionsToolbar.js +127 -71
- package/src/sap/ui/integration/controls/BlockingMessage.js +1 -1
- package/src/sap/ui/integration/controls/ComboBox.js +1 -1
- package/src/sap/ui/integration/controls/ImageWithOverlay.js +1 -1
- package/src/sap/ui/integration/controls/ListContentItem.js +1 -1
- package/src/sap/ui/integration/controls/Microchart.js +1 -1
- package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
- package/src/sap/ui/integration/controls/ObjectStatus.js +1 -1
- package/src/sap/ui/integration/delegate/Paginator.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr_CA.properties +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/multiSelectEditor/MultiSelectEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
- package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_mk.properties +1 -1
- package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_uk.properties +1 -1
- package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +1 -1
- package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
- package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/filtersEditor/FiltersEditor.js +1 -1
- package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
- package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +1 -1
- package/src/sap/ui/integration/designtime/editor/Card.js +1 -1
- package/src/sap/ui/integration/designtime/editor/CardEditor.js +1 -1
- package/src/sap/ui/integration/designtime/editor/CardPreview.js +1 -1
- package/src/sap/ui/integration/editor/Editor.js +2 -2
- package/src/sap/ui/integration/editor/EditorResourceBundles.js +1 -1
- package/src/sap/ui/integration/editor/Extension.js +1 -1
- package/src/sap/ui/integration/editor/Manifest.js +1 -1
- package/src/sap/ui/integration/editor/Settings.js +1 -1
- package/src/sap/ui/integration/editor/fields/BaseField.js +1 -1
- package/src/sap/ui/integration/editor/fields/BooleanField.js +1 -1
- package/src/sap/ui/integration/editor/fields/DateField.js +1 -1
- package/src/sap/ui/integration/editor/fields/DateTimeField.js +1 -1
- package/src/sap/ui/integration/editor/fields/DestinationField.js +1 -1
- package/src/sap/ui/integration/editor/fields/GroupField.js +1 -1
- package/src/sap/ui/integration/editor/fields/IntegerField.js +1 -1
- package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
- package/src/sap/ui/integration/editor/fields/ObjectField.js +1 -1
- package/src/sap/ui/integration/editor/fields/ObjectListField.js +1 -1
- package/src/sap/ui/integration/editor/fields/StringField.js +1 -1
- package/src/sap/ui/integration/editor/fields/StringListField.js +1 -1
- package/src/sap/ui/integration/editor/fields/fragment/Controller.js +1 -1
- package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +1 -1
- package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +1 -1
- package/src/sap/ui/integration/editor/fields/viz/ImageSelect.js +1 -1
- package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +1 -1
- package/src/sap/ui/integration/editor/fields/viz/VizBase.js +1 -1
- package/src/sap/ui/integration/extensions/OAuth3LO.js +1 -1
- package/src/sap/ui/integration/library.js +8 -5
- package/src/sap/ui/integration/messagebundle.properties +3 -0
- package/src/sap/ui/integration/messagebundle_ar.properties +2 -0
- package/src/sap/ui/integration/messagebundle_bg.properties +2 -0
- package/src/sap/ui/integration/messagebundle_ca.properties +2 -0
- package/src/sap/ui/integration/messagebundle_cnr.properties +2 -0
- package/src/sap/ui/integration/messagebundle_cs.properties +2 -0
- package/src/sap/ui/integration/messagebundle_cy.properties +2 -0
- package/src/sap/ui/integration/messagebundle_da.properties +2 -0
- package/src/sap/ui/integration/messagebundle_de.properties +2 -0
- package/src/sap/ui/integration/messagebundle_el.properties +2 -0
- package/src/sap/ui/integration/messagebundle_en.properties +2 -0
- package/src/sap/ui/integration/messagebundle_en_GB.properties +2 -0
- package/src/sap/ui/integration/messagebundle_en_US_saprigi.properties +2 -0
- package/src/sap/ui/integration/messagebundle_es.properties +3 -1
- package/src/sap/ui/integration/messagebundle_es_MX.properties +2 -0
- package/src/sap/ui/integration/messagebundle_et.properties +2 -0
- package/src/sap/ui/integration/messagebundle_fi.properties +2 -0
- package/src/sap/ui/integration/messagebundle_fr.properties +2 -0
- package/src/sap/ui/integration/messagebundle_fr_CA.properties +2 -0
- package/src/sap/ui/integration/messagebundle_hi.properties +2 -0
- package/src/sap/ui/integration/messagebundle_hr.properties +2 -0
- package/src/sap/ui/integration/messagebundle_hu.properties +2 -0
- package/src/sap/ui/integration/messagebundle_id.properties +2 -0
- package/src/sap/ui/integration/messagebundle_it.properties +2 -0
- package/src/sap/ui/integration/messagebundle_iw.properties +2 -0
- package/src/sap/ui/integration/messagebundle_ja.properties +2 -0
- package/src/sap/ui/integration/messagebundle_kk.properties +2 -0
- package/src/sap/ui/integration/messagebundle_ko.properties +2 -0
- package/src/sap/ui/integration/messagebundle_lt.properties +2 -0
- package/src/sap/ui/integration/messagebundle_lv.properties +2 -0
- package/src/sap/ui/integration/messagebundle_mk.properties +2 -0
- package/src/sap/ui/integration/messagebundle_ms.properties +2 -0
- package/src/sap/ui/integration/messagebundle_nl.properties +2 -0
- package/src/sap/ui/integration/messagebundle_no.properties +2 -0
- package/src/sap/ui/integration/messagebundle_pl.properties +2 -0
- package/src/sap/ui/integration/messagebundle_pt.properties +2 -0
- package/src/sap/ui/integration/messagebundle_pt_PT.properties +2 -0
- package/src/sap/ui/integration/messagebundle_ro.properties +2 -0
- package/src/sap/ui/integration/messagebundle_ru.properties +2 -0
- package/src/sap/ui/integration/messagebundle_sh.properties +2 -0
- package/src/sap/ui/integration/messagebundle_sk.properties +2 -0
- package/src/sap/ui/integration/messagebundle_sl.properties +2 -0
- package/src/sap/ui/integration/messagebundle_sr.properties +2 -0
- package/src/sap/ui/integration/messagebundle_sv.properties +2 -0
- package/src/sap/ui/integration/messagebundle_th.properties +2 -0
- package/src/sap/ui/integration/messagebundle_tr.properties +2 -0
- package/src/sap/ui/integration/messagebundle_uk.properties +2 -0
- package/src/sap/ui/integration/messagebundle_vi.properties +2 -0
- package/src/sap/ui/integration/messagebundle_zh_CN.properties +2 -0
- package/src/sap/ui/integration/messagebundle_zh_TW.properties +2 -0
- package/src/sap/ui/integration/model/ContextModel.js +1 -1
- package/src/sap/ui/integration/model/ObservableModel.js +1 -1
- package/src/sap/ui/integration/schemas/sap-card.json +351 -301
- package/src/sap/ui/integration/util/AnalyticsCloudHelper.js +1 -1
- package/src/sap/ui/integration/util/BaseFactory.js +1 -1
- package/src/sap/ui/integration/util/BindingHelper.js +1 -1
- package/src/sap/ui/integration/util/BindingResolver.js +1 -1
- package/src/sap/ui/integration/util/CardObserver.js +1 -1
- package/src/sap/ui/integration/util/ComboBoxHelper.js +1 -1
- package/src/sap/ui/integration/util/ContentFactory.js +1 -1
- package/src/sap/ui/integration/util/CsrfTokenHandler.js +1 -1
- package/src/sap/ui/integration/util/DataProvider.js +1 -1
- package/src/sap/ui/integration/util/DataProviderFactory.js +1 -1
- package/src/sap/ui/integration/util/Destinations.js +1 -1
- package/src/sap/ui/integration/util/DisplayVariants.js +1 -1
- package/src/sap/ui/integration/util/ErrorHandler.js +1 -1
- package/src/sap/ui/integration/util/ExtensionDataProvider.js +1 -1
- package/src/sap/ui/integration/util/Form.js +1 -1
- package/src/sap/ui/integration/util/HeaderFactory.js +10 -3
- package/src/sap/ui/integration/util/JSONBindingHelper.js +1 -1
- package/src/sap/ui/integration/util/LoadingProvider.js +1 -1
- package/src/sap/ui/integration/util/Manifest.js +1 -1
- package/src/sap/ui/integration/util/OAuth3LOHelper.js +1 -1
- package/src/sap/ui/integration/util/RequestDataProvider.js +1 -1
- package/src/sap/ui/integration/util/ServiceDataProvider.js +1 -1
- package/src/sap/ui/integration/util/ServiceManager.js +1 -1
- package/src/sap/ui/integration/util/SkeletonCard.js +3 -2
- package/src/sap/ui/integration/util/Utils.js +1 -1
- package/src/sap/ui/integration/util/Validators.js +1 -1
- package/src/sap/ui/integration/widgets/Card.js +59 -10
|
@@ -14,9 +14,10 @@ sap.ui.define([
|
|
|
14
14
|
"sap/ui/core/Lib",
|
|
15
15
|
"sap/ui/core/library",
|
|
16
16
|
"sap/m/Button",
|
|
17
|
-
"sap/m/ActionSheet",
|
|
18
17
|
"sap/ui/base/ManagedObjectObserver",
|
|
19
|
-
"sap/ui/integration/cards/actions/CardActions"
|
|
18
|
+
"sap/ui/integration/cards/actions/CardActions",
|
|
19
|
+
"sap/m/Menu",
|
|
20
|
+
"sap/m/MenuItem"
|
|
20
21
|
], function(
|
|
21
22
|
ActionsToolbarRenderer,
|
|
22
23
|
capitalize,
|
|
@@ -26,9 +27,10 @@ sap.ui.define([
|
|
|
26
27
|
Library,
|
|
27
28
|
coreLibrary,
|
|
28
29
|
Button,
|
|
29
|
-
ActionSheet,
|
|
30
30
|
ManagedObjectObserver,
|
|
31
|
-
CardActions
|
|
31
|
+
CardActions,
|
|
32
|
+
Menu,
|
|
33
|
+
MenuItem
|
|
32
34
|
) {
|
|
33
35
|
"use strict";
|
|
34
36
|
|
|
@@ -36,7 +38,7 @@ sap.ui.define([
|
|
|
36
38
|
|
|
37
39
|
var HasPopup = coreLibrary.aria.HasPopup;
|
|
38
40
|
|
|
39
|
-
function
|
|
41
|
+
function setMenuItemProperty(oMenuItem, sPropertyName, oValue, oCard) {
|
|
40
42
|
|
|
41
43
|
return new Promise(function (resolve) {
|
|
42
44
|
|
|
@@ -49,7 +51,7 @@ sap.ui.define([
|
|
|
49
51
|
if (oResolvedValue instanceof Promise) {
|
|
50
52
|
|
|
51
53
|
oResolvedValue.then(function (oResult) {
|
|
52
|
-
|
|
54
|
+
oMenuItem.setProperty(sPropertyName, oResult);
|
|
53
55
|
resolve();
|
|
54
56
|
});
|
|
55
57
|
|
|
@@ -60,7 +62,7 @@ sap.ui.define([
|
|
|
60
62
|
oResolvedValue = oValue;
|
|
61
63
|
}
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
oMenuItem.setProperty(sPropertyName, oResolvedValue);
|
|
64
66
|
resolve();
|
|
65
67
|
});
|
|
66
68
|
}
|
|
@@ -76,7 +78,7 @@ sap.ui.define([
|
|
|
76
78
|
* @extends sap.ui.core.Control
|
|
77
79
|
*
|
|
78
80
|
* @author SAP SE
|
|
79
|
-
* @version 1.
|
|
81
|
+
* @version 1.131.0
|
|
80
82
|
*
|
|
81
83
|
* @constructor
|
|
82
84
|
* @private
|
|
@@ -104,8 +106,8 @@ sap.ui.define([
|
|
|
104
106
|
visibility: "hidden"
|
|
105
107
|
},
|
|
106
108
|
|
|
107
|
-
|
|
108
|
-
type: "sap.m.
|
|
109
|
+
_actionsMenu: {
|
|
110
|
+
type: "sap.m.Menu",
|
|
109
111
|
multiple: false,
|
|
110
112
|
visibility: "hidden"
|
|
111
113
|
}
|
|
@@ -115,7 +117,11 @@ sap.ui.define([
|
|
|
115
117
|
});
|
|
116
118
|
|
|
117
119
|
ActionsToolbar.prototype.init = function () {
|
|
118
|
-
|
|
120
|
+
var oResourceBundle = Library.getResourceBundleFor("sap.ui.integration");
|
|
121
|
+
|
|
122
|
+
this.setAggregation("_actionsMenu", new Menu({
|
|
123
|
+
title: oResourceBundle.getText("CARD_ACTIONS")
|
|
124
|
+
}));
|
|
119
125
|
this._aActions = []; // holds actions from host and extension
|
|
120
126
|
this._mActionObservers = new Map();
|
|
121
127
|
this._oObserver = new ManagedObjectObserver(this._observeActionsAggregation.bind(this));
|
|
@@ -145,10 +151,10 @@ sap.ui.define([
|
|
|
145
151
|
*/
|
|
146
152
|
ActionsToolbar.prototype.initializeContent = function (oCard) {
|
|
147
153
|
var that = this,
|
|
148
|
-
|
|
149
|
-
|
|
154
|
+
oActionMenuItem,
|
|
155
|
+
aMenuItems = [],
|
|
150
156
|
aActions = [],
|
|
151
|
-
|
|
157
|
+
oActionMenu = this.getAggregation("_actionsMenu"),
|
|
152
158
|
oHost = oCard.getHostInstance(),
|
|
153
159
|
oExtension = oCard.getAggregation("_extension");
|
|
154
160
|
|
|
@@ -166,20 +172,20 @@ sap.ui.define([
|
|
|
166
172
|
this._aActions = aActions;
|
|
167
173
|
|
|
168
174
|
aActions.forEach(function (oAction) {
|
|
169
|
-
|
|
170
|
-
|
|
175
|
+
oActionMenuItem = that._createActionMenuItem(oAction, false);
|
|
176
|
+
aMenuItems.push(oActionMenuItem);
|
|
171
177
|
});
|
|
172
178
|
|
|
173
|
-
if (this.
|
|
174
|
-
this.
|
|
175
|
-
|
|
179
|
+
if (this._aMenuItems) {
|
|
180
|
+
this._aMenuItems.forEach(function (oMenuItem) {
|
|
181
|
+
oMenuItem.destroy();
|
|
176
182
|
});
|
|
177
183
|
}
|
|
178
|
-
|
|
179
|
-
this.
|
|
184
|
+
aMenuItems.forEach(oActionMenu.addItem, oActionMenu);
|
|
185
|
+
this._aMenuItems = aMenuItems;
|
|
180
186
|
|
|
181
187
|
// Make an initial check for 'visible' and 'enabled' for the buttons
|
|
182
|
-
this.
|
|
188
|
+
this._refreshMenuItems().then(this._updateVisibility.bind(this));
|
|
183
189
|
};
|
|
184
190
|
|
|
185
191
|
ActionsToolbar.prototype.setCard = function (oCard) {
|
|
@@ -187,8 +193,8 @@ sap.ui.define([
|
|
|
187
193
|
};
|
|
188
194
|
|
|
189
195
|
ActionsToolbar.prototype._open = function () {
|
|
190
|
-
this.
|
|
191
|
-
this.getAggregation("
|
|
196
|
+
this._refreshMenuItems().then(function () {
|
|
197
|
+
this.getAggregation("_actionsMenu").openBy(this._getToolbar());
|
|
192
198
|
}.bind(this));
|
|
193
199
|
};
|
|
194
200
|
|
|
@@ -213,43 +219,61 @@ sap.ui.define([
|
|
|
213
219
|
return oToolbar;
|
|
214
220
|
};
|
|
215
221
|
|
|
216
|
-
ActionsToolbar.prototype.
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
mAction,
|
|
221
|
-
oButton,
|
|
222
|
-
i,
|
|
223
|
-
aPromises = [];
|
|
224
|
-
|
|
225
|
-
for (i = 0; i < aActions.length; i++) {
|
|
226
|
-
mAction = aActions[i];
|
|
227
|
-
oButton = aButtons[i];
|
|
228
|
-
|
|
229
|
-
aPromises.push(setButtonProperty(oButton, 'enabled', mAction.enabled, oCard));
|
|
230
|
-
aPromises.push(setButtonProperty(oButton, 'visible', mAction.visible, oCard));
|
|
231
|
-
}
|
|
222
|
+
ActionsToolbar.prototype._refreshMenuItems = function () {
|
|
223
|
+
const aPromises = [];
|
|
224
|
+
|
|
225
|
+
this._refreshRecursiveMenuItems(this._aActions, this._aMenuItems, aPromises);
|
|
232
226
|
|
|
233
227
|
return Promise.all(aPromises);
|
|
234
228
|
};
|
|
235
229
|
|
|
230
|
+
ActionsToolbar.prototype._refreshRecursiveMenuItems = function (aActions, aMenuItems, aPromises) {
|
|
231
|
+
const oCard = this._oCard;
|
|
232
|
+
|
|
233
|
+
if (!aActions || !aMenuItems) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
aActions.forEach((mAction, i) => {
|
|
238
|
+
const oMenuItem = aMenuItems[i];
|
|
239
|
+
aPromises.push(setMenuItemProperty(oMenuItem, 'enabled', mAction.enabled, oCard));
|
|
240
|
+
aPromises.push(setMenuItemProperty(oMenuItem, 'visible', mAction.visible, oCard));
|
|
241
|
+
|
|
242
|
+
this._refreshRecursiveMenuItems(mAction.actions, oMenuItem.getItems(), aPromises);
|
|
243
|
+
});
|
|
244
|
+
};
|
|
245
|
+
|
|
236
246
|
/**
|
|
237
|
-
* @param {object} vAction Action config object
|
|
247
|
+
* @param {sap.ui.integration.ActionDefinition|object} vAction Action config object
|
|
238
248
|
* @param {boolean} bIsActionDefinition
|
|
239
|
-
* @returns {sap.m.
|
|
249
|
+
* @returns {sap.m.MenuItem} MenuItem, which will be displayed in the menu
|
|
240
250
|
*/
|
|
241
|
-
ActionsToolbar.prototype.
|
|
251
|
+
ActionsToolbar.prototype._createActionMenuItem = function (vAction, bIsActionDefinition) {
|
|
242
252
|
var mSettings = bIsActionDefinition ? this._getActionConfig(vAction) : vAction;
|
|
253
|
+
const aNestedMenuItems = [];
|
|
254
|
+
|
|
255
|
+
const aActions = bIsActionDefinition ? mSettings.actionDefinitions : mSettings.actions;
|
|
256
|
+
if (aActions) {
|
|
257
|
+
aActions.forEach((oSubAction) => {
|
|
258
|
+
aNestedMenuItems.push(this._createActionMenuItem(oSubAction, bIsActionDefinition));
|
|
259
|
+
});
|
|
260
|
+
}
|
|
243
261
|
|
|
244
|
-
var
|
|
262
|
+
var oMenuItem = new MenuItem({
|
|
245
263
|
icon: mSettings.icon,
|
|
246
264
|
text: mSettings.text,
|
|
247
265
|
tooltip: mSettings.tooltip,
|
|
248
|
-
|
|
266
|
+
startsSection: mSettings.startsSection,
|
|
249
267
|
visible: bIsActionDefinition ? mSettings.visible : false,
|
|
268
|
+
items: aNestedMenuItems,
|
|
250
269
|
press: function (oEvent) {
|
|
251
270
|
var mCurrSettings = bIsActionDefinition ? this._getActionConfig(vAction) : vAction;
|
|
252
271
|
|
|
272
|
+
if (mCurrSettings.actionDefinitions?.length > 0 ||
|
|
273
|
+
mCurrSettings.actions?.length > 0) {
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
|
|
253
277
|
CardActions.fireAction({
|
|
254
278
|
card: this._oCard,
|
|
255
279
|
host: this._oCard.getHostInstance(),
|
|
@@ -261,15 +285,19 @@ sap.ui.define([
|
|
|
261
285
|
});
|
|
262
286
|
|
|
263
287
|
if (bIsActionDefinition) {
|
|
264
|
-
|
|
288
|
+
oMenuItem.setEnabled(mSettings.enabled);
|
|
289
|
+
|
|
290
|
+
vAction.setAssociation("_menuItem", oMenuItem);
|
|
291
|
+
|
|
292
|
+
this._attachObservers(vAction);
|
|
265
293
|
}
|
|
266
294
|
|
|
267
|
-
return
|
|
295
|
+
return oMenuItem;
|
|
268
296
|
};
|
|
269
297
|
|
|
270
298
|
ActionsToolbar.prototype._updateVisibility = function () {
|
|
271
|
-
var bVisible = this.getAggregation("
|
|
272
|
-
return
|
|
299
|
+
var bVisible = this.getAggregation("_actionsMenu").getItems().some(function (oMenuItem) {
|
|
300
|
+
return oMenuItem.getVisible();
|
|
273
301
|
});
|
|
274
302
|
|
|
275
303
|
this.setVisible(bVisible);
|
|
@@ -284,7 +312,7 @@ sap.ui.define([
|
|
|
284
312
|
};
|
|
285
313
|
|
|
286
314
|
ActionsToolbar.prototype._getActionConfig = function (oActionDefinition) {
|
|
287
|
-
var mSettings = ["visible", "enabled", "icon", "text", "tooltip", "parameters", "
|
|
315
|
+
var mSettings = ["visible", "enabled", "icon", "text", "tooltip", "parameters", "type", "actionDefinitions", "startsSection"].reduce(function (mAcc, sKey) {
|
|
288
316
|
mAcc[sKey] = oActionDefinition["get" + capitalize(sKey)]();
|
|
289
317
|
return mAcc;
|
|
290
318
|
}, {});
|
|
@@ -301,47 +329,75 @@ sap.ui.define([
|
|
|
301
329
|
* @param {object} oChanges The mutation info
|
|
302
330
|
*/
|
|
303
331
|
ActionsToolbar.prototype._observeActionsAggregation = function (oChanges) {
|
|
304
|
-
|
|
332
|
+
const oActionDefinition = oChanges.child,
|
|
333
|
+
oParent = oChanges.object;
|
|
305
334
|
|
|
306
335
|
if (oChanges.mutation === "insert") {
|
|
307
|
-
|
|
336
|
+
const oMenuItem = this._createActionMenuItem(oActionDefinition, true),
|
|
337
|
+
iIndex = oParent.indexOfActionDefinition(oActionDefinition);
|
|
308
338
|
|
|
309
|
-
|
|
310
|
-
|
|
339
|
+
let oParentMenu;
|
|
340
|
+
if (oParent.isA("sap.ui.integration.ActionDefinition")) {
|
|
341
|
+
oParentMenu = Element.getElementById(oParent.getAssociation("_menuItem"));
|
|
342
|
+
} else {
|
|
343
|
+
oParentMenu = this.getAggregation("_actionsMenu");
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
oParentMenu.insertItem(oMenuItem, iIndex);
|
|
311
347
|
|
|
312
|
-
var oActionObserver = new ManagedObjectObserver(this._observeSingleAction.bind(this));
|
|
313
|
-
oActionObserver.observe(oActionDefinition, {
|
|
314
|
-
properties: true,
|
|
315
|
-
aggregations: ["tooltip"]
|
|
316
|
-
});
|
|
317
|
-
this._mActionObservers.set(oActionDefinition.getId(), oActionObserver);
|
|
318
348
|
this._updateVisibility();
|
|
319
349
|
} else if (oChanges.mutation === "remove") {
|
|
320
|
-
Element.getElementById(oActionDefinition.getAssociation("
|
|
321
|
-
this.
|
|
322
|
-
this._mActionObservers.delete(oActionDefinition.getId());
|
|
350
|
+
Element.getElementById(oActionDefinition.getAssociation("_menuItem")).destroy();
|
|
351
|
+
this._detachObservers(oActionDefinition);
|
|
323
352
|
}
|
|
324
353
|
};
|
|
325
354
|
|
|
355
|
+
/**
|
|
356
|
+
* @param {sap.ui.integration.ActionDefinition} oActionDefinition The ActionDefinition object to observe
|
|
357
|
+
*/
|
|
358
|
+
ActionsToolbar.prototype._attachObservers = function (oActionDefinition) {
|
|
359
|
+
// Observe for children action definitions
|
|
360
|
+
this._oObserver.observe(oActionDefinition, {
|
|
361
|
+
aggregations: [
|
|
362
|
+
"actionDefinitions"
|
|
363
|
+
]
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
// Observe for properties changes
|
|
367
|
+
var oActionObserver = new ManagedObjectObserver(this._observeSingleAction.bind(this));
|
|
368
|
+
oActionObserver.observe(oActionDefinition, {
|
|
369
|
+
properties: true,
|
|
370
|
+
aggregations: ["tooltip"]
|
|
371
|
+
});
|
|
372
|
+
this._mActionObservers.set(oActionDefinition.getId(), oActionObserver);
|
|
373
|
+
};
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* @param {sap.ui.integration.ActionDefinition} oActionDefinition The ActionDefinition object to unobserve
|
|
377
|
+
*/
|
|
378
|
+
ActionsToolbar.prototype._detachObservers = function (oActionDefinition) {
|
|
379
|
+
// Observe for children action definitions
|
|
380
|
+
this._oObserver.unobserve(oActionDefinition);
|
|
381
|
+
|
|
382
|
+
this._mActionObservers.get(oActionDefinition.getId()).disconnect();
|
|
383
|
+
this._mActionObservers.delete(oActionDefinition.getId());
|
|
384
|
+
};
|
|
385
|
+
|
|
326
386
|
ActionsToolbar.prototype._observeSingleAction = function (oChanges) {
|
|
327
387
|
var oActionDefinition = oChanges.object,
|
|
328
388
|
sName = oChanges.name,
|
|
329
|
-
|
|
389
|
+
oMenuItem = Element.getElementById(oActionDefinition.getAssociation("_menuItem")),
|
|
330
390
|
vVal = oChanges.current;
|
|
331
391
|
|
|
332
392
|
if (["type", "parameters"].indexOf(sName) !== -1) {
|
|
333
393
|
return;
|
|
334
394
|
}
|
|
335
395
|
|
|
336
|
-
if (oChanges.type === "aggregation") {
|
|
396
|
+
if (oChanges.type === "aggregation" && sName !== "actionDefinitions") {
|
|
337
397
|
vVal = oChanges.child;
|
|
338
398
|
}
|
|
339
399
|
|
|
340
|
-
|
|
341
|
-
sName = "type";
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
oButton["set" + capitalize(sName)](vVal);
|
|
400
|
+
oMenuItem["set" + capitalize(sName)](vVal);
|
|
345
401
|
this._updateVisibility();
|
|
346
402
|
};
|
|
347
403
|
|
|
@@ -351,7 +407,7 @@ sap.ui.define([
|
|
|
351
407
|
if (bValue) {
|
|
352
408
|
oToolbar.setEnabled(true);
|
|
353
409
|
} else {
|
|
354
|
-
this.getAggregation("
|
|
410
|
+
this.getAggregation("_actionsMenu").close();
|
|
355
411
|
oToolbar.setEnabled(false);
|
|
356
412
|
}
|
|
357
413
|
};
|
|
@@ -60,7 +60,7 @@ BASE_EDITOR.PROPERTY.BINDING_NOT_ALLOWED=Les cha\u00EEnes de liaison ne sont pas
|
|
|
60
60
|
|
|
61
61
|
BASE_EDITOR.ARRAY.ITEM_LABEL=\u00C9l\u00E9ment
|
|
62
62
|
|
|
63
|
-
BASE_EDITOR.ARRAY.NEW_ITEM_LABEL=Nouveau\: {0}
|
|
63
|
+
BASE_EDITOR.ARRAY.NEW_ITEM_LABEL=Nouveau\u00A0\: {0}
|
|
64
64
|
|
|
65
65
|
BASE_EDITOR.ARRAY.REMOVE=Supprimer l'\u00E9l\u00E9ment
|
|
66
66
|
|