@@ -60,6 +60,7 @@ const CLASS_NAME_CALENDAR_CELL = 'calendar-cell'
60
60
const CLASS_NAME_CALENDAR_CELL_INNER = 'calendar-cell-inner'
61
61
const CLASS_NAME_CALENDAR_ROW = 'calendar-row'
62
62
const CLASS_NAME_CALENDARS = 'calendars'
63
+ const CLASS_NAME_SHOW_WEEK_NUMBERS = 'show-week-numbers'
63
64
64
65
const SELECTOR_BTN_DOUBLE_NEXT = '.btn-double-next'
65
66
const SELECTOR_BTN_DOUBLE_PREV = '.btn-double-prev'
@@ -69,7 +70,9 @@ const SELECTOR_BTN_PREV = '.btn-prev'
69
70
const SELECTOR_BTN_YEAR = '.btn-year'
70
71
const SELECTOR_CALENDAR = '.calendar'
71
72
const SELECTOR_CALENDAR_CELL = '.calendar-cell'
73
+ const SELECTOR_CALENDAR_CELL_CLICKABLE = `${ SELECTOR_CALENDAR_CELL } [tabindex="0"]`
72
74
const SELECTOR_CALENDAR_ROW = '.calendar-row'
75
+ const SELECTOR_CALENDAR_ROW_CLICKABLE = `${ SELECTOR_CALENDAR_ROW } [tabindex="0"]`
73
76
const SELECTOR_DATA_TOGGLE = '[data-coreui-toggle="calendar"]'
74
77
75
78
const Default = {
@@ -259,11 +262,11 @@ class Calendar extends BaseComponent {
259
262
let element = event . target
260
263
261
264
if ( this . _config . selectionType === 'week' && element . tabIndex === - 1 ) {
262
- element = element . closest ( 'tr[tabindex="0"]' )
265
+ element = element . closest ( SELECTOR_CALENDAR_ROW_CLICKABLE )
263
266
}
264
267
265
268
const list = SelectorEngine . find (
266
- this . _config . selectionType === 'week' ? 'tr[tabindex="0"]' : 'td[tabindex="0"]' ,
269
+ this . _config . selectionType === 'week' ? SELECTOR_CALENDAR_ROW_CLICKABLE : SELECTOR_CALENDAR_CELL_CLICKABLE ,
267
270
this . _element
268
271
)
269
272
@@ -292,7 +295,7 @@ class Calendar extends BaseComponent {
292
295
const callback = key => {
293
296
setTimeout ( ( ) => {
294
297
const _list = SelectorEngine . find (
295
- 'td[tabindex="0"], tr[tabindex="0"]' ,
298
+ ` ${ SELECTOR_CALENDAR_CELL_CLICKABLE } , ${ SELECTOR_CALENDAR_ROW_CLICKABLE } ` ,
296
299
SelectorEngine . find ( '.calendar' , this . _element ) . pop ( )
297
300
)
298
301
@@ -371,51 +374,51 @@ class Calendar extends BaseComponent {
371
374
}
372
375
373
376
_addEventListeners ( ) {
374
- EventHandler . on ( this . _element , EVENT_CLICK_DATA_API , ` ${ SELECTOR_CALENDAR_CELL } [tabindex="0"]` , event => {
377
+ EventHandler . on ( this . _element , EVENT_CLICK_DATA_API , SELECTOR_CALENDAR_CELL_CLICKABLE , event => {
375
378
this . _handleCalendarClick ( event )
376
379
} )
377
380
378
- EventHandler . on ( this . _element , EVENT_KEYDOWN , ` ${ SELECTOR_CALENDAR_CELL } [tabindex="0"]` , event => {
381
+ EventHandler . on ( this . _element , EVENT_KEYDOWN , SELECTOR_CALENDAR_CELL_CLICKABLE , event => {
379
382
this . _handleCalendarKeydown ( event )
380
383
} )
381
384
382
- EventHandler . on ( this . _element , EVENT_MOUSEENTER , ` ${ SELECTOR_CALENDAR_CELL } [tabindex="0"]` , event => {
385
+ EventHandler . on ( this . _element , EVENT_MOUSEENTER , SELECTOR_CALENDAR_CELL_CLICKABLE , event => {
383
386
this . _handleCalendarMouseEnter ( event )
384
387
} )
385
388
386
- EventHandler . on ( this . _element , EVENT_MOUSELEAVE , ` ${ SELECTOR_CALENDAR_CELL } [tabindex="0"]` , ( ) => {
389
+ EventHandler . on ( this . _element , EVENT_MOUSELEAVE , SELECTOR_CALENDAR_CELL_CLICKABLE , ( ) => {
387
390
this . _handleCalendarMouseLeave ( )
388
391
} )
389
392
390
- EventHandler . on ( this . _element , EVENT_FOCUS , ` ${ SELECTOR_CALENDAR_CELL } [tabindex="0"]` , event => {
393
+ EventHandler . on ( this . _element , EVENT_FOCUS , SELECTOR_CALENDAR_CELL_CLICKABLE , event => {
391
394
this . _handleCalendarMouseEnter ( event )
392
395
} )
393
396
394
- EventHandler . on ( this . _element , EVENT_BLUR , ` ${ SELECTOR_CALENDAR_CELL } [tabindex="0"]` , ( ) => {
397
+ EventHandler . on ( this . _element , EVENT_BLUR , SELECTOR_CALENDAR_CELL_CLICKABLE , ( ) => {
395
398
this . _handleCalendarMouseLeave ( )
396
399
} )
397
400
398
- EventHandler . on ( this . _element , EVENT_CLICK_DATA_API , ` ${ SELECTOR_CALENDAR_ROW } [tabindex="0"]` , event => {
401
+ EventHandler . on ( this . _element , EVENT_CLICK_DATA_API , SELECTOR_CALENDAR_ROW_CLICKABLE , event => {
399
402
this . _handleCalendarClick ( event )
400
403
} )
401
404
402
- EventHandler . on ( this . _element , EVENT_KEYDOWN , ` ${ SELECTOR_CALENDAR_ROW } [tabindex="0"]` , event => {
405
+ EventHandler . on ( this . _element , EVENT_KEYDOWN , SELECTOR_CALENDAR_ROW_CLICKABLE , event => {
403
406
this . _handleCalendarKeydown ( event )
404
407
} )
405
408
406
- EventHandler . on ( this . _element , EVENT_MOUSEENTER , ` ${ SELECTOR_CALENDAR_ROW } [tabindex="0"]` , event => {
409
+ EventHandler . on ( this . _element , EVENT_MOUSEENTER , SELECTOR_CALENDAR_ROW_CLICKABLE , event => {
407
410
this . _handleCalendarMouseEnter ( event )
408
411
} )
409
412
410
- EventHandler . on ( this . _element , EVENT_MOUSELEAVE , ` ${ SELECTOR_CALENDAR_ROW } [tabindex="0"]` , ( ) => {
413
+ EventHandler . on ( this . _element , EVENT_MOUSELEAVE , SELECTOR_CALENDAR_ROW_CLICKABLE , ( ) => {
411
414
this . _handleCalendarMouseLeave ( )
412
415
} )
413
416
414
- EventHandler . on ( this . _element , EVENT_FOCUS , ` ${ SELECTOR_CALENDAR_ROW } [tabindex="0"]` , event => {
417
+ EventHandler . on ( this . _element , EVENT_FOCUS , SELECTOR_CALENDAR_ROW_CLICKABLE , event => {
415
418
this . _handleCalendarMouseEnter ( event )
416
419
} )
417
420
418
- EventHandler . on ( this . _element , EVENT_BLUR , ` ${ SELECTOR_CALENDAR_ROW } [tabindex="0"]` , ( ) => {
421
+ EventHandler . on ( this . _element , EVENT_BLUR , SELECTOR_CALENDAR_ROW_CLICKABLE , ( ) => {
419
422
this . _handleCalendarMouseLeave ( )
420
423
} )
421
424
@@ -600,14 +603,14 @@ class Calendar extends BaseComponent {
600
603
<thead>
601
604
<tr>
602
605
${ this . _config . showWeekNumber ?
603
- `<th class="calendar-cell ">
606
+ `<th class="${ CLASS_NAME_CALENDAR_CELL } ">
604
607
<div class="calendar-header-cell-inner">
605
608
${ this . _config . weekNumbersLabel ?? '' }
606
609
</div>
607
610
</th>` : ''
608
611
}
609
612
${ weekDays . map ( ( { date } ) => (
610
- `<th class="calendar-cell " abbr="${ date . toLocaleDateString ( this . _config . locale , { weekday : 'long' } ) } ">
613
+ `<th class="${ CLASS_NAME_CALENDAR_CELL } " abbr="${ date . toLocaleDateString ( this . _config . locale , { weekday : 'long' } ) } ">
611
614
<div class="calendar-header-cell-inner">
612
615
${ typeof this . _config . weekdayFormat === 'string' ?
613
616
date . toLocaleDateString ( this . _config . locale , { weekday : this . _config . weekdayFormat } ) :
@@ -629,7 +632,7 @@ class Calendar extends BaseComponent {
629
632
)
630
633
return (
631
634
`<tr
632
- class="calendar-row ${ this . _config . selectionType === 'week' && this . _sharedClassNames ( date ) } "
635
+ class="${ CLASS_NAME_CALENDAR_ROW } ${ this . _config . selectionType === 'week' && this . _sharedClassNames ( date ) } "
633
636
tabindex="${
634
637
this . _config . selectionType === 'week' &&
635
638
week . days . some ( day => day . month === 'current' ) &&
@@ -643,7 +646,7 @@ class Calendar extends BaseComponent {
643
646
${ week . days . map ( ( { date, month } ) => (
644
647
month === 'current' || this . _config . showAdjacementDays ?
645
648
`<td
646
- class="calendar-cell ${ this . _dayClassNames ( date , month ) } "
649
+ class="${ CLASS_NAME_CALENDAR_CELL } ${ this . _dayClassNames ( date , month ) } "
647
650
tabindex="${
648
651
this . _config . selectionType === 'day' &&
649
652
( month === 'current' || this . _config . selectAdjacementDays ) &&
@@ -666,7 +669,7 @@ class Calendar extends BaseComponent {
666
669
const date = new Date ( calendarDate . getFullYear ( ) , ( index * 3 ) + idx , 1 )
667
670
return (
668
671
`<td
669
- class="calendar-cell ${ this . _sharedClassNames ( date ) } "
672
+ class="${ CLASS_NAME_CALENDAR_CELL } ${ this . _sharedClassNames ( date ) } "
670
673
data-coreui-date="${ date . toDateString ( ) } "
671
674
tabindex="${ isDateDisabled ( date , this . _config . minDate , this . _config . maxDate , this . _config . disabledDates ) ? - 1 : 0 } "
672
675
${ isDateSelected ( date , this . _startDate , this . _endDate ) ? 'aria-selected="true"' : '' }
@@ -685,7 +688,7 @@ class Calendar extends BaseComponent {
685
688
const date = new Date ( year , 0 , 1 )
686
689
return (
687
690
`<td
688
- class="calendar-cell ${ this . _sharedClassNames ( date ) } "
691
+ class="${ CLASS_NAME_CALENDAR_CELL } ${ this . _sharedClassNames ( date ) } "
689
692
data-coreui-date="${ date . toDateString ( ) } "
690
693
tabindex="${ isDateDisabled ( date , this . _config . minDate , this . _config . maxDate , this . _config . disabledDates ) ? - 1 : 0 } "
691
694
${ isDateSelected ( date , this . _startDate , this . _endDate ) ? 'aria-selected="true"' : '' }
@@ -711,7 +714,7 @@ class Calendar extends BaseComponent {
711
714
}
712
715
713
716
if ( this . _config . showWeekNumber ) {
714
- this . _element . classList . add ( 'show-week-numbers' )
717
+ this . _element . classList . add ( CLASS_NAME_SHOW_WEEK_NUMBERS )
715
718
}
716
719
717
720
for ( const [ index , _ ] of Array . from ( { length : this . _config . calendars } ) . entries ( ) ) {
@@ -751,7 +754,7 @@ class Calendar extends BaseComponent {
751
754
return
752
755
}
753
756
754
- const cells = SelectorEngine . find ( ` ${ SELECTOR_CALENDAR_CELL } [tabindex="0"]` , this . _element )
757
+ const cells = SelectorEngine . find ( SELECTOR_CALENDAR_CELL_CLICKABLE , this . _element )
755
758
756
759
for ( const cell of cells ) {
757
760
const date = new Date ( Manipulator . getDataAttribute ( cell , 'date' ) )
0 commit comments