Working schedule v2

This commit is contained in:
Mathieu Lagace
2020-07-30 17:46:11 -04:00
parent 8d22092ea8
commit 4c5d635d5b
25 changed files with 1174 additions and 497 deletions

34
public/js/calendar.js vendored
View File

@@ -1,5 +1,13 @@
function initFullCalendar(authToken) {
document.addEventListener('DOMContentLoaded', function () {
let urlParam = new URLSearchParams(window.location.search);
let initDate = urlParam.get("d");
if (initDate == null) {
initDate = moment().format("YYYY-MM-DD");
urlParam.set("d",initDate.toString());
}
history.pushState({id: 'schedule'},'Horaire - C-CMS', '/admin/schedule?'+urlParam.toString());
var calendarEl = document.getElementById('fullCalendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
@@ -10,6 +18,7 @@ function initFullCalendar(authToken) {
center: 'dayGridMonth,listWeek',
right: 'prev,next'
},
defaultDate: initDate,
events: '/api/schedule/events',
eventRender: function(event, element) {
if (event.event.extendedProps.icon && event.view.type == 'dayGridMonth')
@@ -28,9 +37,16 @@ function initFullCalendar(authToken) {
eventClick: function (info) {
$.get("/api/schedule/events/modal/full/" + info.event.id + "/"+ info.event.extendedProps.extraParams.db_type + "?api_token="+authToken, function (data) {
$("#modal-content").html(data);
let urlParams = new URLSearchParams(window.location.search);
urlParams.set("e",info.event.id);
history.pushState({id: 'schedule'},'Horaire - C-CMS', '/admin/schedule?'+urlParams.toString());
});
$('#schedulemodal').modal('toggle')
},
datesRender(arg) {
urlParam.set("d",moment(arg.view.currentStart).format("YYYY-MM-DD"));
history.pushState({id: 'schedule'},'Horaire - C-CMS', '/admin/schedule?'+urlParam.toString());
},
dateClick: function (info) {
var date = moment(info.date).format("YYYY-MM-DD");
Swal.fire({
@@ -47,12 +63,28 @@ function initFullCalendar(authToken) {
})
}
});
calendar.render();
if (urlParam.get('e') != null) {
$.get("/api/schedule/events/modal/full/" + urlParam.get('e')+ "/event?api_token="+authToken, function (data) {
$("#modal-content").html(data);
$('#schedulemodal').modal('toggle')
});
}
});
}
function closeScheduleModal() {
let urlParams = new URLSearchParams(window.location.search);
urlParams.delete("e");
if (urlParams.entries().next().done) {
history.pushState({id: 'schedule'},'Horaire - C-CMS', '/admin/schedule');
} else {
history.pushState({id: 'schedule'},'Horaire - C-CMS', '/admin/schedule?'+urlParams.toString());
}
$('#schedulemodal').modal('toggle');
}
function switchType(date) {
var selectInput = $('#type')