@openui5/sap.ui.integration 1.128.0 → 1.130.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 (218) hide show
  1. package/THIRDPARTY.txt +2 -2
  2. package/package.json +7 -7
  3. package/src/sap/ui/integration/.library +1 -1
  4. package/src/sap/ui/integration/ActionDefinition.js +1 -1
  5. package/src/sap/ui/integration/Designtime.js +1 -1
  6. package/src/sap/ui/integration/Extension.js +13 -1
  7. package/src/sap/ui/integration/Host.js +13 -1
  8. package/src/sap/ui/integration/cards/AdaptiveContent.js +1 -1
  9. package/src/sap/ui/integration/cards/AnalyticalContent.js +1 -1
  10. package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +1 -1
  11. package/src/sap/ui/integration/cards/BaseContent.js +8 -7
  12. package/src/sap/ui/integration/cards/BaseContentRenderer.js +30 -8
  13. package/src/sap/ui/integration/cards/BaseListContent.js +44 -19
  14. package/src/sap/ui/integration/cards/BaseListContentRenderer.js +52 -0
  15. package/src/sap/ui/integration/cards/CalendarContent.js +12 -2
  16. package/src/sap/ui/integration/cards/CalendarContentRenderer.js +2 -2
  17. package/src/sap/ui/integration/cards/ComponentContent.js +5 -5
  18. package/src/sap/ui/integration/cards/Footer.js +110 -35
  19. package/src/sap/ui/integration/cards/Header.js +4 -3
  20. package/src/sap/ui/integration/cards/ListContent.js +2 -1
  21. package/src/sap/ui/integration/cards/ListContentRenderer.js +5 -3
  22. package/src/sap/ui/integration/cards/NumericHeader.js +4 -3
  23. package/src/sap/ui/integration/cards/ObjectContent.js +2 -2
  24. package/src/sap/ui/integration/cards/TableContent.js +1 -1
  25. package/src/sap/ui/integration/cards/TableContentRenderer.js +2 -2
  26. package/src/sap/ui/integration/cards/TimelineContent.js +1 -1
  27. package/src/sap/ui/integration/cards/TimelineContentRenderer.js +2 -2
  28. package/src/sap/ui/integration/cards/WebPageContent.js +1 -1
  29. package/src/sap/ui/integration/cards/actions/CardActions.js +6 -2
  30. package/src/sap/ui/integration/cards/actions/ShowCardAction.js +12 -83
  31. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
  32. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
  33. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
  34. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
  35. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
  36. package/src/sap/ui/integration/cards/filters/BaseFilter.js +16 -5
  37. package/src/sap/ui/integration/cards/filters/ComboBoxFilter.js +27 -4
  38. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +11 -1
  39. package/src/sap/ui/integration/cards/filters/FilterBar.js +1 -1
  40. package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +1 -1
  41. package/src/sap/ui/integration/cards/filters/SearchFilter.js +8 -1
  42. package/src/sap/ui/integration/cards/filters/SelectFilter.js +12 -1
  43. package/src/sap/ui/integration/cards/list/MicrochartsResizeHelper.js +1 -1
  44. package/src/sap/ui/integration/controls/ActionsStrip.js +1 -1
  45. package/src/sap/ui/integration/controls/ActionsToolbar.js +1 -1
  46. package/src/sap/ui/integration/controls/BlockingMessage.js +1 -1
  47. package/src/sap/ui/integration/controls/ComboBox.js +47 -0
  48. package/src/sap/ui/integration/controls/ImageWithOverlay.js +1 -1
  49. package/src/sap/ui/integration/controls/ListContentItem.js +7 -4
  50. package/src/sap/ui/integration/controls/ListContentItemRenderer.js +4 -4
  51. package/src/sap/ui/integration/controls/Microchart.js +1 -1
  52. package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
  53. package/src/sap/ui/integration/controls/ObjectStatus.js +26 -1
  54. package/src/sap/ui/integration/delegate/Paginator.js +287 -0
  55. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +1 -1
  56. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +1 -1
  57. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +1 -1
  58. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +1 -1
  59. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +1 -1
  60. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +1 -1
  61. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  62. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditor.js +1 -1
  63. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +1 -1
  64. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +1 -1
  65. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +1 -1
  66. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +1 -1
  67. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  68. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
  69. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +1 -1
  70. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +1 -1
  71. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
  72. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +1 -1
  73. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/multiSelectEditor/MultiSelectEditor.js +1 -1
  74. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +1 -1
  75. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.js +1 -1
  76. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +1 -1
  77. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +1 -1
  78. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +1 -1
  79. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +1 -1
  80. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
  81. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
  82. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
  83. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +1 -1
  84. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -1
  85. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
  86. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
  87. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
  88. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
  89. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
  90. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
  91. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
  92. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
  93. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
  94. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +1 -1
  95. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
  96. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/filtersEditor/FiltersEditor.js +1 -1
  97. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  98. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +1 -1
  99. package/src/sap/ui/integration/designtime/editor/Card.js +1 -1
  100. package/src/sap/ui/integration/designtime/editor/CardEditor.js +1 -1
  101. package/src/sap/ui/integration/designtime/editor/CardPreview.js +1 -1
  102. package/src/sap/ui/integration/editor/Editor.js +119 -82
  103. package/src/sap/ui/integration/editor/EditorResourceBundles.js +1 -1
  104. package/src/sap/ui/integration/editor/Extension.js +1 -1
  105. package/src/sap/ui/integration/editor/Manifest.js +1 -1
  106. package/src/sap/ui/integration/editor/Settings.js +1 -1
  107. package/src/sap/ui/integration/editor/css/Editor.css +7 -0
  108. package/src/sap/ui/integration/editor/fields/BaseField.js +1 -1
  109. package/src/sap/ui/integration/editor/fields/BooleanField.js +1 -1
  110. package/src/sap/ui/integration/editor/fields/DateField.js +1 -1
  111. package/src/sap/ui/integration/editor/fields/DateTimeField.js +1 -1
  112. package/src/sap/ui/integration/editor/fields/DestinationField.js +1 -1
  113. package/src/sap/ui/integration/editor/fields/GroupField.js +1 -1
  114. package/src/sap/ui/integration/editor/fields/IntegerField.js +1 -1
  115. package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
  116. package/src/sap/ui/integration/editor/fields/ObjectField.js +1 -1
  117. package/src/sap/ui/integration/editor/fields/ObjectListField.js +1 -1
  118. package/src/sap/ui/integration/editor/fields/StringField.js +1 -1
  119. package/src/sap/ui/integration/editor/fields/StringListField.js +1 -1
  120. package/src/sap/ui/integration/editor/fields/fragment/Controller.js +1 -1
  121. package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +1 -1
  122. package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +1 -1
  123. package/src/sap/ui/integration/editor/fields/viz/ImageSelect.js +1 -1
  124. package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +1 -1
  125. package/src/sap/ui/integration/editor/fields/viz/VizBase.js +1 -1
  126. package/src/sap/ui/integration/extensions/OAuth3LO.js +1 -1
  127. package/src/sap/ui/integration/library.js +2 -2
  128. package/src/sap/ui/integration/messagebundle.properties +3 -0
  129. package/src/sap/ui/integration/messagebundle_ar.properties +2 -0
  130. package/src/sap/ui/integration/messagebundle_bg.properties +2 -0
  131. package/src/sap/ui/integration/messagebundle_ca.properties +3 -1
  132. package/src/sap/ui/integration/messagebundle_cnr.properties +2 -0
  133. package/src/sap/ui/integration/messagebundle_cs.properties +2 -0
  134. package/src/sap/ui/integration/messagebundle_cy.properties +2 -0
  135. package/src/sap/ui/integration/messagebundle_da.properties +3 -1
  136. package/src/sap/ui/integration/messagebundle_de.properties +2 -0
  137. package/src/sap/ui/integration/messagebundle_el.properties +2 -0
  138. package/src/sap/ui/integration/messagebundle_en.properties +2 -0
  139. package/src/sap/ui/integration/messagebundle_en_GB.properties +2 -0
  140. package/src/sap/ui/integration/messagebundle_en_US_saprigi.properties +2 -0
  141. package/src/sap/ui/integration/messagebundle_es.properties +3 -1
  142. package/src/sap/ui/integration/messagebundle_es_MX.properties +2 -0
  143. package/src/sap/ui/integration/messagebundle_et.properties +2 -0
  144. package/src/sap/ui/integration/messagebundle_fi.properties +2 -0
  145. package/src/sap/ui/integration/messagebundle_fr.properties +2 -0
  146. package/src/sap/ui/integration/messagebundle_fr_CA.properties +2 -0
  147. package/src/sap/ui/integration/messagebundle_hi.properties +2 -0
  148. package/src/sap/ui/integration/messagebundle_hr.properties +2 -0
  149. package/src/sap/ui/integration/messagebundle_hu.properties +2 -0
  150. package/src/sap/ui/integration/messagebundle_id.properties +3 -1
  151. package/src/sap/ui/integration/messagebundle_it.properties +2 -0
  152. package/src/sap/ui/integration/messagebundle_iw.properties +2 -0
  153. package/src/sap/ui/integration/messagebundle_ja.properties +2 -0
  154. package/src/sap/ui/integration/messagebundle_kk.properties +3 -1
  155. package/src/sap/ui/integration/messagebundle_ko.properties +3 -1
  156. package/src/sap/ui/integration/messagebundle_lt.properties +2 -0
  157. package/src/sap/ui/integration/messagebundle_lv.properties +2 -0
  158. package/src/sap/ui/integration/messagebundle_mk.properties +2 -0
  159. package/src/sap/ui/integration/messagebundle_ms.properties +2 -0
  160. package/src/sap/ui/integration/messagebundle_nl.properties +2 -0
  161. package/src/sap/ui/integration/messagebundle_no.properties +2 -0
  162. package/src/sap/ui/integration/messagebundle_pl.properties +2 -0
  163. package/src/sap/ui/integration/messagebundle_pt.properties +2 -0
  164. package/src/sap/ui/integration/messagebundle_pt_PT.properties +2 -0
  165. package/src/sap/ui/integration/messagebundle_ro.properties +2 -0
  166. package/src/sap/ui/integration/messagebundle_ru.properties +2 -0
  167. package/src/sap/ui/integration/messagebundle_sh.properties +2 -0
  168. package/src/sap/ui/integration/messagebundle_sk.properties +2 -0
  169. package/src/sap/ui/integration/messagebundle_sl.properties +2 -0
  170. package/src/sap/ui/integration/messagebundle_sr.properties +2 -0
  171. package/src/sap/ui/integration/messagebundle_sv.properties +2 -0
  172. package/src/sap/ui/integration/messagebundle_th.properties +2 -0
  173. package/src/sap/ui/integration/messagebundle_tr.properties +2 -0
  174. package/src/sap/ui/integration/messagebundle_uk.properties +2 -0
  175. package/src/sap/ui/integration/messagebundle_vi.properties +3 -1
  176. package/src/sap/ui/integration/messagebundle_zh_CN.properties +2 -0
  177. package/src/sap/ui/integration/messagebundle_zh_TW.properties +3 -1
  178. package/src/sap/ui/integration/model/ContextModel.js +1 -1
  179. package/src/sap/ui/integration/model/ObservableModel.js +3 -16
  180. package/src/sap/ui/integration/schemas/sap-card.json +27 -4
  181. package/src/sap/ui/integration/themes/base/Card.less +4 -0
  182. package/src/sap/ui/integration/themes/base/CardVariants.less +2 -2
  183. package/src/sap/ui/integration/themes/base/Footer.less +2 -2
  184. package/src/sap/ui/integration/themes/base/Paginator.less +5 -118
  185. package/src/sap/ui/integration/themes/sap_hcb/library.source.less +0 -1
  186. package/src/sap/ui/integration/util/AnalyticsCloudHelper.js +1 -1
  187. package/src/sap/ui/integration/util/BaseFactory.js +1 -1
  188. package/src/sap/ui/integration/util/BindingHelper.js +1 -1
  189. package/src/sap/ui/integration/util/BindingResolver.js +1 -1
  190. package/src/sap/ui/integration/util/CacheAndRequestDataProvider.js +19 -17
  191. package/src/sap/ui/integration/util/CardObserver.js +1 -1
  192. package/src/sap/ui/integration/util/ComboBoxHelper.js +1 -1
  193. package/src/sap/ui/integration/util/ContentFactory.js +9 -3
  194. package/src/sap/ui/integration/util/CsrfTokenHandler.js +1 -1
  195. package/src/sap/ui/integration/util/DataProvider.js +49 -23
  196. package/src/sap/ui/integration/util/DataProviderFactory.js +22 -23
  197. package/src/sap/ui/integration/util/Destinations.js +3 -2
  198. package/src/sap/ui/integration/util/DisplayVariants.js +1 -1
  199. package/src/sap/ui/integration/util/ErrorHandler.js +1 -1
  200. package/src/sap/ui/integration/util/ExtensionDataProvider.js +6 -6
  201. package/src/sap/ui/integration/util/Form.js +1 -1
  202. package/src/sap/ui/integration/util/HeaderFactory.js +10 -4
  203. package/src/sap/ui/integration/util/JSONBindingHelper.js +1 -1
  204. package/src/sap/ui/integration/util/LoadingProvider.js +1 -1
  205. package/src/sap/ui/integration/util/Manifest.js +1 -1
  206. package/src/sap/ui/integration/util/OAuth3LOHelper.js +1 -1
  207. package/src/sap/ui/integration/util/RequestDataProvider.js +59 -21
  208. package/src/sap/ui/integration/util/ServiceDataProvider.js +9 -7
  209. package/src/sap/ui/integration/util/ServiceManager.js +1 -1
  210. package/src/sap/ui/integration/util/SkeletonCard.js +1 -1
  211. package/src/sap/ui/integration/util/Utils.js +1 -1
  212. package/src/sap/ui/integration/util/Validators.js +1 -1
  213. package/src/sap/ui/integration/util/openCardDialog.js +191 -0
  214. package/src/sap/ui/integration/widgets/Card.js +98 -28
  215. package/src/sap/ui/integration/controls/Paginator.js +0 -449
  216. package/src/sap/ui/integration/controls/PaginatorRenderer.js +0 -114
  217. package/src/sap/ui/integration/model/PagingModelListBinding.js +0 -40
  218. package/src/sap/ui/integration/themes/sap_hcb/base_Paginator.less +0 -125
@@ -5,7 +5,7 @@
5
5
  */
6
6
  sap.ui.define([
7
7
  "./BaseFilter",
8
- "sap/m/ComboBox",
8
+ "sap/ui/integration/controls/ComboBox",
9
9
  "sap/ui/core/ListItem",
10
10
  "sap/ui/model/json/JSONModel",
11
11
  "sap/ui/integration/util/BindingResolver",
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.integration.cards.filters.BaseFilter
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.128.0
36
+ * @version 1.130.0
37
37
  *
38
38
  * @constructor
39
39
  * @private
@@ -93,7 +93,16 @@ sap.ui.define([
93
93
  * @override
94
94
  */
95
95
  ComboBoxFilter.prototype.getValueForModel = function () {
96
- const oSelectedItem = this._getComboBox().getSelectedItem();
96
+ const oComboBox = this._getComboBox();
97
+ let oSelectedItem = oComboBox.getSelectedItem();
98
+ const iSelectedIndex = oComboBox.getCustomSelectedIndex();
99
+
100
+ if (!oSelectedItem && (iSelectedIndex > -1)) {
101
+ oSelectedItem = this._getComboBox().getItems()[iSelectedIndex];
102
+ if (oSelectedItem && !this._getComboBox().getValue()) {
103
+ oComboBox.setSelectedItem(oSelectedItem);
104
+ }
105
+ }
97
106
 
98
107
  if (oSelectedItem) {
99
108
  return {
@@ -169,6 +178,19 @@ sap.ui.define([
169
178
  return oStaticConfiguration;
170
179
  };
171
180
 
181
+ /**
182
+ * @override
183
+ */
184
+ ComboBoxFilter.prototype.writeValueToConfiguration = function (oConfiguration) {
185
+ const oValueForModel = this.getValueForModel();
186
+
187
+ oConfiguration.value = oValueForModel.value;
188
+
189
+ if (oValueForModel.selectedItem) {
190
+ oConfiguration.selectedKey = oValueForModel.selectedItem.key;
191
+ }
192
+ };
193
+
172
194
  ComboBoxFilter.prototype._getComboBox = function () {
173
195
  let oControl = this.getAggregation("_comboBox");
174
196
  if (!oControl) {
@@ -191,7 +213,8 @@ sap.ui.define([
191
213
  const oComboBox = new ComboBox({
192
214
  placeholder: oConfig.placeholder,
193
215
  showSecondaryValues: true,
194
- filterSecondaryValues: true
216
+ filterSecondaryValues: true,
217
+ customSelectedIndex: oConfig.selectedIndex
195
218
  });
196
219
 
197
220
  let sItemTemplateKey,
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.integration.cards.filters.BaseFilter
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.128.0
32
+ * @version 1.130.0
33
33
  *
34
34
  * @constructor
35
35
  * @private
@@ -72,6 +72,16 @@ sap.ui.define([
72
72
  return DateRangeHelper.getValueForModel(this._getDdr());
73
73
  };
74
74
 
75
+ /**
76
+ * @override
77
+ */
78
+ DateRangeFilter.prototype.writeValueToConfiguration = function (oConfiguration) {
79
+ const oValueForModel = this.getValueForModel();
80
+
81
+ oConfiguration.value.option = oValueForModel.value.option;
82
+ oConfiguration.value.values = oValueForModel.value.values;
83
+ };
84
+
75
85
  DateRangeFilter.prototype._getDdr = function () {
76
86
  var oControl = this.getAggregation("_ddr");
77
87
  if (!oControl) {
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.core.Control
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.128.0
26
+ * @version 1.130.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @extends sap.ui.base.Object
39
39
  *
40
40
  * @author SAP SE
41
- * @version 1.128.0
41
+ * @version 1.130.0
42
42
  *
43
43
  * @constructor
44
44
  * @private
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.ui.integration.cards.filters.BaseFilter
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.128.0
28
+ * @version 1.130.0
29
29
  *
30
30
  * @constructor
31
31
  * @private
@@ -82,6 +82,13 @@ sap.ui.define([
82
82
  return oStaticConfiguration;
83
83
  };
84
84
 
85
+ /**
86
+ * @override
87
+ */
88
+ SearchFilter.prototype.writeValueToConfiguration = function (oConfiguration) {
89
+ oConfiguration.value = this.getValueForModel().value;
90
+ };
91
+
85
92
  SearchFilter.prototype._getSearchField = function () {
86
93
  var oControl = this.getAggregation("_searchField");
87
94
  if (!oControl) {
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @extends sap.ui.integration.cards.filters.BaseFilter
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.128.0
34
+ * @version 1.130.0
35
35
  *
36
36
  * @constructor
37
37
  * @private
@@ -84,6 +84,10 @@ sap.ui.define([
84
84
  SelectFilter.prototype.getValueForModel = function () {
85
85
  var oSelectedItem = this._getSelect().getSelectedItem();
86
86
 
87
+ if (!oSelectedItem) {
88
+ oSelectedItem = this._getSelect().getItems()[0];
89
+ }
90
+
87
91
  if (oSelectedItem) {
88
92
  return {
89
93
  value: oSelectedItem.getKey(),
@@ -148,6 +152,13 @@ sap.ui.define([
148
152
  return oStaticConfiguration;
149
153
  };
150
154
 
155
+ /**
156
+ * @override
157
+ */
158
+ SelectFilter.prototype.writeValueToConfiguration = function (oConfiguration) {
159
+ oConfiguration.value = this.getValueForModel().value;
160
+ };
161
+
151
162
  SelectFilter.prototype._getSelect = function () {
152
163
  var oControl = this.getAggregation("_select");
153
164
  if (!oControl) {
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.base.Object
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.128.0
25
+ * @version 1.130.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @extends sap.ui.core.Control
61
61
  *
62
62
  * @author SAP SE
63
- * @version 1.128.0
63
+ * @version 1.130.0
64
64
  *
65
65
  * @constructor
66
66
  * @private
@@ -76,7 +76,7 @@ sap.ui.define([
76
76
  * @extends sap.ui.core.Control
77
77
  *
78
78
  * @author SAP SE
79
- * @version 1.128.0
79
+ * @version 1.130.0
80
80
  *
81
81
  * @constructor
82
82
  * @private
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  * @extends sap.ui.core.Control
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.128.0
56
+ * @version 1.130.0
57
57
  *
58
58
  * @constructor
59
59
  * @private
@@ -0,0 +1,47 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/m/ComboBox",
9
+ "sap/m/ComboBoxRenderer"
10
+ ], function (
11
+ MComboBox,
12
+ MComboBoxRenderer
13
+ ) {
14
+ "use strict";
15
+
16
+ /**
17
+ * Constructor for a new ComboBox.
18
+ *
19
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
20
+ * @param {object} [mSettings] Initial settings for the new control
21
+ *
22
+ * @class
23
+ *
24
+ * @extends sap.m.ComboBox
25
+ *
26
+ * @author SAP SE
27
+ * @version 1.130.0
28
+ *
29
+ * @constructor
30
+ * @private
31
+ * @alias sap.ui.integration.controls.ComboBox
32
+ */
33
+ var ComboBox = MComboBox.extend("sap.ui.integration.controls.ComboBox", {
34
+ metadata: {
35
+ library: "sap.ui.integration",
36
+ properties: {
37
+ customSelectedIndex: {
38
+ type: "int",
39
+ defaultValue: -1
40
+ }
41
+ }
42
+ },
43
+ renderer: MComboBoxRenderer
44
+ });
45
+
46
+ return ComboBox;
47
+ });
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * @extends sap.ui.core.Control
42
42
  *
43
43
  * @author SAP SE
44
- * @version 1.128.0
44
+ * @version 1.130.0
45
45
  *
46
46
  * @constructor
47
47
  * @private
@@ -35,7 +35,6 @@ sap.ui.define([
35
35
 
36
36
  var AttributesLayoutType = library.AttributesLayoutType;
37
37
  var ValueState = coreLibrary.ValueState;
38
- var EmptyIndicatorMode = mLibrary.EmptyIndicatorMode;
39
38
  var AvatarImageFitType = mLibrary.AvatarImageFitType;
40
39
 
41
40
  /**
@@ -49,7 +48,7 @@ sap.ui.define([
49
48
  * @extends sap.m.ListItemBase
50
49
  *
51
50
  * @author SAP SE
52
- * @version 1.128.0
51
+ * @version 1.130.0
53
52
  *
54
53
  * @constructor
55
54
  * @private
@@ -121,6 +120,11 @@ sap.ui.define([
121
120
  */
122
121
  iconVisible: { type: "boolean", defaultValue: true },
123
122
 
123
+ /**
124
+ * Defines whether the info is specified.
125
+ */
126
+ hasInfo: { type: "boolean", defaultValue: false },
127
+
124
128
  /**
125
129
  * Defines an additional information text.
126
130
  */
@@ -328,8 +332,7 @@ sap.ui.define([
328
332
  .setText(this.getInfo())
329
333
  .setState(this.getInfoState())
330
334
  .setShowStateIcon(this.getShowInfoStateIcon())
331
- .setIcon(this.getCustomInfoStatusIcon())
332
- .setEmptyIndicatorMode(EmptyIndicatorMode.On);
335
+ .setIcon(this.getCustomInfoStatusIcon());
333
336
 
334
337
  return oObjectStatus;
335
338
  };
@@ -102,7 +102,7 @@ sap.ui.define([
102
102
 
103
103
  ListContentItemRenderer.renderTitle = function(rm, oLI) {
104
104
  var sTitle = oLI.getTitle(),
105
- sInfo = oLI.getInfo();
105
+ bHasInfo = oLI.getHasInfo();
106
106
 
107
107
  rm.openStart("div")
108
108
  .class("sapUiIntLCITitleWrapper")
@@ -114,7 +114,7 @@ sap.ui.define([
114
114
  .text(sTitle)
115
115
  .close("div");
116
116
 
117
- if (sInfo && !oLI.getDescription() && oLI.getInfoVisible()) {
117
+ if (bHasInfo && !oLI.getDescription() && oLI.getInfoVisible()) {
118
118
  this.renderInfo(rm, oLI);
119
119
  }
120
120
 
@@ -123,7 +123,7 @@ sap.ui.define([
123
123
 
124
124
  ListContentItemRenderer.renderDescription = function(rm, oLI) {
125
125
  var sDescription = oLI.getDescription(),
126
- sInfo = oLI.getInfo();
126
+ bHasInfo = oLI.getHasInfo();
127
127
 
128
128
  rm.openStart("div")
129
129
  .class("sapUiIntLCIDescriptionWrapper")
@@ -135,7 +135,7 @@ sap.ui.define([
135
135
  .text(sDescription)
136
136
  .close("div");
137
137
 
138
- if (sInfo && oLI.getInfoVisible()) {
138
+ if (bHasInfo && oLI.getInfoVisible()) {
139
139
  this.renderInfo(rm, oLI);
140
140
  }
141
141
 
@@ -99,7 +99,7 @@ sap.ui.define([
99
99
  * @extends sap.ui.core.Control
100
100
  *
101
101
  * @author SAP SE
102
- * @version 1.128.0
102
+ * @version 1.130.0
103
103
  *
104
104
  * @constructor
105
105
  * @private
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.core.Control
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.128.0
35
+ * @version 1.130.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -5,14 +5,24 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
+ "sap/m/library",
9
+ 'sap/ui/core/library',
8
10
  "sap/m/ObjectStatus",
9
11
  "sap/m/ObjectStatusRenderer"
10
12
  ], function (
13
+ library,
14
+ coreLibrary,
11
15
  MObjectStatus,
12
16
  MObjectStatusRenderer
13
17
  ) {
14
18
  "use strict";
15
19
 
20
+ // shortcut for sap.m.EmptyIndicator
21
+ var EmptyIndicatorMode = library.EmptyIndicatorMode;
22
+
23
+ // shortcuts for sap.ui.core.ValueState
24
+ var ValueState = coreLibrary.ValueState;
25
+
16
26
  /**
17
27
  * Constructor for a new ObjectStatus.
18
28
  *
@@ -24,7 +34,7 @@ sap.ui.define([
24
34
  * @extends sap.m.ObjectStatus
25
35
  *
26
36
  * @author SAP SE
27
- * @version 1.128.0
37
+ * @version 1.130.0
28
38
  *
29
39
  * @constructor
30
40
  * @private
@@ -41,6 +51,21 @@ sap.ui.define([
41
51
  renderer: MObjectStatusRenderer
42
52
  });
43
53
 
54
+ ObjectStatus.prototype._isEmpty = function() {
55
+ return this.getEmptyIndicatorMode() === EmptyIndicatorMode.Off &&
56
+ this._hasNoValue();
57
+ };
58
+
59
+ ObjectStatus.prototype._shouldRenderEmptyIndicator = function() {
60
+ return this.getEmptyIndicatorMode() === EmptyIndicatorMode.On &&
61
+ this._hasNoValue();
62
+ };
63
+
64
+ ObjectStatus.prototype._hasNoValue = function() {
65
+ return !this.getText() &&
66
+ (!this.getShowStateIcon() || (this.getShowStateIcon() && this.getState() === ValueState.None && !this.getIcon()));
67
+ };
68
+
44
69
  ObjectStatus.prototype.onBeforeRendering = function () {
45
70
  if (this.getShowStateIcon()) {
46
71
  if (!this.getIcon()) {
@@ -0,0 +1,287 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/base/util/uid",
9
+ "sap/ui/base/ManagedObject",
10
+ "sap/ui/integration/util/BindingResolver",
11
+ "sap/ui/integration/util/openCardDialog",
12
+ "sap/ui/integration/util/Utils",
13
+ "sap/m/BusyIndicator"
14
+ ], (
15
+ uid,
16
+ ManagedObject,
17
+ BindingResolver,
18
+ openCardDialog,
19
+ Utils,
20
+ BusyIndicator
21
+ ) => {
22
+ "use strict";
23
+
24
+ /**
25
+ * Constructor for a new Paginator.
26
+ *
27
+ * @param {string} [sId] ID, generated automatically if no ID is given
28
+ * @param {object} [mSettings] Initial settings
29
+ *
30
+ * @class
31
+ *
32
+ * @extends sap.ui.base.ManagedObject
33
+ *
34
+ * @author SAP SE
35
+ * @version 1.130.0
36
+ *
37
+ * @constructor
38
+ * @ui5-restricted
39
+ * @private
40
+ * @alias sap.ui.integration.delegate.Paginator
41
+ */
42
+ const Paginator = ManagedObject.extend("sap.ui.integration.delegate.Paginator", {
43
+ metadata: {
44
+ library: "sap.ui.integration",
45
+ properties: {
46
+ active: { type: "boolean", defaultValue: false },
47
+ card: { type: "object" },
48
+ /**
49
+ * Paginator configuration from the manifest
50
+ */
51
+ configuration: { type: "object" },
52
+ paginatorModel: { type: "object" }
53
+ }
54
+ }
55
+ });
56
+
57
+ Paginator.create = function (oSettings) {
58
+ if (!oSettings) {
59
+ return null;
60
+ }
61
+
62
+ const oPaginator = new Paginator(oSettings);
63
+
64
+ oPaginator._applySettings();
65
+ oPaginator._updatePaginatorModel();
66
+
67
+ return oPaginator;
68
+ };
69
+
70
+ Paginator.prototype.init = function() {
71
+ this._iPageNumber = 0;
72
+ this._iPageCount = 0;
73
+ };
74
+
75
+ Paginator.prototype._applySettings = function() {
76
+ const oConfiguration = this.getConfiguration();
77
+ const oCard = this.getCard();
78
+ let iPageSize = oConfiguration.pageSize;
79
+
80
+ if (oCard.isSkeleton() && !oConfiguration.totalCount) {
81
+ // client side pagination for resolved manifest should directly show all items
82
+ iPageSize = oCard.getModelSizeLimit();
83
+ }
84
+
85
+ let oParent = oCard;
86
+ const oContent = oCard.getCardContent();
87
+
88
+ if (oContent) {
89
+ oParent = oCard.getCardContent();
90
+ }
91
+
92
+ this._iTotalCount = BindingResolver.resolveValue(oConfiguration.totalCount, oParent);
93
+ this._iPageSize = BindingResolver.resolveValue(iPageSize, oParent);
94
+ };
95
+
96
+ Paginator.prototype.exit = function () {
97
+ this._oBusyIndicator?.destroy();
98
+ };
99
+
100
+ Paginator.prototype.openDialog = function() {
101
+ const oCard = this.getCard();
102
+
103
+ openCardDialog(
104
+ oCard,
105
+ {
106
+ manifest: this._createManifest(),
107
+ baseUrl: oCard.getBaseUrl(),
108
+ resizable: true,
109
+ showCloseButton: true
110
+ },
111
+ true
112
+ );
113
+ };
114
+
115
+ Paginator.prototype.isServerSide = function() {
116
+ return this._iTotalCount > 0;
117
+ };
118
+
119
+ Paginator.prototype.onDataChanged = function(oContent) {
120
+ if (!oContent.hasData()) {
121
+ this._iPageCount = 0;
122
+ this.fireEvent("_ready");
123
+ return;
124
+ }
125
+
126
+ this._applySettings();
127
+ const iTotalCount = this._iTotalCount || oContent.getDataLength();
128
+ this._iPageCount = Math.ceil(iTotalCount / this._iPageSize);
129
+ this._iPageNumber = Math.min(Math.max(0, this._iPageNumber), this._getLastPageNumber());
130
+
131
+ if (!this.getActive()) {
132
+ this.fireEvent("_ready");
133
+ return;
134
+ }
135
+
136
+ if (this.isServerSide()) {
137
+ this._onDataChangedServerSidePagination(oContent, iTotalCount);
138
+
139
+ if (this._bInitialLoadComplete) {
140
+ this.fireEvent("_ready");
141
+ }
142
+ } else {
143
+ this.fireEvent("_ready");
144
+ }
145
+ };
146
+
147
+ Paginator.prototype.setModelData = function(vData, oModel) {
148
+ const oCard = this.getCard();
149
+ const sBindingPath = oCard.getManifestEntry("/sap.card/content/data/path") || oCard.getManifestEntry("/sap.card/data/path") || "/";
150
+ const oCurrentValue = oModel.getProperty(sBindingPath);
151
+ const oNewValue = Utils.getNestedPropertyValue(vData, sBindingPath);
152
+
153
+ if (oCurrentValue && oNewValue) {
154
+ oModel.setProperty(sBindingPath, oCurrentValue.concat(oNewValue));
155
+ } else {
156
+ oModel.setData(vData);
157
+ }
158
+
159
+ this._loadingMore = false;
160
+ this.fireEvent("_loadMoreComplete");
161
+ };
162
+
163
+ Paginator.prototype.isLoadingMore = function() {
164
+ return this._loadingMore;
165
+ };
166
+
167
+ /**
168
+ * Goes back to the first page
169
+ */
170
+ Paginator.prototype.reset = function () {
171
+ this.getPaginatorModel().setData({
172
+ skip: 0,
173
+ size: 0,
174
+ pageIndex: 0
175
+ });
176
+
177
+ this._iPageNumber = 0;
178
+ this._loadingMore = false;
179
+ };
180
+
181
+ Paginator.prototype.render = function (oRm) {
182
+ if (this._oBusyIndicator && this.isLoadingMore()) {
183
+ oRm.renderControl(this._oBusyIndicator);
184
+ }
185
+ };
186
+
187
+ /**
188
+ * @returns {object} Paginator configuration with static values.
189
+ */
190
+ Paginator.prototype.getStaticConfiguration = function () {
191
+ return {
192
+ pageCount: this._iPageCount,
193
+ pageIndex: this._iPageNumber
194
+ };
195
+ };
196
+
197
+ Paginator.prototype.getPageCount = function() {
198
+ return this._iPageCount;
199
+ };
200
+
201
+ Paginator.prototype.getPageSize = function() {
202
+ return this._iPageSize;
203
+ };
204
+
205
+ Paginator.prototype._onDataChangedServerSidePagination = function(oContent, iTotalCount) {
206
+ const oList = oContent.getInnerList();
207
+ this._oBusyIndicator = this._oBusyIndicator || new BusyIndicator().addStyleClass("sapUiIntPaginatorBusyIndicator");
208
+
209
+ // attempt to load 1 more page initially
210
+ if (!this._bInitialLoadComplete && oContent.getDataLength() < iTotalCount) {
211
+ this._loadMore();
212
+ this.attachEventOnce("_loadMoreComplete", () => {
213
+ this._bInitialLoadComplete = true;
214
+ });
215
+ } else {
216
+ this._bInitialLoadComplete = true;
217
+ }
218
+
219
+ const onScroll = (e) => {
220
+ if (this.isLoadingMore()) {
221
+ return;
222
+ }
223
+
224
+ const LOAD_MORE_THRESHOLD = 300;
225
+ // approaching the end of the list
226
+ if (e.target.scrollHeight - e.target.scrollTop - e.target.clientHeight < LOAD_MORE_THRESHOLD && this.getCard().getCardContent().getDataLength() < iTotalCount) {
227
+ this._loadMore();
228
+ }
229
+ };
230
+
231
+ const oDelegate = {
232
+ onAfterRendering: () => {
233
+ oList.removeEventDelegate(oDelegate);
234
+
235
+ const oScrollContainer = oList.getDomRef().closest(".sapFCardContent");
236
+
237
+ oScrollContainer.removeEventListener("scroll", onScroll);
238
+ oScrollContainer.addEventListener("scroll", onScroll);
239
+
240
+ // load more items until scrollbar appears
241
+ if (!this.isLoadingMore() && oContent.hasData() && oScrollContainer.clientHeight >= oScrollContainer.scrollHeight && oContent.getDataLength() < iTotalCount) {
242
+ this._loadMore();
243
+ }
244
+ }
245
+ };
246
+
247
+ oList.addEventDelegate(oDelegate);
248
+ };
249
+
250
+ Paginator.prototype._loadMore = function() {
251
+ if (!this.isServerSide()) {
252
+ return;
253
+ }
254
+
255
+ this._loadingMore = true;
256
+ this.getCard().getCardContent().invalidate();
257
+ this._iPageNumber = Math.min(this._getLastPageNumber(), this._iPageNumber + 1);
258
+ this._updatePaginatorModel();
259
+ };
260
+
261
+ Paginator.prototype._updatePaginatorModel = function() {
262
+ this.getPaginatorModel().setData({
263
+ skip: this._iPageNumber * this._iPageSize,
264
+ size: this._iPageSize,
265
+ pageIndex: this._iPageNumber
266
+ });
267
+ };
268
+
269
+ Paginator.prototype._getLastPageNumber = function () {
270
+ return Math.max(0, this._iPageCount - 1);
271
+ };
272
+
273
+ Paginator.prototype._createManifest = function() {
274
+ const oCard = this.getCard();
275
+ const oManifest = oCard.getManifestEntry("/");
276
+
277
+ oManifest["sap.app"].id = oManifest["sap.app"].id + uid();
278
+
279
+ oCard.getAggregation("_filterBar")?._getFilters().forEach((oFilter) => {
280
+ oFilter.writeValueToConfiguration(oManifest["sap.card"].configuration.filters[oFilter.getKey()]);
281
+ });
282
+
283
+ return oManifest;
284
+ };
285
+
286
+ return Paginator;
287
+ });