@openui5/sap.ui.integration 1.125.0 → 1.126.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 (179) hide show
  1. package/.reuse/dep5 +4 -4
  2. package/THIRDPARTY.txt +6 -6
  3. package/package.json +7 -7
  4. package/src/sap/ui/integration/.library +1 -1
  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 +111 -35
  12. package/src/sap/ui/integration/cards/BaseContent.js +1 -1
  13. package/src/sap/ui/integration/cards/BaseListContent.js +1 -1
  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 +1 -1
  18. package/src/sap/ui/integration/cards/ListContent.js +2 -7
  19. package/src/sap/ui/integration/cards/NumericHeader.js +7 -1
  20. package/src/sap/ui/integration/cards/ObjectContent.js +1 -1
  21. package/src/sap/ui/integration/cards/TableContent.js +2 -2
  22. package/src/sap/ui/integration/cards/TimelineContent.js +33 -3
  23. package/src/sap/ui/integration/cards/WebPageContent.js +39 -14
  24. package/src/sap/ui/integration/cards/WebPageContentRenderer.js +15 -3
  25. package/src/sap/ui/integration/cards/actions/CardActions.js +1 -1
  26. package/src/sap/ui/integration/cards/actions/ShowCardAction.js +4 -0
  27. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
  28. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
  29. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
  30. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
  31. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
  32. package/src/sap/ui/integration/cards/filters/BaseFilter.js +1 -1
  33. package/src/sap/ui/integration/cards/filters/ComboBoxFilter.js +1 -1
  34. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +1 -1
  35. package/src/sap/ui/integration/cards/filters/FilterBar.js +1 -1
  36. package/src/sap/ui/integration/cards/filters/FilterBarFactory.js +1 -1
  37. package/src/sap/ui/integration/cards/filters/SearchFilter.js +1 -1
  38. package/src/sap/ui/integration/cards/filters/SelectFilter.js +1 -1
  39. package/src/sap/ui/integration/cards/list/MicrochartsResizeHelper.js +1 -1
  40. package/src/sap/ui/integration/controls/ActionsStrip.js +2 -1
  41. package/src/sap/ui/integration/controls/ActionsToolbar.js +9 -1
  42. package/src/sap/ui/integration/controls/BlockingMessage.js +1 -1
  43. package/src/sap/ui/integration/controls/ImageWithOverlay.js +1 -1
  44. package/src/sap/ui/integration/controls/LinkWithIcon.js +1 -1
  45. package/src/sap/ui/integration/controls/ListContentItem.js +23 -6
  46. package/src/sap/ui/integration/controls/Microchart.js +3 -2
  47. package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
  48. package/src/sap/ui/integration/controls/ObjectStatus.js +1 -1
  49. package/src/sap/ui/integration/controls/Paginator.js +1 -1
  50. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +1 -1
  51. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +1 -1
  52. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +1 -1
  53. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +1 -1
  54. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +1 -1
  55. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +1 -1
  56. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  57. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/codeEditor/CodeEditor.js +18 -5
  58. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +1 -1
  59. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +1 -1
  60. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +1 -1
  61. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +1 -1
  62. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  63. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
  64. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +1 -1
  65. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +1 -1
  66. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
  67. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +1 -1
  68. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/multiSelectEditor/MultiSelectEditor.js +1 -1
  69. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +1 -1
  70. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/objectArrayEditor/ObjectArrayEditor.js +1 -1
  71. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +1 -1
  72. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +1 -1
  73. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +1 -1
  74. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +1 -1
  75. package/src/sap/ui/integration/designtime/baseEditor/util/EvalUtils.js +42 -0
  76. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
  77. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
  78. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
  79. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +1 -1
  80. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -1
  81. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
  82. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
  83. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
  84. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
  85. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
  86. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
  87. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
  88. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
  89. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
  90. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +1 -1
  91. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
  92. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/filtersEditor/FiltersEditor.js +1 -1
  93. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +1 -1
  94. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +1 -1
  95. package/src/sap/ui/integration/designtime/editor/Card.js +3 -1
  96. package/src/sap/ui/integration/designtime/editor/CardEditor.js +1 -1
  97. package/src/sap/ui/integration/designtime/editor/CardPreview.js +35 -1
  98. package/src/sap/ui/integration/designtime/editor/css/CardPreview.css +27 -1
  99. package/src/sap/ui/integration/editor/Editor.js +6 -4
  100. package/src/sap/ui/integration/editor/EditorResourceBundles.js +1 -1
  101. package/src/sap/ui/integration/editor/Extension.js +1 -1
  102. package/src/sap/ui/integration/editor/Manifest.js +1 -1
  103. package/src/sap/ui/integration/editor/Settings.js +1 -1
  104. package/src/sap/ui/integration/editor/fields/BaseField.js +1 -1
  105. package/src/sap/ui/integration/editor/fields/BooleanField.js +1 -1
  106. package/src/sap/ui/integration/editor/fields/DateField.js +1 -1
  107. package/src/sap/ui/integration/editor/fields/DateTimeField.js +1 -1
  108. package/src/sap/ui/integration/editor/fields/DestinationField.js +1 -1
  109. package/src/sap/ui/integration/editor/fields/GroupField.js +1 -1
  110. package/src/sap/ui/integration/editor/fields/IntegerField.js +1 -1
  111. package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
  112. package/src/sap/ui/integration/editor/fields/ObjectField.js +1 -1
  113. package/src/sap/ui/integration/editor/fields/ObjectListField.js +1 -1
  114. package/src/sap/ui/integration/editor/fields/StringField.js +1 -1
  115. package/src/sap/ui/integration/editor/fields/StringListField.js +1 -1
  116. package/src/sap/ui/integration/editor/fields/fragment/Controller.js +1 -1
  117. package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +1 -1
  118. package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +1 -1
  119. package/src/sap/ui/integration/editor/fields/viz/ImageSelect.js +1 -1
  120. package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +1 -1
  121. package/src/sap/ui/integration/editor/fields/viz/VizBase.js +1 -1
  122. package/src/sap/ui/integration/extensions/OAuth3LO.js +1 -1
  123. package/src/sap/ui/integration/library.js +27 -2
  124. package/src/sap/ui/integration/model/ContextModel.js +1 -1
  125. package/src/sap/ui/integration/model/ObservableModel.js +1 -1
  126. package/src/sap/ui/integration/model/PagingModelListBinding.js +1 -1
  127. package/src/sap/ui/integration/schemas/sap-card.json +57 -1
  128. package/src/sap/ui/integration/themes/base/AnalyticsCloudContent.less +4 -5
  129. package/src/sap/ui/integration/themes/base/Card.less +31 -0
  130. package/src/sap/ui/integration/themes/base/CardVariants.less +246 -0
  131. package/src/sap/ui/integration/themes/base/library.source.less +1 -1
  132. package/src/sap/ui/integration/themes/sap_hcb/base_ActionsStrip.less +26 -0
  133. package/src/sap/ui/integration/themes/sap_hcb/base_AdaptiveCard.less +8 -0
  134. package/src/sap/ui/integration/themes/sap_hcb/base_AnalyticsCloudContent.less +21 -0
  135. package/src/sap/ui/integration/themes/sap_hcb/{ListContentItem.less → base_BlockingMessage.less} +7 -2
  136. package/src/sap/ui/integration/themes/sap_hcb/base_CalendarContent.less +247 -0
  137. package/src/sap/ui/integration/themes/sap_hcb/base_Card.less +77 -0
  138. package/src/sap/ui/integration/themes/{base/CardTileVariant.less → sap_hcb/base_CardVariants.less} +84 -0
  139. package/src/sap/ui/integration/themes/sap_hcb/base_CustomElementBase.less +14 -0
  140. package/src/sap/ui/integration/themes/sap_hcb/base_CustomElementCard.less +10 -0
  141. package/src/sap/ui/integration/themes/sap_hcb/base_Footer.less +10 -0
  142. package/src/sap/ui/integration/themes/sap_hcb/base_ImageWithOverlay.less +69 -0
  143. package/src/sap/ui/integration/themes/sap_hcb/base_LinkWithIcon.less +11 -0
  144. package/src/sap/ui/integration/themes/sap_hcb/base_ListContentItem.less +164 -0
  145. package/src/sap/ui/integration/themes/sap_hcb/base_Microchart.less +62 -0
  146. package/src/sap/ui/integration/themes/sap_hcb/base_MicrochartLegend.less +52 -0
  147. package/src/sap/ui/integration/themes/sap_hcb/base_ObjectContent.less +181 -0
  148. package/src/sap/ui/integration/themes/sap_hcb/base_ObjectStatus.less +58 -0
  149. package/src/sap/ui/integration/themes/sap_hcb/base_Paginator.less +125 -0
  150. package/src/sap/ui/integration/themes/sap_hcb/base_WebPageContent.less +16 -0
  151. package/src/sap/ui/integration/themes/sap_hcb/library.source.less +31 -1
  152. package/src/sap/ui/integration/util/AnalyticsCloudHelper.js +2 -2
  153. package/src/sap/ui/integration/util/BaseFactory.js +1 -1
  154. package/src/sap/ui/integration/util/BindingHelper.js +1 -1
  155. package/src/sap/ui/integration/util/BindingResolver.js +1 -1
  156. package/src/sap/ui/integration/util/CardMerger.js +14 -1
  157. package/src/sap/ui/integration/util/CardObserver.js +1 -1
  158. package/src/sap/ui/integration/util/ComboBoxHelper.js +1 -1
  159. package/src/sap/ui/integration/util/ContentFactory.js +1 -1
  160. package/src/sap/ui/integration/util/CsrfTokenHandler.js +1 -1
  161. package/src/sap/ui/integration/util/DataProvider.js +1 -1
  162. package/src/sap/ui/integration/util/DataProviderFactory.js +1 -1
  163. package/src/sap/ui/integration/util/Destinations.js +1 -1
  164. package/src/sap/ui/integration/util/DisplayVariants.js +132 -0
  165. package/src/sap/ui/integration/util/ErrorHandler.js +1 -1
  166. package/src/sap/ui/integration/util/ExtensionDataProvider.js +1 -1
  167. package/src/sap/ui/integration/util/Form.js +1 -1
  168. package/src/sap/ui/integration/util/HeaderFactory.js +46 -3
  169. package/src/sap/ui/integration/util/JSONBindingHelper.js +1 -1
  170. package/src/sap/ui/integration/util/LoadingProvider.js +1 -1
  171. package/src/sap/ui/integration/util/Manifest.js +1 -1
  172. package/src/sap/ui/integration/util/OAuth3LOHelper.js +1 -1
  173. package/src/sap/ui/integration/util/RequestDataProvider.js +1 -1
  174. package/src/sap/ui/integration/util/ServiceDataProvider.js +1 -1
  175. package/src/sap/ui/integration/util/ServiceManager.js +1 -1
  176. package/src/sap/ui/integration/util/SkeletonCard.js +1 -1
  177. package/src/sap/ui/integration/util/Utils.js +1 -1
  178. package/src/sap/ui/integration/util/Validators.js +1 -1
  179. package/src/sap/ui/integration/widgets/Card.js +81 -9
@@ -0,0 +1,132 @@
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/ui/integration/library",
9
+ "sap/ui/base/Object",
10
+ "sap/ui/model/json/JSONModel"
11
+ ], function (
12
+ library,
13
+ BaseObject,
14
+ JSONModel
15
+ ) {
16
+ "use strict";
17
+
18
+ const iStandardTile = 16 * 11;
19
+
20
+ const mWidthRanges = {
21
+ tiny: [20, 1 * iStandardTile],
22
+ narrow: [1 * iStandardTile, 2 * iStandardTile],
23
+ regular: [2 * iStandardTile, 4 * iStandardTile],
24
+ wide: [4 * iStandardTile, 6 * iStandardTile],
25
+ extraWide: [6 * iStandardTile, 10000]
26
+ };
27
+
28
+ const CardDisplayVariant = library.CardDisplayVariant;
29
+
30
+ /**
31
+ * Constructor for a new <code>DisplayVariants</code>.
32
+ *
33
+ * @class
34
+ * Processes and resolves destinations configuration.
35
+ *
36
+ * @extends sap.ui.base.Object
37
+ *
38
+ * @author SAP SE
39
+ * @version 1.126.0
40
+ *
41
+ * @constructor
42
+ * @param {sap.ui.integration.widgets.Card} oCard The card.
43
+ * @private
44
+ * @alias sap.ui.integration.util.DisplayVariants
45
+ */
46
+ const DisplayVariants = BaseObject.extend("sap.ui.integration.util.DisplayVariants", {
47
+ metadata: {
48
+ library: "sap.ui.integration"
49
+ },
50
+ constructor: function (oCard) {
51
+ BaseObject.call(this);
52
+ this._oCard = oCard;
53
+
54
+ oCard.addEventDelegate({
55
+ onAfterRendering: this._observeWidth
56
+ }, this);
57
+ }
58
+ });
59
+
60
+ DisplayVariants.prototype.destroy = function () {
61
+ BaseObject.prototype.destroy.apply(this, arguments);
62
+
63
+ this._oWidthObserver = null;
64
+ };
65
+
66
+ DisplayVariants.prototype.updateSizeModel = function (iWidth) {
67
+ const oCard = this._oCard;
68
+ if (!oCard.getDomRef()) {
69
+ return;
70
+ }
71
+ const oSizeModel = oCard.getModel("size");
72
+ const sDisplayVariant = oCard.getDisplayVariant();
73
+ iWidth = iWidth || oCard.getDomRef().offsetWidth;
74
+ const mSize = {
75
+ tiny: true,
76
+ narrow: DisplayVariants.determineSize("narrow", iWidth),
77
+ regular: DisplayVariants.determineSize("regular", iWidth),
78
+ wide: DisplayVariants.determineSize("wide", iWidth),
79
+ extraWide: DisplayVariants.determineSize("extraWide", iWidth),
80
+ compactHeader: sDisplayVariant === CardDisplayVariant.CompactHeader,
81
+ smallHeader: sDisplayVariant === CardDisplayVariant.SmallHeader,
82
+ standardHeader: sDisplayVariant === CardDisplayVariant.StandardHeader,
83
+ small: sDisplayVariant === CardDisplayVariant.Small,
84
+ standard: sDisplayVariant === CardDisplayVariant.Standard,
85
+ large: sDisplayVariant === CardDisplayVariant.Large,
86
+ variant: sDisplayVariant
87
+ };
88
+ oSizeModel.setData(mSize);
89
+ };
90
+
91
+ DisplayVariants.prototype.getInitialSizeModel = function () {
92
+ return new JSONModel({
93
+ tiny: true,
94
+ narrow: true,
95
+ regular: true,
96
+ wide: false,
97
+ extraWide: false,
98
+ compactHeader: false,
99
+ smallHeader: false,
100
+ standardHeader: false,
101
+ small: false,
102
+ standard: true,
103
+ large: false,
104
+ variant: CardDisplayVariant.Standard
105
+ });
106
+ };
107
+
108
+ DisplayVariants.prototype._observeWidth = function () {
109
+ const oCardDomRef = this._oCard.getDomRef();
110
+ if (!oCardDomRef) {
111
+ return;
112
+ }
113
+ if (this._oWidthObserver) {
114
+ this._oWidthObserver.unobserve(oCardDomRef);
115
+ }
116
+ this._oWidthObserver = new ResizeObserver((aEntries) => {
117
+ const oEntry = aEntries[0];
118
+ const iWidth = oEntry.contentRect.width;
119
+ this.updateSizeModel(iWidth);
120
+ });
121
+ this._oWidthObserver.observe(oCardDomRef);
122
+ };
123
+
124
+ DisplayVariants.determineSize = function(sSize, iWidth) {
125
+ if (iWidth >= mWidthRanges[sSize][0]) {
126
+ return true;
127
+ }
128
+ return false;
129
+ };
130
+
131
+ return DisplayVariants;
132
+ });
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * Utility class for handling errors in the cards.
36
36
  *
37
37
  * @author SAP SE
38
- * @version 1.125.0
38
+ * @version 1.126.0
39
39
  *
40
40
  * @private
41
41
  * @ui5-restricted
@@ -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.125.0
20
+ * @version 1.126.0
21
21
  *
22
22
  * @constructor
23
23
  * @private
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * Utility class for handling forms in the cards.
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.125.0
39
+ * @version 1.126.0
40
40
  *
41
41
  * @private
42
42
  * @ui5-restricted
@@ -50,7 +50,7 @@ sap.ui.define([
50
50
  * @extends sap.ui.integration.util.BaseFactory
51
51
  *
52
52
  * @author SAP SE
53
- * @version 1.125.0
53
+ * @version 1.126.0
54
54
  *
55
55
  * @constructor
56
56
  * @private
@@ -76,6 +76,10 @@ sap.ui.define([
76
76
  oToolbar = this._createCloseButton(mConfiguration);
77
77
  }
78
78
 
79
+ if (oCard.isCompactHeader()) {
80
+ mConfiguration.type = "";
81
+ }
82
+
79
83
  switch (mConfiguration.type) {
80
84
  case "Numeric":
81
85
  oHeader = new NumericHeader(sId, mConfiguration, oToolbar, oCard._oIconFormatter);
@@ -102,7 +106,9 @@ sap.ui.define([
102
106
  oHeader._setDataConfiguration(mConfiguration.data);
103
107
 
104
108
  if (oCard.isTileDisplayVariant()) {
105
- this._setTileDefaults(oHeader, mConfiguration);
109
+ this._setTileDisplayDefaults(oHeader, mConfiguration);
110
+ } else if (oCard.isHeaderDisplayVariant()) {
111
+ this._setHeaderDisplayDefaults(oHeader, mConfiguration);
106
112
  }
107
113
 
108
114
  var oActions = new CardActions({
@@ -146,7 +152,7 @@ sap.ui.define([
146
152
  return oButton;
147
153
  };
148
154
 
149
- HeaderFactory.prototype._setTileDefaults = function (oHeader, mConfiguration) {
155
+ HeaderFactory.prototype._setTileDisplayDefaults = function (oHeader, mConfiguration) {
150
156
  oHeader.setProperty("useTileLayout", true);
151
157
  oHeader.setProperty("useTooltips", true);
152
158
 
@@ -188,5 +194,42 @@ sap.ui.define([
188
194
  }
189
195
  };
190
196
 
197
+ HeaderFactory.prototype._setHeaderDisplayDefaults = function (oHeader, mConfiguration) {
198
+ const oCard = this._oCard;
199
+ oHeader.setProperty("useTooltips", true);
200
+
201
+ if (oCard.isCompactHeader()) {
202
+ oHeader.setProperty("useTooltips", true);
203
+ oHeader.setIconSize("XS");
204
+ oHeader.setTitleMaxLines(1);
205
+ oHeader.setSubtitleMaxLines(1);
206
+ oHeader.setStatusVisible(false);
207
+ return;
208
+ }
209
+
210
+ const bIsSmall = oCard.isSmallHeader();
211
+
212
+ if (!mConfiguration.titleMaxLines) {
213
+ oHeader.setTitleMaxLines(bIsSmall ? 1 : 2);
214
+ }
215
+
216
+ if (bIsSmall) {
217
+ if (oHeader.isA("sap.f.cards.NumericHeader")) {
218
+ oHeader.setIconSize("XS");
219
+ oHeader.setNumberSize("S");
220
+ }
221
+
222
+ if (!mConfiguration.subtitleMaxLines) {
223
+ oHeader.setSubtitleMaxLines(1);
224
+ }
225
+ }
226
+
227
+ if (oHeader.isA("sap.f.cards.NumericHeader")) {
228
+ oHeader.getSideIndicators().forEach((oSideIndicator) => {
229
+ oSideIndicator.setProperty("useTooltips", true);
230
+ });
231
+ }
232
+ };
233
+
191
234
  return HeaderFactory;
192
235
  });
@@ -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.125.0
30
+ * @version 1.126.0
31
31
  *
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.integration, shell-toolkit
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.ui.core.Element
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.125.0
24
+ * @version 1.126.0
25
25
  *
26
26
  * @constructor
27
27
  * @private
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  * @extends sap.ui.base.Object
69
69
  *
70
70
  * @author SAP SE
71
- * @version 1.125.0
71
+ * @version 1.126.0
72
72
  *
73
73
  * @constructor
74
74
  * @private
@@ -18,7 +18,7 @@ sap.ui.define([], function () {
18
18
  * Utility class helping with OAuth 3LO flow handling.
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.125.0
21
+ * @version 1.126.0
22
22
  *
23
23
  * @private
24
24
  * @alias sap.ui.integration.util.OAuth3LOHelper
@@ -72,7 +72,7 @@ sap.ui.define([
72
72
  * @extends sap.ui.integration.util.DataProvider
73
73
  *
74
74
  * @author SAP SE
75
- * @version 1.125.0
75
+ * @version 1.126.0
76
76
  *
77
77
  * @constructor
78
78
  * @private
@@ -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.125.0
20
+ * @version 1.126.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.125.0
40
+ * @version 1.126.0
41
41
  *
42
42
  * @constructor
43
43
  * @param {Object} mServiceFactoryReferences A map with service descriptions.
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.integration.widgets.Card
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.125.0
26
+ * @version 1.126.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * Utility class helping with JSON strings and formatters.
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.125.0
32
+ * @version 1.126.0
33
33
  *
34
34
  * @private
35
35
  * @alias sap.ui.integration.util.Utils
@@ -11,7 +11,7 @@ sap.ui.define([], function () {
11
11
  * Utility class helping with input validations.
12
12
  *
13
13
  * @author SAP SE
14
- * @version 1.125.0
14
+ * @version 1.126.0
15
15
  *
16
16
  * @private
17
17
  * @alias sap.ui.integration.util.Validators
@@ -39,7 +39,8 @@ sap.ui.define([
39
39
  "sap/m/IllustratedMessageType",
40
40
  "sap/ui/integration/util/Utils",
41
41
  "sap/ui/integration/util/ParameterMap",
42
- "sap/ui/integration/util/Measurement"
42
+ "sap/ui/integration/util/Measurement",
43
+ "sap/ui/integration/util/DisplayVariants"
43
44
  ], function(
44
45
  CardRenderer,
45
46
  Footer,
@@ -76,7 +77,8 @@ sap.ui.define([
76
77
  IllustratedMessageType,
77
78
  Utils,
78
79
  ParameterMap,
79
- Measurement
80
+ Measurement,
81
+ DisplayVariants
80
82
  ) {
81
83
  "use strict";
82
84
 
@@ -176,7 +178,7 @@ sap.ui.define([
176
178
  * @extends sap.f.CardBase
177
179
  *
178
180
  * @author SAP SE
179
- * @version 1.125.0
181
+ * @version 1.126.0
180
182
  * @public
181
183
  * @constructor
182
184
  * @see {@link topic:5b46b03f024542ba802d99d67bc1a3f4 Cards}
@@ -278,7 +280,8 @@ sap.ui.define([
278
280
  * @since 1.76
279
281
  */
280
282
  manifestChanges: {
281
- type: "object[]"
283
+ type: "object[]",
284
+ defaultValue: []
282
285
  },
283
286
 
284
287
  /**
@@ -507,7 +510,7 @@ sap.ui.define([
507
510
  /**
508
511
  * The opener card.
509
512
  * @private
510
- * @ui5-restricted
513
+ * @ui5-private
511
514
  */
512
515
  openerReference: { visibility: "hidden" }
513
516
  }
@@ -526,6 +529,7 @@ sap.ui.define([
526
529
 
527
530
  this._oIntegrationRb = Library.getResourceBundleFor("sap.ui.integration");
528
531
  this._iModelSizeLimit = DEFAULT_MODEL_SIZE_LIMIT;
532
+ this._oDisplayVariants = new DisplayVariants(this);
529
533
  this._initModels();
530
534
  this._oContentFactory = new ContentFactory(this);
531
535
  this._oCardObserver = new CardObserver(this);
@@ -545,7 +549,8 @@ sap.ui.define([
545
549
  * @experimental since 1.79
546
550
  * @public
547
551
  * @author SAP SE
548
- * @version 1.125.0
552
+ * @version 1.126.0
553
+ * @borrows sap.ui.integration.widgets.Card#getId as getId
549
554
  * @borrows sap.ui.integration.widgets.Card#getDomRef as getDomRef
550
555
  * @borrows sap.ui.integration.widgets.Card#setVisible as setVisible
551
556
  * @borrows sap.ui.integration.widgets.Card#getParameters as getParameters
@@ -579,6 +584,7 @@ sap.ui.define([
579
584
  * @borrows sap.ui.integration.widgets.Card#getBlockingMessage as getBlockingMessage
580
585
  */
581
586
  this._oLimitedInterface = new Interface(this, [
587
+ "getId",
582
588
  "getDomRef",
583
589
  "setVisible",
584
590
  "getParameters",
@@ -655,6 +661,12 @@ sap.ui.define([
655
661
  init: () => this.setModel(new ResourceModel({
656
662
  bundle: this._oIntegrationRb
657
663
  }), "i18n")
664
+ },
665
+ size: {
666
+ init: () => this.setModel(this._oDisplayVariants.getInitialSizeModel(), "size")
667
+ },
668
+ widgetInfo: {
669
+ init: () => this.setModel(new JSONModel(), "widgetInfo")
658
670
  }
659
671
  };
660
672
 
@@ -725,7 +737,6 @@ sap.ui.define([
725
737
  if (this._getActualDataMode() !== CardDataMode.Active) {
726
738
  return;
727
739
  }
728
-
729
740
  this.startManifestProcessing();
730
741
  };
731
742
 
@@ -1317,6 +1328,7 @@ sap.ui.define([
1317
1328
  this._destroyManifest();
1318
1329
  this._oCardObserver.destroy();
1319
1330
  this._oCardObserver = null;
1331
+ this._oDisplayVariants = null;
1320
1332
  this._oContentFactory = null;
1321
1333
  this._oIntegrationRb = null;
1322
1334
  this._aActiveLoadingProviders = null;
@@ -2035,10 +2047,14 @@ sap.ui.define([
2035
2047
  };
2036
2048
 
2037
2049
  Card.prototype._applyFooterManifestSettings = function () {
2038
- var oFooter = this.createFooter();
2039
2050
 
2040
2051
  this.destroyAggregation("_footer");
2041
2052
 
2053
+ if (this._shouldIgnoreFooter()) {
2054
+ return;
2055
+ }
2056
+ var oFooter = this.createFooter();
2057
+
2042
2058
  if (oFooter) {
2043
2059
  this.setAggregation("_footer", oFooter);
2044
2060
  }
@@ -2119,6 +2135,38 @@ sap.ui.define([
2119
2135
  return aTileVariants.indexOf(this.getDisplayVariant()) > -1;
2120
2136
  };
2121
2137
 
2138
+ /**
2139
+ * @private
2140
+ * @ui5-restricted sap.ui.integration
2141
+ * @returns {boolean} If the card is rendered as a compactheader variant
2142
+ */
2143
+ Card.prototype.isCompactHeader = function () {
2144
+ return this.getDisplayVariant() === CardDisplayVariant.CompactHeader;
2145
+ };
2146
+
2147
+ /**
2148
+ * @private
2149
+ * @ui5-restricted sap.ui.integration
2150
+ * @returns {boolean} If the card is rendered as a smallheader variant
2151
+ */
2152
+ Card.prototype.isSmallHeader = function () {
2153
+ return this.getDisplayVariant() === CardDisplayVariant.SmallHeader;
2154
+ };
2155
+
2156
+ /**
2157
+ * @private
2158
+ * @ui5-restricted sap.ui.integration
2159
+ * @returns {boolean} If the card is rendered as a tile variant
2160
+ */
2161
+ Card.prototype.isHeaderDisplayVariant = function () {
2162
+ const aHeaderVariants = [
2163
+ CardDisplayVariant.SmallHeader,
2164
+ CardDisplayVariant.StandardHeader,
2165
+ CardDisplayVariant.CompactHeader
2166
+ ];
2167
+ return aHeaderVariants.indexOf(this.getDisplayVariant()) > -1;
2168
+ };
2169
+
2122
2170
  /**
2123
2171
  * Checks if this is a Component Card. Manifest must be loaded for that check.
2124
2172
  * @private
@@ -2141,9 +2189,21 @@ sap.ui.define([
2141
2189
  }
2142
2190
 
2143
2191
  const bIsTile = this.isTileDisplayVariant();
2192
+ const bIsHeader = this.isHeaderDisplayVariant();
2144
2193
  const bHasNoContent = !this._oCardManifest.get(MANIFEST_PATHS.CONTENT);
2145
2194
 
2146
- return bIsTile || bHasNoContent;
2195
+ return bIsTile || bHasNoContent || bIsHeader;
2196
+ };
2197
+
2198
+ /**
2199
+ * Checks if the content section should be ignored.
2200
+ * @private
2201
+ * @returns {boolean} True if the content section should be ignored.
2202
+ */
2203
+ Card.prototype._shouldIgnoreFooter = function () {
2204
+ const bIsTile = this.isTileDisplayVariant();
2205
+ const bIsHeader = this.isHeaderDisplayVariant();
2206
+ return bIsTile || bIsHeader;
2147
2207
  };
2148
2208
 
2149
2209
  Card.prototype.createHeader = function () {
@@ -3087,5 +3147,17 @@ sap.ui.define([
3087
3147
  return sDataMode;
3088
3148
  };
3089
3149
 
3150
+ /**
3151
+ * Sets the display variant and informs the size model.
3152
+ * @param {sap.ui.integration.DisplayVariant} sValue The new display variant.
3153
+ * @param {boolean} bSuppressInvalidate Whether to suppress invalidation.
3154
+ * @return {sap.ui.integration.widgets.Card} Pointer to the control instance to allow method chaining.
3155
+ */
3156
+ Card.prototype.setDisplayVariant = function (sValue, bSuppressInvalidate) {
3157
+ this.setProperty("displayVariant", sValue, bSuppressInvalidate);
3158
+ this._oDisplayVariants.updateSizeModel();
3159
+ return this;
3160
+ };
3161
+
3090
3162
  return Card;
3091
3163
  });