11/* Magic Mirror
2- * Module: MMM-CalendarExtTimeline
2+ * Module: MMM-CalendarExtMinimonth
33*
44* By eouia
55*/
@@ -22,7 +22,7 @@ Module.register("MMM-CalendarExtMinimonth",{
2222 start : function ( ) {
2323 this . refreshTimer = null
2424 this . events = [ ]
25- this . names = this . config . calendars
25+ this . names = this . config . calendars
2626 this . slots = [ ]
2727 this . maxEventCounts = 0
2828 } ,
@@ -32,8 +32,8 @@ Module.register("MMM-CalendarExtMinimonth",{
3232 } ,
3333
3434 getScripts : function ( ) {
35- return [ "moment.js" ] ;
36- } ,
35+ return [ "moment.js" ] ;
36+ } ,
3737
3838 getDom : function ( ) {
3939 var dom = document . createElement ( "div" )
@@ -43,15 +43,13 @@ Module.register("MMM-CalendarExtMinimonth",{
4343 header . className = "header"
4444 header . innerHTML = ( this . config . titleFormat ) ? moment ( ) . format ( this . config . titleFormat ) : null
4545 dom . appendChild ( header )
46-
4746 dom . appendChild ( this . drawSlot ( ) )
4847 return dom
4948 } ,
5049
5150 refreshScreen : function ( ) {
5251 clearTimeout ( this . refreshTimer )
5352 this . refreshTimer = null
54-
5553 this . updateDom ( )
5654 this . refreshTimer = setTimeout ( ( ) => {
5755 this . refreshScreen ( )
@@ -69,43 +67,42 @@ Module.register("MMM-CalendarExtMinimonth",{
6967 document . body . appendChild ( colors )
7068 }
7169 this . refreshScreen ( )
72- }
73- if ( notification == "CALEXT_SAYS_CALENDAR_MODIFIED" ) {
74- setTimeout ( ( ) => {
75- this . updateRequest ( )
76- } , 1000 )
77- }
78- if ( notification == "CALEXT_SAYS_SCHEDULE" ) {
79- this . updateContent ( payload )
80- }
81-
82- if ( notification == "CALEXT2_CALENDAR_MODIFIED" ) {
83- setTimeout ( ( ) => {
84- this . updateRequest2 ( )
85- } , 1000 )
86- }
70+ }
71+ if ( notification == "CALEXT_SAYS_CALENDAR_MODIFIED" ) {
72+ setTimeout ( ( ) => {
73+ this . updateRequest ( )
74+ } , 1000 )
75+ }
76+ if ( notification == "CALEXT_SAYS_SCHEDULE" ) {
77+ this . updateContent ( payload )
78+ }
79+ if ( notification == "CALEXT2_CALENDAR_MODIFIED" ) {
80+ setTimeout ( ( ) => {
81+ this . updateRequest2 ( )
82+ } , 1000 )
83+ }
8784 } ,
8885
8986 updateContent : function ( payload = null ) {
90- if ( payload != null ) {
91- if ( payload . message == "SCHEDULE_FOUND" ) {
92- this . events = payload . events
93- this . events . sort ( function ( a , b ) {
94- if ( a . startTime == b . startTime ) {
95- return a . endTime - b . endTime
96- } else {
97- return a . startTime - b . startTime
98- }
99- } )
100-
101- }
87+ if ( payload != null ) {
88+ if ( payload . message == "SCHEDULE_FOUND" ) {
89+ this . events = payload . events
90+ this . events . sort ( function ( a , b ) {
91+ if ( a . startTime == b . startTime ) {
92+ return a . endTime - b . endTime
93+ } else {
94+ return a . startTime - b . startTime
95+ }
96+ } )
97+ }
10298 this . slots = this . makeSlot ( [ ] . concat ( this . events ) )
103- this . refreshScreen ( )
104- }
105- } ,
99+ this . refreshScreen ( )
100+ }
101+ } ,
106102
107103
108104 drawSlot : function ( ) {
105+ console . log ( "draw" )
109106 var trick = document . getElementById ( "CXMM_COLOR_TRICK" )
110107 var trickColor = { }
111108 if ( trick ) {
@@ -116,6 +113,7 @@ Module.register("MMM-CalendarExtMinimonth",{
116113
117114 var dom = document . createElement ( "div" )
118115 dom . className = "slots"
116+ console . log ( this . slots )
119117 if ( this . slots . length == 0 ) return dom
120118
121119 var locale = ( this . config . locale ) ? this . config . locale : moment . locale ( )
@@ -162,7 +160,6 @@ Module.register("MMM-CalendarExtMinimonth",{
162160
163161
164162 if ( trick && ! ( isToday ) && slot . events . length > 0 ) {
165- //console.log(slot.events.length, this.maxEventCounts)
166163 var rgb = [ ]
167164 for ( var j = 0 ; j < 3 ; j ++ ) {
168165 var s = trickColor . from [ j ]
@@ -195,8 +192,8 @@ Module.register("MMM-CalendarExtMinimonth",{
195192 var dayEnd = moment ( index ) . locale ( locale ) . endOf ( "day" )
196193 for ( var i = 0 ; i < events . length ; i ++ ) {
197194 var ev = events [ i ]
198- var evS = moment ( ev . startDate )
199- var evE = moment ( ev . endDate )
195+ var evS = moment ( Number ( ev . startDate ) )
196+ var evE = moment ( Number ( ev . endDate ) )
200197 if ( evE . isSameOrBefore ( dayStart ) || evS . isAfter ( dayEnd ) ) {
201198 // not matched
202199 } else {
@@ -214,50 +211,49 @@ Module.register("MMM-CalendarExtMinimonth",{
214211
215212 updateRequest : function ( ) {
216213 var filter = {
217- names : this . names ,
218- from : moment ( ) . startOf ( 'month' ) . startOf ( 'week' ) . format ( 'x' ) ,
219- to : moment ( ) . endOf ( 'month' ) . endOf ( 'week' ) . format ( 'x' ) ,
220- count : this . config . maxItems
221- }
222- var payload = {
223- filter : filter ,
224- sessionId : moment ( ) . format ( 'x' )
225- }
226- this . sendNotification ( "CALEXT_TELL_SCHEDULE" , payload )
214+ names : this . names ,
215+ from : moment ( ) . startOf ( 'month' ) . startOf ( 'week' ) . format ( 'x' ) ,
216+ to : moment ( ) . endOf ( 'month' ) . endOf ( 'week' ) . format ( 'x' ) ,
217+ count : this . config . maxItems
218+ }
219+ var payload = {
220+ filter : filter ,
221+ sessionId : moment ( ) . format ( 'x' )
222+ }
223+ this . sendNotification ( "CALEXT_TELL_SCHEDULE" , payload )
227224 } ,
228225
229226 updateRequest2 : function ( ) {
230227 var payload = {
231- filter : ( e ) => {
232- var from = moment ( ) . startOf ( "month" ) . startOf ( 'week' ) . format ( "X" )
233- var to = moment ( ) . endOf ( "month" ) . endOf ( 'week' ) . format ( "X" )
228+ filter : ( e ) => {
229+ var from = moment ( ) . startOf ( "month" ) . startOf ( 'week' ) . format ( "X" )
230+ var to = moment ( ) . endOf ( "month" ) . endOf ( 'week' ) . format ( "X" )
234231 if ( this . names . length > 0 ) {
235232 if ( this . names . indexOf ( e . calendarName ) < 0 ) {
236233 return false
237234 }
238235 }
239- if ( e . startDate > to || e . endDate < from ) {
236+ if ( e . startDate > to || e . endDate < from ) {
240237 return false
241238 }
242- console . log ( e . title )
243- return true
244- } ,
245- callback : ( events ) => {
246- if ( events . length > 0 ) {
247- for ( i = 0 ; i < events . length ; i ++ ) {
248- events [ i ] . name = events [ i ] . calendarName
249- events [ i ] . startDate = events [ i ] . startDate * 1000
250- events [ i ] . endDate = events [ i ] . endDate * 1000
251- events [ i ] . styleName = events [ i ] . className
252- }
253- var payload = {
254- message : "SCHEDULE_FOUND" ,
255- events : events
256- }
257- this . updateContent ( payload )
258- }
259- }
260- }
261- this . sendNotification ( "CALEXT2_EVENT_QUERY" , payload )
239+ return true
240+ } ,
241+ callback : ( events ) => {
242+ if ( events . length > 0 ) {
243+ for ( i = 0 ; i < events . length ; i ++ ) {
244+ events [ i ] . name = events [ i ] . calendarName
245+ events [ i ] . startDate = events [ i ] . startDate * 1000
246+ events [ i ] . endDate = events [ i ] . endDate * 1000
247+ events [ i ] . styleName = events [ i ] . className
248+ }
249+ var payload = {
250+ message : "SCHEDULE_FOUND" ,
251+ events : events
252+ }
253+ this . updateContent ( payload )
254+ }
255+ }
256+ }
257+ this . sendNotification ( "CALEXT2_EVENT_QUERY" , payload )
262258 } ,
263259} )
0 commit comments