@openui5/sap.f 1.120.10 → 1.121.1
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.
- package/.reuse/dep5 +23 -21
- package/THIRDPARTY.txt +6 -43
- package/package.json +4 -4
- package/src/sap/f/.library +1 -1
- package/src/sap/f/Avatar.js +5 -4
- package/src/sap/f/AvatarGroup.js +4 -4
- package/src/sap/f/AvatarGroupItem.js +1 -1
- package/src/sap/f/CalendarAppointmentInCard.js +1 -1
- package/src/sap/f/CalendarInCard.js +7 -5
- package/src/sap/f/CalendarInCardRenderer.js +6 -11
- package/src/sap/f/Card.js +1 -1
- package/src/sap/f/CardBase.js +6 -6
- package/src/sap/f/DynamicPage.js +35 -15
- package/src/sap/f/DynamicPageAccessibleLandmarkInfo.js +1 -1
- package/src/sap/f/DynamicPageHeader.js +30 -16
- package/src/sap/f/DynamicPageTitle.js +10 -8
- package/src/sap/f/FlexibleColumnLayout.js +90 -45
- package/src/sap/f/FlexibleColumnLayoutAccessibleLandmarkInfo.js +1 -1
- package/src/sap/f/FlexibleColumnLayoutRenderer.js +7 -3
- package/src/sap/f/FlexibleColumnLayoutSemanticHelper.js +1 -1
- package/src/sap/f/GridContainer.js +45 -46
- package/src/sap/f/GridContainerItemLayoutData.js +1 -1
- package/src/sap/f/GridContainerRenderer.js +19 -11
- package/src/sap/f/GridContainerSettings.js +2 -2
- package/src/sap/f/GridList.js +15 -4
- package/src/sap/f/GridListItem.js +1 -1
- package/src/sap/f/GridNavigationMatrix.js +3 -3
- package/src/sap/f/IllustratedMessage.js +1 -1
- package/src/sap/f/Illustration.js +1 -1
- package/src/sap/f/PlanningCalendarInCardLegend.js +4 -5
- package/src/sap/f/PlanningCalendarInCardLegendRenderer.js +4 -4
- package/src/sap/f/ProductSwitch.js +7 -7
- package/src/sap/f/ProductSwitchItem.js +1 -1
- package/src/sap/f/ProductSwitchRenderer.js +3 -3
- package/src/sap/f/SearchManager.js +4 -4
- package/src/sap/f/ShellBar.js +71 -10
- package/src/sap/f/ShellBarRenderer.js +3 -3
- package/src/sap/f/SidePanel.js +22 -11
- package/src/sap/f/SidePanelItem.js +1 -1
- package/src/sap/f/cards/BaseHeader.js +21 -9
- package/src/sap/f/cards/Header.js +1 -1
- package/src/sap/f/cards/NumericHeader.js +1 -1
- package/src/sap/f/cards/NumericIndicators.js +1 -1
- package/src/sap/f/cards/NumericSideIndicator.js +1 -1
- package/src/sap/f/cards/loading/AnalyticalPlaceholder.js +1 -1
- package/src/sap/f/cards/loading/CalendarPlaceholder.js +1 -1
- package/src/sap/f/cards/loading/GenericPlaceholder.js +1 -1
- package/src/sap/f/cards/loading/ListPlaceholder.js +1 -1
- package/src/sap/f/cards/loading/ObjectPlaceholder.js +1 -1
- package/src/sap/f/cards/loading/PlaceholderBase.js +1 -1
- package/src/sap/f/cards/loading/PlaceholderBaseRenderer.js +2 -2
- package/src/sap/f/cards/loading/TablePlaceholder.js +1 -1
- package/src/sap/f/cards/loading/TimelinePlaceholder.js +1 -1
- package/src/sap/f/changeHandler/MoveDynamicPageTitleActions.js +1 -1
- package/src/sap/f/delegate/GridContainerItemNavigation.js +1 -1
- package/src/sap/f/delegate/GridItemNavigation.js +1 -1
- package/src/sap/f/designtime/messagebundle_en_US_saprigi.properties +4 -4
- package/src/sap/f/dnd/GridDragOver.js +5 -5
- package/src/sap/f/dnd/GridDropInfo.js +1 -1
- package/src/sap/f/library.js +23 -19
- package/src/sap/f/messagebundle.properties +4 -1
- package/src/sap/f/messagebundle_ar.properties +2 -0
- package/src/sap/f/messagebundle_bg.properties +2 -0
- package/src/sap/f/messagebundle_ca.properties +2 -0
- package/src/sap/f/messagebundle_cnr.properties +2 -0
- package/src/sap/f/messagebundle_cs.properties +2 -0
- package/src/sap/f/messagebundle_cy.properties +2 -0
- package/src/sap/f/messagebundle_da.properties +2 -0
- package/src/sap/f/messagebundle_de.properties +2 -0
- package/src/sap/f/messagebundle_el.properties +2 -0
- package/src/sap/f/messagebundle_en.properties +86 -1
- package/src/sap/f/messagebundle_en_GB.properties +2 -0
- package/src/sap/f/messagebundle_en_US_saprigi.properties +82 -80
- package/src/sap/f/messagebundle_es.properties +2 -0
- package/src/sap/f/messagebundle_es_MX.properties +2 -0
- package/src/sap/f/messagebundle_et.properties +2 -0
- package/src/sap/f/messagebundle_fi.properties +2 -0
- package/src/sap/f/messagebundle_fr.properties +2 -0
- package/src/sap/f/messagebundle_fr_CA.properties +2 -0
- package/src/sap/f/messagebundle_hi.properties +2 -0
- package/src/sap/f/messagebundle_hr.properties +2 -0
- package/src/sap/f/messagebundle_hu.properties +2 -0
- package/src/sap/f/messagebundle_id.properties +2 -0
- package/src/sap/f/messagebundle_it.properties +2 -0
- package/src/sap/f/messagebundle_iw.properties +2 -0
- package/src/sap/f/messagebundle_ja.properties +2 -0
- package/src/sap/f/messagebundle_kk.properties +2 -0
- package/src/sap/f/messagebundle_ko.properties +2 -0
- package/src/sap/f/messagebundle_lt.properties +2 -0
- package/src/sap/f/messagebundle_lv.properties +2 -0
- package/src/sap/f/messagebundle_mk.properties +2 -0
- package/src/sap/f/messagebundle_ms.properties +2 -0
- package/src/sap/f/messagebundle_nl.properties +2 -0
- package/src/sap/f/messagebundle_no.properties +2 -0
- package/src/sap/f/messagebundle_pl.properties +2 -0
- package/src/sap/f/messagebundle_pt.properties +2 -0
- package/src/sap/f/messagebundle_pt_PT.properties +2 -0
- package/src/sap/f/messagebundle_ro.properties +2 -0
- package/src/sap/f/messagebundle_ru.properties +2 -0
- package/src/sap/f/messagebundle_sh.properties +2 -0
- package/src/sap/f/messagebundle_sk.properties +2 -0
- package/src/sap/f/messagebundle_sl.properties +2 -0
- package/src/sap/f/messagebundle_sr.properties +2 -0
- package/src/sap/f/messagebundle_sv.properties +2 -0
- package/src/sap/f/messagebundle_th.properties +2 -0
- package/src/sap/f/messagebundle_tr.properties +2 -0
- package/src/sap/f/messagebundle_uk.properties +3 -1
- package/src/sap/f/messagebundle_vi.properties +2 -0
- package/src/sap/f/messagebundle_zh_CN.properties +2 -0
- package/src/sap/f/messagebundle_zh_TW.properties +2 -0
- package/src/sap/f/semantic/AddAction.js +1 -1
- package/src/sap/f/semantic/CloseAction.js +1 -1
- package/src/sap/f/semantic/CopyAction.js +1 -1
- package/src/sap/f/semantic/DeleteAction.js +1 -1
- package/src/sap/f/semantic/DiscussInJamAction.js +1 -1
- package/src/sap/f/semantic/EditAction.js +1 -1
- package/src/sap/f/semantic/ExitFullScreenAction.js +1 -1
- package/src/sap/f/semantic/FavoriteAction.js +1 -1
- package/src/sap/f/semantic/FlagAction.js +1 -1
- package/src/sap/f/semantic/FooterMainAction.js +1 -1
- package/src/sap/f/semantic/FullScreenAction.js +1 -1
- package/src/sap/f/semantic/MainAction.js +1 -1
- package/src/sap/f/semantic/MessagesIndicator.js +1 -1
- package/src/sap/f/semantic/NegativeAction.js +1 -1
- package/src/sap/f/semantic/PositiveAction.js +1 -1
- package/src/sap/f/semantic/PrintAction.js +1 -1
- package/src/sap/f/semantic/SemanticButton.js +1 -1
- package/src/sap/f/semantic/SemanticConfiguration.js +7 -8
- package/src/sap/f/semantic/SemanticControl.js +1 -1
- package/src/sap/f/semantic/SemanticFooter.js +2 -2
- package/src/sap/f/semantic/SemanticPage.js +19 -17
- package/src/sap/f/semantic/SemanticShareMenu.js +5 -2
- package/src/sap/f/semantic/SemanticToggleButton.js +1 -1
- package/src/sap/f/semantic/SendEmailAction.js +1 -1
- package/src/sap/f/semantic/SendMessageAction.js +1 -1
- package/src/sap/f/semantic/ShareInJamAction.js +1 -1
- package/src/sap/f/semantic/TitleMainAction.js +1 -1
- package/src/sap/f/shellBar/Accessibility.js +5 -5
- package/src/sap/f/shellBar/AdditionalContentSupport.js +1 -1
- package/src/sap/f/shellBar/CoPilot.js +8 -7
- package/src/sap/f/shellBar/ControlSpacer.js +1 -1
- package/src/sap/f/shellBar/Factory.js +14 -8
- package/src/sap/f/shellBar/ResponsiveHandler.js +23 -6
- package/src/sap/f/shellBar/Search.js +20 -4
- package/src/sap/f/themes/base/Card.less +2 -2
- package/src/sap/f/themes/base/CardLoading.less +94 -5
- package/src/sap/f/themes/base/DynamicPage.less +1 -1
- package/src/sap/f/themes/base/DynamicPageHeader.less +1 -1
- package/src/sap/f/themes/base/DynamicPageTitle.less +1 -1
- package/src/sap/f/themes/base/GridContainer.less +6 -4
- package/src/sap/f/themes/base/ShellBar.less +32 -13
- package/LICENSES/BSD-2-Clause.txt +0 -22
|
@@ -6,20 +6,22 @@
|
|
|
6
6
|
|
|
7
7
|
// Provides control sap.f.DynamicPageHeader.
|
|
8
8
|
sap.ui.define([
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
"./library",
|
|
10
|
+
"sap/ui/Device",
|
|
11
|
+
"sap/ui/core/Control",
|
|
12
|
+
"sap/ui/core/Lib",
|
|
12
13
|
"sap/ui/core/library",
|
|
13
14
|
"sap/ui/core/IconPool",
|
|
14
15
|
"sap/ui/core/theming/Parameters",
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
"sap/m/ToggleButton",
|
|
17
|
+
"sap/m/Button",
|
|
18
|
+
"./DynamicPageHeaderRenderer",
|
|
18
19
|
"sap/ui/core/InvisibleMessage"
|
|
19
20
|
], function(
|
|
20
|
-
|
|
21
|
+
library,
|
|
21
22
|
Device,
|
|
22
23
|
Control,
|
|
24
|
+
Library,
|
|
23
25
|
CoreLibrary,
|
|
24
26
|
IconPool,
|
|
25
27
|
ThemeParameters,
|
|
@@ -62,7 +64,7 @@ sap.ui.define([
|
|
|
62
64
|
* @extends sap.ui.core.Control
|
|
63
65
|
*
|
|
64
66
|
* @author SAP SE
|
|
65
|
-
* @version 1.
|
|
67
|
+
* @version 1.121.1
|
|
66
68
|
*
|
|
67
69
|
* @constructor
|
|
68
70
|
* @public
|
|
@@ -119,9 +121,11 @@ sap.ui.define([
|
|
|
119
121
|
* @returns {Object} the resource bundle object
|
|
120
122
|
*/
|
|
121
123
|
DynamicPageHeader._getResourceBundle = function () {
|
|
122
|
-
return
|
|
124
|
+
return Library.getResourceBundleFor("sap.f");
|
|
123
125
|
};
|
|
124
126
|
|
|
127
|
+
DynamicPageHeader.UNPRESSED_PIN_ICON = "sap-icon://pushpin-off";
|
|
128
|
+
|
|
125
129
|
DynamicPageHeader.ARIA = {
|
|
126
130
|
ARIA_CONTROLS: "aria-controls",
|
|
127
131
|
ARIA_LABEL: "aria-label",
|
|
@@ -146,6 +150,11 @@ sap.ui.define([
|
|
|
146
150
|
if (!this._oInvisibleMessage) {
|
|
147
151
|
this._oInvisibleMessage = InvisibleMessage.getInstance();
|
|
148
152
|
}
|
|
153
|
+
// Required if the parent has "headerPinned" set to "true" initially.
|
|
154
|
+
// Without the explicit "_setPressedStatePinIcon" an empty button is rendered.
|
|
155
|
+
if (this.getPinnable()) {
|
|
156
|
+
this._setPressedStatePinIcon();
|
|
157
|
+
}
|
|
149
158
|
};
|
|
150
159
|
|
|
151
160
|
/*************************************** Private members ******************************************/
|
|
@@ -157,6 +166,7 @@ sap.ui.define([
|
|
|
157
166
|
*/
|
|
158
167
|
DynamicPageHeader.prototype._togglePinButton = function (bValue) {
|
|
159
168
|
this._getPinButton().setPressed(bValue);
|
|
169
|
+
this._getPinButton().setIcon(bValue ? this._sPressedStatePinIconURI : DynamicPageHeader.UNPRESSED_PIN_ICON);
|
|
160
170
|
};
|
|
161
171
|
|
|
162
172
|
/**
|
|
@@ -172,8 +182,9 @@ sap.ui.define([
|
|
|
172
182
|
* Fires the pin/unpin press event.
|
|
173
183
|
* @private
|
|
174
184
|
*/
|
|
175
|
-
DynamicPageHeader.prototype._pinUnpinFireEvent = function () {
|
|
185
|
+
DynamicPageHeader.prototype._pinUnpinFireEvent = function (oEvent) {
|
|
176
186
|
this.fireEvent("_pinUnpinPress");
|
|
187
|
+
this._togglePinButton(oEvent.getSource().getPressed());
|
|
177
188
|
};
|
|
178
189
|
|
|
179
190
|
/**
|
|
@@ -247,7 +258,7 @@ sap.ui.define([
|
|
|
247
258
|
if (!this.getAggregation("_pinButton")) {
|
|
248
259
|
var oPinButton = new ToggleButton({
|
|
249
260
|
id: this.getId() + "-pinBtn",
|
|
250
|
-
icon:
|
|
261
|
+
icon: DynamicPageHeader.UNPRESSED_PIN_ICON,
|
|
251
262
|
tooltip: DynamicPageHeader.ARIA.LABEL_PINNED,
|
|
252
263
|
press: this._pinUnpinFireEvent.bind(this)
|
|
253
264
|
}).addStyleClass("sapFDynamicPageHeaderPinButton");
|
|
@@ -359,15 +370,18 @@ sap.ui.define([
|
|
|
359
370
|
};
|
|
360
371
|
};
|
|
361
372
|
|
|
373
|
+
DynamicPageHeader.prototype.onThemeChanged = function () {
|
|
374
|
+
this._setPressedStatePinIcon();
|
|
375
|
+
};
|
|
376
|
+
|
|
362
377
|
/**
|
|
363
|
-
* Sets the icon
|
|
378
|
+
* Sets the icon URI for the pressed state of the pin button
|
|
379
|
+
* @private
|
|
364
380
|
*/
|
|
365
|
-
DynamicPageHeader.prototype.
|
|
366
|
-
|
|
381
|
+
DynamicPageHeader.prototype._setPressedStatePinIcon = function () {
|
|
382
|
+
this._sPressedStatePinIconURI = IconPool.getIconURI(ThemeParameters.get({
|
|
367
383
|
name: "_sap_f_DynamicPageHeader_PinButton_Icon"
|
|
368
384
|
}));
|
|
369
|
-
|
|
370
|
-
this._getPinButton().setIcon(sIcon);
|
|
371
385
|
};
|
|
372
386
|
|
|
373
387
|
return DynamicPageHeader;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
// Provides control sap.f.DynamicPageTitle.
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
"./library",
|
|
10
|
+
"sap/ui/core/Lib",
|
|
10
11
|
"sap/ui/core/library",
|
|
11
12
|
"sap/ui/core/Control",
|
|
12
13
|
"sap/ui/base/ManagedObjectObserver",
|
|
@@ -20,11 +21,12 @@ sap.ui.define([
|
|
|
20
21
|
"sap/base/Log",
|
|
21
22
|
"sap/ui/core/Icon",
|
|
22
23
|
"sap/ui/Device",
|
|
23
|
-
|
|
24
|
-
"sap/ui/
|
|
25
|
-
"sap/ui/core/
|
|
24
|
+
"sap/ui/core/RenderManager",
|
|
25
|
+
"sap/ui/events/KeyCodes",
|
|
26
|
+
"sap/ui/core/InvisibleMessage"
|
|
26
27
|
], function(
|
|
27
28
|
library,
|
|
29
|
+
Library,
|
|
28
30
|
CoreLibrary,
|
|
29
31
|
Control,
|
|
30
32
|
ManagedObjectObserver,
|
|
@@ -38,9 +40,9 @@ sap.ui.define([
|
|
|
38
40
|
Log,
|
|
39
41
|
Icon,
|
|
40
42
|
Device,
|
|
43
|
+
RenderManager,
|
|
41
44
|
KeyCodes,
|
|
42
|
-
InvisibleMessage
|
|
43
|
-
oCore
|
|
45
|
+
InvisibleMessage
|
|
44
46
|
) {
|
|
45
47
|
"use strict";
|
|
46
48
|
|
|
@@ -93,7 +95,7 @@ sap.ui.define([
|
|
|
93
95
|
* @extends sap.ui.core.Control
|
|
94
96
|
*
|
|
95
97
|
* @author SAP SE
|
|
96
|
-
* @version 1.
|
|
98
|
+
* @version 1.121.1
|
|
97
99
|
*
|
|
98
100
|
* @constructor
|
|
99
101
|
* @public
|
|
@@ -382,7 +384,7 @@ sap.ui.define([
|
|
|
382
384
|
* @private
|
|
383
385
|
*/
|
|
384
386
|
DynamicPageTitle._getResourceBundle = function () {
|
|
385
|
-
return
|
|
387
|
+
return Library.getResourceBundleFor("sap.f");
|
|
386
388
|
};
|
|
387
389
|
|
|
388
390
|
DynamicPageTitle.ARIA = {
|
|
@@ -402,7 +404,7 @@ sap.ui.define([
|
|
|
402
404
|
return;
|
|
403
405
|
}
|
|
404
406
|
|
|
405
|
-
oRenderManager =
|
|
407
|
+
oRenderManager = new RenderManager().getInterface();
|
|
406
408
|
oRenderManager.renderControl(oControlToRender);
|
|
407
409
|
oRenderManager.flush(oContainerDOM);
|
|
408
410
|
oRenderManager.destroy();
|
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
// Provides control sap.f.FlexibleColumnLayout.
|
|
8
8
|
sap.ui.define([
|
|
9
|
+
"sap/base/i18n/Localization",
|
|
10
|
+
"sap/ui/core/ControlBehavior",
|
|
11
|
+
"sap/ui/core/Lib",
|
|
12
|
+
"sap/ui/core/RenderManager",
|
|
9
13
|
"sap/ui/thirdparty/jquery",
|
|
10
14
|
"./library",
|
|
11
15
|
"sap/ui/core/library",
|
|
@@ -23,8 +27,13 @@ sap.ui.define([
|
|
|
23
27
|
"sap/base/util/isEmptyObject",
|
|
24
28
|
"sap/base/util/merge",
|
|
25
29
|
"sap/ui/core/InvisibleMessage",
|
|
26
|
-
|
|
30
|
+
// provides jQuery.fn.firstFocusableDomRef
|
|
31
|
+
"sap/ui/dom/jquery/Focusable"
|
|
27
32
|
], function(
|
|
33
|
+
Localization,
|
|
34
|
+
ControlBehavior,
|
|
35
|
+
Library,
|
|
36
|
+
RenderManager,
|
|
28
37
|
jQuery,
|
|
29
38
|
library,
|
|
30
39
|
coreLibrary,
|
|
@@ -67,7 +76,9 @@ sap.ui.define([
|
|
|
67
76
|
* three columns (referred to as <code>Begin</code>, <code>Mid</code> and <code>End</code>) rather than two
|
|
68
77
|
* (<code>Master</code>, <code>Detail</code>). The width of the three columns is variable.
|
|
69
78
|
*
|
|
70
|
-
* There are several possible layouts that can be changed either with the control's API, or by the user with the help of
|
|
79
|
+
* There are several possible layouts that can be changed either with the control's API, or by the user with the help of the draggable column separators.
|
|
80
|
+
* The draggable column separators allow the user to customize the column widths for the current layout, or to switch to a new layout (if the user drags the column separator past a breakpoint that delimits two different layouts).
|
|
81
|
+
* After the user customized the column widths for a given layout, these user preferences are internally saved and automatically re-applied whenever the user re-visits the same layout.
|
|
71
82
|
*
|
|
72
83
|
* Internally the control makes use of three instances of {@link sap.m.NavContainer}, thus forming the three columns.
|
|
73
84
|
*
|
|
@@ -97,7 +108,7 @@ sap.ui.define([
|
|
|
97
108
|
*
|
|
98
109
|
* @extends sap.ui.core.Control
|
|
99
110
|
* @author SAP SE
|
|
100
|
-
* @version 1.
|
|
111
|
+
* @version 1.121.1
|
|
101
112
|
*
|
|
102
113
|
* @constructor
|
|
103
114
|
* @public
|
|
@@ -213,8 +224,8 @@ sap.ui.define([
|
|
|
213
224
|
* Fired when there is a change in the <code>layout</code> property or in the maximum number of columns that can be displayed at once.
|
|
214
225
|
* <br/></br>
|
|
215
226
|
* <ul>The interactions that may lead to a state change are:
|
|
216
|
-
* <li>
|
|
217
|
-
* <li>
|
|
227
|
+
* <li>The property <code>layout</code> was changed indirectly by the user dragging the column separator or clicking on its arrow (where arrow is available).</li>
|
|
228
|
+
* <li>The user resized the browser window beyond a breakpoint, thus changing the maximum number of columns that can be displayed at once.</li></ul>
|
|
218
229
|
* <br/><br/>
|
|
219
230
|
* <b>Note: </b>The event is suppressed while the control has zero width and will be fired the first time it gets a non-zero width
|
|
220
231
|
*
|
|
@@ -239,13 +250,13 @@ sap.ui.define([
|
|
|
239
250
|
type: "int"
|
|
240
251
|
},
|
|
241
252
|
/**
|
|
242
|
-
* Indicates whether the layout changed as a result of the user clicking a
|
|
253
|
+
* Indicates whether the layout changed as a result of the user clicking a column separator's arrow or dragging the column separators
|
|
243
254
|
*/
|
|
244
255
|
isNavigationArrow: {
|
|
245
256
|
type: "boolean"
|
|
246
257
|
},
|
|
247
258
|
/**
|
|
248
|
-
* Indicates whether the maximum number of columns that can be displayed at once changed
|
|
259
|
+
* Indicates whether the maximum number of columns that can be displayed at once changed due to resize of the entire browser window
|
|
249
260
|
*/
|
|
250
261
|
isResize: {
|
|
251
262
|
type: "boolean"
|
|
@@ -882,7 +893,7 @@ sap.ui.define([
|
|
|
882
893
|
*/
|
|
883
894
|
FlexibleColumnLayout.prototype._flushColumnContent = function (sColumn) {
|
|
884
895
|
var oControl = this.getAggregation("_" + sColumn + "ColumnNav"),
|
|
885
|
-
oRm =
|
|
896
|
+
oRm = new RenderManager().getInterface();
|
|
886
897
|
|
|
887
898
|
oRm.renderControl(oControl);
|
|
888
899
|
oRm.flush(this._$columns[sColumn].find(".sapFFCLColumnContent")[0], undefined, true);
|
|
@@ -1106,7 +1117,7 @@ sap.ui.define([
|
|
|
1106
1117
|
};
|
|
1107
1118
|
|
|
1108
1119
|
/**
|
|
1109
|
-
* Saves the DOM references of the columns and
|
|
1120
|
+
* Saves the DOM references of the columns and column separators.
|
|
1110
1121
|
* @private
|
|
1111
1122
|
*/
|
|
1112
1123
|
FlexibleColumnLayout.prototype._cacheDOMElements = function () {
|
|
@@ -1327,11 +1338,11 @@ sap.ui.define([
|
|
|
1327
1338
|
sNewWidth = convertPxToCSSSizeString(iNewWidth, this._getControlWidth(), oColumnConfig.shouldInsetColumn),
|
|
1328
1339
|
bAutoSize = oColumnConfig.autoSize,
|
|
1329
1340
|
bAnimationsEnabled = oColumnConfig.hasAnimations,
|
|
1330
|
-
|
|
1341
|
+
bHidden = !iNewWidth,
|
|
1331
1342
|
bResizeColumnWithAnimation = this._canResizeColumnWithAnimation(sColumn, oColumnConfig),
|
|
1332
|
-
bSuspendResizeHandler = bAnimationsEnabled
|
|
1343
|
+
bSuspendResizeHandler = bAnimationsEnabled,
|
|
1333
1344
|
fnAfterResizeCallback = this._afterColumnResize.bind(this, sColumn, merge(oColumnConfig, {
|
|
1334
|
-
resumeResizeHandler: bSuspendResizeHandler // toggle back after resize
|
|
1345
|
+
resumeResizeHandler: bSuspendResizeHandler && !bHidden // toggle back after resize
|
|
1335
1346
|
})),
|
|
1336
1347
|
fnResizeErrorCallback = function() {
|
|
1337
1348
|
ResizeHandler.resume(oColumnDomRef);
|
|
@@ -1370,10 +1381,10 @@ sap.ui.define([
|
|
|
1370
1381
|
}
|
|
1371
1382
|
|
|
1372
1383
|
// For tablet and desktop - notify child controls to render with reduced container size, if they need to
|
|
1373
|
-
if (oColumnConfig.updateContextualSettings && !Device.system.phone) {
|
|
1384
|
+
if (oColumnConfig.updateContextualSettings && !Device.system.phone && iNewWidth) {
|
|
1374
1385
|
this._updateColumnContextualSettings(sColumn, iNewWidth);
|
|
1375
1386
|
}
|
|
1376
|
-
if (oColumnConfig.updateMediaCSSClases && !Device.system.phone) {
|
|
1387
|
+
if (oColumnConfig.updateMediaCSSClases && !Device.system.phone && iNewWidth) {
|
|
1377
1388
|
this._updateColumnCSSClasses(sColumn, iNewWidth);
|
|
1378
1389
|
}
|
|
1379
1390
|
};
|
|
@@ -1398,6 +1409,9 @@ sap.ui.define([
|
|
|
1398
1409
|
iNewWidth = oOptions.width,
|
|
1399
1410
|
bShouldRestoreFocus = oOptions.shouldRestoreFocus;
|
|
1400
1411
|
|
|
1412
|
+
//BCP: 1980006195
|
|
1413
|
+
oColumn.toggleClass("sapFFCLColumnHidden", iNewWidth === 0);
|
|
1414
|
+
|
|
1401
1415
|
if (bShouldRevealColumn || bShouldConcealColumn ) {
|
|
1402
1416
|
oColumn[0].querySelector(".sapFFCLColumnContent").style.width = "";
|
|
1403
1417
|
}
|
|
@@ -1409,9 +1423,6 @@ sap.ui.define([
|
|
|
1409
1423
|
oColumn.removeClass("sapFFCLColumnActive");
|
|
1410
1424
|
}
|
|
1411
1425
|
|
|
1412
|
-
//BCP: 1980006195
|
|
1413
|
-
oColumn.toggleClass("sapFFCLColumnHidden", iNewWidth === 0);
|
|
1414
|
-
|
|
1415
1426
|
if (oOptions.resumeResizeHandler) {
|
|
1416
1427
|
ResizeHandler.resume(oColumn[0]);
|
|
1417
1428
|
}
|
|
@@ -1430,14 +1441,14 @@ sap.ui.define([
|
|
|
1430
1441
|
oColumn = this._$columns[sColumn],
|
|
1431
1442
|
oColumnDomRef = oColumn[0];
|
|
1432
1443
|
|
|
1433
|
-
oColumn.toggleClass(FlexibleColumnLayout.PINNED_COLUMN_CLASS_NAME, bShouldPin);
|
|
1434
|
-
|
|
1435
1444
|
if (bShouldRevealColumn) {
|
|
1436
|
-
oColumnDomRef.querySelector(".sapFFCLColumnContent").style.width =
|
|
1445
|
+
oColumnDomRef.querySelector(".sapFFCLColumnContent").style.width = oColumnWidths[sColumn] + "px";
|
|
1437
1446
|
} else if (bShouldConcealColumn) {
|
|
1438
1447
|
oColumnDomRef.querySelector(".sapFFCLColumnContent").style.width = oColumnDomRef.offsetWidth + "px";
|
|
1439
1448
|
}
|
|
1440
1449
|
|
|
1450
|
+
oColumn.toggleClass(FlexibleColumnLayout.PINNED_COLUMN_CLASS_NAME, bShouldPin);
|
|
1451
|
+
|
|
1441
1452
|
}, this);
|
|
1442
1453
|
};
|
|
1443
1454
|
|
|
@@ -1468,7 +1479,7 @@ sap.ui.define([
|
|
|
1468
1479
|
};
|
|
1469
1480
|
|
|
1470
1481
|
FlexibleColumnLayout.prototype._getDefaultResizeOptions = function () {
|
|
1471
|
-
var sAnimationMode =
|
|
1482
|
+
var sAnimationMode = ControlBehavior.getAnimationMode();
|
|
1472
1483
|
return {
|
|
1473
1484
|
layout: this.getLayout(),
|
|
1474
1485
|
previousLayout: this._getPreviousLayout(),
|
|
@@ -1486,7 +1497,7 @@ sap.ui.define([
|
|
|
1486
1497
|
|
|
1487
1498
|
FlexibleColumnLayout.prototype._addDetailedActiveClasses = function (sLayout) {
|
|
1488
1499
|
var aColumns = FlexibleColumnLayout.COLUMN_ORDER.slice(),
|
|
1489
|
-
bRtl =
|
|
1500
|
+
bRtl = Localization.getRTL(),
|
|
1490
1501
|
aActiveColumns = aColumns.filter(function (sColumn) {
|
|
1491
1502
|
return this._getColumnSizeForLayout(sColumn, sLayout) > 0;
|
|
1492
1503
|
}, this);
|
|
@@ -1557,7 +1568,7 @@ sap.ui.define([
|
|
|
1557
1568
|
|
|
1558
1569
|
FlexibleColumnLayout.prototype._onColumnSeparatorMoveStart = function (oEvent, oSeparator, bTouch) {
|
|
1559
1570
|
// needed to position the separator presizely
|
|
1560
|
-
var bRtl =
|
|
1571
|
+
var bRtl = Localization.getRTL(),
|
|
1561
1572
|
iStartOffset = this._getDraggedSeparatorStartOffset(oSeparator, bRtl);
|
|
1562
1573
|
|
|
1563
1574
|
this._oMoveInfo = {
|
|
@@ -1747,15 +1758,15 @@ sap.ui.define([
|
|
|
1747
1758
|
|
|
1748
1759
|
this._oMoveInfo.columnWidths = oNewColumnWidths;
|
|
1749
1760
|
|
|
1750
|
-
if (bResizeWithPinning) {
|
|
1761
|
+
if (bResizeWithPinning || bIsResizeEnd) {
|
|
1751
1762
|
// call the dedicated function in order to resize with reveal/conceal effect
|
|
1763
|
+
// or update CSS classes on resizeEnd
|
|
1752
1764
|
this._resizeColumns({
|
|
1753
1765
|
columnWidths: oNewColumnWidths,
|
|
1754
1766
|
layout: sLayout,
|
|
1755
1767
|
previousLayout: sPreviousLayout,
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
updateDetailedActiveClasses: false,
|
|
1768
|
+
updateMediaCSSClases: bIsResizeEnd,
|
|
1769
|
+
updateDetailedActiveClasses: bIsResizeEnd,
|
|
1759
1770
|
restoreFocusOnBackNavigation: false
|
|
1760
1771
|
});
|
|
1761
1772
|
} else {
|
|
@@ -2220,12 +2231,19 @@ sap.ui.define([
|
|
|
2220
2231
|
var iVisibleColumnsCount = this._getMaxColumnsCountForLayout(sLayout, FlexibleColumnLayout.DESKTOP_BREAKPOINT),
|
|
2221
2232
|
sLastVisibleColumn = this._getLastVisibleColumnForLayout(sLayout),
|
|
2222
2233
|
bIsLastColumn = sColumn === sLastVisibleColumn,
|
|
2234
|
+
sPreviousLastVisibleColumn = this._getLastVisibleColumnForLayout(sPreviousLayout),
|
|
2223
2235
|
iPreviousVisibleColumnsCount = this._getMaxColumnsCountForLayout(sPreviousLayout, FlexibleColumnLayout.DESKTOP_BREAKPOINT),
|
|
2224
|
-
bWasFullScreen = (sPreviousLayout
|
|
2236
|
+
bWasFullScreen = this._isFullScreenLayout(sPreviousLayout),
|
|
2237
|
+
bIsFullscreen = this._isFullScreenLayout(sLayout);
|
|
2225
2238
|
|
|
2226
|
-
return (iVisibleColumnsCount > iPreviousVisibleColumnsCount)
|
|
2227
|
-
!
|
|
2228
|
-
bIsLastColumn
|
|
2239
|
+
return ((iVisibleColumnsCount > iPreviousVisibleColumnsCount)
|
|
2240
|
+
&& !(sPreviousLayout === LT.MidColumnFullScreen || sPreviousLayout === LT.EndColumnFullScreen)
|
|
2241
|
+
&& bIsLastColumn
|
|
2242
|
+
|| (bWasFullScreen && bIsFullscreen && sPreviousLastVisibleColumn !== sColumn && bIsLastColumn));
|
|
2243
|
+
};
|
|
2244
|
+
|
|
2245
|
+
FlexibleColumnLayout.prototype._isFullScreenLayout = function (sLayout) {
|
|
2246
|
+
return sLayout === LT.OneColumn || sLayout === LT.MidColumnFullScreen || sLayout === LT.EndColumnFullScreen;
|
|
2229
2247
|
};
|
|
2230
2248
|
|
|
2231
2249
|
FlexibleColumnLayout.prototype._isInteractivelyResizedColumn = function (sColumn) {
|
|
@@ -2252,12 +2270,15 @@ sap.ui.define([
|
|
|
2252
2270
|
var iVisibleColumnsCount = this._getMaxColumnsCountForLayout(sLayout, FlexibleColumnLayout.DESKTOP_BREAKPOINT),
|
|
2253
2271
|
iPreviousVisibleColumnsCount = this._getMaxColumnsCountForLayout(sPreviousLayout, FlexibleColumnLayout.DESKTOP_BREAKPOINT),
|
|
2254
2272
|
sPreviousLastVisibleColumn = this._getLastVisibleColumnForLayout(sPreviousLayout),
|
|
2255
|
-
|
|
2273
|
+
sLastVisibleColumn = this._getLastVisibleColumnForLayout(sLayout),
|
|
2274
|
+
bWasFullScreen = this._isFullScreenLayout(sPreviousLayout),
|
|
2275
|
+
bIsFullscreen = this._isFullScreenLayout(sLayout);
|
|
2256
2276
|
|
|
2257
|
-
return (iVisibleColumnsCount < iPreviousVisibleColumnsCount
|
|
2277
|
+
return ((iVisibleColumnsCount < iPreviousVisibleColumnsCount
|
|
2258
2278
|
&& sColumn === sPreviousLastVisibleColumn
|
|
2259
|
-
&& !
|
|
2260
|
-
&& this._getColumnSizeForLayout(sColumn, sLayout) === 0)
|
|
2279
|
+
&& !(sPreviousLayout === LT.MidColumnFullScreen || sPreviousLayout === LT.EndColumnFullScreen)
|
|
2280
|
+
&& this._getColumnSizeForLayout(sColumn, sLayout) === 0)
|
|
2281
|
+
|| (bWasFullScreen && bIsFullscreen && sColumn !== sLastVisibleColumn && sPreviousLastVisibleColumn === sColumn));
|
|
2261
2282
|
};
|
|
2262
2283
|
|
|
2263
2284
|
/**
|
|
@@ -2446,7 +2467,7 @@ sap.ui.define([
|
|
|
2446
2467
|
// Always resize the columns when the browser is resized
|
|
2447
2468
|
this._resizeColumns();
|
|
2448
2469
|
|
|
2449
|
-
//
|
|
2470
|
+
// only fire the event if the maximum number of columns that can be shown has changed
|
|
2450
2471
|
if (iMaxColumnsCount !== iOldMaxColumnsCount) {
|
|
2451
2472
|
this._fireStateChange(false, true);
|
|
2452
2473
|
}
|
|
@@ -2490,7 +2511,7 @@ sap.ui.define([
|
|
|
2490
2511
|
|
|
2491
2512
|
iMaxColumnsCount = this.getMaxColumnsCount();
|
|
2492
2513
|
|
|
2493
|
-
// Only show
|
|
2514
|
+
// Only show separators if 2 or 3 columns can be displayed at a time
|
|
2494
2515
|
if (iMaxColumnsCount > 1) {
|
|
2495
2516
|
oMap[LT.TwoColumnsBeginExpanded] = ["begin"];
|
|
2496
2517
|
oMap[LT.TwoColumnsMidExpanded] = ["begin"];
|
|
@@ -2516,7 +2537,7 @@ sap.ui.define([
|
|
|
2516
2537
|
var aNeededSeparators = [],
|
|
2517
2538
|
bIsNavContainersContentRendered;
|
|
2518
2539
|
|
|
2519
|
-
// Stop here if the control isn't rendered yet or in phone mode, where
|
|
2540
|
+
// Stop here if the control isn't rendered yet or in phone mode, where separators aren't necessary
|
|
2520
2541
|
if (!this.isActive() || Device.system.phone) {
|
|
2521
2542
|
return;
|
|
2522
2543
|
}
|
|
@@ -2544,7 +2565,7 @@ sap.ui.define([
|
|
|
2544
2565
|
this._oColumnSeparators[sKey].data("visible", bShow);
|
|
2545
2566
|
};
|
|
2546
2567
|
|
|
2547
|
-
FlexibleColumnLayout.prototype._fireStateChange = function (
|
|
2568
|
+
FlexibleColumnLayout.prototype._fireStateChange = function (bIsColumnSeparatorInteraction, bIsResize) {
|
|
2548
2569
|
|
|
2549
2570
|
// The event should not be fired if the control has zero width as all relevant layout calculations are size-based
|
|
2550
2571
|
if (this._getControlWidth() === 0) {
|
|
@@ -2552,7 +2573,7 @@ sap.ui.define([
|
|
|
2552
2573
|
}
|
|
2553
2574
|
|
|
2554
2575
|
this.fireStateChange({
|
|
2555
|
-
isNavigationArrow:
|
|
2576
|
+
isNavigationArrow: bIsColumnSeparatorInteraction,
|
|
2556
2577
|
isResize: bIsResize,
|
|
2557
2578
|
layout: this.getLayout(),
|
|
2558
2579
|
maxColumnsCount: this.getMaxColumnsCount()
|
|
@@ -2948,14 +2969,14 @@ sap.ui.define([
|
|
|
2948
2969
|
/**
|
|
2949
2970
|
* Returns a string, representing the relative percentage sizes of the columns for the given layout in the format "begin/mid/end" (f.e. "33/67/0")
|
|
2950
2971
|
* @param {string} sLayout - the layout
|
|
2951
|
-
* @param {boolean}
|
|
2972
|
+
* @param {boolean} bAsIntArray - return an array in the format [33, 67, 0] instead of a string "33/67/0"
|
|
2952
2973
|
* @param {number} [iMaxColumnsCount] the maximun number of columns. If not provided, the result of
|
|
2953
2974
|
* <code>getMaxColumnsCount</code> will be taken
|
|
2954
2975
|
* @returns {string|array}
|
|
2955
2976
|
* @private
|
|
2956
2977
|
* @ui5-restricted sap.f.FlexibleColumnLayoutSemanticHelper
|
|
2957
2978
|
*/
|
|
2958
|
-
FlexibleColumnLayout.prototype._getColumnWidthDistributionForLayout = function (sLayout,
|
|
2979
|
+
FlexibleColumnLayout.prototype._getColumnWidthDistributionForLayout = function (sLayout, bAsIntArray, iMaxColumnsCount) {
|
|
2959
2980
|
var sColumnWidthDistribution = this._getLocalStorage(iMaxColumnsCount).get(sLayout),
|
|
2960
2981
|
vResult;
|
|
2961
2982
|
|
|
@@ -2972,10 +2993,11 @@ sap.ui.define([
|
|
|
2972
2993
|
vResult = this._getDefaultColumnWidthDistributionForLayout(sLayout, iMaxColumnsCount);
|
|
2973
2994
|
}
|
|
2974
2995
|
|
|
2975
|
-
if (
|
|
2996
|
+
if (bAsIntArray) {
|
|
2976
2997
|
vResult = vResult.split("/").map(function (sColumnWidth) {
|
|
2977
|
-
return
|
|
2998
|
+
return Math.round(parseFloat(sColumnWidth));
|
|
2978
2999
|
});
|
|
3000
|
+
normalizeColumnPercentWidths(vResult);
|
|
2979
3001
|
}
|
|
2980
3002
|
|
|
2981
3003
|
return vResult;
|
|
@@ -3056,7 +3078,7 @@ sap.ui.define([
|
|
|
3056
3078
|
* @returns {Object} the resource bundle object
|
|
3057
3079
|
*/
|
|
3058
3080
|
FlexibleColumnLayout._getResourceBundle = function () {
|
|
3059
|
-
return
|
|
3081
|
+
return Library.getResourceBundleFor("sap.f");
|
|
3060
3082
|
};
|
|
3061
3083
|
|
|
3062
3084
|
|
|
@@ -3363,6 +3385,29 @@ sap.ui.define([
|
|
|
3363
3385
|
return oConfig.pageX;
|
|
3364
3386
|
}
|
|
3365
3387
|
|
|
3388
|
+
/**
|
|
3389
|
+
* Ensures the sum of all column percent widths is 100.
|
|
3390
|
+
* (Used after converting all the column widths from floats to integers,
|
|
3391
|
+
* to avoid inconsistency of the final sum due to rounding.)
|
|
3392
|
+
*
|
|
3393
|
+
* @param {object} aColumnPercentWidths the percent widths of all three columns
|
|
3394
|
+
*/
|
|
3395
|
+
function normalizeColumnPercentWidths(aColumnPercentWidths) {
|
|
3396
|
+
var oColumnIndex = {
|
|
3397
|
+
begin: 0,
|
|
3398
|
+
mid: 1,
|
|
3399
|
+
end: 2
|
|
3400
|
+
},
|
|
3401
|
+
iSum = aColumnPercentWidths.reduce((a, b) => a + b, 0);
|
|
3402
|
+
if (iSum !== 100) {
|
|
3403
|
+
// the CSS of the mid column always causes it take the space that remained
|
|
3404
|
+
// after sizing the begin and end columns
|
|
3405
|
+
aColumnPercentWidths[oColumnIndex.mid] = 100 -
|
|
3406
|
+
(aColumnPercentWidths[oColumnIndex.begin] + aColumnPercentWidths[oColumnIndex.end]);
|
|
3407
|
+
}
|
|
3408
|
+
}
|
|
3409
|
+
|
|
3410
|
+
|
|
3366
3411
|
return FlexibleColumnLayout;
|
|
3367
3412
|
|
|
3368
3413
|
});
|
|
@@ -4,11 +4,15 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
sap.ui.define([
|
|
8
|
-
|
|
7
|
+
sap.ui.define([
|
|
8
|
+
"sap/ui/Device",
|
|
9
|
+
"sap/m/library",
|
|
10
|
+
"sap/ui/core/Lib",
|
|
11
|
+
"sap/ui/core/IconPool" // side effect: required when calling RenderManager#icon
|
|
12
|
+
], function (Device, mobileLibrary, Library) {
|
|
9
13
|
"use strict";
|
|
10
14
|
|
|
11
|
-
var oResourceBundle =
|
|
15
|
+
var oResourceBundle = Library.getResourceBundleFor("sap.f");
|
|
12
16
|
|
|
13
17
|
var FCLRenderer = {
|
|
14
18
|
apiVersion: 2
|
|
@@ -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.
|
|
52
|
+
* @version 1.121.1
|
|
53
53
|
* @param {sap.f.FlexibleColumnLayout} oFlexibleColumnLayout
|
|
54
54
|
* The <code>sap.f.FlexibleColumnLayout</code> object whose state will be manipulated.
|
|
55
55
|
*
|