@openui5/sap.f 1.127.1 → 1.129.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 +1 -1
- 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 +21 -51
- package/src/sap/f/CardRenderer.js +30 -3
- package/src/sap/f/DynamicPage.js +11 -8
- package/src/sap/f/DynamicPageAccessibleLandmarkInfo.js +11 -2
- package/src/sap/f/DynamicPageHeader.js +21 -7
- package/src/sap/f/DynamicPageTitle.js +1 -1
- package/src/sap/f/FlexibleColumnLayout.js +136 -21
- package/src/sap/f/FlexibleColumnLayoutAccessibleLandmarkInfo.js +1 -1
- package/src/sap/f/FlexibleColumnLayoutData.js +52 -0
- package/src/sap/f/FlexibleColumnLayoutDataForDesktop.js +72 -0
- package/src/sap/f/FlexibleColumnLayoutDataForTablet.js +71 -0
- 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 +20 -6
- package/src/sap/f/SidePanelItem.js +1 -1
- package/src/sap/f/cards/BaseHeader.js +1 -1
- package/src/sap/f/cards/CardBadgeCustomData.js +123 -0
- 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/TablePlaceholder.js +1 -1
- package/src/sap/f/cards/loading/TimelinePlaceholder.js +1 -1
- package/src/sap/f/cards/util/CardBadgeEnabler.js +196 -0
- 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 +30 -2
- package/src/sap/f/messagebundle.properties +3 -0
- 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 +2 -0
- package/src/sap/f/messagebundle_en_GB.properties +2 -0
- package/src/sap/f/messagebundle_en_US_saprigi.properties +3 -1
- 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 +2 -0
- 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 +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 +6 -21
- package/src/sap/f/themes/base/CardBadge.less +63 -0
- package/src/sap/f/themes/base/SidePanel.less +4 -0
- package/src/sap/f/themes/base/library.source.less +1 -0
- package/src/sap/f/themes/sap_hcb/base_Card.less +0 -20
|
@@ -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.129.0
|
|
112
112
|
*
|
|
113
113
|
* @constructor
|
|
114
114
|
* @public
|
|
@@ -650,6 +650,27 @@ sap.ui.define([
|
|
|
650
650
|
*/
|
|
651
651
|
endColumn : {type : "boolean"}
|
|
652
652
|
}
|
|
653
|
+
},
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Fired when user resize columns.
|
|
657
|
+
* @since 1.128
|
|
658
|
+
*/
|
|
659
|
+
columnsDistributionChange : {
|
|
660
|
+
parameters : {
|
|
661
|
+
/**
|
|
662
|
+
* The current <code>media</code> - dekstop or tablet.
|
|
663
|
+
*/
|
|
664
|
+
media: { type: "string" },
|
|
665
|
+
/**
|
|
666
|
+
* The value of the <code>layout</code> property.
|
|
667
|
+
*/
|
|
668
|
+
layout: { type: "string" },
|
|
669
|
+
/**
|
|
670
|
+
* Sizes of all columns in percentages, separated by '/'.
|
|
671
|
+
*/
|
|
672
|
+
columnsSizes : {type : "string"}
|
|
673
|
+
}
|
|
653
674
|
}
|
|
654
675
|
}
|
|
655
676
|
},
|
|
@@ -713,20 +734,11 @@ sap.ui.define([
|
|
|
713
734
|
this._boundColumnSeparatorMoveEnd = this._onColumnSeparatorMoveEnd.bind(this);
|
|
714
735
|
this._oLocalStorage = {};
|
|
715
736
|
this._bNeverRendered = true;
|
|
716
|
-
};
|
|
717
737
|
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
}
|
|
722
|
-
var sKey = (iMaxColumnsCount === 3) ? "desktop" : "tablet";
|
|
723
|
-
if (!this._oLocalStorage[sKey]) {
|
|
724
|
-
var sPrefix = sKey === 'desktop' ?
|
|
725
|
-
FlexibleColumnLayout.STORAGE_PREFIX_DESKTOP :
|
|
726
|
-
FlexibleColumnLayout.STORAGE_PREFIX_TABLET;
|
|
727
|
-
this._oLocalStorage[sKey] = new Storage(Storage.Type.local, sPrefix);
|
|
728
|
-
}
|
|
729
|
-
return this._oLocalStorage[sKey];
|
|
738
|
+
this._oBeginColumnWidth = {
|
|
739
|
+
tablet: 0,
|
|
740
|
+
desktop: 0
|
|
741
|
+
};
|
|
730
742
|
};
|
|
731
743
|
|
|
732
744
|
FlexibleColumnLayout.prototype._announceMessage = function (sResourceBundleKey) {
|
|
@@ -765,6 +777,7 @@ sap.ui.define([
|
|
|
765
777
|
|
|
766
778
|
if (this._hasAnyColumnPagesRendered() !== bHadAnyColumnPagesRendered) {
|
|
767
779
|
this._hideShowColumnSeparators();
|
|
780
|
+
this._updateSeparatorsAriaPositionInfo();
|
|
768
781
|
}
|
|
769
782
|
};
|
|
770
783
|
|
|
@@ -1323,6 +1336,12 @@ sap.ui.define([
|
|
|
1323
1336
|
if (oOptions.updateDetailedActiveClasses) {
|
|
1324
1337
|
this._addDetailedActiveClasses(sLayout);
|
|
1325
1338
|
}
|
|
1339
|
+
|
|
1340
|
+
if (bHasAnimations) {
|
|
1341
|
+
this._attachAfterAllColumnsResizedOnce(this._updateSeparatorsAriaPositionInfo.bind(this));
|
|
1342
|
+
} else {
|
|
1343
|
+
this._updateSeparatorsAriaPositionInfo();
|
|
1344
|
+
}
|
|
1326
1345
|
};
|
|
1327
1346
|
|
|
1328
1347
|
/**
|
|
@@ -1675,6 +1694,7 @@ sap.ui.define([
|
|
|
1675
1694
|
this.toggleStyleClass("sapFFLActiveResize", false);
|
|
1676
1695
|
this._oMoveInfo.separator.style.visibility = "";
|
|
1677
1696
|
this._oMoveInfo.separator.focus();
|
|
1697
|
+
this._updateAriaPositionInfo(this._oMoveInfo.separator);
|
|
1678
1698
|
this._ignoreMouse = false;
|
|
1679
1699
|
this._ignoreTouch = false;
|
|
1680
1700
|
this._oMoveInfo = null;
|
|
@@ -2024,14 +2044,32 @@ sap.ui.define([
|
|
|
2024
2044
|
FlexibleColumnLayout.prototype._saveResizedColumWidths = function() {
|
|
2025
2045
|
var sNewLayout = this._oMoveInfo.layout,
|
|
2026
2046
|
oColumnPercentWidths = this._convertColumnPxWidthToPercent(this._oMoveInfo.columnWidths, sNewLayout),
|
|
2027
|
-
sNewWidthsDistribution = Object.values(oColumnPercentWidths).join("/")
|
|
2047
|
+
sNewWidthsDistribution = Object.values(oColumnPercentWidths).join("/"),
|
|
2048
|
+
sMediaKey;
|
|
2028
2049
|
|
|
2029
2050
|
if (this._isValidWidthDistributionForLayout(sNewWidthsDistribution, sNewLayout)) {
|
|
2030
|
-
this.
|
|
2031
|
-
this.
|
|
2051
|
+
sMediaKey = this._getMediaKey();
|
|
2052
|
+
this.fireColumnsDistributionChange({
|
|
2053
|
+
media: sMediaKey,
|
|
2054
|
+
layout: sNewLayout,
|
|
2055
|
+
columnsSizes: sNewWidthsDistribution
|
|
2056
|
+
});
|
|
2057
|
+
|
|
2058
|
+
this._oBeginColumnWidth[sMediaKey] = oColumnPercentWidths.begin;
|
|
2032
2059
|
}
|
|
2033
2060
|
};
|
|
2034
2061
|
|
|
2062
|
+
FlexibleColumnLayout.prototype._getMediaKey = function (iMaxColumnsCount) {
|
|
2063
|
+
var sKey;
|
|
2064
|
+
|
|
2065
|
+
if (!iMaxColumnsCount) {
|
|
2066
|
+
iMaxColumnsCount = this.getMaxColumnsCount();
|
|
2067
|
+
}
|
|
2068
|
+
sKey = (iMaxColumnsCount === 3) ? "desktop" : "tablet";
|
|
2069
|
+
|
|
2070
|
+
return sKey;
|
|
2071
|
+
};
|
|
2072
|
+
|
|
2035
2073
|
FlexibleColumnLayout.prototype._getNextLayoutOnResizeByDrag = function (oColumnWidths,
|
|
2036
2074
|
sPreviousLayout, sSeparator, bForwardDirection, bResizeEnd) {
|
|
2037
2075
|
function dragged(oOptions) {
|
|
@@ -2168,6 +2206,78 @@ sap.ui.define([
|
|
|
2168
2206
|
return oLayoutMatchers[sLayout]();
|
|
2169
2207
|
};
|
|
2170
2208
|
|
|
2209
|
+
/**
|
|
2210
|
+
* Obtains the range of the possible possitions along the X-axis of this separator (allowed by the current layout)
|
|
2211
|
+
* where the start of the axis is the edge of the FlexibleColumnLayout closest to the begin column.
|
|
2212
|
+
* @param {object} oSeparator the separator HTML element
|
|
2213
|
+
* @returns {object} the start and end positions
|
|
2214
|
+
*/
|
|
2215
|
+
FlexibleColumnLayout.prototype._getSeparatorMovementRange = function (oSeparator) {
|
|
2216
|
+
var sSeparator = getSeparatorName(oSeparator),
|
|
2217
|
+
sLayout = this.getLayout(),
|
|
2218
|
+
iMaxColumnsForWidth = this.getMaxColumnsCount(),
|
|
2219
|
+
iMaxColumnsForLayoutType = this._getMaxColumnsCountForLayout(sLayout, FlexibleColumnLayout.DESKTOP_BREAKPOINT),
|
|
2220
|
+
bDesktop = iMaxColumnsForWidth === 3,
|
|
2221
|
+
bTablet = iMaxColumnsForWidth === 2,
|
|
2222
|
+
bIsThreeColumnLayout = iMaxColumnsForLayoutType === 3,
|
|
2223
|
+
iTotalSpace = this._iWidth,
|
|
2224
|
+
iSpaceBeforeRange = FlexibleColumnLayout.COLUMN_MIN_WIDTH, // space for the preceding column
|
|
2225
|
+
iSpaceAfterRange = FlexibleColumnLayout.COLUMN_MIN_WIDTH, // space for the suceeding column
|
|
2226
|
+
iRangeLength;
|
|
2227
|
+
|
|
2228
|
+
if (bDesktop && sSeparator === "end") {
|
|
2229
|
+
// (the width of the 'begin' column is fixed, as the user cannot resize it by moving the 'end' separator)
|
|
2230
|
+
iSpaceBeforeRange = this._$columns["begin"].get(0).offsetWidth + FlexibleColumnLayout.COLUMN_MIN_WIDTH; // space for the preceding columns
|
|
2231
|
+
if (sLayout === LT.ThreeColumnsMidExpandedEndHidden) {
|
|
2232
|
+
iSpaceAfterRange = 0; // the 'end' separator is adjacent to the FCL edge, nothing follows it
|
|
2233
|
+
}
|
|
2234
|
+
}
|
|
2235
|
+
|
|
2236
|
+
if (bTablet) {
|
|
2237
|
+
if (sSeparator === "begin" & bIsThreeColumnLayout) {
|
|
2238
|
+
iSpaceBeforeRange = 0; // the 'begin' separator is adjacent to the FCL edge, nothing precedes it
|
|
2239
|
+
}
|
|
2240
|
+
if (sSeparator === "end" && sLayout === LT.ThreeColumnsMidExpandedEndHidden) {
|
|
2241
|
+
iSpaceAfterRange = 0; // the 'end' separator is adjacent to the FCL edge, nothing follows it
|
|
2242
|
+
}
|
|
2243
|
+
}
|
|
2244
|
+
|
|
2245
|
+
// provision space to render the separator itself
|
|
2246
|
+
iSpaceAfterRange += FlexibleColumnLayout.COLUMN_SEPARATOR_WIDTH;
|
|
2247
|
+
|
|
2248
|
+
iRangeLength = iTotalSpace - iSpaceBeforeRange - iSpaceAfterRange;
|
|
2249
|
+
|
|
2250
|
+
return {
|
|
2251
|
+
from: iSpaceBeforeRange,
|
|
2252
|
+
to: iSpaceBeforeRange + iRangeLength
|
|
2253
|
+
};
|
|
2254
|
+
};
|
|
2255
|
+
|
|
2256
|
+
FlexibleColumnLayout.prototype._updateAriaPositionInfo = function (oSeparator) {
|
|
2257
|
+
// obtain the range [fromX ... toX] of the possible positions along the X-axis
|
|
2258
|
+
// of this separator (as allowed by the current layout)
|
|
2259
|
+
var oRange = this._getSeparatorMovementRange(oSeparator),
|
|
2260
|
+
iRangeLength = oRange.to - oRange.from,
|
|
2261
|
+
iSeparatorEarliestPossibleX = oRange.from,
|
|
2262
|
+
iSeparatorCurrentX = oSeparator.offsetLeft,
|
|
2263
|
+
iSeparatorAdvanceInsideRange = iSeparatorCurrentX - iSeparatorEarliestPossibleX,
|
|
2264
|
+
// convert to value inside [0, ..., 100] interval
|
|
2265
|
+
iSeparatorRelativePositionInsideRange = iSeparatorAdvanceInsideRange / iRangeLength * 100,
|
|
2266
|
+
sSeparatorRelativePositionInsideRange = iSeparatorRelativePositionInsideRange.toFixed(2);
|
|
2267
|
+
oSeparator.setAttribute("aria-valuenow", sSeparatorRelativePositionInsideRange);
|
|
2268
|
+
};
|
|
2269
|
+
|
|
2270
|
+
FlexibleColumnLayout.prototype._updateSeparatorsAriaPositionInfo = function () {
|
|
2271
|
+
if (!this._oColumnSeparators) {
|
|
2272
|
+
return;
|
|
2273
|
+
}
|
|
2274
|
+
Object.values(this._oColumnSeparators).forEach(function($separator) {
|
|
2275
|
+
if ($separator.get(0).style.display !== "none") {
|
|
2276
|
+
this._updateAriaPositionInfo($separator.get(0));
|
|
2277
|
+
}
|
|
2278
|
+
}, this);
|
|
2279
|
+
};
|
|
2280
|
+
|
|
2171
2281
|
/**
|
|
2172
2282
|
* Obtains the current width of a column
|
|
2173
2283
|
*
|
|
@@ -3006,8 +3116,14 @@ sap.ui.define([
|
|
|
3006
3116
|
* @ui5-restricted sap.f.FlexibleColumnLayoutSemanticHelper
|
|
3007
3117
|
*/
|
|
3008
3118
|
FlexibleColumnLayout.prototype._getColumnWidthDistributionForLayout = function (sLayout, bAsIntArray, iMaxColumnsCount) {
|
|
3009
|
-
var
|
|
3010
|
-
|
|
3119
|
+
var oLayoutData = this.getLayoutData(),
|
|
3120
|
+
sMediaKey = this._getMediaKey(iMaxColumnsCount),
|
|
3121
|
+
oLayoutDataPerMedia = oLayoutData?.isA("sap.f.FlexibleColumnLayoutData")
|
|
3122
|
+
&& (sMediaKey === "desktop" ? oLayoutData.getDesktopLayoutData() : oLayoutData.getTabletLayoutData()),
|
|
3123
|
+
sGetterNameLayout = "get" + sLayout,
|
|
3124
|
+
sColumnWidthDistribution = oLayoutDataPerMedia?.[sGetterNameLayout]?.(),
|
|
3125
|
+
bIsValidDistribution = sColumnWidthDistribution && this._isValidWidthDistributionForLayout(sColumnWidthDistribution, sLayout),
|
|
3126
|
+
iBeginWidth = this._oBeginColumnWidth[sMediaKey],
|
|
3011
3127
|
vResult,
|
|
3012
3128
|
vResultAsArray;
|
|
3013
3129
|
|
|
@@ -3017,8 +3133,7 @@ sap.ui.define([
|
|
|
3017
3133
|
|
|
3018
3134
|
vResult = "0/0/0";
|
|
3019
3135
|
|
|
3020
|
-
} else if (iMaxColumnsCount > 1
|
|
3021
|
-
&& sColumnWidthDistribution) {
|
|
3136
|
+
} else if (iMaxColumnsCount > 1 && sColumnWidthDistribution && bIsValidDistribution) {
|
|
3022
3137
|
vResult = sColumnWidthDistribution;
|
|
3023
3138
|
} else {
|
|
3024
3139
|
vResult = this._getDefaultColumnWidthDistributionForLayout(sLayout, iMaxColumnsCount);
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Provides element sap.f.FlexibleColumnLayoutData
|
|
8
|
+
sap.ui.define(['sap/ui/core/LayoutData'],
|
|
9
|
+
function(LayoutData) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Constructor for a new <code>sap.f.FlexibleColumnLayoutData</code>.
|
|
14
|
+
*
|
|
15
|
+
* @param {string} [sId] ID for the new element, generated automatically if no ID is given
|
|
16
|
+
* @param {object} [mSettings] Initial settings for the new element.
|
|
17
|
+
*
|
|
18
|
+
* @class
|
|
19
|
+
* Holds layout data for <code>sap.f.FlexibleColumnLayout</code>.
|
|
20
|
+
* Allows LayoutData of type <code>sap.f.FlexibleColumnLayoutDataForDesktop</code> or <code>sap.f.FlexibleColumnLayoutFlexibleColumnLayoutDataForTablet</code>
|
|
21
|
+
*
|
|
22
|
+
*
|
|
23
|
+
* @author SAP SE
|
|
24
|
+
* @version 1.129.0
|
|
25
|
+
*
|
|
26
|
+
* @extends sap.ui.core.LayoutData
|
|
27
|
+
*
|
|
28
|
+
* @since 1.128
|
|
29
|
+
* @public
|
|
30
|
+
* @constructor
|
|
31
|
+
* @alias sap.f.FlexibleColumnLayoutData
|
|
32
|
+
*/
|
|
33
|
+
var FlexibleColumnLayoutData = LayoutData.extend("sap.f.FlexibleColumnLayoutData", /** @lends sap.f.FlexibleColumnLayoutData.prototype */ {
|
|
34
|
+
metadata: {
|
|
35
|
+
|
|
36
|
+
library: "sap.f",
|
|
37
|
+
aggregations: {
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Allows LayoutData of type <code>sap.f.FlexibleColumnLayoutDataForDesktop</code>
|
|
41
|
+
*/
|
|
42
|
+
desktopLayoutData: {type: "sap.f.FlexibleColumnLayoutDataForDesktop", multiple: false, singularName: "desktopLayoutData"},
|
|
43
|
+
/**
|
|
44
|
+
* Allows LayoutData of type <code>sap.f.FlexibleColumnLayoutDataForTablet</code>
|
|
45
|
+
*/
|
|
46
|
+
tabletLayoutData: {type: "sap.f.FlexibleColumnLayoutDataForTablet", multiple: false, singularName: "tabletLayoutData"}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
return FlexibleColumnLayoutData;
|
|
52
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Provides element sap.f.FlexibleColumnLayoutDataForDesktop
|
|
8
|
+
sap.ui.define(['sap/ui/core/LayoutData'],
|
|
9
|
+
function(LayoutData) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Constructor for a new <code>sap.f.FlexibleColumnLayoutDataForDesktop</code>.
|
|
14
|
+
*
|
|
15
|
+
* @param {string} [sId] ID for the new element, generated automatically if no ID is given
|
|
16
|
+
* @param {object} [mSettings] Initial settings for the new element.
|
|
17
|
+
*
|
|
18
|
+
* @class
|
|
19
|
+
* Holds layout data for columns of <code>sap.f.FlexibleColumnLayout</code> on desktop.
|
|
20
|
+
*
|
|
21
|
+
*
|
|
22
|
+
* @author SAP SE
|
|
23
|
+
* @version 1.129.0
|
|
24
|
+
*
|
|
25
|
+
* @extends sap.ui.core.LayoutData
|
|
26
|
+
*
|
|
27
|
+
* @since 1.128
|
|
28
|
+
* @public
|
|
29
|
+
* @constructor
|
|
30
|
+
* @alias sap.f.FlexibleColumnLayoutDataForDesktop
|
|
31
|
+
*/
|
|
32
|
+
var FlexibleColumnLayoutDataForDesktop = LayoutData.extend("sap.f.FlexibleColumnLayoutDataForDesktop", /** @lends sap.f.FlexibleColumnLayoutDataForDesktop.prototype */ {
|
|
33
|
+
metadata: {
|
|
34
|
+
|
|
35
|
+
library: "sap.f",
|
|
36
|
+
properties: {
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Columns distribution of TwoColumnsBeginExpanded layout in the format "begin/mid/end", where values are set in percentages.
|
|
40
|
+
*/
|
|
41
|
+
twoColumnsBeginExpanded: {type: "string", group: "Appearance", defaultValue: "67/33/0"},
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Columns distribution of TwoColumnsMidExpanded layout in the format "begin/mid/end", where values are set in percentages.
|
|
45
|
+
*/
|
|
46
|
+
twoColumnsMidExpanded: {type: "string", group: "Appearance", defaultValue: "33/67/0"},
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Columns distribution of ThreeColumnsBeginExpandedEndHidden layout in the format "begin/mid/end", where values are set in percentages.
|
|
50
|
+
*/
|
|
51
|
+
threeColumnsBeginExpandedEndHidden: {type: "string", group: "Appearance", defaultValue: "67/33/0"},
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Columns distribution of ThreeColumnsEndExpanded layout in the format "begin/mid/end", where values are set in percentages.
|
|
55
|
+
*/
|
|
56
|
+
threeColumnsEndExpanded: {type: "string", group: "Appearance", defaultValue: "25/25/50"},
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Columns distribution of ThreeColumnsMidExpanded layout in the format "begin/mid/end", where values are set in percentages.
|
|
60
|
+
*/
|
|
61
|
+
threeColumnsMidExpanded: {type: "string", group: "Appearance", defaultValue: "25/50/25"},
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Columns distribution of ThreeColumnsMidExpandedEndHidden layout in the format "begin/mid/end", where values are set in percentages.
|
|
65
|
+
*/
|
|
66
|
+
threeColumnsMidExpandedEndHidden: {type: "string", group: "Appearance", defaultValue: "33/67/0"}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
return FlexibleColumnLayoutDataForDesktop;
|
|
72
|
+
});
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Provides element sap.f.FlexibleColumnLayoutDataForTablet
|
|
8
|
+
sap.ui.define(['sap/ui/core/LayoutData'],
|
|
9
|
+
function(LayoutData) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Constructor for a new <code>sap.f.FlexibleColumnLayoutDataForTablet</code>.
|
|
14
|
+
*
|
|
15
|
+
* @param {string} [sId] ID for the new element, generated automatically if no ID is given
|
|
16
|
+
* @param {object} [mSettings] Initial settings for the new element.
|
|
17
|
+
*
|
|
18
|
+
* @class
|
|
19
|
+
* Holds layout data for columns of <code>sap.f.FlexibleColumnLayout</code> on tablet.
|
|
20
|
+
*
|
|
21
|
+
*
|
|
22
|
+
* @author SAP SE
|
|
23
|
+
* @version 1.129.0
|
|
24
|
+
*
|
|
25
|
+
* @extends sap.ui.core.LayoutData
|
|
26
|
+
*
|
|
27
|
+
* @since 1.128
|
|
28
|
+
* @public
|
|
29
|
+
* @constructor
|
|
30
|
+
* @alias sap.f.FlexibleColumnLayoutDataForTablet
|
|
31
|
+
*/
|
|
32
|
+
var FlexibleColumnLayoutDataForTablet = LayoutData.extend("sap.f.FlexibleColumnLayoutDataForTablet", /** @lends sap.f.FlexibleColumnLayoutDataForTablet.prototype */ {
|
|
33
|
+
metadata: {
|
|
34
|
+
|
|
35
|
+
library: "sap.f",
|
|
36
|
+
properties: {
|
|
37
|
+
/**
|
|
38
|
+
* Columns distribution of TwoColumnsBeginExpanded layout in the format "begin/mid/end", where values are set in percentages.
|
|
39
|
+
*/
|
|
40
|
+
twoColumnsBeginExpanded: {type: "string", group: "Appearance", defaultValue: "67/33/0"},
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Columns distribution of TwoColumnsMidExpanded layout in the format "begin/mid/end", where values are set in percentages.
|
|
44
|
+
*/
|
|
45
|
+
twoColumnsMidExpanded: {type: "string", group: "Appearance", defaultValue: "33/67/0"},
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Columns distribution of ThreeColumnsBeginExpandedEndHidden layout in the format "begin/mid/end", where values are set in percentages.
|
|
49
|
+
*/
|
|
50
|
+
threeColumnsBeginExpandedEndHidden: {type: "string", group: "Appearance", defaultValue: "67/33/0"},
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Columns distribution of ThreeColumnsEndExpanded layout in the format "begin/mid/end", where values are set in percentages.
|
|
54
|
+
*/
|
|
55
|
+
threeColumnsEndExpanded: {type: "string", group: "Appearance", defaultValue: "0/33/67"},
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Columns distribution of ThreeColumnsMidExpanded layout in the format "begin/mid/end", where values are set in percentages.
|
|
59
|
+
*/
|
|
60
|
+
threeColumnsMidExpanded: {type: "string", group: "Appearance", defaultValue: "0/67/33"},
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Columns distribution of ThreeColumnsMidExpandedEndHidden layout in the format "begin/mid/end", where values are set in percentages.
|
|
64
|
+
*/
|
|
65
|
+
threeColumnsMidExpandedEndHidden: {type: "string", group: "Appearance", defaultValue: "33/67/0"}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
return FlexibleColumnLayoutDataForTablet;
|
|
71
|
+
});
|
|
@@ -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.129.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.129.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.129.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.129.0
|
|
97
97
|
*
|
|
98
98
|
* @extends sap.m.ListBase
|
|
99
99
|
* @implements sap.ui.layout.cssgrid.IGridConfigurable
|
package/src/sap/f/ShellBar.js
CHANGED
package/src/sap/f/SidePanel.js
CHANGED
|
@@ -151,7 +151,7 @@ sap.ui.define([
|
|
|
151
151
|
* @extends sap.ui.core.Control
|
|
152
152
|
*
|
|
153
153
|
* @author SAP SE
|
|
154
|
-
* @version 1.
|
|
154
|
+
* @version 1.129.0
|
|
155
155
|
*
|
|
156
156
|
* @constructor
|
|
157
157
|
* @public
|
|
@@ -468,7 +468,7 @@ sap.ui.define([
|
|
|
468
468
|
this.getItems().length && this._fixSidePanelWidth();
|
|
469
469
|
}
|
|
470
470
|
} else {
|
|
471
|
-
if (this.getDomRef().querySelector(".sapFSPMain").scrollTop === 0) {
|
|
471
|
+
if (this.getDomRef().querySelector(".sapFSPMain").scrollTop === 0 && !this._isSingleItem()) {
|
|
472
472
|
this.setActionBarExpanded(true);
|
|
473
473
|
}
|
|
474
474
|
}
|
|
@@ -498,7 +498,8 @@ sap.ui.define([
|
|
|
498
498
|
bSideContentExpanded = this._getSideContentExpanded(),
|
|
499
499
|
bSideExpanded = this.getActionBarExpanded() || bSideContentExpanded,
|
|
500
500
|
bCtrlOrCmd = oEvent.ctrlKey || oEvent.metaKey,
|
|
501
|
-
bSplitterFocused = document.activeElement === this.getDomRef().querySelector(".sapFSPSplitterBar")
|
|
501
|
+
bSplitterFocused = document.activeElement === this.getDomRef().querySelector(".sapFSPSplitterBar"),
|
|
502
|
+
iDirectionModifier = this.getSidePanelPosition() === SidePanelPosition.Right ? 1 : -1;
|
|
502
503
|
|
|
503
504
|
if (bCtrlOrCmd && oEvent.which === KeyCodes.ARROW_LEFT) {
|
|
504
505
|
oEvent.preventDefault();
|
|
@@ -539,10 +540,14 @@ sap.ui.define([
|
|
|
539
540
|
this._setSidePanelResizePosition(SIDE_PANEL_POSITION_MIN_WIDTH);
|
|
540
541
|
break;
|
|
541
542
|
case KeyCodes.ARROW_LEFT:
|
|
543
|
+
this._moveSidePanelResizePositionWith(oEvent.shiftKey ? this.getSidePanelResizeLargerStep() * iDirectionModifier : this.getSidePanelResizeStep() * iDirectionModifier);
|
|
544
|
+
break;
|
|
542
545
|
case KeyCodes.ARROW_UP:
|
|
543
546
|
this._moveSidePanelResizePositionWith(oEvent.shiftKey ? this.getSidePanelResizeLargerStep() : this.getSidePanelResizeStep());
|
|
544
547
|
break;
|
|
545
548
|
case KeyCodes.ARROW_RIGHT:
|
|
549
|
+
this._moveSidePanelResizePositionWith(oEvent.shiftKey ? -this.getSidePanelResizeLargerStep() * iDirectionModifier : -this.getSidePanelResizeStep() * iDirectionModifier);
|
|
550
|
+
break;
|
|
546
551
|
case KeyCodes.ARROW_DOWN:
|
|
547
552
|
this._moveSidePanelResizePositionWith(oEvent.shiftKey ? -this.getSidePanelResizeLargerStep() : -this.getSidePanelResizeStep());
|
|
548
553
|
break;
|
|
@@ -1082,13 +1087,18 @@ sap.ui.define([
|
|
|
1082
1087
|
};
|
|
1083
1088
|
|
|
1084
1089
|
SidePanel.prototype._getSideContentHeaderIcon = function() {
|
|
1085
|
-
var oSelectedItem = this._getSelectedItem()
|
|
1090
|
+
var oSelectedItem = this._getSelectedItem(),
|
|
1091
|
+
sSrc = oSelectedItem && oSelectedItem.getIcon();
|
|
1092
|
+
|
|
1093
|
+
if (!sSrc) {
|
|
1094
|
+
return null;
|
|
1095
|
+
}
|
|
1086
1096
|
|
|
1087
1097
|
if (!this._contentHeaderIcon) {
|
|
1088
1098
|
this._contentHeaderIcon = new Icon();
|
|
1089
1099
|
}
|
|
1090
1100
|
|
|
1091
|
-
oSelectedItem && this._contentHeaderIcon.setSrc(
|
|
1101
|
+
oSelectedItem && this._contentHeaderIcon.setSrc(sSrc);
|
|
1092
1102
|
|
|
1093
1103
|
return this._contentHeaderIcon;
|
|
1094
1104
|
};
|
|
@@ -1189,7 +1199,7 @@ sap.ui.define([
|
|
|
1189
1199
|
setTimeout(function() {
|
|
1190
1200
|
bForward = iTop > this._iLastScrollPosition;
|
|
1191
1201
|
bBackward = iTop < this._iLastScrollPosition;
|
|
1192
|
-
this.setActionBarExpanded(!bForward || bBackward);
|
|
1202
|
+
!this._isSingleItem() && this.setActionBarExpanded(!bForward || bBackward);
|
|
1193
1203
|
this._iLastScrollPosition = iTop;
|
|
1194
1204
|
this.bScrolling = false;
|
|
1195
1205
|
}.bind(this), 100);
|
|
@@ -1329,6 +1339,10 @@ sap.ui.define([
|
|
|
1329
1339
|
oSide = this.getDomRef().querySelector(".sapFSPSide"),
|
|
1330
1340
|
iSidePanelWidth = parseInt(window.getComputedStyle(oSide)['width']);
|
|
1331
1341
|
|
|
1342
|
+
if (this.getSidePanelPosition() === SidePanelPosition.Left) {
|
|
1343
|
+
iDeltaX = -iDeltaX;
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1332
1346
|
oEvent.preventDefault();
|
|
1333
1347
|
|
|
1334
1348
|
if (iSidePanelWidth) {
|