@@ -4,7 +4,7 @@ import { fetchCldr } from "@ui5/webcomponents-base/dist/asset-registries/LocaleD
4
4
import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js" ;
5
5
import { getFirstDayOfWeek } from "@ui5/webcomponents-base/dist/config/FormatSettings.js" ;
6
6
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js" ;
7
- import LocaleData from "@ui5/webcomponents-localization/dist/LocaleData .js" ;
7
+ import getCachedLocaleDataInstance from "@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance .js" ;
8
8
import { getCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js" ;
9
9
import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js" ;
10
10
import {
@@ -56,6 +56,7 @@ const monthDiff = (startDate, endDate) => {
56
56
*/
57
57
const metadata = {
58
58
tag : "ui5-daypicker" ,
59
+ languageAware : true ,
59
60
properties : /** @lends sap.ui.webcomponents.main.DayPicker.prototype */ {
60
61
/**
61
62
* A UNIX timestamp - seconds since 00:00:00 UTC on Jan 1, 1970.
@@ -212,8 +213,6 @@ class DayPicker extends UI5Element {
212
213
213
214
constructor ( ) {
214
215
super ( ) ;
215
- this . _oLocale = getLocale ( ) ;
216
- this . _oLocaleData = new LocaleData ( this . _oLocale ) ;
217
216
218
217
this . _itemNav = new ItemNavigation ( this , {
219
218
rowSize : 7 ,
@@ -249,6 +248,8 @@ class DayPicker extends UI5Element {
249
248
}
250
249
251
250
onBeforeRendering ( ) {
251
+ const localeData = getCachedLocaleDataInstance ( getLocale ( ) ) ;
252
+
252
253
let oCalDate ,
253
254
day ,
254
255
timestamp ,
@@ -261,7 +262,7 @@ class DayPicker extends UI5Element {
261
262
let week = [ ] ;
262
263
this . _weekNumbers = [ ] ;
263
264
let weekday ;
264
- const _monthsNameWide = this . _oLocaleData . getMonths ( "wide" , this . _calendarDate . _oUDate . sCalendarType ) ;
265
+ const _monthsNameWide = localeData . getMonths ( "wide" , this . _calendarDate . _oUDate . sCalendarType ) ;
265
266
266
267
this . _minDateObject = new Date ( this . _minDate ) ;
267
268
this . _maxDateObject = new Date ( this . _maxDate ) ;
@@ -335,7 +336,7 @@ class DayPicker extends UI5Element {
335
336
336
337
if ( day . classes . indexOf ( "ui5-dp-wday6" ) !== - 1
337
338
|| _aVisibleDays . length - 1 === i ) {
338
- const weekNumber = calculateWeekNumber ( getFirstDayOfWeek ( ) , oCalDate . toUTCJSDate ( ) , oCalDate . getYear ( ) , this . _oLocale , this . _oLocaleData ) ;
339
+ const weekNumber = calculateWeekNumber ( getFirstDayOfWeek ( ) , oCalDate . toUTCJSDate ( ) , oCalDate . getYear ( ) , getLocale ( ) , localeData ) ;
339
340
if ( lastWeekNumber !== weekNumber ) {
340
341
const weekNum = {
341
342
weekNum : weekNumber ,
@@ -358,8 +359,8 @@ class DayPicker extends UI5Element {
358
359
this . _itemNav . current = todayIndex ;
359
360
}
360
361
361
- const aDayNamesWide = this . _oLocaleData . getDays ( "wide" , this . _primaryCalendarType ) ;
362
- const aDayNamesAbbreviated = this . _oLocaleData . getDays ( "abbreviated" , this . _primaryCalendarType ) ;
362
+ const aDayNamesWide = localeData . getDays ( "wide" , this . _primaryCalendarType ) ;
363
+ const aDayNamesAbbreviated = localeData . getDays ( "abbreviated" , this . _primaryCalendarType ) ;
363
364
const aUltraShortNames = aDayNamesAbbreviated . map ( n => n ) ;
364
365
let dayName ;
365
366
@@ -607,7 +608,8 @@ class DayPicker extends UI5Element {
607
608
}
608
609
609
610
get _primaryCalendarType ( ) {
610
- return this . primaryCalendarType || getCalendarType ( ) || LocaleData . getInstance ( getLocale ( ) ) . getPreferredCalendarType ( ) ;
611
+ const localeData = getCachedLocaleDataInstance ( getLocale ( ) ) ;
612
+ return this . primaryCalendarType || getCalendarType ( ) || localeData . getPreferredCalendarType ( ) ;
611
613
}
612
614
613
615
get focusableDays ( ) {
@@ -793,9 +795,11 @@ class DayPicker extends UI5Element {
793
795
}
794
796
795
797
_isWeekend ( oDate ) {
798
+ const localeData = getCachedLocaleDataInstance ( getLocale ( ) ) ;
799
+
796
800
const iWeekDay = oDate . getDay ( ) ,
797
- iWeekendStart = this . _oLocaleData . getWeekendStart ( ) ,
798
- iWeekendEnd = this . _oLocaleData . getWeekendEnd ( ) ;
801
+ iWeekendStart = localeData . getWeekendStart ( ) ,
802
+ iWeekendEnd = localeData . getWeekendEnd ( ) ;
799
803
800
804
return ( iWeekDay >= iWeekendStart && iWeekDay <= iWeekendEnd )
801
805
|| ( iWeekendEnd < iWeekendStart && ( iWeekDay >= iWeekendStart || iWeekDay <= iWeekendEnd ) ) ;
@@ -926,8 +930,9 @@ class DayPicker extends UI5Element {
926
930
}
927
931
928
932
_getFirstDayOfWeek ( ) {
933
+ const localeData = getCachedLocaleDataInstance ( getLocale ( ) ) ;
929
934
const confFirstDayOfWeek = getFirstDayOfWeek ( ) ;
930
- return Number . isInteger ( confFirstDayOfWeek ) ? confFirstDayOfWeek : this . _oLocaleData . getFirstDayOfWeek ( ) ;
935
+ return Number . isInteger ( confFirstDayOfWeek ) ? confFirstDayOfWeek : localeData . getFirstDayOfWeek ( ) ;
931
936
}
932
937
933
938
get styles ( ) {
0 commit comments