mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-26 05:49:22 +00:00
Can refresh the list of events
This commit is contained in:
parent
d7779bd653
commit
79b8b8bd3c
@ -14,29 +14,12 @@ class GroupPresencePage {
|
|||||||
* @param {HTMLElement} target
|
* @param {HTMLElement} target
|
||||||
*/
|
*/
|
||||||
static async Show(group, target) {
|
static async Show(group, target) {
|
||||||
const presence = await ForezPresenceHelper.GetList(group.id);
|
|
||||||
const users = await getUsers([...new Set(presence.map(e => e.userID))]);
|
|
||||||
|
|
||||||
// Load template
|
// Load template
|
||||||
const tpl = await Page.loadHTMLTemplate("pages/groups/pages/presence.html");
|
const tpl = await Page.loadHTMLTemplate("pages/groups/pages/presence.html");
|
||||||
const el = document.createElement("div")
|
const el = document.createElement("div")
|
||||||
el.innerHTML = tpl;
|
el.innerHTML = tpl;
|
||||||
target.appendChild(el);
|
target.appendChild(el);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const calEvents = presence.map((e) => {
|
|
||||||
return {
|
|
||||||
title: users.get(e.userID).fullName,
|
|
||||||
start: new Date(e.year, e.month - 1, e.day),
|
|
||||||
backgroundColor: "#0073b7", //Blue
|
|
||||||
borderColor: "#0073b7", //Blue
|
|
||||||
editable: e.userID == userID(),
|
|
||||||
allDay: true,
|
|
||||||
description: users.get(e.userID).fullName
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
let lastClick = null;
|
let lastClick = null;
|
||||||
|
|
||||||
const calendarTarget = el.querySelector(".calendar");
|
const calendarTarget = el.querySelector(".calendar");
|
||||||
@ -47,7 +30,29 @@ class GroupPresencePage {
|
|||||||
right: 'dayGridMonth,listMonth'
|
right: 'dayGridMonth,listMonth'
|
||||||
},
|
},
|
||||||
initialView: 'dayGridMonth',
|
initialView: 'dayGridMonth',
|
||||||
events: calEvents,
|
|
||||||
|
// Data source
|
||||||
|
events: async function(info, success, failure) {
|
||||||
|
try {
|
||||||
|
const presence = await ForezPresenceHelper.GetList(group.id);
|
||||||
|
const users = await getUsers([...new Set(presence.map(e => e.userID))]);
|
||||||
|
success(presence.map((e) => {
|
||||||
|
return {
|
||||||
|
title: users.get(e.userID).fullName,
|
||||||
|
start: new Date(e.year, e.month - 1, e.day),
|
||||||
|
backgroundColor: "#0073b7", //Blue
|
||||||
|
borderColor: "#0073b7", //Blue
|
||||||
|
editable: e.userID == userID(),
|
||||||
|
allDay: true,
|
||||||
|
description: users.get(e.userID).fullName
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
|
} catch(e) {
|
||||||
|
console.error(e);
|
||||||
|
failure(e);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Update events
|
// Update events
|
||||||
eventResize: async function(info) {
|
eventResize: async function(info) {
|
||||||
@ -69,6 +74,8 @@ class GroupPresencePage {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
await ForezPresenceHelper.AddDay(group.id, info.date.getFullYear(), info.date.getMonth() + 1, info.date.getDate())
|
await ForezPresenceHelper.AddDay(group.id, info.date.getFullYear(), info.date.getMonth() + 1, info.date.getDate())
|
||||||
|
|
||||||
|
calendar.getEventSources()[0].refetch()
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
notify(tr("Failed to update presence!"), "danger")
|
notify(tr("Failed to update presence!"), "danger")
|
||||||
|
Loading…
Reference in New Issue
Block a user