@openui5/sap.ui.integration 1.104.0 → 1.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/.reuse/dep5 +1 -1
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +3 -3
  4. package/src/sap/ui/integration/.library +7 -7
  5. package/src/sap/ui/integration/ActionDefinition.js +1 -1
  6. package/src/sap/ui/integration/Designtime.js +1 -1
  7. package/src/sap/ui/integration/Extension.js +1 -1
  8. package/src/sap/ui/integration/Host.js +1 -1
  9. package/src/sap/ui/integration/cards/AdaptiveContent.js +1 -1
  10. package/src/sap/ui/integration/cards/AnalyticalContent.js +1 -1
  11. package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +1 -1
  12. package/src/sap/ui/integration/cards/BaseContent.js +5 -4
  13. package/src/sap/ui/integration/cards/BaseListContent.js +1 -5
  14. package/src/sap/ui/integration/cards/CalendarContent.js +1 -1
  15. package/src/sap/ui/integration/cards/ComponentContent.js +1 -1
  16. package/src/sap/ui/integration/cards/Footer.js +1 -1
  17. package/src/sap/ui/integration/cards/Header.js +4 -2
  18. package/src/sap/ui/integration/cards/ListContent.js +1 -1
  19. package/src/sap/ui/integration/cards/NumericHeader.js +5 -3
  20. package/src/sap/ui/integration/cards/ObjectContent.js +18 -5
  21. package/src/sap/ui/integration/cards/TableContent.js +1 -1
  22. package/src/sap/ui/integration/cards/TimelineContent.js +1 -1
  23. package/src/sap/ui/integration/cards/WebPageContent.js +1 -1
  24. package/src/sap/ui/integration/cards/actions/CardActions.js +1 -1
  25. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
  26. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
  27. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
  28. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
  29. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputTime.js +0 -2
  30. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
  31. package/src/sap/ui/integration/cards/filters/BaseFilter.js +1 -1
  32. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +6 -3
  33. package/src/sap/ui/integration/cards/filters/FilterBar.js +1 -1
  34. package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +1 -1
  35. package/src/sap/ui/integration/cards/filters/SearchFilter.js +1 -1
  36. package/src/sap/ui/integration/cards/filters/SelectFilter.js +3 -3
  37. package/src/sap/ui/integration/controls/ActionsStrip.js +1 -1
  38. package/src/sap/ui/integration/controls/ActionsToolbar.js +1 -1
  39. package/src/sap/ui/integration/controls/LinkWithIcon.js +1 -1
  40. package/src/sap/ui/integration/controls/ListContentItem.js +1 -1
  41. package/src/sap/ui/integration/controls/Microchart.js +1 -1
  42. package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
  43. package/src/sap/ui/integration/controls/Paginator.js +1 -1
  44. package/src/sap/ui/integration/customElements/CustomElementBase.js +0 -2
  45. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +1 -1
  46. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +3 -5
  47. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +1 -1
  48. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +1 -1
  49. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +1 -1
  50. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +1 -1
  51. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +3 -5
  52. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +1 -1
  53. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +1 -1
  54. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +3 -5
  55. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +3 -5
  56. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +1 -3
  57. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
  58. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +1 -1
  59. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +1 -1
  60. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
  61. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +1 -1
  62. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/multiSelectEditor/MultiSelectEditor.js +3 -5
  63. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +1 -1
  64. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.js +3 -5
  65. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +3 -5
  66. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +3 -5
  67. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +1 -1
  68. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +3 -5
  69. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
  70. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
  71. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
  72. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +1 -1
  73. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -1
  74. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
  75. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
  76. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
  77. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
  78. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
  79. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
  80. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
  81. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
  82. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
  83. package/src/sap/ui/integration/designtime/cardEditor/config/FooterConfig.js +22 -0
  84. package/src/sap/ui/integration/designtime/cardEditor/config/generateActionConfig.js +8 -1
  85. package/src/sap/ui/integration/designtime/cardEditor/config/generateFooterActionsStripConfig.js +179 -0
  86. package/src/sap/ui/integration/designtime/cardEditor/config/index.js +17 -3
  87. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n.properties +42 -0
  88. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ar.properties +28 -0
  89. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_bg.properties +28 -0
  90. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ca.properties +28 -0
  91. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_cs.properties +28 -0
  92. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_cy.properties +28 -0
  93. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_da.properties +28 -0
  94. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_de.properties +28 -0
  95. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_el.properties +28 -0
  96. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en.properties +28 -0
  97. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_GB.properties +28 -0
  98. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_sappsd.properties +28 -0
  99. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_saprigi.properties +28 -0
  100. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_es.properties +28 -0
  101. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_es_MX.properties +28 -0
  102. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_et.properties +28 -0
  103. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fi.properties +28 -0
  104. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fr.properties +28 -0
  105. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fr_CA.properties +28 -0
  106. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hi.properties +28 -0
  107. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hr.properties +28 -0
  108. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hu.properties +28 -0
  109. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_id.properties +28 -0
  110. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_it.properties +28 -0
  111. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_iw.properties +28 -0
  112. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ja.properties +28 -0
  113. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_kk.properties +28 -0
  114. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ko.properties +28 -0
  115. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_lt.properties +28 -0
  116. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_lv.properties +28 -0
  117. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ms.properties +28 -0
  118. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_nl.properties +28 -0
  119. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_no.properties +28 -0
  120. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pl.properties +28 -0
  121. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pt.properties +28 -0
  122. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pt_PT.properties +28 -0
  123. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ro.properties +28 -0
  124. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ru.properties +28 -0
  125. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sh.properties +28 -0
  126. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sk.properties +28 -0
  127. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sl.properties +28 -0
  128. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sv.properties +28 -0
  129. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_th.properties +28 -0
  130. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_tr.properties +28 -0
  131. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_uk.properties +28 -0
  132. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_vi.properties +28 -0
  133. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_zh_CN.properties +28 -0
  134. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_zh_TW.properties +28 -0
  135. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +10 -1
  136. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
  137. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/filtersEditor/FiltersEditor.js +10 -2
  138. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  139. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +1 -1
  140. package/src/sap/ui/integration/designtime/editor/CardEditor.js +1 -1
  141. package/src/sap/ui/integration/designtime/editor/CardPreview.js +1 -1
  142. package/src/sap/ui/integration/designtime/editor/css/CardPreview.css +2 -0
  143. package/src/sap/ui/integration/editor/Editor.js +14 -14
  144. package/src/sap/ui/integration/editor/EditorResourceBundles.js +1 -1
  145. package/src/sap/ui/integration/editor/Extension.js +2 -2
  146. package/src/sap/ui/integration/editor/Manifest.js +1 -1
  147. package/src/sap/ui/integration/editor/Merger.js +2 -4
  148. package/src/sap/ui/integration/editor/Settings.js +49 -44
  149. package/src/sap/ui/integration/editor/fields/BaseField.js +54 -6
  150. package/src/sap/ui/integration/editor/fields/BooleanField.js +1 -1
  151. package/src/sap/ui/integration/editor/fields/DateField.js +1 -1
  152. package/src/sap/ui/integration/editor/fields/DateTimeField.js +1 -1
  153. package/src/sap/ui/integration/editor/fields/DestinationField.js +1 -1
  154. package/src/sap/ui/integration/editor/fields/IntegerField.js +1 -1
  155. package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
  156. package/src/sap/ui/integration/editor/fields/ObjectField.js +13 -2
  157. package/src/sap/ui/integration/editor/fields/ObjectListField.js +3 -2
  158. package/src/sap/ui/integration/editor/fields/StringField.js +1 -1
  159. package/src/sap/ui/integration/editor/fields/StringListField.js +1 -1
  160. package/src/sap/ui/integration/editor/fields/fragment/Controller.js +43 -0
  161. package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +26 -39
  162. package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +54 -71
  163. package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +21 -38
  164. package/src/sap/ui/integration/editor/fields/viz/VizBase.js +91 -0
  165. package/src/sap/ui/integration/library.js +12 -4
  166. package/src/sap/ui/integration/model/ContextModel.js +1 -1
  167. package/src/sap/ui/integration/model/ObservableModel.js +1 -1
  168. package/src/sap/ui/integration/model/PagingModelListBinding.js +1 -1
  169. package/src/sap/ui/integration/schemas/sap-card.json +7 -1
  170. package/src/sap/ui/integration/util/BaseFactory.js +1 -1
  171. package/src/sap/ui/integration/util/BindingHelper.js +1 -1
  172. package/src/sap/ui/integration/util/BindingResolver.js +1 -1
  173. package/src/sap/ui/integration/util/CacheAndRequestDataProvider.js +2 -0
  174. package/src/sap/ui/integration/util/CardObserver.js +1 -1
  175. package/src/sap/ui/integration/util/ContentFactory.js +1 -1
  176. package/src/sap/ui/integration/util/CsrfTokenHandler.js +1 -1
  177. package/src/sap/ui/integration/util/DataProvider.js +43 -4
  178. package/src/sap/ui/integration/util/DataProviderFactory.js +2 -5
  179. package/src/sap/ui/integration/util/Destinations.js +1 -3
  180. package/src/sap/ui/integration/util/ExtensionDataProvider.js +8 -1
  181. package/src/sap/ui/integration/util/HeaderFactory.js +1 -1
  182. package/src/sap/ui/integration/util/JSONBindingHelper.js +1 -1
  183. package/src/sap/ui/integration/util/LoadingProvider.js +1 -1
  184. package/src/sap/ui/integration/util/Manifest.js +1 -1
  185. package/src/sap/ui/integration/util/ManifestResolver.js +4 -0
  186. package/src/sap/ui/integration/util/ParameterMap.js +14 -0
  187. package/src/sap/ui/integration/util/RequestDataProvider.js +8 -9
  188. package/src/sap/ui/integration/util/ServiceDataProvider.js +1 -1
  189. package/src/sap/ui/integration/util/ServiceManager.js +1 -1
  190. package/src/sap/ui/integration/util/SkeletonCard.js +1 -1
  191. package/src/sap/ui/integration/util/Utils.js +1 -1
  192. package/src/sap/ui/integration/widgets/Card.js +64 -14
@@ -3,8 +3,13 @@
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
- sap.ui.define(["sap/ui/base/ManagedObject"],
7
- function (ManagedObject) {
6
+ sap.ui.define([
7
+ "sap/ui/base/ManagedObject",
8
+ "sap/ui/performance/Measurement"
9
+ ], function (
10
+ ManagedObject,
11
+ Measurement
12
+ ) {
8
13
  "use strict";
9
14
 
10
15
  /**
@@ -24,7 +29,7 @@ sap.ui.define(["sap/ui/base/ManagedObject"],
24
29
  * @extends sap.ui.base.ManagedObject
25
30
  *
26
31
  * @author SAP SE
27
- * @version 1.104.0
32
+ * @version 1.105.0
28
33
  *
29
34
  * @constructor
30
35
  * @private
@@ -87,10 +92,20 @@ sap.ui.define(["sap/ui/base/ManagedObject"],
87
92
  message : { type : "string" }
88
93
  }
89
94
  }
95
+ },
96
+ associations: {
97
+ card: {
98
+ type : "sap.ui.integration.widgets.Card",
99
+ multiple: false
100
+ }
90
101
  }
91
102
  }
92
103
  });
93
104
 
105
+ DataProvider.prototype.init = function () {
106
+ this._iCurrentRequestNumber = 0;
107
+ };
108
+
94
109
  /**
95
110
  * Sets the destinations resolver
96
111
  *
@@ -191,13 +206,30 @@ sap.ui.define(["sap/ui/base/ManagedObject"],
191
206
 
192
207
  DataProvider.prototype._triggerDataUpdate = function () {
193
208
  this._bActive = true;
209
+ this._iCurrentRequestNumber++;
210
+ var oGetDataMeasurement;
211
+
212
+ if (this.getCard()) {
213
+ oGetDataMeasurement = Measurement.start(
214
+ "UI5 Integration Cards - " + this.getCard() + "-" + this.getId() + "---getData#" + this._iCurrentRequestNumber,
215
+ this.getDetails()
216
+ );
217
+ }
194
218
 
195
219
  return this.getData()
196
220
  .then(function (oData) {
221
+ if (oGetDataMeasurement) {
222
+ Measurement.end(oGetDataMeasurement.id);
223
+ }
224
+
197
225
  this.fireDataChanged({data: oData});
198
226
  this.onDataRequestComplete();
199
227
  }.bind(this))
200
228
  .catch(function (oResult) {
229
+ if (oGetDataMeasurement) {
230
+ Measurement.end(oGetDataMeasurement.id);
231
+ }
232
+
201
233
  if (Array.isArray(oResult) && oResult.length > 0) {
202
234
  this.fireError({message: oResult[0], jqXHR: oResult[1]});
203
235
  } else {
@@ -244,7 +276,6 @@ sap.ui.define(["sap/ui/base/ManagedObject"],
244
276
  };
245
277
 
246
278
  DataProvider.prototype.onDataRequestComplete = function () {
247
-
248
279
  var iInterval;
249
280
 
250
281
  if (!this._oSettings || !this._oSettings.updateInterval) {
@@ -291,5 +322,13 @@ sap.ui.define(["sap/ui/base/ManagedObject"],
291
322
  return Promise.all(aPromises);
292
323
  };
293
324
 
325
+ /**
326
+ * @protected
327
+ * @returns {string} Details about the provider, to be used for logging.
328
+ */
329
+ DataProvider.prototype.getDetails = function () {
330
+ return "Static JSON data provided in the manifest.";
331
+ };
332
+
294
333
  return DataProvider;
295
334
  });
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * When destroyed, all data providers created by this class are also destroyed.
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.104.0
33
+ * @version 1.105.0
34
34
  *
35
35
  * @private
36
36
  * @ui5-restricted sap.ui.integration, shell-toolkit
@@ -140,14 +140,10 @@ sap.ui.define([
140
140
 
141
141
  if (oDataSettings.request && bUseExperimentalCaching) {
142
142
  oDataProvider = new CacheAndRequestDataProvider(oConfig);
143
- oDataProvider.setCard(oCard);
144
143
  oDataProvider.setHost(oHost);
145
144
  } else if (oDataSettings.request) {
146
145
  oDataProvider = new RequestDataProvider(oConfig);
147
146
 
148
- if (oCard) {
149
- oDataProvider.setCard(oCard);
150
- }
151
147
  if (oHost) {
152
148
  oDataProvider.setHost(oHost);
153
149
  }
@@ -162,6 +158,7 @@ sap.ui.define([
162
158
  }
163
159
 
164
160
  if (oCard) {
161
+ oDataProvider.setCard(oCard);
165
162
  BindingHelper.propagateModels(oCard, oDataProvider);
166
163
  } else if (oEditor) {
167
164
  BindingHelper.propagateModels(oEditor, oDataProvider);
@@ -7,13 +7,11 @@
7
7
  sap.ui.define([
8
8
  "sap/ui/base/Object",
9
9
  "sap/base/Log",
10
- "sap/base/util/deepExtend",
11
10
  "sap/base/util/isPlainObject",
12
11
  "sap/ui/integration/util/Utils"
13
12
  ], function (
14
13
  BaseObject,
15
14
  Log,
16
- deepExtend,
17
15
  isPlainObject,
18
16
  Utils
19
17
  ) {
@@ -31,7 +29,7 @@ sap.ui.define([
31
29
  * @extends sap.ui.base.Object
32
30
  *
33
31
  * @author SAP SE
34
- * @version 1.104.0
32
+ * @version 1.105.0
35
33
  *
36
34
  * @constructor
37
35
  * @param {sap.ui.integration.Host} oHost The Host which will be used for resolving destinations.
@@ -17,7 +17,7 @@ sap.ui.define(["sap/ui/integration/util/DataProvider"], function (DataProvider)
17
17
  * @extends sap.ui.integration.util.DataProvider
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.104.0
20
+ * @version 1.105.0
21
21
  *
22
22
  * @constructor
23
23
  * @private
@@ -57,5 +57,12 @@ sap.ui.define(["sap/ui/integration/util/DataProvider"], function (DataProvider)
57
57
  return this._oExtension[oExtensionSettings.method].apply(this._oExtension, oExtensionSettings.args);
58
58
  };
59
59
 
60
+ /**
61
+ * @override
62
+ */
63
+ ExtensionDataProvider.prototype.getDetails = function () {
64
+ return "Load data from Extension. Method: " + this.getSettings().extension.method;
65
+ };
66
+
60
67
  return ExtensionDataProvider;
61
68
  });
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @extends sap.ui.integration.util.BaseFactory
41
41
  *
42
42
  * @author SAP SE
43
- * @version 1.104.0
43
+ * @version 1.105.0
44
44
  *
45
45
  * @constructor
46
46
  * @private
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * Helper class for working with bindings for json objects.
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.104.0
30
+ * @version 1.105.0
31
31
  *
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.integration, shell-toolkit
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Element
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.104.0
40
+ * @version 1.105.0
41
41
  *
42
42
  * @constructor
43
43
  * @private
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  * @extends sap.ui.base.Object
65
65
  *
66
66
  * @author SAP SE
67
- * @version 1.104.0
67
+ * @version 1.105.0
68
68
  *
69
69
  * @constructor
70
70
  * @private
@@ -41,6 +41,10 @@ sap.ui.define([
41
41
  };
42
42
 
43
43
  ManifestResolver._awaitReadyEvent = function (oCard) {
44
+ if (oCard.isReady()) {
45
+ return Promise.resolve(oCard);
46
+ }
47
+
44
48
  return new Promise(function (resolve, reject) {
45
49
  oCard.attachEvent("_ready", function (e) {
46
50
  resolve(oCard);
@@ -75,6 +75,20 @@ sap.ui.define([
75
75
  return sPlaceholder;
76
76
  };
77
77
 
78
+ ParameterMap.getParamsForModel = function () {
79
+
80
+ var oParameters = {};
81
+
82
+ for (var parameter in mParameters) {
83
+
84
+ var iIndexStart = parameter.indexOf("."),
85
+ iIndexEnd = parameter.indexOf("}");
86
+ oParameters[parameter.substring(iIndexStart + 1, iIndexEnd)] = mParameters[parameter]();
87
+ }
88
+
89
+ return oParameters;
90
+ };
91
+
78
92
  return ParameterMap;
79
93
 
80
94
  });
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.integration.util.DataProvider
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.104.0
35
+ * @version 1.105.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -59,14 +59,6 @@ sap.ui.define([
59
59
  host: {
60
60
  type : "sap.ui.integration.Host",
61
61
  multiple: false
62
- },
63
-
64
- /**
65
- * Optionally the card which will be used as reference for the requests and for visual representation of cache timestamp and refresh.
66
- */
67
- card: {
68
- type : "sap.ui.integration.widgets.Card",
69
- multiple: false
70
62
  }
71
63
  }
72
64
 
@@ -399,5 +391,12 @@ sap.ui.define([
399
391
  return mHeaders;
400
392
  };
401
393
 
394
+ /**
395
+ * @override
396
+ */
397
+ RequestDataProvider.prototype.getDetails = function () {
398
+ return "Backend interaction - load data from URL: " + this.getSettings().request.url;
399
+ };
400
+
402
401
  return RequestDataProvider;
403
402
  });
@@ -17,7 +17,7 @@ sap.ui.define(["sap/ui/integration/util/DataProvider"], function (DataProvider)
17
17
  * @extends sap.ui.integration.util.DataProvider
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.104.0
20
+ * @version 1.105.0
21
21
  *
22
22
  * @constructor
23
23
  * @private
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.base.EventProvider
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.104.0
40
+ * @version 1.105.0
41
41
  *
42
42
  * @constructor
43
43
  * @param {Object} mServiceFactoryReferences A map with service descriptions.
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @extends sap.ui.integration.widgets.Card
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.104.0
22
+ * @version 1.105.0
23
23
  *
24
24
  * @constructor
25
25
  * @private
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * Utility class helping with JSON strings and formatters.
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.104.0
26
+ * @version 1.105.0
27
27
  *
28
28
  * @private
29
29
  * @alias sap.ui.integration.util.Utils
@@ -38,6 +38,8 @@ sap.ui.define([
38
38
  "sap/m/IllustratedMessageType",
39
39
  "sap/m/IllustratedMessageSize",
40
40
  "sap/ui/integration/util/Utils",
41
+ "sap/ui/integration/util/ParameterMap",
42
+ "sap/ui/performance/Measurement",
41
43
  "sap/m/HBox",
42
44
  "sap/m/library"
43
45
  ], function (
@@ -75,6 +77,8 @@ sap.ui.define([
75
77
  IllustratedMessageType,
76
78
  IllustratedMessageSize,
77
79
  Utils,
80
+ ParameterMap,
81
+ Measurement,
78
82
  HBox,
79
83
  mLibrary
80
84
  ) {
@@ -119,6 +123,13 @@ sap.ui.define([
119
123
 
120
124
  var MODULE_PREFIX = "module:";
121
125
 
126
+ function measurementStartTime() {
127
+ if (performance && performance.now) {
128
+ return "Start since page load: " + performance.now();
129
+ }
130
+
131
+ return "";
132
+ }
122
133
 
123
134
  /**
124
135
  * Constructor for a new <code>Card</code>.
@@ -177,7 +188,7 @@ sap.ui.define([
177
188
  * @extends sap.f.CardBase
178
189
  *
179
190
  * @author SAP SE
180
- * @version 1.104.0
191
+ * @version 1.105.0
181
192
  * @public
182
193
  * @constructor
183
194
  * @see {@link topic:5b46b03f024542ba802d99d67bc1a3f4 Cards}
@@ -249,8 +260,24 @@ sap.ui.define([
249
260
  * Example:
250
261
  * <pre>
251
262
  * [
252
- * {"content": {"header": {"title": "My title"}}},
253
- * {"content": {"header": {"title": "My new title"}}}
263
+ * {
264
+ * "/sap.card/header/title": "My Configured Title in Default Language",
265
+ * "/sap.card/content/maxItems": 10,
266
+ * "texts": {
267
+ * "en-US": {
268
+ * "/sap.card/header/title": "My Configured Title in US-English"
269
+ * }
270
+ * }
271
+ * },
272
+ * {
273
+ * "/sap.card/header/title": "My Configured Title in Default Language",
274
+ * "/sap.card/content/maxItems": 10,
275
+ * "texts": {
276
+ * "en-US": {
277
+ * "/sap.card/header/title": "My Configured Title in US-English"
278
+ * }
279
+ * }
280
+ * }
254
281
  * ]
255
282
  * </pre>
256
283
  *
@@ -437,7 +464,6 @@ sap.ui.define([
437
464
  * @private
438
465
  */
439
466
  Card.prototype.init = function () {
440
-
441
467
  CardBase.prototype.init.call(this);
442
468
 
443
469
  this.setAggregation("_loadingProvider", new LoadingProvider());
@@ -450,10 +476,11 @@ sap.ui.define([
450
476
  this._oCardObserver = new CardObserver(this);
451
477
  this._bFirstRendering = true;
452
478
  this._aFundamentalErrors = [];
479
+ this._sPerformanceId = "UI5 Integration Cards - " + this.getId() + "---";
480
+ this._fnOnCardReady = function () {
481
+ this._bCardReady = true;
482
+ }.bind(this);
453
483
 
454
- if (this.getProperty("dataMode") === CardDataMode.Auto) {
455
- this._oCardObserver.createObserver(this);
456
- }
457
484
  /**
458
485
  * Facade of the {@link sap.ui.integration.widgets.Card} control.
459
486
  * @interface
@@ -461,7 +488,7 @@ sap.ui.define([
461
488
  * @experimental since 1.79
462
489
  * @public
463
490
  * @author SAP SE
464
- * @version 1.104.0
491
+ * @version 1.105.0
465
492
  * @borrows sap.ui.integration.widgets.Card#getDomRef as getDomRef
466
493
  * @borrows sap.ui.integration.widgets.Card#setVisible as setVisible
467
494
  * @borrows sap.ui.integration.widgets.Card#getParameters as getParameters
@@ -537,6 +564,11 @@ sap.ui.define([
537
564
  bundle: this._oIntegrationRb
538
565
  });
539
566
  break;
567
+ case "parameters":
568
+ oModel = new JSONModel(
569
+ ParameterMap.getParamsForModel()
570
+ );
571
+ break;
540
572
  default:
541
573
  oModel = new JSONModel();
542
574
  break;
@@ -577,6 +609,8 @@ sap.ui.define([
577
609
  this._bReady = true;
578
610
  this.fireEvent("_ready");
579
611
  }.bind(this));
612
+
613
+ this.attachEventOnce("_cardReady", this._fnOnCardReady);
580
614
  };
581
615
 
582
616
  /**
@@ -586,7 +620,9 @@ sap.ui.define([
586
620
  */
587
621
  Card.prototype._clearReadyState = function () {
588
622
  this._bReady = false;
623
+ this._bCardReady = false;
589
624
  this._aReadyPromises = [];
625
+ this.detachEvent("_cardReady", this._fnOnCardReady);
590
626
  };
591
627
 
592
628
  /**
@@ -607,6 +643,16 @@ sap.ui.define([
607
643
  * @private
608
644
  */
609
645
  Card.prototype.onAfterRendering = function () {
646
+ if (Measurement.getActive() && this._isManifestReady) {
647
+ if (!Measurement.getMeasurement(this._sPerformanceId + "firstRenderingWithStaticData").end) {
648
+ Measurement.end(this._sPerformanceId + "firstRenderingWithStaticData");
649
+ }
650
+
651
+ if (this._bCardReady && !Measurement.getMeasurement(this._sPerformanceId + "firstRenderingWithDynamicData").end) {
652
+ Measurement.end(this._sPerformanceId + "firstRenderingWithDynamicData");
653
+ }
654
+ }
655
+
610
656
  var oCardDomRef = this.getDomRef();
611
657
 
612
658
  if (this.getDataMode() === CardDataMode.Auto && this._bFirstRendering) {
@@ -645,7 +691,6 @@ sap.ui.define([
645
691
 
646
692
  if (!this._bApplyManifest && this._bApplyParameters) {
647
693
  this._oCardManifest.processParameters(this._getContextAndRuntimeParams());
648
-
649
694
  this._applyManifestSettings();
650
695
  }
651
696
 
@@ -749,6 +794,10 @@ sap.ui.define([
749
794
  this._oCardManifest.destroy();
750
795
  }
751
796
 
797
+ Measurement.start(this._sPerformanceId + "initManifest", "Load and initialize manifest. " + measurementStartTime());
798
+ Measurement.start(this._sPerformanceId + "firstRenderingWithStaticData", "First rendering with static data (includes initManifest). " + measurementStartTime());
799
+ Measurement.start(this._sPerformanceId + "firstRenderingWithDynamicData","First rendering with dynamic card level data (includes firstRenderingWithStaticData). " + measurementStartTime());
800
+
752
801
  this._oCardManifest = new CardManifest("sap.card", vManifest, sBaseUrl, this.getManifestChanges());
753
802
 
754
803
  this._oCardManifest
@@ -758,6 +807,7 @@ sap.ui.define([
758
807
  throw new Error(CARD_DESTROYED_ERROR);
759
808
  }
760
809
 
810
+ Measurement.end(this._sPerformanceId + "initManifest");
761
811
  this._registerManifestModulePath();
762
812
  this._isManifestReady = true;
763
813
  this.fireManifestReady();
@@ -1286,7 +1336,7 @@ sap.ui.define([
1286
1336
  * @param {string} sMessage The message.
1287
1337
  * @param {sap.ui.core.MessageType} sType Type of the message.
1288
1338
  */
1289
- Card.prototype.showMessage = function (sMessage, sType) {
1339
+ Card.prototype.showMessage = function (sMessage, sType) {
1290
1340
  if (this._createContentPromise) {
1291
1341
  this._createContentPromise.then(function (oContent) {
1292
1342
  oContent.showMessage(sMessage, sType);
@@ -1438,7 +1488,6 @@ sap.ui.define([
1438
1488
  this._applyFooterManifestSettings();
1439
1489
 
1440
1490
  this.fireManifestApplied();
1441
-
1442
1491
  };
1443
1492
 
1444
1493
  /**
@@ -1450,7 +1499,8 @@ sap.ui.define([
1450
1499
 
1451
1500
  Card.prototype._setParametersModelData = function () {
1452
1501
 
1453
- var oCustomParameters = {},
1502
+ var oPredefinedParameters = ParameterMap.getParamsForModel(),
1503
+ oCustomParameters = {},
1454
1504
  oCombinedParameters = this.getCombinedParameters(),
1455
1505
  sKey;
1456
1506
 
@@ -1461,7 +1511,7 @@ sap.ui.define([
1461
1511
  oCustomParameters[sKey] = {value: oCombinedParameters[sKey]};
1462
1512
  }
1463
1513
  }
1464
- this.getModel("parameters").setData(oCustomParameters);
1514
+ this.getModel("parameters").setData(merge(oPredefinedParameters, oCustomParameters));
1465
1515
  };
1466
1516
 
1467
1517
  Card.prototype._applyDataManifestSettings = function () {
@@ -1473,7 +1523,7 @@ sap.ui.define([
1473
1523
  return;
1474
1524
  }
1475
1525
 
1476
- this.bindObject(oDataSettings.path || "/");
1526
+ this.bindObject(BindingResolver.resolveValue(oDataSettings.path || "/", this));
1477
1527
 
1478
1528
  if (this._oDataProvider) {
1479
1529
  this._oDataProvider.destroy();