140 lines
5.3 KiB
JavaScript
140 lines
5.3 KiB
JavaScript
$(document).ready(function(){
|
|
//Get the data that is going to be used as a filter for events
|
|
var selectedFeed = $('#hall_selector').find(':selected').data('feed');
|
|
|
|
var modal = document.getElementById("myModal");
|
|
var btn = document.getElementById("myBtn");
|
|
var span = document.getElementsByClassName("close")[0];
|
|
|
|
var calendar = $('#calendar').fullCalendar({
|
|
editable:true,
|
|
header:{
|
|
left:'prev,next today',
|
|
center:'title',
|
|
right:'month,agendaWeek,agendaDay'
|
|
},
|
|
firstDay: 1,
|
|
fixedWeekCount: false,
|
|
eventSources: [ selectedFeed ],
|
|
selectable:true,
|
|
selectHelper:true,
|
|
timeFormat: 'H:mm',
|
|
eventOverlap: function(stillEvent, movingEvent) {
|
|
return (stillEvent.start_time > stillEvent.end && stillEvent.end < movingEvent.start_time)
|
|
},
|
|
//Add event/session function when u click in any non-event date. Prepares the form to be seen as such
|
|
select: function(start, end, allDay)
|
|
{
|
|
|
|
$(modal).fadeIn();
|
|
|
|
var x = document.getElementById("film_group");
|
|
x.style.display = "none";
|
|
x = document.getElementById("film_list");
|
|
x.style.display = "block";
|
|
|
|
document.getElementById("hall").value = document.getElementById("hall_selector").value;
|
|
document.getElementById("startDate").value = $.fullCalendar.formatDate( start, "Y-MM-DD" );
|
|
document.getElementById("endDate").value = $.fullCalendar.formatDate( end, "Y-MM-DD" );
|
|
|
|
document.getElementById("sumbit_new").style.display = "block";
|
|
document.getElementById("edit_inputs").style.display = "none";
|
|
},
|
|
editable:true,
|
|
//Edit only the date/hour start of an event/session when u click,drag and drop an event.
|
|
eventDrop:function(event)
|
|
{
|
|
var e = {
|
|
"newDate" : $.fullCalendar.formatDate(event.start, "Y-MM-DD HH:mm:ss"),
|
|
"idhall": document.getElementById("hall").value,
|
|
"startHour":event.start_time,
|
|
"startDate":event.date,
|
|
"price": event.seat_price,
|
|
"idfilm": event.film.idfilm,
|
|
"format": event.format,
|
|
};
|
|
console.log(e);
|
|
console.log(event);
|
|
$.ajax({
|
|
url:"eventsProcess.php?drop=true",
|
|
contentType: 'application/json; charset=utf-8',
|
|
dataType: "json",
|
|
type:"PUT",
|
|
data:JSON.stringify(e),
|
|
success: function(data) {
|
|
alert("El evento se ha desplazado correctamente");
|
|
calendar.fullCalendar('refetchEvents');
|
|
},
|
|
error: function(data) {
|
|
alert("Ha habido un error al desplazar el evento");
|
|
},
|
|
});
|
|
},
|
|
//Edit event/session function when u click an event. Prepares the form to be seen as such
|
|
eventClick:function(event)
|
|
{
|
|
$(modal).fadeIn();
|
|
|
|
var x = document.getElementById("film_group");
|
|
x.style.display = "block";
|
|
|
|
x = document.getElementById("film_list");
|
|
x.style.display = "none";
|
|
|
|
document.getElementById("hall").value = document.getElementById("hall_selector").value;
|
|
document.getElementById("startDate").value = $.fullCalendar.formatDate( event.start, "Y-MM-DD" );
|
|
document.getElementById("endDate").value = $.fullCalendar.formatDate( event.end, "Y-MM-DD" );
|
|
document.getElementById("price").value = event.seat_price;
|
|
document.getElementById("format").value = event.format;
|
|
document.getElementById("startHour").value = event.start_time;
|
|
|
|
document.getElementById("original_hall").value = document.getElementById("hall_selector").value;
|
|
document.getElementById("original_start_time").value = event.start_time;
|
|
document.getElementById("original_date").value = $.fullCalendar.formatDate( event.start, "Y-MM-DD" );
|
|
|
|
document.getElementById("film_title").innerHTML = event.film.tittle;
|
|
document.getElementById("film_lan").innerHTML = event.film.language;
|
|
document.getElementById("film_dur").innerHTML = event.film.duration+" min";
|
|
document.getElementById("film_img").src = "../img/films/"+event.film.img;
|
|
document.getElementById("film_desc").innerHTML = event.film.description;
|
|
document.getElementById("film_id").value = event.film.idfilm;
|
|
document.getElementById("sumbit_new").style.display = "none";
|
|
document.getElementById("edit_inputs").style.display = "grid";
|
|
|
|
},
|
|
|
|
});
|
|
//Once the filter changes, do the changes needed so full calendar research the events with the new hall
|
|
$('#hall_selector').change(onSelectChangeFeed);
|
|
|
|
function onSelectChangeFeed() {
|
|
var feed = $(this).find(':selected').data('feed');
|
|
$('#calendar').fullCalendar('removeEventSource', selectedFeed);
|
|
$('#calendar').fullCalendar('addEventSource', feed);
|
|
selectedFeed = feed;
|
|
};
|
|
|
|
//When u click on the X the form closes. If the user close it because the operation has been complete. Restart the form correctly
|
|
span.onclick = function() {
|
|
formout();
|
|
}
|
|
|
|
function formout(){
|
|
$(modal).fadeOut(100,function(){
|
|
var success = document.getElementById("success");
|
|
if(success){
|
|
calendar.fullCalendar('refetchEvents');
|
|
$(".alert").remove();
|
|
document.getElementById("session_form").style.display = "block";
|
|
document.getElementById("price").value = "";
|
|
document.getElementById("format").value = "";
|
|
document.getElementById("film_id").value = "";
|
|
document.getElementById("startHour").value ="";
|
|
}
|
|
$(".form_group").removeClass("has_error");
|
|
$(".help_block").remove();
|
|
});
|
|
}
|
|
});
|
|
|