Skip to content

Commit 2b123af

Browse files
committed
fix:bug for JS-Date of CALEXT
1 parent 41a7005 commit 2b123af

1 file changed

Lines changed: 69 additions & 73 deletions

File tree

MMM-CalendarExtMinimonth.js

Lines changed: 69 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
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

Comments
 (0)