@@ -52,11 +52,32 @@ export class FcDatePicker extends DatePicker {
52
52
53
53
this . _styles = { } ;
54
54
55
+ this . _overlayElement . renderer = e => {
56
+ this . _boundOverlayRenderer . call ( this , e ) ;
57
+
58
+ if ( ! this . _overlayContent . _monthScroller . __fcWrapped ) {
59
+ const createElement = this . _overlayContent . _monthScroller . _createElement ;
60
+ this . _overlayContent . _monthScroller . __fcWrapped = true ;
61
+ this . _overlayContent . _monthScroller . _createElement = ( ) => {
62
+ var calendar = createElement ( ) ;
63
+ calendar . addEventListener ( 'dom-change' , ev => {
64
+ if ( ev . composedPath ( ) [ 0 ] . as == 'week' ) {
65
+ setTimeout ( ( ) => this . _updateMonthStyles ( calendar ) ) ;
66
+ }
67
+ } ) ;
68
+ return calendar ;
69
+ }
70
+ }
71
+ } ;
72
+ }
73
+
74
+ _updateMonthStyles ( element ) {
75
+
55
76
const _clearStyles = function ( ) {
56
77
let e = this . shadowRoot . querySelectorAll ( "[part~='date']" ) ;
57
78
e . forEach ( item => item . removeAttribute ( 'class' ) ) ;
58
79
} ;
59
-
80
+
60
81
const _setStyleForDay = function ( i , className ) {
61
82
let e = this . shadowRoot . querySelectorAll ( "[part~='date']:not(:empty)" ) [ i - 1 ] ;
62
83
if ( className ) {
@@ -65,7 +86,7 @@ export class FcDatePicker extends DatePicker {
65
86
e . removeAttribute ( 'class' ) ;
66
87
}
67
88
} ;
68
-
89
+
69
90
const _getStyle = month => {
70
91
const tostr = date => date . toISOString ( ) . substr ( 0 , 7 ) ;
71
92
const add = ( date , delta ) => new Date ( date . getFullYear ( ) , date . getMonth ( ) + delta , 1 ) ;
@@ -98,36 +119,16 @@ export class FcDatePicker extends DatePicker {
98
119
}
99
120
return this . _styles [ key ] ;
100
121
}
101
-
102
- const _updateMonthStyles = function ( element ) {
103
- const month = element . month ;
104
- _clearStyles . call ( element ) ;
105
- _getStyle ( month ) . then ( styles => setTimeout ( ( ) => {
106
- if ( element . month === month ) {
107
- for ( let i in styles ) {
108
- _setStyleForDay . call ( element , i , styles [ i ] ) ;
109
- }
110
- }
111
- } ) ) ;
112
- }
113
-
114
- this . _overlayElement . renderer = e => {
115
- this . _boundOverlayRenderer . call ( this , e ) ;
116
-
117
- if ( ! this . _overlayContent . _monthScroller . __fcWrapped ) {
118
- const createElement = this . _overlayContent . _monthScroller . _createElement ;
119
- this . _overlayContent . _monthScroller . __fcWrapped = true ;
120
- this . _overlayContent . _monthScroller . _createElement = ( ) => {
121
- var calendar = createElement ( ) ;
122
- calendar . addEventListener ( 'dom-change' , ev => {
123
- if ( ev . composedPath ( ) [ 0 ] . as == 'week' ) {
124
- setTimeout ( ( ) => _updateMonthStyles ( calendar ) ) ;
125
- }
126
- } ) ;
127
- return calendar ;
122
+
123
+ const month = element . month ;
124
+ _clearStyles . call ( element ) ;
125
+ _getStyle ( month ) . then ( styles => setTimeout ( ( ) => {
126
+ if ( element . month === month ) {
127
+ for ( let i in styles ) {
128
+ _setStyleForDay . call ( element , i , styles [ i ] ) ;
128
129
}
129
130
}
130
- } ;
131
+ } ) ) ;
131
132
}
132
133
133
134
_onButtonClick ( delta ) {
0 commit comments