@openui5/sap.ui.unified 1.151.1 → 1.153.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 +5 -5
- package/package.json +2 -2
- package/src/sap/ui/unified/.library +1 -1
- package/src/sap/ui/unified/Calendar.js +180 -1
- package/src/sap/ui/unified/CalendarAppointment.js +1 -1
- package/src/sap/ui/unified/CalendarDateInterval.js +1 -1
- package/src/sap/ui/unified/CalendarLegend.js +1 -1
- package/src/sap/ui/unified/CalendarLegendItem.js +1 -1
- package/src/sap/ui/unified/CalendarMonthInterval.js +1 -1
- package/src/sap/ui/unified/CalendarOneMonthInterval.js +1 -1
- package/src/sap/ui/unified/CalendarRenderer.js +8 -2
- package/src/sap/ui/unified/CalendarRow.js +12 -1
- package/src/sap/ui/unified/CalendarTimeInterval.js +1 -1
- package/src/sap/ui/unified/CalendarWeekInterval.js +1 -1
- package/src/sap/ui/unified/ColorPicker.js +1 -1
- package/src/sap/ui/unified/ColorPickerPopover.js +1 -1
- package/src/sap/ui/unified/ColorPickerRenderer.js +0 -4
- package/src/sap/ui/unified/ContentSwitcher.js +1 -1
- package/src/sap/ui/unified/Currency.js +1 -1
- package/src/sap/ui/unified/CurrencyRenderer.js +1 -1
- package/src/sap/ui/unified/DateRange.js +1 -1
- package/src/sap/ui/unified/DateTypeRange.js +27 -6
- package/src/sap/ui/unified/FileUploader.js +5 -3
- package/src/sap/ui/unified/FileUploaderParameter.js +1 -1
- package/src/sap/ui/unified/FileUploaderXHRSettings.js +1 -1
- package/src/sap/ui/unified/Menu.js +1 -1
- package/src/sap/ui/unified/MenuItem.js +1 -1
- package/src/sap/ui/unified/MenuItemBase.js +1 -1
- package/src/sap/ui/unified/MenuItemGroup.js +1 -1
- package/src/sap/ui/unified/MenuRenderer.js +1 -1
- package/src/sap/ui/unified/MenuTextFieldItem.js +26 -2
- package/src/sap/ui/unified/MonthlyRecurrenceRule.js +1 -1
- package/src/sap/ui/unified/NonWorkingPeriod.js +1 -1
- package/src/sap/ui/unified/RecurrenceRule.js +1 -1
- package/src/sap/ui/unified/RecurringCalendarAppointment.js +1 -1
- package/src/sap/ui/unified/RecurringNonWorkingPeriod.js +1 -1
- package/src/sap/ui/unified/Shell.js +1 -1
- package/src/sap/ui/unified/ShellHeadItem.js +1 -1
- package/src/sap/ui/unified/ShellHeadUserItem.js +1 -1
- package/src/sap/ui/unified/ShellLayout.js +1 -1
- package/src/sap/ui/unified/ShellOverlay.js +1 -1
- package/src/sap/ui/unified/SplitContainer.js +1 -1
- package/src/sap/ui/unified/TimeRange.js +1 -1
- package/src/sap/ui/unified/WeeklyRecurrenceRule.js +1 -1
- package/src/sap/ui/unified/YearlyRecurrenceRule.js +1 -1
- package/src/sap/ui/unified/calendar/DatesRow.js +1 -1
- package/src/sap/ui/unified/calendar/Header.js +1 -1
- package/src/sap/ui/unified/calendar/IndexPicker.js +1 -1
- package/src/sap/ui/unified/calendar/Month.js +26 -9
- package/src/sap/ui/unified/calendar/MonthPicker.js +1 -1
- package/src/sap/ui/unified/calendar/MonthRenderer.js +23 -4
- package/src/sap/ui/unified/calendar/MonthsRow.js +18 -1
- package/src/sap/ui/unified/calendar/OneMonthDatesRow.js +1 -1
- package/src/sap/ui/unified/calendar/TimesRow.js +22 -1
- package/src/sap/ui/unified/calendar/WeeksRow.js +1 -1
- package/src/sap/ui/unified/calendar/YearPicker.js +1 -1
- package/src/sap/ui/unified/calendar/YearRangePicker.js +1 -1
- package/src/sap/ui/unified/library.js +2 -2
- package/src/sap/ui/unified/themes/base/Calendar.less +1 -0
- package/src/sap/ui/unified/themes/base/CalendarRow.less +4 -2
- package/src/sap/ui/unified/themes/base/ColorPicker.less +3 -1
- package/src/sap/ui/unified/themes/sap_hcb/CalendarRow.less +2 -1
package/THIRDPARTY.txt
CHANGED
|
@@ -6,31 +6,31 @@ The full text of all referenced licenses is appended at the end of this file.
|
|
|
6
6
|
|
|
7
7
|
Library: sap.f:
|
|
8
8
|
|
|
9
|
-
Component: UI5 Web Components, version: 2.24.
|
|
9
|
+
Component: UI5 Web Components, version: 2.24.2
|
|
10
10
|
Copyright: SAP
|
|
11
11
|
License: Apache-2.0
|
|
12
12
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
13
13
|
Contained in: src/sap.f/src/sap/f/thirdparty/**
|
|
14
14
|
|
|
15
|
-
Component: UI5 Web Components Fiori, version: 2.24.
|
|
15
|
+
Component: UI5 Web Components Fiori, version: 2.24.2
|
|
16
16
|
Copyright: SAP
|
|
17
17
|
License: Apache-2.0
|
|
18
18
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
19
19
|
Contained in: src/sap.f/src/sap/f/thirdparty/**
|
|
20
20
|
|
|
21
|
-
Component: UI5 Web Components Icons, version: 2.24.
|
|
21
|
+
Component: UI5 Web Components Icons, version: 2.24.2
|
|
22
22
|
Copyright: SAP
|
|
23
23
|
License: Apache-2.0
|
|
24
24
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
25
25
|
Contained in: src/sap.f/src/sap/f/thirdparty/**
|
|
26
26
|
|
|
27
|
-
Component: UI5 Web Components Icons Business Suite, version: 2.24.
|
|
27
|
+
Component: UI5 Web Components Icons Business Suite, version: 2.24.2
|
|
28
28
|
Copyright: SAP
|
|
29
29
|
License: Apache-2.0
|
|
30
30
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
31
31
|
Contained in: src/sap.f/src/sap/f/thirdparty/**
|
|
32
32
|
|
|
33
|
-
Component: UI5 Web Components Icons TNT, version: 2.24.
|
|
33
|
+
Component: UI5 Web Components Icons TNT, version: 2.24.2
|
|
34
34
|
Copyright: SAP
|
|
35
35
|
License: Apache-2.0
|
|
36
36
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.ui.unified",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.153.0",
|
|
4
4
|
"description": "OpenUI5 UI Library sap.ui.unified",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
"url": "https://github.com/UI5/openui5.git"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@openui5/sap.ui.core": "1.
|
|
17
|
+
"@openui5/sap.ui.core": "1.153.0"
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2026 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.153.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>Unified controls intended for both, mobile and desktop scenarios</documentation>
|
|
12
12
|
|
|
@@ -80,7 +80,7 @@ sap.ui.define([
|
|
|
80
80
|
* Basic Calendar.
|
|
81
81
|
* This calendar is used for DatePickers
|
|
82
82
|
* @extends sap.ui.core.Control
|
|
83
|
-
* @version 1.
|
|
83
|
+
* @version 1.153.0
|
|
84
84
|
*
|
|
85
85
|
* @constructor
|
|
86
86
|
* @public
|
|
@@ -225,6 +225,9 @@ sap.ui.define([
|
|
|
225
225
|
*/
|
|
226
226
|
_currentPicker : {type : "string", group : "Appearance", visibility: "hidden"},
|
|
227
227
|
|
|
228
|
+
/** Whether the high-zoom (≤320px) picker is active. @private */
|
|
229
|
+
_highZoomActive : {type : "boolean", defaultValue : false, visibility: "hidden"},
|
|
230
|
+
|
|
228
231
|
/**
|
|
229
232
|
* If set, the calendar week numbering is used for display.
|
|
230
233
|
* If not set, the calendar week numbering of the global configuration is used.
|
|
@@ -436,6 +439,11 @@ sap.ui.define([
|
|
|
436
439
|
//when used in a DatePicker, in mobile there is no cancel button
|
|
437
440
|
this._bSkipCancelButtonRendering = false;
|
|
438
441
|
this._bActionTriggeredFromSecondHeader = false;
|
|
442
|
+
|
|
443
|
+
// High-zoom (≤320px) support — only for standalone Calendar (not embedded in DatePicker)
|
|
444
|
+
this._oHZPicker = null;
|
|
445
|
+
this._bHZListenersRegistered = false;
|
|
446
|
+
this._fnHZResizeHandler = this._onHZResize.bind(this);
|
|
439
447
|
};
|
|
440
448
|
|
|
441
449
|
Calendar.prototype.exit = function(){
|
|
@@ -460,6 +468,19 @@ sap.ui.define([
|
|
|
460
468
|
}
|
|
461
469
|
|
|
462
470
|
this._oSelectedMonth = null;
|
|
471
|
+
|
|
472
|
+
// Cleanup high-zoom
|
|
473
|
+
if (this._bHZListenersRegistered) {
|
|
474
|
+
if (window.visualViewport) {
|
|
475
|
+
window.visualViewport.removeEventListener("resize", this._fnHZResizeHandler);
|
|
476
|
+
}
|
|
477
|
+
window.removeEventListener("resize", this._fnHZResizeHandler);
|
|
478
|
+
}
|
|
479
|
+
this._fnHZResizeHandler = null;
|
|
480
|
+
if (this._oHZPicker) {
|
|
481
|
+
this._oHZPicker.destroy();
|
|
482
|
+
this._oHZPicker = null;
|
|
483
|
+
}
|
|
463
484
|
};
|
|
464
485
|
|
|
465
486
|
Calendar.prototype._initializeHeader = function() {
|
|
@@ -649,6 +670,25 @@ sap.ui.define([
|
|
|
649
670
|
|
|
650
671
|
Calendar.prototype.onAfterRendering = function(oEvent){
|
|
651
672
|
|
|
673
|
+
// Check zoom state after first render (resize handler skips before DOM exists)
|
|
674
|
+
if (!this._oSpecialDatesControlOrigin) {
|
|
675
|
+
// Register listeners lazily so embedded Calendars (inside DatePicker) never get them
|
|
676
|
+
if (!this._bHZListenersRegistered) {
|
|
677
|
+
if (window.visualViewport) {
|
|
678
|
+
window.visualViewport.addEventListener("resize", this._fnHZResizeHandler);
|
|
679
|
+
}
|
|
680
|
+
window.addEventListener("resize", this._fnHZResizeHandler);
|
|
681
|
+
this._bHZListenersRegistered = true;
|
|
682
|
+
}
|
|
683
|
+
const bHighZoom = this._isHighZoom();
|
|
684
|
+
if (bHighZoom !== this.getProperty("_highZoomActive")) {
|
|
685
|
+
this.setProperty("_highZoomActive", bHighZoom);
|
|
686
|
+
if (bHighZoom) {
|
|
687
|
+
this._initHZPicker();
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
|
|
652
692
|
// check if day names and month names are too big -> use smaller ones
|
|
653
693
|
if (!this._getSucessorsPickerPopup()) {
|
|
654
694
|
_checkNamesLength.call(this);
|
|
@@ -1198,6 +1238,18 @@ sap.ui.define([
|
|
|
1198
1238
|
return this.setProperty("intervalSelection", bEnabled);
|
|
1199
1239
|
};
|
|
1200
1240
|
|
|
1241
|
+
// Override to invalidate the high-zoom picker when interval selection changes
|
|
1242
|
+
// so the correct picker type (DatePicker vs DateRangeSelection) is used on next zoom-in.
|
|
1243
|
+
const _origSetIntervalSelection = Calendar.prototype.setIntervalSelection;
|
|
1244
|
+
Calendar.prototype.setIntervalSelection = function(bEnabled) {
|
|
1245
|
+
if (this._oHZPicker) {
|
|
1246
|
+
this.removeDependent(this._oHZPicker);
|
|
1247
|
+
this._oHZPicker.destroy();
|
|
1248
|
+
this._oHZPicker = null;
|
|
1249
|
+
}
|
|
1250
|
+
return _origSetIntervalSelection.call(this, bEnabled);
|
|
1251
|
+
};
|
|
1252
|
+
|
|
1201
1253
|
/**
|
|
1202
1254
|
* Setter for the property <code>singleSelection</code>. If set to <code>true</code> only a single date or single interval, when <code>intervalSelection</code> is set to <code>true</code>, can be selected.
|
|
1203
1255
|
*
|
|
@@ -3154,6 +3206,133 @@ sap.ui.define([
|
|
|
3154
3206
|
this._updateHeadersYearPrimaryText(this._getYearString());
|
|
3155
3207
|
}
|
|
3156
3208
|
|
|
3209
|
+
// ============================================================
|
|
3210
|
+
// High-zoom (≤320px) support for standalone Calendar
|
|
3211
|
+
// At ≤320px a DatePicker (or DateRangeSelection for intervalSelection)
|
|
3212
|
+
// is shown instead of the calendar grid. DatePicker automatically
|
|
3213
|
+
// activates its own DateHighZoomInputs layout at that viewport width.
|
|
3214
|
+
// ============================================================
|
|
3215
|
+
|
|
3216
|
+
/**
|
|
3217
|
+
* Returns true when the viewport is ≤ 320 px.
|
|
3218
|
+
* @returns {boolean}
|
|
3219
|
+
* @private
|
|
3220
|
+
*/
|
|
3221
|
+
Calendar.prototype._isHighZoom = function() {
|
|
3222
|
+
const iWidth = (window.visualViewport && window.visualViewport.width) || window.innerWidth;
|
|
3223
|
+
return iWidth <= 320;
|
|
3224
|
+
};
|
|
3225
|
+
|
|
3226
|
+
/**
|
|
3227
|
+
* Called on viewport resize. Activates or deactivates high-zoom mode
|
|
3228
|
+
* only for standalone Calendar (not when embedded in DatePicker).
|
|
3229
|
+
* @private
|
|
3230
|
+
*/
|
|
3231
|
+
Calendar.prototype._onHZResize = function() {
|
|
3232
|
+
// Skip when Calendar is embedded in a picker — the picker manages zoom
|
|
3233
|
+
if (this._oSpecialDatesControlOrigin) { return; }
|
|
3234
|
+
// Skip until first render — visualViewport fires during initial layout
|
|
3235
|
+
if (!this.getDomRef()) { return; }
|
|
3236
|
+
|
|
3237
|
+
const bHighZoom = this._isHighZoom();
|
|
3238
|
+
if (bHighZoom === this.getProperty("_highZoomActive")) { return; }
|
|
3239
|
+
|
|
3240
|
+
if (bHighZoom) {
|
|
3241
|
+
this.setProperty("_highZoomActive", true);
|
|
3242
|
+
this._initHZPicker();
|
|
3243
|
+
} else {
|
|
3244
|
+
// Destroy the picker so Calendar re-renders cleanly as its own DOM root.
|
|
3245
|
+
if (this._oHZPicker) {
|
|
3246
|
+
this.removeDependent(this._oHZPicker);
|
|
3247
|
+
this._oHZPicker.destroy();
|
|
3248
|
+
this._oHZPicker = null;
|
|
3249
|
+
}
|
|
3250
|
+
this.setProperty("_highZoomActive", false);
|
|
3251
|
+
}
|
|
3252
|
+
};
|
|
3253
|
+
|
|
3254
|
+
/**
|
|
3255
|
+
* Lazily loads DatePicker (or DateRangeSelection) via runtime require
|
|
3256
|
+
* and shows it in place of the calendar grid at high zoom.
|
|
3257
|
+
* sap.ui.unified → sap.m is not a build-time dependency so we use
|
|
3258
|
+
* sap.ui.require (same pattern as FileUploader.js in this library).
|
|
3259
|
+
* @private
|
|
3260
|
+
*/
|
|
3261
|
+
Calendar.prototype._initHZPicker = function() {
|
|
3262
|
+
const sModule = this.getIntervalSelection()
|
|
3263
|
+
? "sap/m/DateRangeSelection"
|
|
3264
|
+
: "sap/m/DatePicker";
|
|
3265
|
+
|
|
3266
|
+
const FnClass = sap.ui.require(sModule);
|
|
3267
|
+
if (FnClass) {
|
|
3268
|
+
this._createHZPicker(FnClass);
|
|
3269
|
+
} else {
|
|
3270
|
+
sap.ui.require([sModule], function(Cls) {
|
|
3271
|
+
if (!this.bIsDestroyed) {
|
|
3272
|
+
this._createHZPicker(Cls);
|
|
3273
|
+
}
|
|
3274
|
+
}.bind(this));
|
|
3275
|
+
}
|
|
3276
|
+
};
|
|
3277
|
+
|
|
3278
|
+
/**
|
|
3279
|
+
* Creates and configures the high-zoom picker (DatePicker or DateRangeSelection).
|
|
3280
|
+
* @param {function} FnClass - DatePicker or DateRangeSelection constructor
|
|
3281
|
+
* @private
|
|
3282
|
+
*/
|
|
3283
|
+
Calendar.prototype._createHZPicker = function(FnClass) {
|
|
3284
|
+
if (!this._oHZPicker) {
|
|
3285
|
+
const bRange = this.getIntervalSelection();
|
|
3286
|
+
const sSecondary = this.getSecondaryCalendarType();
|
|
3287
|
+
const sPrimary = this.getProperty("primaryCalendarType");
|
|
3288
|
+
|
|
3289
|
+
const oPicker = new FnClass(this.getId() + "-hzPicker", {
|
|
3290
|
+
displayFormat: "dd.MM.yyyy",
|
|
3291
|
+
displayFormatType: sPrimary || undefined,
|
|
3292
|
+
minDate: this._oMinDate.toLocalJSDate(),
|
|
3293
|
+
maxDate: this._oMaxDate.toLocalJSDate(),
|
|
3294
|
+
change: function(oEvent) {
|
|
3295
|
+
// Propagate the selected date(s) back to the Calendar aggregation
|
|
3296
|
+
const oDateValue = oPicker.getDateValue();
|
|
3297
|
+
if (!oDateValue) { return; }
|
|
3298
|
+
|
|
3299
|
+
// DateRange is guaranteed loaded (transitive dep via Month/MonthPicker/YearPicker)
|
|
3300
|
+
const DateRange = sap.ui.require("sap/ui/unified/DateRange");
|
|
3301
|
+
|
|
3302
|
+
if (DateRange) {
|
|
3303
|
+
const oRange = new DateRange({ startDate: oDateValue });
|
|
3304
|
+
if (bRange && oPicker.getSecondDateValue()) {
|
|
3305
|
+
oRange.setEndDate(oPicker.getSecondDateValue());
|
|
3306
|
+
}
|
|
3307
|
+
this.removeAllSelectedDates();
|
|
3308
|
+
this.addSelectedDate(oRange);
|
|
3309
|
+
this.fireSelect();
|
|
3310
|
+
}
|
|
3311
|
+
}.bind(this)
|
|
3312
|
+
});
|
|
3313
|
+
|
|
3314
|
+
// Pre-fill from current Calendar selection
|
|
3315
|
+
const aSelected = this.getSelectedDates();
|
|
3316
|
+
if (aSelected.length > 0 && aSelected[0].getStartDate()) {
|
|
3317
|
+
oPicker.setDateValue(aSelected[0].getStartDate());
|
|
3318
|
+
if (bRange && aSelected[0].getEndDate()) {
|
|
3319
|
+
oPicker.setSecondDateValue(aSelected[0].getEndDate());
|
|
3320
|
+
}
|
|
3321
|
+
}
|
|
3322
|
+
|
|
3323
|
+
this._oHZPicker = oPicker;
|
|
3324
|
+
// Use the setter so _bSecondaryCalendarTypeSet is flagged correctly —
|
|
3325
|
+
// passing secondaryCalendarType in the constructor bypasses the setter.
|
|
3326
|
+
if (sSecondary) {
|
|
3327
|
+
oPicker.setSecondaryCalendarType(sSecondary);
|
|
3328
|
+
}
|
|
3329
|
+
this.addDependent(oPicker);
|
|
3330
|
+
}
|
|
3331
|
+
|
|
3332
|
+
this._oHZPicker.setVisible(true);
|
|
3333
|
+
this.invalidate();
|
|
3334
|
+
};
|
|
3335
|
+
|
|
3157
3336
|
return Calendar;
|
|
3158
3337
|
|
|
3159
3338
|
});
|
|
@@ -64,7 +64,7 @@ sap.ui.define([
|
|
|
64
64
|
* @class
|
|
65
65
|
* <code>CalendarDateInterval</code> only visualizes the dates in a one-line interval and allows the selection of a single day.
|
|
66
66
|
* @extends sap.ui.unified.Calendar
|
|
67
|
-
* @version 1.
|
|
67
|
+
* @version 1.153.0
|
|
68
68
|
*
|
|
69
69
|
* @constructor
|
|
70
70
|
* @public
|
|
@@ -65,7 +65,7 @@ sap.ui.define([
|
|
|
65
65
|
* <b>Note:</b> UI5Date or JavaScript Date objects are used to set and return the months, mark them as selected or as a special type.
|
|
66
66
|
* But the date part of the Date object is not used. If a Date object is returned the date will be set to the 1st of the corresponding month.
|
|
67
67
|
* @extends sap.ui.core.Control
|
|
68
|
-
* @version 1.
|
|
68
|
+
* @version 1.153.0
|
|
69
69
|
*
|
|
70
70
|
* @constructor
|
|
71
71
|
* @public
|
|
@@ -57,7 +57,7 @@ sap.ui.define([
|
|
|
57
57
|
* Navigation via year picker switches to the corresponding year and the same month as before the navigation.
|
|
58
58
|
*
|
|
59
59
|
* @extends sap.ui.unified.CalendarDateInterval
|
|
60
|
-
* @version 1.
|
|
60
|
+
* @version 1.153.0
|
|
61
61
|
*
|
|
62
62
|
* @constructor
|
|
63
63
|
* @private
|
|
@@ -67,10 +67,16 @@ sap.ui.define(["sap/ui/core/Lib"],
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
if (this.addAttributes) {
|
|
70
|
-
// additional stuff by inherited controls
|
|
71
70
|
this.addAttributes(oRm, oCal);
|
|
72
71
|
}
|
|
73
|
-
oRm.openEnd();
|
|
72
|
+
oRm.openEnd();
|
|
73
|
+
|
|
74
|
+
// In high-zoom standalone mode render only the DatePicker/DateRangeSelection proxy
|
|
75
|
+
if (oCal.getProperty("_highZoomActive") && oCal._oHZPicker) {
|
|
76
|
+
oRm.renderControl(oCal._oHZPicker);
|
|
77
|
+
oRm.close("div");
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
74
80
|
|
|
75
81
|
var oHeader = oCal.getAggregation("header");
|
|
76
82
|
oRm.renderControl(oHeader);
|
|
@@ -84,7 +84,7 @@ sap.ui.define([
|
|
|
84
84
|
* @class
|
|
85
85
|
* A calendar row with a header and appointments. The Appointments will be placed in the defined interval.
|
|
86
86
|
* @extends sap.ui.core.Control
|
|
87
|
-
* @version 1.
|
|
87
|
+
* @version 1.153.0
|
|
88
88
|
*
|
|
89
89
|
* @constructor
|
|
90
90
|
* @public
|
|
@@ -529,6 +529,7 @@ sap.ui.define([
|
|
|
529
529
|
if (jQuery(oEvent.target).hasClass("sapUiCalendarApp")) {
|
|
530
530
|
// focus on appointment
|
|
531
531
|
_focusAppointment.call(this, oEvent.target.id);
|
|
532
|
+
oEvent.target.classList.toggle("sapUiCalItemFocusFromTouch", !!this._bFocusFromTouch);
|
|
532
533
|
} else {
|
|
533
534
|
// check if inside appointment
|
|
534
535
|
var aVisibleAppointments = this._getVisibleAppointments();
|
|
@@ -565,6 +566,16 @@ sap.ui.define([
|
|
|
565
566
|
|
|
566
567
|
};
|
|
567
568
|
|
|
569
|
+
CalendarRow.prototype.ontouchstart = function(oEvent) {
|
|
570
|
+
if (oEvent.target.closest(".sapUiCalendarApp")) {
|
|
571
|
+
this._bFocusFromTouch = true;
|
|
572
|
+
}
|
|
573
|
+
};
|
|
574
|
+
|
|
575
|
+
CalendarRow.prototype.onkeydown = function(oEvent) {
|
|
576
|
+
this._bFocusFromTouch = false;
|
|
577
|
+
};
|
|
578
|
+
|
|
568
579
|
CalendarRow.prototype.onsapleft = function(oEvent) {
|
|
569
580
|
|
|
570
581
|
if (jQuery(oEvent.target).hasClass("sapUiCalendarApp")) {
|
|
@@ -39,7 +39,7 @@ sap.ui.define(['sap/ui/unified/calendar/CalendarUtils', 'sap/ui/unified/calendar
|
|
|
39
39
|
* its start date to the first date of the same week as the date the user chose.
|
|
40
40
|
*
|
|
41
41
|
* @extends sap.ui.unified.CalendarDateInterval
|
|
42
|
-
* @version 1.
|
|
42
|
+
* @version 1.153.0
|
|
43
43
|
*
|
|
44
44
|
* @constructor
|
|
45
45
|
* @private
|
|
@@ -78,10 +78,6 @@ sap.ui.define(['./ColorPickerDisplayMode', "sap/ui/Device", "sap/ui/core/Lib"],
|
|
|
78
78
|
ColorPickerRenderer.renderSliders = function(oRm, oControl) {
|
|
79
79
|
oRm.openStart("div");
|
|
80
80
|
oRm.class("sapUiCPSlidersWrapper");
|
|
81
|
-
oRm.accessibilityState({
|
|
82
|
-
role: "group",
|
|
83
|
-
label: oRb.getText("COLORPICKER_SLIDERS_GROUP_LABEL")
|
|
84
|
-
});
|
|
85
81
|
oRm.openEnd();
|
|
86
82
|
oRm.renderControl(oControl.getAggregation("_oSlider"));
|
|
87
83
|
oRm.renderControl(oControl.getAggregation("_oAlphaSlider"));
|
|
@@ -5,15 +5,24 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
// Provides control sap.ui.unified.DateTypeRange.
|
|
8
|
-
sap.ui.define([
|
|
9
|
-
|
|
8
|
+
sap.ui.define([
|
|
9
|
+
'./DateRange',
|
|
10
|
+
'./library',
|
|
11
|
+
'sap/ui/core/library'
|
|
12
|
+
],
|
|
13
|
+
function(
|
|
14
|
+
DateRange,
|
|
15
|
+
library,
|
|
16
|
+
coreLibrary
|
|
17
|
+
) {
|
|
10
18
|
"use strict";
|
|
11
19
|
|
|
12
|
-
|
|
13
|
-
|
|
14
20
|
// shortcut for sap.ui.unified.CalendarDayType
|
|
15
21
|
var CalendarDayType = library.CalendarDayType;
|
|
16
22
|
|
|
23
|
+
// shortcut for sap.ui.core.aria.HasPopup
|
|
24
|
+
var AriaHasPopup = coreLibrary.aria.HasPopup;
|
|
25
|
+
|
|
17
26
|
|
|
18
27
|
|
|
19
28
|
/**
|
|
@@ -25,7 +34,7 @@ sap.ui.define(['./DateRange', './library'],
|
|
|
25
34
|
* @class
|
|
26
35
|
* Date range with calendar day type information. Used to visualize special days in the Calendar.
|
|
27
36
|
* @extends sap.ui.unified.DateRange
|
|
28
|
-
* @version 1.
|
|
37
|
+
* @version 1.153.0
|
|
29
38
|
*
|
|
30
39
|
* @constructor
|
|
31
40
|
* @public
|
|
@@ -54,7 +63,19 @@ sap.ui.define(['./DateRange', './library'],
|
|
|
54
63
|
* If set, this color will override the default background color defined in <code>Calendar</code> <code>specialDates</code> aggregation
|
|
55
64
|
* @since 1.76.0
|
|
56
65
|
*/
|
|
57
|
-
color : {type : "sap.ui.core.CSSColor", group : "Appearance", defaultValue : null}
|
|
66
|
+
color : {type : "sap.ui.core.CSSColor", group : "Appearance", defaultValue : null},
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Defines the value of the <code>aria-haspopup</code> attribute of the day cell.
|
|
70
|
+
*
|
|
71
|
+
* <b>Note:</b> Use this property only when the cell is related to a popover/popup.
|
|
72
|
+
* The value should be equal to the main/root role of the popup.
|
|
73
|
+
*
|
|
74
|
+
* <b>Note:</b> Setting <code>type</code> to <code>sap.ui.unified.CalendarDayType.None</code>
|
|
75
|
+
* together with this property allows adding the attribute without any visual marking.
|
|
76
|
+
* @since 1.152.0
|
|
77
|
+
*/
|
|
78
|
+
ariaHasPopup : {type : "sap.ui.core.aria.HasPopup", group : "Accessibility", defaultValue : AriaHasPopup.None}
|
|
58
79
|
}
|
|
59
80
|
}});
|
|
60
81
|
|
|
@@ -27,6 +27,7 @@ sap.ui.define([
|
|
|
27
27
|
"sap/ui/events/KeyCodes",
|
|
28
28
|
"sap/base/Log",
|
|
29
29
|
"sap/base/security/encodeXML",
|
|
30
|
+
"sap/ui/base/ManagedObject",
|
|
30
31
|
"sap/ui/thirdparty/jquery",
|
|
31
32
|
// jQuery Plugin "addAriaDescribedBy"
|
|
32
33
|
"sap/ui/dom/jquery/Aria"
|
|
@@ -52,6 +53,7 @@ sap.ui.define([
|
|
|
52
53
|
KeyCodes,
|
|
53
54
|
Log,
|
|
54
55
|
encodeXML,
|
|
56
|
+
ManagedObject,
|
|
55
57
|
jQuery
|
|
56
58
|
) {
|
|
57
59
|
|
|
@@ -79,7 +81,7 @@ sap.ui.define([
|
|
|
79
81
|
* @implements sap.ui.core.IFormContent, sap.ui.unified.IProcessableBlobs
|
|
80
82
|
*
|
|
81
83
|
* @author SAP SE
|
|
82
|
-
* @version 1.
|
|
84
|
+
* @version 1.153.0
|
|
83
85
|
*
|
|
84
86
|
* @constructor
|
|
85
87
|
* @public
|
|
@@ -901,8 +903,8 @@ sap.ui.define([
|
|
|
901
903
|
// Add new tokens for selected files
|
|
902
904
|
this._selectedFileNames.forEach((fileName) => {
|
|
903
905
|
oTokenizer.addToken(new Token({
|
|
904
|
-
text: fileName,
|
|
905
|
-
tooltip: fileName,
|
|
906
|
+
text: ManagedObject.escapeSettingsValue(fileName),
|
|
907
|
+
tooltip: ManagedObject.escapeSettingsValue(fileName),
|
|
906
908
|
selected: false
|
|
907
909
|
}));
|
|
908
910
|
});
|