Path: blob/master/web-gui/buildyourownbotnet/assets/js/neon-calendar.js
1292 views
/**1* Neon Calendar Script2*3* Developed by Arlind Nushi - www.laborator.co4*/56var neonCalendar = neonCalendar || {};78;(function($, window, undefined)9{10"use strict";1112$(document).ready(function()13{14neonCalendar.$container = $(".calendar-env");1516$.extend(neonCalendar, {17isPresent: neonCalendar.$container.length > 018});1920// Mail Container Height fit with the document21if(neonCalendar.isPresent)22{23neonCalendar.$sidebar = neonCalendar.$container.find('.calendar-sidebar');24neonCalendar.$body = neonCalendar.$container.find('.calendar-body');252627// Checkboxes28var $cb = neonCalendar.$body.find('table thead input[type="checkbox"], table tfoot input[type="checkbox"]');2930$cb.on('click', function()31{32$cb.attr('checked', this.checked).trigger('change');3334calendar_toggle_checkbox_status(this.checked);35});3637// Highlight38neonCalendar.$body.find('table tbody input[type="checkbox"]').on('change', function()39{40$(this).closest('tr')[this.checked ? 'addClass' : 'removeClass']('highlight');41});424344// Setup Calendar45if($.isFunction($.fn.fullCalendar))46{47var calendar = $('#calendar');4849calendar.fullCalendar({50header: {51left: 'title',52right: 'month,agendaWeek,agendaDay today prev,next'53},5455//defaultView: 'basicWeek',5657editable: true,58firstDay: 1,59height: 600,60droppable: true,61drop: function(date, allDay) {6263var $this = $(this),64eventObject = {65title: $this.text(),66start: date,67allDay: allDay,68className: $this.data('event-class')69};7071calendar.fullCalendar('renderEvent', eventObject, true);7273$this.remove();74}75});7677$("#draggable_events li a").draggable({78zIndex: 999,79revert: true,80revertDuration: 081}).on('click', function()82{83return false;84});85}86else87{88alert("Please include full-calendar script!");89}909192$("body").on('submit', '#add_event_form', function(ev)93{94ev.preventDefault();9596var text = $("#add_event_form input");9798if(text.val().length == 0)99return false;100101var classes = ['', 'color-green', 'color-blue', 'color-orange', 'color-primary', ''],102_class = classes[ Math.floor(classes.length * Math.random()) ],103$event = $('<li><a href="#"></a></li>');104105$event.find('a').text(text.val()).addClass(_class).attr('data-event-class', _class);106107$event.appendTo($("#draggable_events"));108109$("#draggable_events li a").draggable({110zIndex: 999,111revert: true,112revertDuration: 0113}).on('click', function()114{115return false;116});117118fit_calendar_container_height();119120$event.hide().slideDown('fast');121text.val('');122123return false;124});125}126});127128})(jQuery, window);129130131function fit_calendar_container_height()132{133if(neonCalendar.isPresent)134{135if(neonCalendar.$sidebar.height() < neonCalendar.$body.height())136{137neonCalendar.$sidebar.height( neonCalendar.$body.height() );138}139else140{141var old_height = neonCalendar.$sidebar.height();142143neonCalendar.$sidebar.height('');144145if(neonCalendar.$sidebar.height() < neonCalendar.$body.height())146{147neonCalendar.$sidebar.height(old_height);148}149}150}151}152153function reset_calendar_container_height()154{155if(neonCalendar.isPresent)156{157neonCalendar.$sidebar.height('auto');158}159}160161function calendar_toggle_checkbox_status(checked)162{163neonCalendar.$body.find('table tbody input[type="checkbox"]' + (checked ? '' : ':checked')).attr('checked', ! checked).click();164}165166