@openui5/sap.f 1.132.1 → 1.134.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 (152) hide show
  1. package/.reuse/dep5 +2 -9
  2. package/LICENSES/LicenseRef-Unicode-3.0.txt +39 -0
  3. package/THIRDPARTY.txt +45 -78
  4. package/package.json +4 -4
  5. package/src/sap/f/.library +1 -1
  6. package/src/sap/f/Avatar.js +1 -1
  7. package/src/sap/f/AvatarGroup.js +1 -1
  8. package/src/sap/f/AvatarGroupItem.js +1 -1
  9. package/src/sap/f/CalendarAppointmentInCard.js +1 -1
  10. package/src/sap/f/CalendarInCard.js +1 -1
  11. package/src/sap/f/Card.js +1 -1
  12. package/src/sap/f/CardBase.js +65 -25
  13. package/src/sap/f/CardRenderer.js +9 -6
  14. package/src/sap/f/DynamicPage.js +12 -1
  15. package/src/sap/f/DynamicPageAccessibleLandmarkInfo.js +1 -1
  16. package/src/sap/f/DynamicPageHeader.js +1 -1
  17. package/src/sap/f/DynamicPageRenderer.js +1 -1
  18. package/src/sap/f/DynamicPageTitle.js +34 -1
  19. package/src/sap/f/FlexibleColumnLayout.js +12 -7
  20. package/src/sap/f/FlexibleColumnLayoutAccessibleLandmarkInfo.js +1 -1
  21. package/src/sap/f/FlexibleColumnLayoutData.js +1 -1
  22. package/src/sap/f/FlexibleColumnLayoutDataForDesktop.js +1 -1
  23. package/src/sap/f/FlexibleColumnLayoutDataForTablet.js +1 -1
  24. package/src/sap/f/FlexibleColumnLayoutSemanticHelper.js +1 -1
  25. package/src/sap/f/GridContainer.js +60 -110
  26. package/src/sap/f/GridContainerItemLayoutData.js +1 -1
  27. package/src/sap/f/GridContainerRenderer.js +8 -3
  28. package/src/sap/f/GridContainerSettings.js +2 -2
  29. package/src/sap/f/GridContainerUtils.js +8 -0
  30. package/src/sap/f/GridList.js +1 -1
  31. package/src/sap/f/GridListItem.js +1 -1
  32. package/src/sap/f/IllustratedMessage.js +1 -1
  33. package/src/sap/f/Illustration.js +1 -1
  34. package/src/sap/f/PlanningCalendarInCardLegend.js +1 -1
  35. package/src/sap/f/ProductSwitch.js +1 -1
  36. package/src/sap/f/ProductSwitchItem.js +1 -1
  37. package/src/sap/f/SearchManager.js +1 -1
  38. package/src/sap/f/ShellBar.js +1 -1
  39. package/src/sap/f/ShellBarRenderer.js +1 -0
  40. package/src/sap/f/SidePanel.js +2 -2
  41. package/src/sap/f/SidePanelItem.js +1 -1
  42. package/src/sap/f/cards/BaseHeader.js +35 -20
  43. package/src/sap/f/cards/BaseHeaderRenderer.js +212 -3
  44. package/src/sap/f/cards/Header.js +2 -8
  45. package/src/sap/f/cards/HeaderRenderer.js +0 -161
  46. package/src/sap/f/cards/NumericHeader.js +3 -9
  47. package/src/sap/f/cards/NumericHeaderRenderer.js +54 -126
  48. package/src/sap/f/cards/NumericIndicators.js +1 -1
  49. package/src/sap/f/cards/NumericSideIndicator.js +1 -1
  50. package/src/sap/f/cards/loading/AnalyticalPlaceholder.js +1 -1
  51. package/src/sap/f/cards/loading/CalendarPlaceholder.js +1 -1
  52. package/src/sap/f/cards/loading/GenericPlaceholder.js +1 -1
  53. package/src/sap/f/cards/loading/ListPlaceholder.js +1 -1
  54. package/src/sap/f/cards/loading/ObjectPlaceholder.js +1 -1
  55. package/src/sap/f/cards/loading/PlaceholderBase.js +1 -1
  56. package/src/sap/f/cards/loading/TablePlaceholder.js +1 -1
  57. package/src/sap/f/cards/loading/TimelinePlaceholder.js +1 -1
  58. package/src/sap/f/changeHandler/MoveDynamicPageTitleActions.js +1 -1
  59. package/src/sap/f/delegate/GridContainerItemNavigation.js +24 -202
  60. package/src/sap/f/delegate/GridItemNavigation.js +23 -10
  61. package/src/sap/f/dnd/GridDragOver.js +1 -1
  62. package/src/sap/f/dnd/GridDropInfo.js +1 -1
  63. package/src/sap/f/library.js +36 -2
  64. package/src/sap/f/messagebundle.properties +0 -3
  65. package/src/sap/f/messagebundle_ar.properties +0 -2
  66. package/src/sap/f/messagebundle_bg.properties +0 -2
  67. package/src/sap/f/messagebundle_ca.properties +0 -2
  68. package/src/sap/f/messagebundle_cnr.properties +0 -2
  69. package/src/sap/f/messagebundle_cs.properties +0 -2
  70. package/src/sap/f/messagebundle_cy.properties +0 -2
  71. package/src/sap/f/messagebundle_da.properties +0 -2
  72. package/src/sap/f/messagebundle_de.properties +0 -2
  73. package/src/sap/f/messagebundle_el.properties +0 -2
  74. package/src/sap/f/messagebundle_en.properties +0 -2
  75. package/src/sap/f/messagebundle_en_GB.properties +0 -2
  76. package/src/sap/f/messagebundle_en_US_saprigi.properties +0 -2
  77. package/src/sap/f/messagebundle_es.properties +0 -2
  78. package/src/sap/f/messagebundle_es_MX.properties +0 -2
  79. package/src/sap/f/messagebundle_et.properties +0 -2
  80. package/src/sap/f/messagebundle_fi.properties +0 -2
  81. package/src/sap/f/messagebundle_fr.properties +0 -2
  82. package/src/sap/f/messagebundle_fr_CA.properties +0 -2
  83. package/src/sap/f/messagebundle_hi.properties +0 -2
  84. package/src/sap/f/messagebundle_hr.properties +0 -2
  85. package/src/sap/f/messagebundle_hu.properties +0 -2
  86. package/src/sap/f/messagebundle_id.properties +0 -2
  87. package/src/sap/f/messagebundle_it.properties +0 -2
  88. package/src/sap/f/messagebundle_iw.properties +0 -2
  89. package/src/sap/f/messagebundle_ja.properties +0 -2
  90. package/src/sap/f/messagebundle_kk.properties +0 -2
  91. package/src/sap/f/messagebundle_ko.properties +0 -2
  92. package/src/sap/f/messagebundle_lt.properties +0 -2
  93. package/src/sap/f/messagebundle_lv.properties +0 -2
  94. package/src/sap/f/messagebundle_mk.properties +0 -2
  95. package/src/sap/f/messagebundle_ms.properties +0 -2
  96. package/src/sap/f/messagebundle_nl.properties +0 -2
  97. package/src/sap/f/messagebundle_no.properties +0 -2
  98. package/src/sap/f/messagebundle_pl.properties +0 -2
  99. package/src/sap/f/messagebundle_pt.properties +0 -2
  100. package/src/sap/f/messagebundle_pt_PT.properties +0 -2
  101. package/src/sap/f/messagebundle_ro.properties +0 -2
  102. package/src/sap/f/messagebundle_ru.properties +0 -2
  103. package/src/sap/f/messagebundle_sh.properties +0 -2
  104. package/src/sap/f/messagebundle_sk.properties +0 -2
  105. package/src/sap/f/messagebundle_sl.properties +0 -2
  106. package/src/sap/f/messagebundle_sr.properties +0 -2
  107. package/src/sap/f/messagebundle_sv.properties +0 -2
  108. package/src/sap/f/messagebundle_th.properties +0 -2
  109. package/src/sap/f/messagebundle_tr.properties +0 -2
  110. package/src/sap/f/messagebundle_uk.properties +0 -2
  111. package/src/sap/f/messagebundle_vi.properties +0 -2
  112. package/src/sap/f/messagebundle_zh_CN.properties +0 -2
  113. package/src/sap/f/messagebundle_zh_TW.properties +0 -2
  114. package/src/sap/f/semantic/AddAction.js +1 -1
  115. package/src/sap/f/semantic/CloseAction.js +1 -1
  116. package/src/sap/f/semantic/CopyAction.js +1 -1
  117. package/src/sap/f/semantic/DeleteAction.js +1 -1
  118. package/src/sap/f/semantic/DiscussInJamAction.js +1 -1
  119. package/src/sap/f/semantic/EditAction.js +1 -1
  120. package/src/sap/f/semantic/ExitFullScreenAction.js +1 -1
  121. package/src/sap/f/semantic/FavoriteAction.js +1 -1
  122. package/src/sap/f/semantic/FlagAction.js +1 -1
  123. package/src/sap/f/semantic/FooterMainAction.js +1 -1
  124. package/src/sap/f/semantic/FullScreenAction.js +1 -1
  125. package/src/sap/f/semantic/MainAction.js +1 -1
  126. package/src/sap/f/semantic/MessagesIndicator.js +1 -1
  127. package/src/sap/f/semantic/NegativeAction.js +1 -1
  128. package/src/sap/f/semantic/PositiveAction.js +1 -1
  129. package/src/sap/f/semantic/PrintAction.js +1 -1
  130. package/src/sap/f/semantic/SemanticButton.js +1 -1
  131. package/src/sap/f/semantic/SemanticConfiguration.js +1 -1
  132. package/src/sap/f/semantic/SemanticControl.js +1 -1
  133. package/src/sap/f/semantic/SemanticPage.js +1 -1
  134. package/src/sap/f/semantic/SemanticToggleButton.js +1 -1
  135. package/src/sap/f/semantic/SendEmailAction.js +1 -1
  136. package/src/sap/f/semantic/SendMessageAction.js +1 -1
  137. package/src/sap/f/semantic/ShareInJamAction.js +1 -1
  138. package/src/sap/f/semantic/TitleMainAction.js +1 -1
  139. package/src/sap/f/shellBar/AdditionalContentSupport.js +1 -1
  140. package/src/sap/f/shellBar/CoPilot.js +1 -1
  141. package/src/sap/f/shellBar/ControlSpacer.js +1 -1
  142. package/src/sap/f/shellBar/Factory.js +7 -1
  143. package/src/sap/f/shellBar/Search.js +1 -1
  144. package/src/sap/f/themes/base/Card.less +77 -41
  145. package/src/sap/f/themes/base/CardHeaders.less +28 -37
  146. package/src/sap/f/themes/base/CardLoading.less +3 -3
  147. package/src/sap/f/themes/base/DynamicPage.less +9 -0
  148. package/src/sap/f/themes/base/GridContainer.less +10 -13
  149. package/src/sap/f/themes/sap_hcb/base_Card.less +3 -10
  150. package/src/sap/f/themes/sap_hcb/base_GridContainer.less +0 -13
  151. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
  152. package/LICENSES/Unicode-DFS-2015.txt +0 -51
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  * @abstract
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.132.1
56
+ * @version 1.134.0
57
57
  *
58
58
  * @constructor
59
59
  * @public
@@ -187,7 +187,8 @@ sap.ui.define([
187
187
 
188
188
  this._oToolbarDelegate = {
189
189
  onfocusin: this._onToolbarFocusin,
190
- onfocusout: this._onToolbarFocusout
190
+ onfocusout: this._onToolbarFocusout,
191
+ onAfterRendering: this._addMarginToHeaderText
191
192
  };
192
193
  };
193
194
 
@@ -227,6 +228,8 @@ sap.ui.define([
227
228
  oToolbar.addEventDelegate(this._oToolbarDelegate, this);
228
229
  }
229
230
 
231
+ this._addMarginToHeaderText();
232
+
230
233
  this.getBannerLines()?.forEach((oText) => {
231
234
  this._enhanceText(oText);
232
235
  });
@@ -283,7 +286,7 @@ sap.ui.define([
283
286
  };
284
287
 
285
288
  BaseHeader.prototype._handleTap = function (oEvent) {
286
- if (!this.isInteractive() || this._isInsideToolbar(oEvent.target)) {
289
+ if (!oEvent.target.closest(".sapFCardSectionClickable") || !this.isInteractive() || this._isInsideToolbar(oEvent.target)) {
287
290
  return;
288
291
  }
289
292
 
@@ -312,6 +315,23 @@ sap.ui.define([
312
315
  this.removeStyleClass("sapFCardHeaderToolbarFocused");
313
316
  };
314
317
 
318
+ /**
319
+ * Adds margin to the header text, which ensures the text will be visible under the toolbar.
320
+ * @private
321
+ */
322
+ BaseHeader.prototype._addMarginToHeaderText = function () {
323
+ const oToolbar = this.getToolbar();
324
+ const oHeaderText = this.getDomRef().getElementsByClassName("sapFCardHeaderText")[0];
325
+
326
+ if (oHeaderText && oToolbar) {
327
+ if (oToolbar.getVisible()) {
328
+ oHeaderText.style.marginInlineEnd = oToolbar.getDomRef().offsetWidth + "px";
329
+ } else {
330
+ oHeaderText.style.marginInlineEnd = 0;
331
+ }
332
+ }
333
+ };
334
+
315
335
  /*
316
336
  * @override
317
337
  */
@@ -480,27 +500,21 @@ sap.ui.define([
480
500
  }).join(" ");
481
501
  };
482
502
 
483
- /**
484
- * Returns if the control is inside a sap.f.GridContainer
485
- *
486
- * @private
487
- */
488
- BaseHeader.prototype._isInsideGridContainer = function() {
489
- var oParent = this.getParent();
490
- if (!oParent) {
491
- return false;
492
- }
503
+ BaseHeader.prototype.isInteractive = function() {
504
+ return this.hasListeners("press");
505
+ };
493
506
 
494
- oParent = oParent.getParent();
495
- if (!oParent) {
507
+ BaseHeader.prototype.isFocusable = function() {
508
+ if (!this.getProperty("focusable")) {
496
509
  return false;
497
510
  }
498
511
 
499
- return oParent.isA("sap.f.GridContainer");
500
- };
512
+ const oParent = this.getParent();
513
+ if (oParent && oParent.isA("sap.f.CardBase") && oParent.isRoleListItem()) {
514
+ return this.isInteractive();
515
+ }
501
516
 
502
- BaseHeader.prototype.isInteractive = function() {
503
- return this.hasListeners("press");
517
+ return true;
504
518
  };
505
519
 
506
520
  BaseHeader.prototype._isInsideToolbar = function(oElement) {
@@ -510,7 +524,8 @@ sap.ui.define([
510
524
  };
511
525
 
512
526
  /**
513
- * When the option <code>useTooltips</code> is set to <code>true</code> - enhances the given text with a tooltip if the text is truncated.
527
+ * When the option <code>useTooltips</code> is set to <code>true</code>,
528
+ * a tooltip is added to the text in case it gets truncated.
514
529
  * @private
515
530
  * @param {sap.m.Text} oText The text control.
516
531
  */
@@ -8,10 +8,209 @@
8
8
  sap.ui.define([], function () {
9
9
  "use strict";
10
10
 
11
- var BaseHeaderRenderer = {
11
+ const BaseHeaderRenderer = {
12
12
  apiVersion: 2
13
13
  };
14
14
 
15
+ BaseHeaderRenderer.render = function (oRm, oHeader) {
16
+ const oToolbar = oHeader.getToolbar();
17
+ const oError = oHeader.getAggregation("_error");
18
+ const bHasNumericPart = this.hasNumericPart(oHeader);
19
+
20
+ oRm.openStart("div", oHeader)
21
+ .class("sapFCardHeader");
22
+
23
+ this.renderHeaderAttributes(oRm, oHeader);
24
+
25
+ if (oHeader.isLoading()) {
26
+ oRm.class("sapFCardHeaderLoading");
27
+ }
28
+
29
+ if (oHeader.getIconSrc() && oHeader.getIconVisible()) {
30
+ oRm.class("sapFCardHeaderHasIcon");
31
+ }
32
+
33
+ if (oToolbar?.getVisible()) {
34
+ oRm.class("sapFCardHeaderHasToolbar");
35
+ }
36
+
37
+ if (!bHasNumericPart) {
38
+ oRm.class("sapFCardHeaderMainPartOnly");
39
+ }
40
+
41
+ oRm.openEnd();
42
+
43
+ this.renderMainPart(oRm, oHeader);
44
+
45
+ if (bHasNumericPart && !oError) {
46
+ this.renderNumericPart(oRm, oHeader);
47
+ }
48
+
49
+ if (oToolbar && !oError) {
50
+ this._renderToolbar(oRm, oToolbar);
51
+ }
52
+
53
+ oRm.close("div");
54
+ };
55
+
56
+ BaseHeaderRenderer.renderHeaderAttributes = function (oRm, oHeader) { };
57
+
58
+ BaseHeaderRenderer.renderMainPart = function (oRm, oHeader) {
59
+ const bUseTileLayout = oHeader.getProperty("useTileLayout");
60
+ const bRenderAsLink = oHeader.isLink();
61
+ const oError = oHeader.getAggregation("_error");
62
+
63
+ if (bRenderAsLink) {
64
+ oRm.openStart("a", oHeader.getId() + "-focusable");
65
+ this._renderLinkAttributes(oRm, oHeader);
66
+ } else {
67
+ oRm.openStart("div", oHeader.getId() + "-focusable");
68
+ }
69
+
70
+ oRm.class("sapFCardHeaderMainPart")
71
+ .class("sapFCardHeaderFocusable");
72
+
73
+ if (oHeader.isFocusable()) {
74
+ oRm.attr("tabindex", "0");
75
+ } else if (bRenderAsLink) {
76
+ oRm.attr("tabindex", "-1");
77
+ }
78
+
79
+ if (oHeader.isInteractive()) {
80
+ oRm.class("sapFCardSectionClickable");
81
+ }
82
+
83
+ if (!this.hasNumericPart(oHeader)) {
84
+ oRm.class("sapFCardHeaderLastPart");
85
+ }
86
+
87
+ oRm.accessibilityState({
88
+ labelledby: { value: oHeader._getAriaLabelledBy(), append: true },
89
+ role: oHeader.getFocusableElementAriaRole(),
90
+ roledescription: oHeader.getAriaRoleDescription()
91
+ });
92
+
93
+ oRm.openEnd();
94
+
95
+ if (oError) {
96
+ oRm.renderControl(oError);
97
+ } else {
98
+ if (bUseTileLayout) {
99
+ this.renderMainContentInTileLayout(oRm, oHeader);
100
+ } else {
101
+ this.renderMainContent(oRm, oHeader);
102
+ }
103
+
104
+ this._renderBanner(oRm, oHeader);
105
+ }
106
+
107
+ if (bRenderAsLink) {
108
+ oRm.close("a");
109
+ } else {
110
+ oRm.close("div");
111
+ }
112
+ };
113
+
114
+ BaseHeaderRenderer.hasNumericPart = function (oHeader) {
115
+ return false;
116
+ };
117
+
118
+ BaseHeaderRenderer.renderNumericPart = function (oRm, oHeader) { };
119
+
120
+ BaseHeaderRenderer.renderMainContent = function (oRm, oHeader) {
121
+ this.renderAvatar(oRm, oHeader);
122
+
123
+ oRm.openStart("div")
124
+ .class("sapFCardHeaderText")
125
+ .openEnd();
126
+
127
+ this.renderMainPartFirstLine(oRm, oHeader);
128
+ this.renderMainPartSecondLine(oRm, oHeader);
129
+
130
+ oRm.close("div");
131
+ };
132
+
133
+ BaseHeaderRenderer.renderMainContentInTileLayout = function (oRm, oHeader) {
134
+ oRm.openStart("div")
135
+ .class("sapFCardHeaderText")
136
+ .openEnd();
137
+
138
+ this.renderMainPartFirstLine(oRm, oHeader);
139
+ this.renderMainPartSecondLine(oRm, oHeader);
140
+
141
+ oRm.close("div");
142
+
143
+ this.renderAvatar(oRm, oHeader);
144
+ };
145
+
146
+ BaseHeaderRenderer.renderMainPartFirstLine = function (oRm, oHeader) {
147
+ const oTitle = oHeader.getAggregation("_title");
148
+ const oBindingInfos = oHeader.mBindingInfos;
149
+ const sStatus = oHeader.getStatusText();
150
+ const sId = oHeader.getId();
151
+
152
+ if (oTitle || oBindingInfos.title) {
153
+ oRm.openStart("div")
154
+ .class("sapFCardHeaderTextFirstLine")
155
+ .openEnd();
156
+
157
+ if (oBindingInfos.title) {
158
+ oTitle.addStyleClass("sapFCardHeaderItemBinded");
159
+ }
160
+
161
+ oRm.renderControl(oTitle);
162
+
163
+ if (sStatus && oHeader.getStatusVisible()) {
164
+ oRm.openStart("span", sId + "-status")
165
+ .class("sapFCardStatus");
166
+
167
+ if (oBindingInfos.statusText) {
168
+ oRm.class("sapFCardHeaderItemBinded");
169
+ }
170
+
171
+ oRm.openEnd()
172
+ .text(sStatus)
173
+ .close("span");
174
+ }
175
+
176
+ oRm.close("div"); // sapFCardHeaderTextFirstLine
177
+ }
178
+ };
179
+
180
+ BaseHeaderRenderer.renderMainPartSecondLine = function (oRm, oHeader) {
181
+ const oBindingInfos = oHeader.mBindingInfos;
182
+ const bHasSubtitle = oHeader.getSubtitle() || oBindingInfos.subtitle;
183
+ const oDataTimestamp = oHeader.getAggregation("_dataTimestamp");
184
+ const bHasDataTimestamp = oHeader.getDataTimestamp() || oBindingInfos.dataTimestamp;
185
+ const oSubtitle = oHeader.getAggregation("_subtitle");
186
+
187
+ if (bHasSubtitle || bHasDataTimestamp) {
188
+ oRm.openStart("div")
189
+ .class("sapFCardHeaderTextSecondLine");
190
+
191
+ if (bHasDataTimestamp) {
192
+ oRm.class("sapFCardHeaderLineIncludesDataTimestamp");
193
+ }
194
+
195
+ oRm.openEnd();
196
+
197
+ if (bHasSubtitle) {
198
+
199
+ if (oBindingInfos.subtitle) {
200
+ oSubtitle.addStyleClass("sapFCardHeaderItemBinded");
201
+ }
202
+
203
+ oRm.renderControl(oSubtitle);
204
+ }
205
+
206
+ if (bHasDataTimestamp) {
207
+ oRm.renderControl(oDataTimestamp);
208
+ }
209
+
210
+ oRm.close("div"); //closes sapFCardHeaderTextSecondLine
211
+ }
212
+ };
213
+
15
214
  BaseHeaderRenderer.renderAvatar = function (oRm, oHeader) {
16
215
  var oAvatar = oHeader.getAggregation("_avatar"),
17
216
  oBindingInfos = oHeader.mBindingInfos,
@@ -31,7 +230,7 @@ sap.ui.define([], function () {
31
230
  }
32
231
  };
33
232
 
34
- BaseHeaderRenderer.renderBanner = function(oRm, oHeader) {
233
+ BaseHeaderRenderer._renderBanner = function(oRm, oHeader) {
35
234
  const aBannerLines = oHeader.getBannerLines() || [];
36
235
  const aVisibleLines = aBannerLines.filter((oText) => {
37
236
  return oText.getVisible();
@@ -69,7 +268,7 @@ sap.ui.define([], function () {
69
268
  * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer
70
269
  * @param {sap.f.cards.Header} oHeader An object representation of the control that should be rendered
71
270
  */
72
- BaseHeaderRenderer.linkAttributes = function(oRm, oHeader) {
271
+ BaseHeaderRenderer._renderLinkAttributes = function(oRm, oHeader) {
73
272
  oRm.attr("href", oHeader.getHref())
74
273
  .attr("rel", "noopener noreferrer");
75
274
 
@@ -82,5 +281,15 @@ sap.ui.define([], function () {
82
281
  oRm.attr("draggable", "false");
83
282
  };
84
283
 
284
+ BaseHeaderRenderer._renderToolbar = function (oRm, oToolbar) {
285
+ oRm.openStart("div")
286
+ .class("sapFCardHeaderToolbarCont")
287
+ .openEnd();
288
+
289
+ oRm.renderControl(oToolbar);
290
+
291
+ oRm.close("div");
292
+ };
293
+
85
294
  return BaseHeaderRenderer;
86
295
  }, /* bExport= */ true);
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * @implements sap.f.cards.IHeader
49
49
  *
50
50
  * @author SAP SE
51
- * @version 1.132.1
51
+ * @version 1.134.0
52
52
  *
53
53
  * @constructor
54
54
  * @public
@@ -167,16 +167,10 @@ sap.ui.define([
167
167
  BaseHeader.prototype.init.apply(this, arguments);
168
168
 
169
169
  this.data("sap-ui-fastnavgroup", "true", true); // Define group for F6 handling
170
-
171
- this._oAriaAvatarText = new InvisibleText({id: this.getId() + "-ariaAvatarText"});
172
- this._oAriaAvatarText.setText(this._oRb.getText("ARIA_HEADER_AVATAR_TEXT"));
173
170
  };
174
171
 
175
172
  Header.prototype.exit = function () {
176
173
  BaseHeader.prototype.exit.apply(this, arguments);
177
-
178
- this._oAriaAvatarText.destroy();
179
- this._oAriaAvatarText = null;
180
174
  };
181
175
 
182
176
  /**
@@ -307,7 +301,7 @@ sap.ui.define([
307
301
  }
308
302
 
309
303
  if (this.getIconSrc() || this.getIconInitials()) {
310
- aIds.push(this.getId() + "-ariaAvatarText");
304
+ aIds.push(this._getAvatar().getId());
311
305
  }
312
306
 
313
307
  aIds.push(this._getBannerLinesIds());
@@ -13,166 +13,5 @@ sap.ui.define([
13
13
  var HeaderRenderer = Renderer.extend(BaseHeaderRenderer);
14
14
  HeaderRenderer.apiVersion = 2;
15
15
 
16
- /**
17
- * Render a header.
18
- *
19
- * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer
20
- * @param {sap.f.cards.Header} oHeader An object representation of the control that should be rendered
21
- */
22
- HeaderRenderer.render = function (oRm, oHeader) {
23
- var sId = oHeader.getId(),
24
- oBindingInfos = oHeader.mBindingInfos,
25
- sStatus = oHeader.getStatusText(),
26
- oTitle = oHeader.getAggregation("_title"),
27
- oSubtitle = oHeader.getAggregation("_subtitle"),
28
- bHasSubtitle = oHeader.getSubtitle() || oBindingInfos.subtitle,
29
- oDataTimestamp = oHeader.getAggregation("_dataTimestamp"),
30
- bHasDataTimestamp = oHeader.getDataTimestamp() || oBindingInfos.dataTimestamp,
31
- bLoading = oHeader.isLoading(),
32
- oError = oHeader.getAggregation("_error"),
33
- oToolbar = oHeader.getToolbar(),
34
- bUseTileLayout = oHeader.getProperty("useTileLayout"),
35
- bRenderAsLink = oHeader.isLink();
36
-
37
- oRm.openStart("div", oHeader)
38
- .class("sapFCardHeader");
39
-
40
- if (bLoading) {
41
- oRm.class("sapFCardHeaderLoading");
42
- }
43
-
44
- if (oHeader.isInteractive()) {
45
- oRm.class("sapFCardSectionClickable");
46
- }
47
-
48
- if (oHeader.getIconSrc() && oHeader.getIconVisible()) {
49
- oRm.class("sapFCardHeaderHasIcon");
50
- }
51
-
52
- if (oToolbar?.getVisible()) {
53
- oRm.class("sapFCardHeaderHasToolbar");
54
- }
55
-
56
- oRm.openEnd();
57
-
58
- if (bRenderAsLink) {
59
- oRm.openStart("a");
60
- BaseHeaderRenderer.linkAttributes(oRm, oHeader);
61
- } else {
62
- oRm.openStart("div");
63
- }
64
-
65
- oRm.attr("id", sId + "-focusable")
66
- .class("sapFCardHeaderWrapper");
67
-
68
- if (oHeader.getProperty("focusable") && !oHeader._isInsideGridContainer()) {
69
- oRm.attr("tabindex", "0");
70
- }
71
-
72
- if (!oHeader._isInsideGridContainer()) {
73
- oRm.accessibilityState({
74
- labelledby: {value: oHeader._getAriaLabelledBy(), append: true},
75
- role: oHeader.getFocusableElementAriaRole(),
76
- roledescription: oHeader.getAriaRoleDescription()
77
- });
78
- }
79
-
80
- oRm.openEnd();
81
-
82
- if (oError) {
83
- oRm.renderControl(oError);
84
-
85
- oRm.close("div");
86
- oRm.close("div");
87
- return;
88
- }
89
-
90
- if (!bUseTileLayout) {
91
- BaseHeaderRenderer.renderAvatar(oRm, oHeader);
92
- }
93
-
94
- oRm.openStart("div")
95
- .class("sapFCardHeaderText")
96
- .openEnd();
97
-
98
- if (oHeader.getTitle() || oBindingInfos.title) {
99
- oRm.openStart("div")
100
- .class("sapFCardHeaderTextFirstLine")
101
- .openEnd();
102
-
103
- if (oBindingInfos.title) {
104
- oTitle.addStyleClass("sapFCardHeaderItemBinded");
105
- }
106
-
107
- oRm.renderControl(oTitle);
108
-
109
- if (sStatus && oHeader.getStatusVisible()) {
110
- oRm.openStart("span", sId + "-status")
111
- .class("sapFCardStatus");
112
-
113
- if (oBindingInfos.statusText) {
114
- oRm.class("sapFCardHeaderItemBinded");
115
- }
116
-
117
- oRm.openEnd()
118
- .text(sStatus)
119
- .close("span");
120
- }
121
-
122
- oRm.close("div");
123
-
124
- if (bHasSubtitle || bHasDataTimestamp) {
125
- oRm.openStart("div")
126
- .class("sapFCardHeaderTextSecondLine");
127
-
128
- if (bHasDataTimestamp) {
129
- oRm.class("sapFCardHeaderLineIncludesDataTimestamp");
130
- }
131
-
132
- oRm.openEnd();
133
-
134
- if (bHasSubtitle) {
135
-
136
- if (oBindingInfos.subtitle) {
137
- oSubtitle.addStyleClass("sapFCardHeaderItemBinded");
138
- }
139
-
140
- oRm.renderControl(oSubtitle);
141
- }
142
-
143
- if (bHasDataTimestamp) {
144
- oRm.renderControl(oDataTimestamp);
145
- }
146
-
147
- oRm.close("div"); //closes sapFCardHeaderTextSecondLine
148
- }
149
- }
150
-
151
- oRm.close("div");
152
-
153
- if (bUseTileLayout) {
154
- BaseHeaderRenderer.renderAvatar(oRm, oHeader);
155
- }
156
-
157
- BaseHeaderRenderer.renderBanner(oRm, oHeader);
158
-
159
- if (bRenderAsLink) {
160
- oRm.close("a");
161
- } else {
162
- oRm.close("div");
163
- }
164
-
165
- if (oToolbar) {
166
- oRm.openStart("div")
167
- .class("sapFCardHeaderToolbarCont")
168
- .openEnd();
169
- oRm.renderControl(oToolbar);
170
-
171
- oRm.close("div");
172
- }
173
-
174
- oRm.close("div");
175
- };
176
-
177
16
  return HeaderRenderer;
178
17
  }, /* bExport= */ true);
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  * @implements sap.f.cards.IHeader
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.132.1
61
+ * @version 1.134.0
62
62
  *
63
63
  * @constructor
64
64
  * @public
@@ -286,16 +286,10 @@ sap.ui.define([
286
286
  BaseHeader.prototype.init.apply(this, arguments);
287
287
 
288
288
  this.data("sap-ui-fastnavgroup", "true", true); // Define group for F6 handling
289
-
290
- this._oAriaAvatarText = new InvisibleText({id: this.getId() + "-ariaAvatarText"});
291
- this._oAriaAvatarText.setText(this._oRb.getText("ARIA_HEADER_AVATAR_TEXT"));
292
289
  };
293
290
 
294
291
  NumericHeader.prototype.exit = function () {
295
292
  BaseHeader.prototype.exit.apply(this, arguments);
296
-
297
- this._oAriaAvatarText.destroy();
298
- this._oAriaAvatarText = null;
299
293
  };
300
294
 
301
295
  /**
@@ -401,7 +395,7 @@ sap.ui.define([
401
395
  id: this.getId() + "-title",
402
396
  wrapping: true,
403
397
  maxLines: this.getTitleMaxLines()
404
- });
398
+ }).addStyleClass("sapFCardTitle");
405
399
 
406
400
  this.setAggregation("_title", oControl);
407
401
  }
@@ -540,7 +534,7 @@ sap.ui.define([
540
534
  aIds.push(this._getUnitOfMeasurement().getId());
541
535
 
542
536
  if (this.getIconSrc() || this.getIconInitials()) {
543
- aIds.push(this.getId() + "-ariaAvatarText");
537
+ aIds.push(this._getAvatar().getId());
544
538
  }
545
539
 
546
540
  if (this.getNumber() || this.getScale()) {