"); $this.$modal.modal({ backdrop: 'static' }); $this.$modal.find('.delete-event').show().end().find('.save-event').hide().end().find('.modal-body').empty().prepend(form).end().find('.delete-event').unbind('click').click(function () { $this.$calendarObj.fullCalendar('removeEvents', function (ev) { return (ev._id == calEvent._id); }); $this.$modal.modal('hide'); }); $this.$modal.find('form').on('submit', function () { calEvent.title = form.find("input[type=text]").val(); $this.$calendarObj.fullCalendar('updateEvent', calEvent); $this.$modal.modal('hide'); return false; }); }, /* on select */ CalendarApp.prototype.onSelect = function (start, end, allDay) { var $this = this; $this.$modal.modal({ backdrop: 'static' }); var form = $(""); form.append(""); form.find(".row") .append("
") .append("
") .find("select[name='category']") .append("") .append("") .append("") .append("") .append("") .append("") .append(""); $this.$modal.find('.delete-event').hide().end().find('.save-event').show().end().find('.modal-body').empty().prepend(form).end().find('.save-event').unbind('click').click(function () { form.submit(); }); $this.$modal.find('form').on('submit', function () { var title = form.find("input[name='title']").val(); var beginning = form.find("input[name='beginning']").val(); var ending = form.find("input[name='ending']").val(); var categoryClass = form.find("select[name='category'] option:checked").val(); if (title !== null && title.length != 0) { $this.$calendarObj.fullCalendar('renderEvent', { title: title, start:start, end: end, allDay: false, className: categoryClass }, true); $this.$modal.modal('hide'); } else{ alert('You have to give a title to your event'); } return false; }); $this.$calendarObj.fullCalendar('unselect'); }, CalendarApp.prototype.enableDrag = function() { //init events $(this.$event).each(function () { // create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/) // it doesn't need to have a start or end var eventObject = { title: $.trim($(this).text()) // use the element's text as the event title }; // store the Event Object in the DOM element so we can get to it later $(this).data('eventObject', eventObject); // make the event draggable using jQuery UI $(this).draggable({ zIndex: 999, revert: true, // will cause the event to go back to its revertDuration: 0 // original position after the drag }); }); } /* Initializing */ CalendarApp.prototype.init = function() { this.enableDrag(); /* Initialize the calendar */ var date = new Date(); var d = date.getDate(); var m = date.getMonth(); var y = date.getFullYear(); var form = ''; var today = new Date($.now()); var defaultEvents = [ { title: "Bugün Olacak", start: new Date($.now() + 506800000), className: 'bg-info' }]; var $this = this; $this.$calendarObj = $this.$calendar.fullCalendar({ slotDuration: '00:15:00', /* If we want to split day time each 15minutes */ minTime: '08:00:00', maxTime: '19:00:00', defaultView: 'month', handleWindowResize: true, header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, events: defaultEvents, editable: true, droppable: true, // this allows things to be dropped onto the calendar !!! eventLimit: true, // allow "more" link when too many events selectable: true, drop: function(date) { $this.onDrop($(this), date); }, select: function (start, end, allDay) { $this.onSelect(start, end, allDay); }, eventClick: function(calEvent, jsEvent, view) { $this.onEventClick(calEvent, jsEvent, view); } }); //on new event this.$saveCategoryBtn.on('click', function(){ var categoryName = $this.$categoryForm.find("input[name='category-name']").val(); var categoryColor = $this.$categoryForm.find("select[name='category-color']").val(); if (categoryName !== null && categoryName.length != 0) { $this.$extEvents.append('