@openui5/sap.f 1.120.12 → 1.120.14

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 (132) hide show
  1. package/package.json +4 -4
  2. package/src/sap/f/.library +1 -1
  3. package/src/sap/f/Avatar.js +1 -1
  4. package/src/sap/f/AvatarGroup.js +1 -1
  5. package/src/sap/f/AvatarGroupItem.js +1 -1
  6. package/src/sap/f/CalendarAppointmentInCard.js +1 -1
  7. package/src/sap/f/CalendarInCard.js +1 -1
  8. package/src/sap/f/Card.js +1 -1
  9. package/src/sap/f/CardBase.js +1 -1
  10. package/src/sap/f/DynamicPage.js +1 -1
  11. package/src/sap/f/DynamicPageAccessibleLandmarkInfo.js +1 -1
  12. package/src/sap/f/DynamicPageHeader.js +20 -8
  13. package/src/sap/f/DynamicPageTitle.js +1 -1
  14. package/src/sap/f/FlexibleColumnLayout.js +1 -1
  15. package/src/sap/f/FlexibleColumnLayoutAccessibleLandmarkInfo.js +1 -1
  16. package/src/sap/f/FlexibleColumnLayoutSemanticHelper.js +1 -1
  17. package/src/sap/f/GridContainer.js +1 -1
  18. package/src/sap/f/GridContainerItemLayoutData.js +1 -1
  19. package/src/sap/f/GridContainerSettings.js +2 -2
  20. package/src/sap/f/GridList.js +1 -1
  21. package/src/sap/f/GridListItem.js +1 -1
  22. package/src/sap/f/IllustratedMessage.js +1 -1
  23. package/src/sap/f/Illustration.js +1 -1
  24. package/src/sap/f/PlanningCalendarInCardLegend.js +1 -1
  25. package/src/sap/f/ProductSwitch.js +1 -1
  26. package/src/sap/f/ProductSwitchItem.js +1 -1
  27. package/src/sap/f/SearchManager.js +1 -1
  28. package/src/sap/f/ShellBar.js +70 -9
  29. package/src/sap/f/ShellBarRenderer.js +3 -3
  30. package/src/sap/f/SidePanel.js +1 -1
  31. package/src/sap/f/SidePanelItem.js +1 -1
  32. package/src/sap/f/cards/BaseHeader.js +1 -1
  33. package/src/sap/f/cards/Header.js +1 -1
  34. package/src/sap/f/cards/NumericHeader.js +1 -1
  35. package/src/sap/f/cards/NumericIndicators.js +1 -1
  36. package/src/sap/f/cards/NumericSideIndicator.js +1 -1
  37. package/src/sap/f/cards/loading/AnalyticalPlaceholder.js +1 -1
  38. package/src/sap/f/cards/loading/CalendarPlaceholder.js +1 -1
  39. package/src/sap/f/cards/loading/GenericPlaceholder.js +1 -1
  40. package/src/sap/f/cards/loading/ListPlaceholder.js +1 -1
  41. package/src/sap/f/cards/loading/ObjectPlaceholder.js +1 -1
  42. package/src/sap/f/cards/loading/PlaceholderBase.js +1 -1
  43. package/src/sap/f/cards/loading/TablePlaceholder.js +1 -1
  44. package/src/sap/f/cards/loading/TimelinePlaceholder.js +1 -1
  45. package/src/sap/f/changeHandler/MoveDynamicPageTitleActions.js +1 -1
  46. package/src/sap/f/delegate/GridContainerItemNavigation.js +1 -1
  47. package/src/sap/f/delegate/GridItemNavigation.js +1 -1
  48. package/src/sap/f/dnd/GridDragOver.js +1 -1
  49. package/src/sap/f/dnd/GridDropInfo.js +1 -1
  50. package/src/sap/f/library.js +2 -2
  51. package/src/sap/f/messagebundle.properties +1 -1
  52. package/src/sap/f/messagebundle_ar.properties +1 -1
  53. package/src/sap/f/messagebundle_bg.properties +1 -1
  54. package/src/sap/f/messagebundle_ca.properties +1 -1
  55. package/src/sap/f/messagebundle_cnr.properties +1 -1
  56. package/src/sap/f/messagebundle_cs.properties +1 -1
  57. package/src/sap/f/messagebundle_cy.properties +1 -1
  58. package/src/sap/f/messagebundle_da.properties +1 -1
  59. package/src/sap/f/messagebundle_de.properties +1 -1
  60. package/src/sap/f/messagebundle_el.properties +1 -1
  61. package/src/sap/f/messagebundle_en.properties +1 -1
  62. package/src/sap/f/messagebundle_en_GB.properties +1 -1
  63. package/src/sap/f/messagebundle_en_US_saprigi.properties +1 -1
  64. package/src/sap/f/messagebundle_es.properties +1 -1
  65. package/src/sap/f/messagebundle_es_MX.properties +1 -1
  66. package/src/sap/f/messagebundle_et.properties +1 -1
  67. package/src/sap/f/messagebundle_fi.properties +1 -1
  68. package/src/sap/f/messagebundle_fr.properties +1 -1
  69. package/src/sap/f/messagebundle_fr_CA.properties +1 -1
  70. package/src/sap/f/messagebundle_hi.properties +1 -1
  71. package/src/sap/f/messagebundle_hr.properties +1 -1
  72. package/src/sap/f/messagebundle_hu.properties +1 -1
  73. package/src/sap/f/messagebundle_id.properties +1 -1
  74. package/src/sap/f/messagebundle_it.properties +1 -1
  75. package/src/sap/f/messagebundle_iw.properties +1 -1
  76. package/src/sap/f/messagebundle_ja.properties +1 -1
  77. package/src/sap/f/messagebundle_kk.properties +1 -1
  78. package/src/sap/f/messagebundle_ko.properties +1 -1
  79. package/src/sap/f/messagebundle_lt.properties +1 -1
  80. package/src/sap/f/messagebundle_lv.properties +1 -1
  81. package/src/sap/f/messagebundle_mk.properties +1 -1
  82. package/src/sap/f/messagebundle_ms.properties +1 -1
  83. package/src/sap/f/messagebundle_nl.properties +1 -1
  84. package/src/sap/f/messagebundle_no.properties +1 -1
  85. package/src/sap/f/messagebundle_pl.properties +1 -1
  86. package/src/sap/f/messagebundle_pt.properties +1 -1
  87. package/src/sap/f/messagebundle_pt_PT.properties +1 -1
  88. package/src/sap/f/messagebundle_ro.properties +1 -1
  89. package/src/sap/f/messagebundle_ru.properties +1 -1
  90. package/src/sap/f/messagebundle_sh.properties +13 -13
  91. package/src/sap/f/messagebundle_sk.properties +1 -1
  92. package/src/sap/f/messagebundle_sl.properties +1 -1
  93. package/src/sap/f/messagebundle_sr.properties +1 -1
  94. package/src/sap/f/messagebundle_sv.properties +1 -1
  95. package/src/sap/f/messagebundle_th.properties +1 -1
  96. package/src/sap/f/messagebundle_tr.properties +1 -1
  97. package/src/sap/f/messagebundle_uk.properties +1 -1
  98. package/src/sap/f/messagebundle_vi.properties +1 -1
  99. package/src/sap/f/messagebundle_zh_CN.properties +1 -1
  100. package/src/sap/f/messagebundle_zh_TW.properties +1 -1
  101. package/src/sap/f/semantic/AddAction.js +1 -1
  102. package/src/sap/f/semantic/CloseAction.js +1 -1
  103. package/src/sap/f/semantic/CopyAction.js +1 -1
  104. package/src/sap/f/semantic/DeleteAction.js +1 -1
  105. package/src/sap/f/semantic/DiscussInJamAction.js +1 -1
  106. package/src/sap/f/semantic/EditAction.js +1 -1
  107. package/src/sap/f/semantic/ExitFullScreenAction.js +1 -1
  108. package/src/sap/f/semantic/FavoriteAction.js +1 -1
  109. package/src/sap/f/semantic/FlagAction.js +1 -1
  110. package/src/sap/f/semantic/FooterMainAction.js +1 -1
  111. package/src/sap/f/semantic/FullScreenAction.js +1 -1
  112. package/src/sap/f/semantic/MainAction.js +1 -1
  113. package/src/sap/f/semantic/MessagesIndicator.js +1 -1
  114. package/src/sap/f/semantic/NegativeAction.js +1 -1
  115. package/src/sap/f/semantic/PositiveAction.js +1 -1
  116. package/src/sap/f/semantic/PrintAction.js +1 -1
  117. package/src/sap/f/semantic/SemanticButton.js +1 -1
  118. package/src/sap/f/semantic/SemanticConfiguration.js +1 -1
  119. package/src/sap/f/semantic/SemanticControl.js +1 -1
  120. package/src/sap/f/semantic/SemanticPage.js +1 -1
  121. package/src/sap/f/semantic/SemanticToggleButton.js +1 -1
  122. package/src/sap/f/semantic/SendEmailAction.js +1 -1
  123. package/src/sap/f/semantic/SendMessageAction.js +1 -1
  124. package/src/sap/f/semantic/ShareInJamAction.js +1 -1
  125. package/src/sap/f/semantic/TitleMainAction.js +1 -1
  126. package/src/sap/f/shellBar/AdditionalContentSupport.js +1 -1
  127. package/src/sap/f/shellBar/CoPilot.js +1 -1
  128. package/src/sap/f/shellBar/ControlSpacer.js +1 -1
  129. package/src/sap/f/shellBar/Factory.js +14 -8
  130. package/src/sap/f/shellBar/ResponsiveHandler.js +23 -6
  131. package/src/sap/f/shellBar/Search.js +20 -4
  132. package/src/sap/f/themes/base/ShellBar.less +32 -13
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.f",
3
- "version": "1.120.12",
3
+ "version": "1.120.14",
4
4
  "description": "OpenUI5 UI Library sap.f",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,8 +14,8 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.m": "1.120.12",
18
- "@openui5/sap.ui.core": "1.120.12",
19
- "@openui5/sap.ui.layout": "1.120.12"
17
+ "@openui5/sap.m": "1.120.14",
18
+ "@openui5/sap.ui.core": "1.120.14",
19
+ "@openui5/sap.ui.layout": "1.120.14"
20
20
  }
21
21
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.120.12</version>
9
+ <version>1.120.14</version>
10
10
 
11
11
  <documentation>SAPUI5 library with Fiori controls.</documentation>
12
12
 
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @extends sap.m.Avatar
41
41
  *
42
42
  * @author SAP SE
43
- * @version 1.120.12
43
+ * @version 1.120.14
44
44
  *
45
45
  * @constructor
46
46
  * @public
@@ -98,7 +98,7 @@ sap.ui.define([
98
98
  * @extends sap.ui.core.Control
99
99
  *
100
100
  * @author SAP SE
101
- * @version 1.120.12
101
+ * @version 1.120.14
102
102
  *
103
103
  * @constructor
104
104
  * @public
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.core.Control
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.120.12
35
+ * @version 1.120.14
36
36
  *
37
37
  * @constructor
38
38
  * @public
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * This calendar appointment is used in card content of type Calendar.
22
22
  *
23
23
  * @extends sap.ui.unified.CalendarAppointment
24
- * @version 1.120.12
24
+ * @version 1.120.14
25
25
  *
26
26
  * @constructor
27
27
  * @private
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * <code>sap.m.Toolbar</code> with <code>sap.m.Buttons</code>.
44
44
  *
45
45
  * @extends sap.ui.unified.Calendar
46
- * @version 1.120.12
46
+ * @version 1.120.14
47
47
  *
48
48
  * @constructor
49
49
  * @private
package/src/sap/f/Card.js CHANGED
@@ -71,7 +71,7 @@ sap.ui.define([
71
71
  * @extends sap.f.CardBase
72
72
  *
73
73
  * @author SAP SE
74
- * @version 1.120.12
74
+ * @version 1.120.14
75
75
  *
76
76
  * @constructor
77
77
  * @public
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Control
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.120.12
40
+ * @version 1.120.14
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -112,7 +112,7 @@ sap.ui.define([
112
112
  * @extends sap.ui.core.Control
113
113
  *
114
114
  * @author SAP SE
115
- * @version 1.120.12
115
+ * @version 1.120.14
116
116
  *
117
117
  * @constructor
118
118
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(['sap/ui/core/Element', './library'],
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.120.12
26
+ * @version 1.120.14
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  * @extends sap.ui.core.Control
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.120.12
65
+ * @version 1.120.14
66
66
  *
67
67
  * @constructor
68
68
  * @public
@@ -122,6 +122,8 @@ sap.ui.define([
122
122
  return sap.ui.getCore().getLibraryResourceBundle("sap.f");
123
123
  };
124
124
 
125
+ DynamicPageHeader.UNPRESSED_PIN_ICON = "sap-icon://pushpin-off";
126
+
125
127
  DynamicPageHeader.ARIA = {
126
128
  ARIA_CONTROLS: "aria-controls",
127
129
  ARIA_LABEL: "aria-label",
@@ -146,6 +148,11 @@ sap.ui.define([
146
148
  if (!this._oInvisibleMessage) {
147
149
  this._oInvisibleMessage = InvisibleMessage.getInstance();
148
150
  }
151
+ // Required if the parent has "headerPinned" set to "true" initially.
152
+ // Without the explicit "_setPressedStatePinIcon" an empty button is rendered.
153
+ if (this.getPinnable()) {
154
+ this._setPressedStatePinIcon();
155
+ }
149
156
  };
150
157
 
151
158
  /*************************************** Private members ******************************************/
@@ -157,6 +164,7 @@ sap.ui.define([
157
164
  */
158
165
  DynamicPageHeader.prototype._togglePinButton = function (bValue) {
159
166
  this._getPinButton().setPressed(bValue);
167
+ this._getPinButton().setIcon(bValue ? this._sPressedStatePinIconURI : DynamicPageHeader.UNPRESSED_PIN_ICON);
160
168
  };
161
169
 
162
170
  /**
@@ -172,8 +180,9 @@ sap.ui.define([
172
180
  * Fires the pin/unpin press event.
173
181
  * @private
174
182
  */
175
- DynamicPageHeader.prototype._pinUnpinFireEvent = function () {
183
+ DynamicPageHeader.prototype._pinUnpinFireEvent = function (oEvent) {
176
184
  this.fireEvent("_pinUnpinPress");
185
+ this._togglePinButton(oEvent.getSource().getPressed());
177
186
  };
178
187
 
179
188
  /**
@@ -247,7 +256,7 @@ sap.ui.define([
247
256
  if (!this.getAggregation("_pinButton")) {
248
257
  var oPinButton = new ToggleButton({
249
258
  id: this.getId() + "-pinBtn",
250
- icon: "sap-icon://pushpin-off",
259
+ icon: DynamicPageHeader.UNPRESSED_PIN_ICON,
251
260
  tooltip: DynamicPageHeader.ARIA.LABEL_PINNED,
252
261
  press: this._pinUnpinFireEvent.bind(this)
253
262
  }).addStyleClass("sapFDynamicPageHeaderPinButton");
@@ -359,15 +368,18 @@ sap.ui.define([
359
368
  };
360
369
  };
361
370
 
371
+ DynamicPageHeader.prototype.onThemeChanged = function () {
372
+ this._setPressedStatePinIcon();
373
+ };
374
+
362
375
  /**
363
- * Sets the icon of the pin button depending on the current theme
376
+ * Sets the icon URI for the pressed state of the pin button
377
+ * @private
364
378
  */
365
- DynamicPageHeader.prototype.onThemeChanged = function () {
366
- var sIcon = IconPool.getIconURI(ThemeParameters.get({
379
+ DynamicPageHeader.prototype._setPressedStatePinIcon = function () {
380
+ this._sPressedStatePinIconURI = IconPool.getIconURI(ThemeParameters.get({
367
381
  name: "_sap_f_DynamicPageHeader_PinButton_Icon"
368
382
  }));
369
-
370
- this._getPinButton().setIcon(sIcon);
371
383
  };
372
384
 
373
385
  return DynamicPageHeader;
@@ -93,7 +93,7 @@ sap.ui.define([
93
93
  * @extends sap.ui.core.Control
94
94
  *
95
95
  * @author SAP SE
96
- * @version 1.120.12
96
+ * @version 1.120.14
97
97
  *
98
98
  * @constructor
99
99
  * @public
@@ -97,7 +97,7 @@ sap.ui.define([
97
97
  *
98
98
  * @extends sap.ui.core.Control
99
99
  * @author SAP SE
100
- * @version 1.120.12
100
+ * @version 1.120.14
101
101
  *
102
102
  * @constructor
103
103
  * @public
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/core/Element', './library'],
22
22
  * @extends sap.ui.core.Element
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.120.12
25
+ * @version 1.120.14
26
26
  * @since 1.95
27
27
  *
28
28
  * @constructor
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  *
50
50
  * For more information, see {@link sap.f.FlexibleColumnLayoutSemanticHelper#getCurrentUIState} and {@link sap.f.FlexibleColumnLayoutSemanticHelper#getNextUIState}
51
51
  *
52
- * @version 1.120.12
52
+ * @version 1.120.14
53
53
  * @param {sap.f.FlexibleColumnLayout} oFlexibleColumnLayout
54
54
  * The <code>sap.f.FlexibleColumnLayout</code> object whose state will be manipulated.
55
55
  *
@@ -171,7 +171,7 @@ sap.ui.define([
171
171
  * @see {@link sap.f.dnd.GridDropInfo}
172
172
  *
173
173
  * @author SAP SE
174
- * @version 1.120.12
174
+ * @version 1.120.14
175
175
  *
176
176
  * @extends sap.ui.core.Control
177
177
  *
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/core/LayoutData'],
21
21
  * @see {@link topic:32d4b9c2b981425dbc374d3e9d5d0c2e Grid Controls}
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.120.12
24
+ * @version 1.120.14
25
25
  *
26
26
  * @extends sap.ui.core.LayoutData
27
27
  *
@@ -58,14 +58,14 @@ sap.ui.define([
58
58
  * Can be used to define the sizes of columns and rows for different screen sizes, by using the <code>layout</code> aggregations of <code>sap.f.GridContainer</code>.
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.120.12
61
+ * @version 1.120.14
62
62
  *
63
63
  * @extends sap.ui.base.ManagedObject
64
64
  *
65
65
  * @see {@link topic:32d4b9c2b981425dbc374d3e9d5d0c2e Grid Controls}
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.120.12
68
+ * @version 1.120.14
69
69
  *
70
70
  * @experimental Since 1.65 This class is experimental. The API may change.
71
71
  * @since 1.65
@@ -93,7 +93,7 @@ sap.ui.define([
93
93
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout MDN web docs: CSS Grid Layout}
94
94
  *
95
95
  * @author SAP SE
96
- * @version 1.120.12
96
+ * @version 1.120.14
97
97
  *
98
98
  * @extends sap.m.ListBase
99
99
  * @implements sap.ui.layout.cssgrid.IGridConfigurable
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.m.ListItemBase
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.120.12
27
+ * @version 1.120.14
28
28
  *
29
29
  * @since 1.70
30
30
  * @constructor
@@ -56,7 +56,7 @@ sap.ui.define([
56
56
  * @extends sap.m.IllustratedMessage
57
57
  *
58
58
  * @author SAP SE
59
- * @version 1.120.12
59
+ * @version 1.120.14
60
60
  *
61
61
  * @constructor
62
62
  * @public
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.Illustration
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.120.12
33
+ * @version 1.120.14
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -22,7 +22,7 @@ sap.ui.define(['sap/m/PlanningCalendarLegend', 'sap/ui/unified/CalendarLegendIte
22
22
  * @extends sap.m.PlanningCalendarLegend
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.120.12
25
+ * @version 1.120.14
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Control
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.120.12
37
+ * @version 1.120.14
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @extends sap.ui.core.Control
41
41
  *
42
42
  * @author SAP SE
43
- * @version 1.120.12
43
+ * @version 1.120.14
44
44
  *
45
45
  * @constructor
46
46
  * @public
@@ -23,7 +23,7 @@ sap.ui.define(['sap/ui/core/Element', 'sap/ui/base/ManagedObjectObserver', './sh
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.120.12
26
+ * @version 1.120.14
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -14,6 +14,7 @@ sap.ui.define([
14
14
  "sap/m/BarInPageEnabler",
15
15
  "sap/m/BadgeCustomData",
16
16
  "sap/m/Button",
17
+ "sap/ui/Device",
17
18
  "sap/m/library",
18
19
  "./ShellBarRenderer"
19
20
  ],
@@ -26,6 +27,7 @@ function(
26
27
  BarInPageEnabler,
27
28
  BadgeCustomData,
28
29
  Button,
30
+ Device,
29
31
  mobileLibrary,
30
32
  ShellBarRenderer
31
33
  ) {
@@ -56,7 +58,7 @@ function(
56
58
  * @implements sap.f.IShellBar, sap.m.IBar, sap.tnt.IToolHeader
57
59
  *
58
60
  * @author SAP SE
59
- * @version 1.120.12
61
+ * @version 1.120.14
60
62
  *
61
63
  * @constructor
62
64
  * @public
@@ -197,8 +199,13 @@ function(
197
199
  parameters: {
198
200
  /**
199
201
  * Reference to the button that has been pressed
202
+ * @deprecated Since version 1.120
200
203
  */
201
- image : {type: "sap.m.Image"}
204
+ image : {type: "sap.m.Image"},
205
+ /**
206
+ * Reference to the button that has been pressed
207
+ */
208
+ button : {type: "sap.m.Button"}
202
209
  }
203
210
  },
204
211
  /**
@@ -254,6 +261,10 @@ function(
254
261
  // Enhance the prototype with additional content aggregation support
255
262
  AdditionalContentSupport.apply(ShellBar.prototype);
256
263
 
264
+ var SHELBAR_RANGE_SET = "ShellBarRangeSet";
265
+
266
+ Device.media.initRangeSet(SHELBAR_RANGE_SET, [600, 1024, 1440, 1920], "px", ["Phone", "Tablet", "Desktop", "LargeDesktop", "ExtraLargeDesktop"], true);
267
+
257
268
  // Lifecycle
258
269
  ShellBar.prototype.init = function () {
259
270
  this._oFactory = new Factory(this);
@@ -275,12 +286,21 @@ function(
275
286
  this._oResponsiveHandler = new ResponsiveHandler(this);
276
287
 
277
288
  this._oAcc = new Accessibility(this);
289
+
290
+ this._sRangeSet = SHELBAR_RANGE_SET;
278
291
  };
279
292
 
280
293
  ShellBar.prototype.onBeforeRendering = function () {
281
294
  this._assignControls();
282
295
  };
283
296
 
297
+ ShellBar.prototype.onAfterRendering = function () {
298
+ if (!this.sCurrentRange) {
299
+ this._assignSearch();
300
+ this.invalidate();
301
+ }
302
+ };
303
+
284
304
  ShellBar.prototype.exit = function () {
285
305
  this._aLeftControls = [];
286
306
  this._aRightControls = [];
@@ -411,30 +431,36 @@ function(
411
431
  if (oConfig) {
412
432
  if (!this._oManagedSearch) {
413
433
  this._oManagedSearch = this._oFactory.getManagedSearch();
434
+ this.addStyleClass("sapFShellBarWithSearch", true);
414
435
  }
415
436
  } else {
416
437
  this._oManagedSearch = null;
438
+ this.addStyleClass("sapFShellBarWithSearch", false);
417
439
  }
418
440
 
419
441
  this._bOTBUpdateNeeded = true;
420
442
 
443
+
421
444
  return this;
422
445
  };
423
446
 
424
447
  ShellBar.prototype.setShowNotifications = function (bShow) {
425
- var oShellbar = this;
448
+ var oShellbar = this,
449
+ oParent;
426
450
 
427
451
  if (bShow) {
428
452
  if (!this._oNotifications) {
453
+ oParent = this.getParent();
454
+
429
455
  this._oNotifications = this._oFactory.getNotifications();
430
456
  this._oNotifications._onBeforeEnterOverflow = function () {
431
- var oOTBButtonBadgeData = this.getParent()._getOverflowButton().getBadgeCustomData();
457
+ var oOTBButtonBadgeData = oParent && oParent._getOverflowButton().getBadgeCustomData();
432
458
  this._bInOverflow = true;
433
459
  oOTBButtonBadgeData && oOTBButtonBadgeData.setVisible(this.getBadgeCustomData().getVisible());
434
460
  };
435
461
 
436
462
  this._oNotifications._onAfterExitOverflow = function () {
437
- var oOTBButtonBadgeData = this.getParent()._getOverflowButton().getBadgeCustomData();
463
+ var oOTBButtonBadgeData = oParent && oParent._getOverflowButton().getBadgeCustomData();
438
464
  this._bInOverflow = false;
439
465
  oOTBButtonBadgeData && oOTBButtonBadgeData.setVisible(false);
440
466
  };
@@ -604,7 +630,10 @@ function(
604
630
 
605
631
  // Utility
606
632
  ShellBar.prototype._assignControlsToOverflowToolbar = function () {
607
- var aAdditionalContent;
633
+ var aAdditionalContent,
634
+ sMediaRange = this._getCurrentMediaRange();
635
+
636
+ this.sCurrentRange = sMediaRange;
608
637
 
609
638
  if (!this._oOverflowToolbar) {return;}
610
639
 
@@ -612,14 +641,16 @@ function(
612
641
 
613
642
  this.addControlToCollection(this._oToolbarSpacer, this._oOverflowToolbar);
614
643
 
615
- if (this._oManagedSearch) {
616
- this.addControlToCollection(this._oManagedSearch, this._oOverflowToolbar);
617
- }
644
+ this._assignSearch();
618
645
 
619
646
  if (this._oSearch) {
620
647
  this.addControlToCollection(this._oSearch, this._oOverflowToolbar);
621
648
  }
622
649
 
650
+ if (this._oCopilot) {
651
+ this.addControlToCollection(this._oCopilot, this._oOverflowToolbar);
652
+ }
653
+
623
654
  if (this._oNotifications) {
624
655
  this.addControlToCollection(this._oNotifications, this._oOverflowToolbar);
625
656
  }
@@ -637,6 +668,25 @@ function(
637
668
  return this._oOverflowToolbar;
638
669
  };
639
670
 
671
+ // Utility for assigning Search to the relevant container
672
+ ShellBar.prototype._assignSearch = function () {
673
+ var sMediaRange = this._getCurrentMediaRange();
674
+ this.sCurrentRange = sMediaRange;
675
+
676
+ if (this._oManagedSearch && this.sCurrentRange !== "ExtraLargeDesktop") {
677
+ this.addControlToCollection(this._oManagedSearch, this._oOverflowToolbar);
678
+ this._oManagedSearch._switchOpenStateOnSearch();
679
+ } else if (this._oManagedSearch && this.sCurrentRange === "ExtraLargeDesktop") {
680
+ this._oManagedSearch.setIsOpen(true);
681
+ this.removeControlFromCollection(this._oManagedSearch, this._oOverflowToolbar);
682
+ }
683
+ };
684
+
685
+ // Utility for getting current media range
686
+ ShellBar.prototype._getCurrentMediaRange = function () {
687
+ return this.$().length && Device.media.getCurrentRange(this._sRangeSet, this.$().outerWidth()).name;
688
+ };
689
+
640
690
  //Utility method for preparing and adding control to proper collection
641
691
  ShellBar.prototype.addControlToCollection = function(oControl, aEntity) {
642
692
  var fnAction;
@@ -649,6 +699,17 @@ function(
649
699
  aEntity[fnAction](oControl);
650
700
  };
651
701
 
702
+
703
+ //Utility method for preparing and adding control to proper collection
704
+ ShellBar.prototype.removeControlFromCollection = function(oControl, aEntity) {
705
+ var fnAction;
706
+ if (!Array.isArray(aEntity)) {
707
+ fnAction = aEntity === this._oAdditionalBox ? "removeItem" : "removeContent";
708
+ }
709
+
710
+ aEntity[fnAction](oControl);
711
+ };
712
+
652
713
  ShellBar.prototype._updateNotificationsIndicators = function(sNotificationsNumber) {
653
714
  var oOTBButton;
654
715
 
@@ -50,10 +50,10 @@ function() {
50
50
  oControl._aLeftControls.forEach(oRm.renderControl, oRm);
51
51
 
52
52
  oRm.close("div");
53
-
54
53
  }
55
- if (oControl._oCopilot) {
56
- oRm.renderControl(oControl._oCopilot);
54
+
55
+ if (oControl._oManagedSearch && oControl.sCurrentRange === "ExtraLargeDesktop") {
56
+ oRm.renderControl(oControl._oManagedSearch);
57
57
  }
58
58
 
59
59
  if (oControl._aRightControls && oControl._aRightControls.length) {
@@ -149,7 +149,7 @@ sap.ui.define([
149
149
  * @extends sap.ui.core.Control
150
150
  *
151
151
  * @author SAP SE
152
- * @version 1.120.12
152
+ * @version 1.120.14
153
153
  *
154
154
  * @constructor
155
155
  * @public
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.core.Item
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.120.12
30
+ * @version 1.120.14
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @abstract
43
43
  *
44
44
  * @author SAP SE
45
- * @version 1.120.12
45
+ * @version 1.120.14
46
46
  *
47
47
  * @constructor
48
48
  * @public
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * @implements sap.f.cards.IHeader
49
49
  *
50
50
  * @author SAP SE
51
- * @version 1.120.12
51
+ * @version 1.120.14
52
52
  *
53
53
  * @constructor
54
54
  * @public
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * @extends sap.f.cards.BaseHeader
58
58
  *
59
59
  * @author SAP SE
60
- * @version 1.120.12
60
+ * @version 1.120.14
61
61
  *
62
62
  * @constructor
63
63
  * @public
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.ui.core.Control
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.120.12
28
+ * @version 1.120.14
29
29
  *
30
30
  * @constructor
31
31
  * @private
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.core.Control
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.120.12
29
+ * @version 1.120.14
30
30
  *
31
31
  * @constructor
32
32
  * @public
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @extends sap.ui.core.Control
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.120.12
22
+ * @version 1.120.14
23
23
  *
24
24
  * @constructor
25
25
  * @private
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @extends sap.f.cards.loading.ListPlaceholder
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.120.12
22
+ * @version 1.120.14
23
23
  *
24
24
  * @constructor
25
25
  * @private
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @extends sap.ui.core.Control
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.120.12
22
+ * @version 1.120.14
23
23
  *
24
24
  * @constructor
25
25
  * @private