%PDF- %PDF-
Direktori : /home/tjamichg/portal.tjamich.gob.mx/adminit2018/assets/js/pages/ |
Current File : /home/tjamichg/portal.tjamich.gob.mx/adminit2018/assets/js/pages/base_comp_calendar.js |
/* * Document : base_comp_calendar.js * Author : pixelcave * Description: Custom JS code used in Calendar Page */ var BaseCompCalendar = function() { // Add new event in the event list var addEvent = function() { var $eventInput = jQuery('.js-add-event'); var $eventInputVal = ''; // When the add event form is submitted jQuery('.js-form-add-event').on('submit', function(){ $eventInputVal = $eventInput.prop('value'); // Get input value // Check if the user entered something if ( $eventInputVal ) { // Add it to the events list jQuery('.js-events') .prepend('<li class="animated fadeInDown">' + jQuery('<div />').text($eventInputVal).html() + '</li>'); // Clear input field $eventInput.prop('value', ''); // Re-Init Events initEvents(); } return false; }); }; // Init drag and drop event functionality var initEvents = function() { jQuery('.js-events') .find('li') .each(function() { var $event = jQuery(this); // create an Event Object var $eventObject = { title: jQuery.trim($event.text()), color: $event.css('background-color') }; // store the Event Object in the DOM element so we can get to it later jQuery(this).data('eventObject', $eventObject); // make the event draggable using jQuery UI jQuery(this).draggable({ zIndex: 999, revert: true, revertDuration: 0 }); }); }; // Init FullCalendar var initCalendar = function(){ var $date = new Date(); var $d = $date.getDate(); var $m = $date.getMonth(); var $y = $date.getFullYear(); jQuery('.js-calendar').fullCalendar({ firstDay: 1, editable: true, droppable: true, header: { left: 'title', right: 'prev,next month,agendaWeek,agendaDay' }, drop: function($date, $allDay) { // this function is called when something is dropped // retrieve the dropped element's stored Event Object var $originalEventObject = jQuery(this).data('eventObject'); // we need to copy it, so that multiple events don't have a reference to the same object var $copiedEventObject = jQuery.extend({}, $originalEventObject); // assign it the date that was reported $copiedEventObject.start = $date; // render the event on the calendar // the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/) jQuery('.js-calendar').fullCalendar('renderEvent', $copiedEventObject, true); // remove the element from the "Draggable Events" list jQuery(this).remove(); }, events: [ { title: 'Free day', start: new Date($y, $m, 1), allDay: true, color: '#faeab9' }, { title: 'Skype Meeting', start: new Date($y, $m, 2) }, { title: 'Secret Project', start: new Date($y, $m, 5), end: new Date($y, $m, 8), allDay: true, color: '#fac5a5' }, { title: 'Work', start: new Date($y, $m, 9), end: new Date($y, $m, 11), allDay: true, color: '#fac5a5' }, { id: 999, title: 'Biking (repeated)', start: new Date($y, $m, $d - 3, 15, 0) }, { id: 999, title: 'Biking (repeated)', start: new Date($y, $m, $d + 2, 15, 0) }, { title: 'Landing Template', start: new Date($y, $m, $d - 1), end: new Date($y, $m, $d - 1), allDay: true, color: '#faeab9' }, { title: 'Lunch Meeting', start: new Date($y, $m, $d + 5, 14, 00), color: '#fac5a5' }, { title: 'Admin Template', start: new Date($y, $m, $d, 9, 0), end: new Date($y, $m, $d, 12, 0), allDay: true, color: '#faeab9' }, { title: 'Party', start: new Date($y, $m, 15), end: new Date($y, $m, 16), allDay: true, color: '#faeab9' }, { title: 'Reading', start: new Date($y, $m, $d + 8, 21, 0), end: new Date($y, $m, $d + 8, 23, 30), allDay: true }, { title: 'Follow me on Twitter', start: new Date($y, $m, 23), end: new Date($y, $m, 25), allDay: true, url: 'http://twitter.com/pixelcave', color: '#32ccfe' } ] }); }; return { init: function () { // Add Event functionality addEvent(); // FullCalendar, for more examples you can check out http://fullcalendar.io/ initEvents(); initCalendar(); } }; }(); // Initialize when page loads jQuery(function(){ BaseCompCalendar.init(); });