- commit
- 95391bfc977397f8874e69e2c28d9269d8078f16
- parent
- 0aac555d56b3406b2cbb86ef9f72aa3668623e68
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2022-02-11 07:19
use local alias for selectedEvent (for async)
Diffstat
| M | main.js | 19 | ++++++++++--------- |
1 files changed, 10 insertions, 9 deletions
diff --git a/main.js b/main.js
@@ -50,40 +50,41 @@ form.querySelectorAll('[data-translate]').forEach(el => {
50 50
51 51 form.addEventListener('submit', function(e) {
52 52 e.preventDefault();
-1 53 var data = selectedEvent; // selectedEvent could be reset in the meantime
53 54
54 55 if (e.submitter.value === 'delete') {
55 56 if (!confirm(_('Are you sure you want to delete this?'))) {
56 57 return;
57 58 }
58 59 calendar.getEvents()
59 -1 .filter(rel => rel.groupId === selectedEvent.groupId)
-1 60 .filter(rel => rel.groupId === data.groupId)
60 61 .forEach(rel => rel.remove());
61 -1 dav.deleteEvent(selectedEvent);
-1 62 dav.deleteEvent(data);
62 63 } else if (e.submitter.value === 'save') {
63 -1 selectedEvent.setProp('title', form.title.value);
64 -1 selectedEvent.setDates(
-1 64 data.setProp('title', form.title.value);
-1 65 data.setDates(
65 66 form.start.value,
66 67 form.end.value || null,
67 68 {allDay: form.allday.checked}
68 69 );
69 70
70 -1 if (form.calendar.value == selectedEvent.source.id) {
71 -1 dav.commitEvent(selectedEvent);
-1 71 if (form.calendar.value == data.source.id) {
-1 72 dav.commitEvent(data);
72 73 } else {
73 74 var newSource = calendar.getEventSourceById(form.calendar.value);
74 75 var newData;
75 76
76 77 calendar.getEvents()
77 -1 .filter(rel => rel.groupId === selectedEvent.groupId)
-1 78 .filter(rel => rel.groupId === data.groupId)
78 79 .forEach(rel => {
79 80 var plain = rel.toPlainObject();
80 -1 plain.groupId = plain.groupId.replace(selectedEvent.source.id, newSource.id);
-1 81 plain.groupId = plain.groupId.replace(data.source.id, newSource.id);
81 82 rel.remove();
82 83 newData = calendar.addEvent(plain, newSource);
83 84 });
84 85
85 86 dav.commitEvent(newData);
86 -1 dav.deleteEvent(selectedEvent); // CAREFUL: must be called before selectedEvent is reset
-1 87 dav.deleteEvent(data);
87 88 }
88 89 }
89 90