88 lines
3.3 KiB
JavaScript
88 lines
3.3 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
var KTCalendarGoogle = function() {
|
||
|
|
||
|
return {
|
||
|
//main function to initiate the module
|
||
|
init: function() {
|
||
|
var calendarEl = document.getElementById('kt_calendar');
|
||
|
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||
|
plugins: [ 'interaction', 'dayGrid', 'timeGrid', 'list', 'googleCalendar' ],
|
||
|
|
||
|
isRTL: KTUtil.isRTL(),
|
||
|
header: {
|
||
|
left: 'prev,next today',
|
||
|
center: 'title',
|
||
|
right: 'dayGridMonth,timeGridWeek,timeGridDay'
|
||
|
},
|
||
|
|
||
|
displayEventTime: false, // don't show the time column in list view
|
||
|
|
||
|
height: 800,
|
||
|
contentHeight: 780,
|
||
|
aspectRatio: 3, // see: https://fullcalendar.io/docs/aspectRatio
|
||
|
|
||
|
views: {
|
||
|
dayGridMonth: { buttonText: 'month' },
|
||
|
timeGridWeek: { buttonText: 'week' },
|
||
|
timeGridDay: { buttonText: 'day' }
|
||
|
},
|
||
|
|
||
|
defaultView: 'dayGridMonth',
|
||
|
|
||
|
editable: true,
|
||
|
eventLimit: true, // allow "more" link when too many events
|
||
|
navLinks: true,
|
||
|
|
||
|
// THIS KEY WON'T WORK IN PRODUCTION!!!
|
||
|
// To make your own Google API key, follow the directions here:
|
||
|
// http://fullcalendar.io/docs/google_calendar/
|
||
|
googleCalendarApiKey: 'AIzaSyDcnW6WejpTOCffshGDDb4neIrXVUA1EAE',
|
||
|
|
||
|
// US Holidays
|
||
|
events: 'en.usa#holiday@group.v.calendar.google.com',
|
||
|
|
||
|
eventClick: function(event) {
|
||
|
// opens events in a popup window
|
||
|
window.open(event.url, 'gcalevent', 'width=700,height=600');
|
||
|
return false;
|
||
|
},
|
||
|
|
||
|
loading: function(bool) {
|
||
|
return;
|
||
|
|
||
|
/*
|
||
|
KTApp.block(portlet.getSelf(), {
|
||
|
type: 'loader',
|
||
|
state: 'success',
|
||
|
message: 'Please wait...'
|
||
|
});
|
||
|
*/
|
||
|
},
|
||
|
|
||
|
eventRender: function(info) {
|
||
|
var element = $(info.el);
|
||
|
|
||
|
if (info.event.extendedProps && info.event.extendedProps.description) {
|
||
|
if (element.hasClass('fc-day-grid-event')) {
|
||
|
element.data('content', info.event.extendedProps.description);
|
||
|
element.data('placement', 'top');
|
||
|
KTApp.initPopover(element);
|
||
|
} else if (element.hasClass('fc-time-grid-event')) {
|
||
|
element.find('.fc-title').append('<div class="fc-description">' + info.event.extendedProps.description + '</div>');
|
||
|
} else if (element.find('.fc-list-item-title').lenght !== 0) {
|
||
|
element.find('.fc-list-item-title').append('<div class="fc-description">' + info.event.extendedProps.description + '</div>');
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
calendar.render();
|
||
|
}
|
||
|
};
|
||
|
}();
|
||
|
|
||
|
jQuery(document).ready(function() {
|
||
|
KTCalendarGoogle.init();
|
||
|
});
|