mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 02:39:10 -04:00
Working schedule v2
This commit is contained in:
34
public/js/calendar.js
vendored
34
public/js/calendar.js
vendored
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user