@openui5/sap.f 1.128.0 → 1.130.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRDPARTY.txt +2 -2
- package/package.json +4 -4
- package/src/sap/f/.library +1 -1
- package/src/sap/f/Avatar.js +1 -1
- package/src/sap/f/AvatarGroup.js +2 -2
- package/src/sap/f/AvatarGroupItem.js +1 -1
- package/src/sap/f/CalendarAppointmentInCard.js +1 -1
- package/src/sap/f/CalendarInCard.js +1 -1
- package/src/sap/f/Card.js +1 -1
- package/src/sap/f/CardBase.js +13 -1
- package/src/sap/f/DynamicPage.js +27 -7
- package/src/sap/f/DynamicPageAccessibleLandmarkInfo.js +1 -1
- package/src/sap/f/DynamicPageHeader.js +2 -2
- package/src/sap/f/DynamicPageTitle.js +11 -1
- package/src/sap/f/FlexibleColumnLayout.js +59 -1
- package/src/sap/f/FlexibleColumnLayoutAccessibleLandmarkInfo.js +1 -1
- package/src/sap/f/FlexibleColumnLayoutData.js +56 -3
- package/src/sap/f/FlexibleColumnLayoutDataForDesktop.js +5 -1
- package/src/sap/f/FlexibleColumnLayoutDataForTablet.js +5 -1
- package/src/sap/f/FlexibleColumnLayoutSemanticHelper.js +1 -1
- package/src/sap/f/GridContainer.js +1 -1
- package/src/sap/f/GridContainerItemLayoutData.js +1 -1
- package/src/sap/f/GridContainerSettings.js +2 -2
- package/src/sap/f/GridList.js +1 -1
- package/src/sap/f/GridListItem.js +1 -1
- package/src/sap/f/IllustratedMessage.js +1 -1
- package/src/sap/f/Illustration.js +1 -1
- package/src/sap/f/PlanningCalendarInCardLegend.js +1 -1
- package/src/sap/f/ProductSwitch.js +1 -1
- package/src/sap/f/ProductSwitchItem.js +1 -1
- package/src/sap/f/SearchManager.js +1 -1
- package/src/sap/f/ShellBar.js +1 -1
- package/src/sap/f/SidePanel.js +13 -4
- package/src/sap/f/SidePanelItem.js +1 -1
- package/src/sap/f/cards/BaseHeader.js +1 -1
- package/src/sap/f/cards/CardBadgeCustomData.js +2 -0
- package/src/sap/f/cards/Header.js +12 -6
- package/src/sap/f/cards/NumericHeader.js +11 -5
- 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/TablePlaceholder.js +1 -1
- package/src/sap/f/cards/loading/TimelinePlaceholder.js +1 -1
- package/src/sap/f/cards/util/CardBadgeEnabler.js +95 -55
- 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/dnd/GridDragOver.js +1 -1
- package/src/sap/f/dnd/GridDropInfo.js +1 -1
- package/src/sap/f/library.js +3 -2
- package/src/sap/f/messagebundle_da.properties +1 -1
- package/src/sap/f/messagebundle_zh_CN.properties +1 -1
- 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 +1 -1
- package/src/sap/f/semantic/SemanticControl.js +1 -1
- package/src/sap/f/semantic/SemanticPage.js +1 -1
- 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/AdditionalContentSupport.js +1 -1
- package/src/sap/f/shellBar/CoPilot.js +1 -1
- package/src/sap/f/shellBar/ControlSpacer.js +1 -1
- package/src/sap/f/shellBar/Search.js +1 -1
- package/src/sap/f/themes/base/AvatarGroup.less +1 -1
- package/src/sap/f/themes/base/Card.less +10 -1
- package/src/sap/f/themes/base/FlexibleColumnLayout.less +1 -1
- package/src/sap/f/themes/base/SidePanel.less +4 -0
package/THIRDPARTY.txt
CHANGED
|
@@ -6,7 +6,7 @@ The full text of all referenced licenses is appended at the end of this file.
|
|
|
6
6
|
|
|
7
7
|
Library: sap.m:
|
|
8
8
|
|
|
9
|
-
Component: purify.js, version:
|
|
9
|
+
Component: purify.js, version: 3.1.7
|
|
10
10
|
Copyright: Mario Heiderich
|
|
11
11
|
License: Apache-2.0
|
|
12
12
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
@@ -468,7 +468,7 @@ License: Apache-2.0
|
|
|
468
468
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
469
469
|
Contained in: lib/jsdoc/ui5/plugin.js
|
|
470
470
|
|
|
471
|
-
Component: SAP Theming Base Content, version: 11.
|
|
471
|
+
Component: SAP Theming Base Content, version: 11.18.0
|
|
472
472
|
Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
|
|
473
473
|
License: Apache-2.0
|
|
474
474
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.f",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.130.0",
|
|
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.
|
|
18
|
-
"@openui5/sap.ui.core": "1.
|
|
19
|
-
"@openui5/sap.ui.layout": "1.
|
|
17
|
+
"@openui5/sap.m": "1.130.0",
|
|
18
|
+
"@openui5/sap.ui.core": "1.130.0",
|
|
19
|
+
"@openui5/sap.ui.layout": "1.130.0"
|
|
20
20
|
}
|
|
21
21
|
}
|
package/src/sap/f/.library
CHANGED
|
@@ -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.
|
|
9
|
+
<version>1.130.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>SAPUI5 library with Fiori controls.</documentation>
|
|
12
12
|
|
package/src/sap/f/Avatar.js
CHANGED
package/src/sap/f/AvatarGroup.js
CHANGED
|
@@ -36,7 +36,7 @@ sap.ui.define([
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
var AVATAR_MARGIN_GROUP = {
|
|
39
|
-
XS: 0.
|
|
39
|
+
XS: 0.5,
|
|
40
40
|
S: 1.25,
|
|
41
41
|
M: 1.625,
|
|
42
42
|
L: 2,
|
|
@@ -100,7 +100,7 @@ sap.ui.define([
|
|
|
100
100
|
* @extends sap.ui.core.Control
|
|
101
101
|
*
|
|
102
102
|
* @author SAP SE
|
|
103
|
-
* @version 1.
|
|
103
|
+
* @version 1.130.0
|
|
104
104
|
*
|
|
105
105
|
* @constructor
|
|
106
106
|
* @public
|
package/src/sap/f/Card.js
CHANGED
package/src/sap/f/CardBase.js
CHANGED
|
@@ -32,7 +32,7 @@ sap.ui.define([
|
|
|
32
32
|
* @extends sap.ui.core.Control
|
|
33
33
|
*
|
|
34
34
|
* @author SAP SE
|
|
35
|
-
* @version 1.
|
|
35
|
+
* @version 1.130.0
|
|
36
36
|
*
|
|
37
37
|
* @constructor
|
|
38
38
|
* @public
|
|
@@ -66,6 +66,15 @@ sap.ui.define([
|
|
|
66
66
|
type: "sap.m.ObjectStatus",
|
|
67
67
|
multiple: true,
|
|
68
68
|
visibility: "hidden"
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Holds the text used for announcing the card badges to the screen reader.
|
|
73
|
+
*/
|
|
74
|
+
_oInvisibleCardBadgeText: {
|
|
75
|
+
type: "sap.ui.core.InvisibleText",
|
|
76
|
+
multiple: false,
|
|
77
|
+
visibility: "hidden"
|
|
69
78
|
}
|
|
70
79
|
}
|
|
71
80
|
},
|
|
@@ -88,6 +97,7 @@ sap.ui.define([
|
|
|
88
97
|
|
|
89
98
|
this._ariaText = new InvisibleText({id: this.getId() + "-ariaText"});
|
|
90
99
|
this._ariaText.setText(this._oRb.getText("ARIA_ROLEDESCRIPTION_CARD"));
|
|
100
|
+
|
|
91
101
|
this.initCardBadgeEnablement();
|
|
92
102
|
};
|
|
93
103
|
|
|
@@ -104,6 +114,8 @@ sap.ui.define([
|
|
|
104
114
|
this._ariaText.destroy();
|
|
105
115
|
this._ariaText = null;
|
|
106
116
|
}
|
|
117
|
+
|
|
118
|
+
this.destroyCardBadgeEnablement();
|
|
107
119
|
};
|
|
108
120
|
|
|
109
121
|
CardBase.prototype.setAggregation = function (sAggregationName, oObject) {
|
package/src/sap/f/DynamicPage.js
CHANGED
|
@@ -118,7 +118,7 @@ sap.ui.define([
|
|
|
118
118
|
* @extends sap.ui.core.Control
|
|
119
119
|
*
|
|
120
120
|
* @author SAP SE
|
|
121
|
-
* @version 1.
|
|
121
|
+
* @version 1.130.0
|
|
122
122
|
*
|
|
123
123
|
* @constructor
|
|
124
124
|
* @public
|
|
@@ -412,6 +412,7 @@ sap.ui.define([
|
|
|
412
412
|
this._headerBiggerThanAllowedHeight = false;
|
|
413
413
|
this._oStickySubheader = null;
|
|
414
414
|
this._bStickySubheaderInTitleArea = false;
|
|
415
|
+
this._bIsLastToggleUserInitiated = false;
|
|
415
416
|
this._oScrollHelper = new ScrollEnablement(this, this.getId() + "-content", {
|
|
416
417
|
horizontal: false,
|
|
417
418
|
vertical: true
|
|
@@ -469,7 +470,7 @@ sap.ui.define([
|
|
|
469
470
|
this._updateTitlePositioning();
|
|
470
471
|
this._attachPageChildrenAfterRenderingDelegates();
|
|
471
472
|
this._updatePinButtonState();
|
|
472
|
-
this.
|
|
473
|
+
this._showHidePinButton();
|
|
473
474
|
|
|
474
475
|
if (!this.getHeaderExpanded()) {
|
|
475
476
|
this._snapHeader(false);
|
|
@@ -812,6 +813,7 @@ sap.ui.define([
|
|
|
812
813
|
}
|
|
813
814
|
|
|
814
815
|
this.setProperty("headerExpanded", false, true);
|
|
816
|
+
this._bIsLastToggleUserInitiated = !!bUserInteraction;
|
|
815
817
|
this._adjustStickyContent();
|
|
816
818
|
if (this._hasVisibleTitleAndHeader()) {
|
|
817
819
|
this.$titleArea.addClass(Device.system.phone && oDynamicPageTitle.getSnappedTitleOnMobile() ?
|
|
@@ -852,6 +854,7 @@ sap.ui.define([
|
|
|
852
854
|
}
|
|
853
855
|
|
|
854
856
|
this.setProperty("headerExpanded", true, true);
|
|
857
|
+
this._bIsLastToggleUserInitiated = !!bUserInteraction;
|
|
855
858
|
this._adjustStickyContent();
|
|
856
859
|
if (this._hasVisibleTitleAndHeader()) {
|
|
857
860
|
this.$titleArea.removeClass(Device.system.phone && oDynamicPageTitle.getSnappedTitleOnMobile() ?
|
|
@@ -1061,13 +1064,11 @@ sap.ui.define([
|
|
|
1061
1064
|
|
|
1062
1065
|
|
|
1063
1066
|
/**
|
|
1064
|
-
*
|
|
1067
|
+
* Shows/hides the pin button if pin scenario is possible/not possible
|
|
1065
1068
|
* @private
|
|
1066
1069
|
*/
|
|
1067
|
-
DynamicPage.prototype.
|
|
1068
|
-
|
|
1069
|
-
this._togglePinButtonVisibility(false);
|
|
1070
|
-
}
|
|
1070
|
+
DynamicPage.prototype._showHidePinButton = function () {
|
|
1071
|
+
this._togglePinButtonVisibility(!this._preserveHeaderStateOnScroll());
|
|
1071
1072
|
};
|
|
1072
1073
|
|
|
1073
1074
|
/**
|
|
@@ -1924,11 +1925,30 @@ sap.ui.define([
|
|
|
1924
1925
|
oDynamicPageTitle._onResize(iCurrentWidth);
|
|
1925
1926
|
}
|
|
1926
1927
|
|
|
1928
|
+
if (this._shouldAutoExpandHeaderOnResize(oEvent)) {
|
|
1929
|
+
this._expandHeader(true, false /* bUserInteraction */);
|
|
1930
|
+
}
|
|
1931
|
+
|
|
1927
1932
|
this._adjustSnap();
|
|
1928
1933
|
this._updateTitlePositioning();
|
|
1929
1934
|
this._updateMedia(iCurrentWidth);
|
|
1930
1935
|
};
|
|
1931
1936
|
|
|
1937
|
+
DynamicPage.prototype._shouldAutoExpandHeaderOnResize = function (oResizeEvent) {
|
|
1938
|
+
var oDynamicPageHeader = this.getHeader(),
|
|
1939
|
+
bHeaderSnappedByUser = exists(oDynamicPageHeader) && !this.getHeaderExpanded() && this._bIsLastToggleUserInitiated,
|
|
1940
|
+
bPageResized = oResizeEvent.target === this.getDomRef(),
|
|
1941
|
+
canToggleHeaderOnScroll = this._canSnapHeaderOnScroll.bind(this);
|
|
1942
|
+
|
|
1943
|
+
// auto-expand the header if the user had snapped it but
|
|
1944
|
+
// can no longer expand it neither by scrolling nor by title-click
|
|
1945
|
+
return !this._preserveHeaderStateOnScroll() // header state is not locked
|
|
1946
|
+
&& bHeaderSnappedByUser
|
|
1947
|
+
&& bPageResized
|
|
1948
|
+
&& !this.getToggleHeaderOnTitleClick() // user cannot expand the header by title-click
|
|
1949
|
+
&& !canToggleHeaderOnScroll(); // user cannot expand the header by scrolling
|
|
1950
|
+
};
|
|
1951
|
+
|
|
1932
1952
|
/**
|
|
1933
1953
|
* Switches between expanded/collapsed (snapped) modes.
|
|
1934
1954
|
* @private
|
|
@@ -64,7 +64,7 @@ sap.ui.define([
|
|
|
64
64
|
* @extends sap.ui.core.Control
|
|
65
65
|
*
|
|
66
66
|
* @author SAP SE
|
|
67
|
-
* @version 1.
|
|
67
|
+
* @version 1.130.0
|
|
68
68
|
*
|
|
69
69
|
* @constructor
|
|
70
70
|
* @public
|
|
@@ -177,7 +177,7 @@ sap.ui.define([
|
|
|
177
177
|
* @private
|
|
178
178
|
*/
|
|
179
179
|
DynamicPageHeader.prototype._setShowPinBtn = function (bValue) {
|
|
180
|
-
this._getPinButton()
|
|
180
|
+
this._getPinButton().toggleStyleClass("sapUiHidden", !bValue);
|
|
181
181
|
};
|
|
182
182
|
|
|
183
183
|
/**
|
|
@@ -95,7 +95,7 @@ sap.ui.define([
|
|
|
95
95
|
* @extends sap.ui.core.Control
|
|
96
96
|
*
|
|
97
97
|
* @author SAP SE
|
|
98
|
-
* @version 1.
|
|
98
|
+
* @version 1.130.0
|
|
99
99
|
*
|
|
100
100
|
* @constructor
|
|
101
101
|
* @public
|
|
@@ -880,6 +880,16 @@ sap.ui.define([
|
|
|
880
880
|
oAction._sOriginalParentAggregationName = null;
|
|
881
881
|
};
|
|
882
882
|
|
|
883
|
+
DynamicPageTitle.prototype.onfocusfail = function (oEvent) {
|
|
884
|
+
var oSourceControl = oEvent.srcControl;
|
|
885
|
+
|
|
886
|
+
if (oSourceControl.sParentAggregationName === "actions") {
|
|
887
|
+
this.getAggregation("_actionsToolbar")?.onfocusfail(oEvent);
|
|
888
|
+
} else {
|
|
889
|
+
Control.prototype.onfocusfail.apply(this, arguments);
|
|
890
|
+
}
|
|
891
|
+
};
|
|
892
|
+
|
|
883
893
|
/**
|
|
884
894
|
* Called when LayoutData of actions/content buttons is changed
|
|
885
895
|
*/
|
|
@@ -108,7 +108,7 @@ sap.ui.define([
|
|
|
108
108
|
*
|
|
109
109
|
* @extends sap.ui.core.Control
|
|
110
110
|
* @author SAP SE
|
|
111
|
-
* @version 1.
|
|
111
|
+
* @version 1.130.0
|
|
112
112
|
*
|
|
113
113
|
* @constructor
|
|
114
114
|
* @public
|
|
@@ -978,6 +978,64 @@ sap.ui.define([
|
|
|
978
978
|
this._bNeverRendered = false;
|
|
979
979
|
};
|
|
980
980
|
|
|
981
|
+
FlexibleColumnLayout.prototype.setLayoutData = function (oLayoutData) {
|
|
982
|
+
if (oLayoutData.isA("sap.f.FlexibleColumnLayoutData")) {
|
|
983
|
+
oLayoutData.attachEvent("_layoutDataPropertyChanged", this._layoutDataPropertyChanged, this);
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
return this.setAggregation("layoutData", oLayoutData);
|
|
987
|
+
};
|
|
988
|
+
|
|
989
|
+
FlexibleColumnLayout.prototype.destroyLayoutData = function (oLayoutData) {
|
|
990
|
+
if (oLayoutData.isA("sap.f.FlexibleColumnLayoutData")) {
|
|
991
|
+
oLayoutData.dettachEvent("_layoutDataPropertyChanged", this._layoutDataPropertyChanged, this);
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
return this.destroyAggregation("layoutData", oLayoutData);
|
|
995
|
+
};
|
|
996
|
+
|
|
997
|
+
/**
|
|
998
|
+
* Handles the case, when initial values of layoutData were not set before FCL is rendered for the first time
|
|
999
|
+
* @private
|
|
1000
|
+
*/
|
|
1001
|
+
FlexibleColumnLayout.prototype._layoutDataPropertyChanged = function (oEvent) {
|
|
1002
|
+
var oSource = oEvent.getParameter("srcControl"),
|
|
1003
|
+
oLayoutData = this.getLayoutData(),
|
|
1004
|
+
sMediaKey = this._getMediaKey(),
|
|
1005
|
+
sNewColumnsDistribution = oEvent.getParameter("newValue"),
|
|
1006
|
+
oCurrentColumnsWidth,
|
|
1007
|
+
sCurrentColumnsWidth;
|
|
1008
|
+
|
|
1009
|
+
if (oEvent.getParameter("layout") === this.getLayout() &&
|
|
1010
|
+
((oSource === oLayoutData?.getDesktopLayoutData() && sMediaKey === "desktop") || (oSource === oLayoutData?.getTabletLayoutData() && sMediaKey === "tablet"))) {
|
|
1011
|
+
|
|
1012
|
+
// As some of the columns may not be fully resized at this point, we use the oMoveInfo, if available (during interactive resize), to check the current columns' widths
|
|
1013
|
+
if (this._oMoveInfo) {
|
|
1014
|
+
oCurrentColumnsWidth = this._convertColumnPxWidthToPercent(this._oMoveInfo.columnWidths, this.getLayout());
|
|
1015
|
+
sCurrentColumnsWidth = Object.values(oCurrentColumnsWidth).join("/");
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
if (!sNewColumnsDistribution || sCurrentColumnsWidth === oEvent.getParameter("newValue")) {
|
|
1019
|
+
// Prevent second resize when applications update the layout data properties after columnsDistributionChange event is fired
|
|
1020
|
+
return;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
// No animations for performance optimization in case properties are set after the initial rendering
|
|
1024
|
+
this._resizeColumns({ hasAnimations: false });
|
|
1025
|
+
}
|
|
1026
|
+
};
|
|
1027
|
+
|
|
1028
|
+
/**
|
|
1029
|
+
* Handles the case, when new desktopLayoutData/tabletLayoutData aggregations of FlexibleColumnLayoutData are set
|
|
1030
|
+
*/
|
|
1031
|
+
FlexibleColumnLayout.prototype.onLayoutDataChange = function (oEvent) {
|
|
1032
|
+
var oSource = oEvent.srcControl;
|
|
1033
|
+
|
|
1034
|
+
if (oSource.isA("sap.f.FlexibleColumnLayoutData")) {
|
|
1035
|
+
this.invalidate();
|
|
1036
|
+
}
|
|
1037
|
+
};
|
|
1038
|
+
|
|
981
1039
|
FlexibleColumnLayout.prototype.onmousedown = function (oEvent) {
|
|
982
1040
|
if (this._ignoreMouse) {
|
|
983
1041
|
return;
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
// Provides element sap.f.FlexibleColumnLayoutData
|
|
8
|
-
sap.ui.define([
|
|
9
|
-
function(LayoutData) {
|
|
8
|
+
sap.ui.define(["sap/ui/core/LayoutData", "sap/ui/base/ManagedObjectObserver", "sap/ui/thirdparty/jquery"],
|
|
9
|
+
function(LayoutData, ManagedObjectObserver, jQuery) {
|
|
10
10
|
"use strict";
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/core/LayoutData'],
|
|
|
21
21
|
*
|
|
22
22
|
*
|
|
23
23
|
* @author SAP SE
|
|
24
|
-
* @version 1.
|
|
24
|
+
* @version 1.130.0
|
|
25
25
|
*
|
|
26
26
|
* @extends sap.ui.core.LayoutData
|
|
27
27
|
*
|
|
@@ -48,5 +48,58 @@ sap.ui.define(['sap/ui/core/LayoutData'],
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
|
|
51
|
+
FlexibleColumnLayoutData.prototype.init = function () {
|
|
52
|
+
this._oObserver = new ManagedObjectObserver(FlexibleColumnLayoutData.prototype._onAggregationChange.bind(this));
|
|
53
|
+
this._oObserver.observe(this, {
|
|
54
|
+
aggregations: [
|
|
55
|
+
"desktopLayoutData",
|
|
56
|
+
"tabletLayoutData"
|
|
57
|
+
]
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
FlexibleColumnLayoutData.prototype._onAggregationChange = function(oChanges) {
|
|
62
|
+
// Handle changes in the aggregations
|
|
63
|
+
if (oChanges.mutation === "insert") {
|
|
64
|
+
// Observe the properties of the newly added control
|
|
65
|
+
this._observeControlProperties(oChanges.child);
|
|
66
|
+
} else if (oChanges.mutation === "remove") {
|
|
67
|
+
this._unobserveControlProperties(oChanges.child);
|
|
68
|
+
} else if (oChanges.type === "property") {
|
|
69
|
+
this.fireEvent("_layoutDataPropertyChanged", {
|
|
70
|
+
layout: oChanges.name.charAt(0).toUpperCase() + oChanges.name.slice(1),
|
|
71
|
+
srcControl: oChanges.object,
|
|
72
|
+
oldValue: oChanges.old,
|
|
73
|
+
newValue: oChanges.current
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
FlexibleColumnLayoutData.prototype._observeControlProperties = function(oControl) {
|
|
79
|
+
// Observe changes in the properties of the control
|
|
80
|
+
this._oObserver.observe(oControl, {
|
|
81
|
+
properties: Object.keys(oControl.getMetadata().getAllProperties())
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
FlexibleColumnLayoutData.prototype._unobserveControlProperties = function(oControl) {
|
|
86
|
+
// Stop observing changes in the properties of the control
|
|
87
|
+
this._oObserver.unobserve(oControl, {
|
|
88
|
+
properties: Object.keys(oControl.getMetadata().getAllProperties())
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
FlexibleColumnLayoutData.prototype.invalidate = function() {
|
|
93
|
+
// Override to prevent error from Core implementation when the parent of FlexibleColumnLayout is UIComponent.
|
|
94
|
+
// Here we also want to fire a LayoutDataChange event to the actual parent - the FlexibleColumnLayout Control.
|
|
95
|
+
var oParent = this.getParent();
|
|
96
|
+
|
|
97
|
+
if (oParent) {
|
|
98
|
+
var oEvent = jQuery.Event("LayoutDataChange");
|
|
99
|
+
oEvent.srcControl = this;
|
|
100
|
+
oParent._handleEvent?.(oEvent);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
51
104
|
return FlexibleColumnLayoutData;
|
|
52
105
|
});
|
|
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/LayoutData'],
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
* @author SAP SE
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.130.0
|
|
24
24
|
*
|
|
25
25
|
* @extends sap.ui.core.LayoutData
|
|
26
26
|
*
|
|
@@ -68,5 +68,9 @@ sap.ui.define(['sap/ui/core/LayoutData'],
|
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
|
|
71
|
+
FlexibleColumnLayoutDataForDesktop.prototype.invalidate = function() {
|
|
72
|
+
// Override basic LayoutData implementation, as we listen to changes in the parent control (FlexibleColumnLayoutData), where we have more information what has been changed.
|
|
73
|
+
};
|
|
74
|
+
|
|
71
75
|
return FlexibleColumnLayoutDataForDesktop;
|
|
72
76
|
});
|
|
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/LayoutData'],
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
* @author SAP SE
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.130.0
|
|
24
24
|
*
|
|
25
25
|
* @extends sap.ui.core.LayoutData
|
|
26
26
|
*
|
|
@@ -67,5 +67,9 @@ sap.ui.define(['sap/ui/core/LayoutData'],
|
|
|
67
67
|
}
|
|
68
68
|
});
|
|
69
69
|
|
|
70
|
+
FlexibleColumnLayoutDataForTablet.prototype.invalidate = function() {
|
|
71
|
+
// Override basic LayoutData implementation, as we listen to changes in the parent control (FlexibleColumnLayoutData), where we have more information what has been changed.
|
|
72
|
+
};
|
|
73
|
+
|
|
70
74
|
return FlexibleColumnLayoutDataForTablet;
|
|
71
75
|
});
|
|
@@ -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.130.0
|
|
53
53
|
* @param {sap.f.FlexibleColumnLayout} oFlexibleColumnLayout
|
|
54
54
|
* The <code>sap.f.FlexibleColumnLayout</code> object whose state will be manipulated.
|
|
55
55
|
*
|
|
@@ -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.
|
|
61
|
+
* @version 1.130.0
|
|
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.
|
|
68
|
+
* @version 1.130.0
|
|
69
69
|
*
|
|
70
70
|
* @since 1.65
|
|
71
71
|
* @public
|
package/src/sap/f/GridList.js
CHANGED
|
@@ -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.
|
|
96
|
+
* @version 1.130.0
|
|
97
97
|
*
|
|
98
98
|
* @extends sap.m.ListBase
|
|
99
99
|
* @implements sap.ui.layout.cssgrid.IGridConfigurable
|