|
@@ -61,6 +61,15 @@ var allevents = [
|
|
|
end: today,
|
|
|
isReadOnly: true,
|
|
|
},
|
|
|
+ {
|
|
|
+ id: '888',
|
|
|
+ calendarId: 'work',
|
|
|
+ title: '离高考还有 ' + diffDays(new TZDate('2023-06-7'), today) + " 天",
|
|
|
+ category: 'milestone',
|
|
|
+ start: today,
|
|
|
+ end: today,
|
|
|
+ isReadOnly: true,
|
|
|
+ },
|
|
|
{
|
|
|
id: '991',
|
|
|
calendarId: 'work',
|
|
@@ -174,7 +183,7 @@ m3.callFS("/matrix/calendar/load.js", param).then((res) => {
|
|
|
indexevents[event.calendarId].events.push(event);
|
|
|
indexevents[tid].events.push(event);
|
|
|
}
|
|
|
- indexevents["ALL"].events.push(event);
|
|
|
+ // indexevents["ALL"].events.push(event); // indexevents["ALL"].events == allevents
|
|
|
updateproc();
|
|
|
}
|
|
|
}).catch((err) => {
|
|
@@ -186,24 +195,32 @@ var onCalendarEventsLoaded = function (fp) {
|
|
|
calendarEventsLoadedProc = fp;
|
|
|
}
|
|
|
|
|
|
-var updateproc = function() {
|
|
|
+var updateproc = function () {
|
|
|
var indextitles = [];
|
|
|
- for(var k in indexevents) {
|
|
|
- indextitles.push({id: k, name: indexevents[k].name});
|
|
|
+ indextitles.push({ id: "ALL", name: indexevents["ALL"].name });
|
|
|
+ for (var k in indexcalendars) {
|
|
|
+ indextitles.push({ id: k, name: indexevents[k].name });
|
|
|
+ }
|
|
|
+ var titles = Object.keys(titleidmap);
|
|
|
+ titles.sort();
|
|
|
+ for (var ki = 0; ki < titles.length; ki++) {
|
|
|
+ var k = titleidmap[titles[ki]];
|
|
|
+ indextitles.push({ id: k, name: indexevents[k].name });
|
|
|
}
|
|
|
if (calendarEventsLoadedProc) {
|
|
|
- calendarEventsLoadedProc(indexevents, indextitles);
|
|
|
+ calendarEventsLoadedProc(indexevents, indextitles, calendars);
|
|
|
}
|
|
|
-}
|
|
|
+}
|
|
|
|
|
|
|
|
|
var updateEvent = function (event) {
|
|
|
- var newdata = {};
|
|
|
var target = {};
|
|
|
+ var newdata = {};
|
|
|
if (!event.target) {
|
|
|
- newdata = event.change;
|
|
|
- target = newdata;
|
|
|
+ target = event.change;
|
|
|
+ newdata = target;
|
|
|
} else {
|
|
|
+ target = event.target;
|
|
|
for (var k in event.target) {
|
|
|
newdata[k] = event.target[k];
|
|
|
}
|
|
@@ -211,9 +228,10 @@ var updateEvent = function (event) {
|
|
|
newdata[k] = event.change[k];
|
|
|
}
|
|
|
}
|
|
|
- var tid = getTitleID(target.title);
|
|
|
- if (!indexevents[tid]) {
|
|
|
- indexevents[tid] = { name: target.title, events: [] };
|
|
|
+ var otid = getTitleID(target.title);
|
|
|
+ var ntid = getTitleID(newdata.title);
|
|
|
+ if (!indexevents[ntid]) {
|
|
|
+ indexevents[ntid] = { name: newdata.title, events: [] };
|
|
|
}
|
|
|
var isnew = true;
|
|
|
for (var i = 0; i < indexevents["ALL"].events.length; i++) {
|
|
@@ -226,7 +244,7 @@ var updateEvent = function (event) {
|
|
|
if (isnew) {
|
|
|
indexevents["ALL"].events.push(newdata);
|
|
|
indexevents[newdata.calendarId].events.push(newdata);
|
|
|
- indexevents[tid].events.push(newdata);
|
|
|
+ indexevents[ntid].events.push(newdata);
|
|
|
} else {
|
|
|
for (var i = 0; i < indexevents[target.calendarId].events.length; i++) {
|
|
|
if (indexevents[target.calendarId].events[i].id == target.id) {
|
|
@@ -234,10 +252,24 @@ var updateEvent = function (event) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- for (var i = 0; i < indexevents[tid].events.length; i++) {
|
|
|
- if (indexevents[tid].events[i].id == target.id) {
|
|
|
- indexevents[tid].events[i] = newdata;
|
|
|
- break;
|
|
|
+ if (otid == ntid) {
|
|
|
+ for (var i = 0; i < indexevents[otid].events.length; i++) {
|
|
|
+ if (indexevents[otid].events[i].id == target.id) {
|
|
|
+ indexevents[otid].events[i] = newdata;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for (var i = 0; i < indexevents[otid].events.length; i++) {
|
|
|
+ if (indexevents[otid].events[i].id == target.id) {
|
|
|
+ indexevents[otid].events.splice(i, 1);
|
|
|
+ indexevents[ntid].events.push(newdata);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (indexevents[otid].events.length == 0) {
|
|
|
+ delete indexevents[otid];
|
|
|
+ delete titleidmap[target.title];
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -246,27 +278,29 @@ var updateEvent = function (event) {
|
|
|
}
|
|
|
|
|
|
var deleteEvent = function (event) {
|
|
|
+ var target = event.target;
|
|
|
for (var i = 0; i < indexevents["ALL"].events.length; i++) {
|
|
|
- if (indexevents["ALL"].events[i].id == event.target.id) {
|
|
|
+ if (indexevents["ALL"].events[i].id == target.id) {
|
|
|
indexevents["ALL"].events.splice(i, 1);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- for (var i = 0; i < indexevents[event.target.calendarId].events.length; i++) {
|
|
|
- if (indexevents[event.target.calendarId].events[i].id == event.target.id) {
|
|
|
- indexevents[event.target.calendarId].events.splice(i, 1);
|
|
|
+ for (var i = 0; i < indexevents[target.calendarId].events.length; i++) {
|
|
|
+ if (indexevents[target.calendarId].events[i].id == target.id) {
|
|
|
+ indexevents[target.calendarId].events.splice(i, 1);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- var tid = getTitleID(event.target.title);
|
|
|
+ var tid = getTitleID(target.title);
|
|
|
for (var i = 0; i < indexevents[tid].events.length; i++) {
|
|
|
- if (indexevents[tid].events[i].id == event.target.id) {
|
|
|
+ if (indexevents[tid].events[i].id == target.id) {
|
|
|
indexevents[tid].events.splice(i, 1);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- if (indexevents[tid].length == 0) {
|
|
|
- delete (indexevents, tid);
|
|
|
+ if (indexevents[tid].events.length == 0) {
|
|
|
+ delete indexevents[tid];
|
|
|
+ delete titleidmap[target.title];
|
|
|
}
|
|
|
updateproc();
|
|
|
return indexevents;
|