Fullcalendar – custom aspect ratio to each view - fullcalendar

I have read the documentation but I don't understand how to use the code.
What I'd like to have is a custom aspect ratio on each view – to avoid scrollbar in day-view.
How do I implement code to change aspect ratio for week and day view when my fullcalender script is like this:
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
weekends: false,
weekNumbers: true,
googleCalendarApiKey: 'AIzaSyBGCsyro6GRnVYSGE2uxerWPIh78sjhm9w',
eventSources: [{
googleCalendarId: 'oa4lj06jlgehp2sl7f1s7hubi8#group.calendar.google.com',
rendering: 'inverse-background'
}]
});
});

Related

Only show description in dayGridMonth

I need to work with extendedProps, but when i try to show info.event.extendedProps.description in timeGridWeek or timeGridDay it doesn't (it say "undefined"), only in dayGridMonth. I have read the docs, but i don't know how to show these non-standard properties.
The events are displayed correctly.
(Sorry for my poor english)
<script>
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: [ 'dayGrid', 'interaction', 'bootstrap', 'timeGrid', 'rrule' ],
height: 'parent',
header: {
left: 'prev,next today',
center: 'title',
right: 'timeGridDay,timeGridWeek,dayGridMonth'
},
titleFormat: {
year: 'numeric',
month: 'long',
day: '2-digit'
},
defaultView: 'timeGridWeek',
themeSystem: 'bootstrap',
selectable: true,
editable: true,
navLinks: true,
weekNumbers: true,
nowIndicator: true,
locale: 'es',
minTime: '08:00:00',
maxTime: '22:00:00',
weekends: false,
eventOrder : 'color',
eventSources: [
'carga_citas.php',
'carga_sesiones.php'
],
eventClick: function(info) {
alert(info.event.extendedProps.description);
}
});
calendar.render();
});
</script>
Thanks for your replies.

Fullcalendar populate event after selecting date

I am using fullcalendar v4. In the demo i see how we select date and it is updating event. I want the same. However I couldn't get any method to update event. I tried to feed event as function, but I dont't see it being trigger when I select date.
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: [ 'dayGrid', 'timeGrid', 'list', 'interaction' ],
header: {
left: 'today',
center: 'title',
right: 'timeGridWeek'
},
defaultView: 'timeGridWeek',
selectable: true,
selectMirror:true,
selectOverlap: true,
navLinks: true, // can click day/week names to navigate views
editable: true,
eventLimit: true, // allow "more" link when too many events
select: function(selectionInfo){
console.log(selectionInfo)
},
events:
events: function(info, successCallback, failureCallback) {
console.log({info}, {successCallback}, {failureCallback});
}
,
});
calendar.render();

Full Calendar add More "LINK" for the day

Wanted to add "More" link for the day calendar? Can anyone help me out doing this ? Here's the code. However it is coming for the month view not for the day. Wanted same link for the day view. Thanks in advance
$('#calendar').fullCalendar({
defaultView: 'agendaDay',
minTime: '#{#timing_slots[:start_time]}',
maxTime: '#{#timing_slots[:end_time]}',
slotDuration: '00:45:00',
//themeSystem: 'bootstrap',
height: 820,
defaultDate: date,
editable: false,
selectable: true,
eventLimit: true, // allow "more" link when too many events
header: {
left: 'prev,next today',
center: 'title',
right: 'agendaDay,agendaWeek,month'
},
views: {
agendaDay: {
type: 'agenda',
duration: {days: 1},
// views that are more than a day will NOT do this behavior by default
// so, we need to explicitly enable it
groupByResource: true
//// uncomment this line to group by day FIRST with resources underneath
//groupByDateAndResource: true
},
day: {
titleFormat: 'dddd, MMMM Do YYYY',
}
},

Fullcalendar - change event color on select

I'm trying to set a default title and background color when selecting an event on fullcalendar. but the event is customized only after rendering it and not during its selection. Any idea? thx for your help.
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultView: 'agendaWeek',
navLinks: true,
selectable: true,
selectHelper: true,
select: function(start, end) {
var eventData;
eventData = {
title: 'unavailable',
start: start,
end: end,
backgroundColor: 'red',
};
$('#calendar').fullCalendar('renderEvent', eventData, true);
$('#calendar').fullCalendar('unselect');
},
editable: true,
});
});
This is a jsfiddle

FullCalendar list-views, height: auto not working as expected

I'm using the demo list-views.html and trying to set height: auto, but this does not work! The Calendar has a vertical scrollbar.
$(document).ready(function() {
$('#calendar').fullCalendar({
height: 'auto',
header: {
left: 'prev,next today',
center: 'title',
right: 'listDay,listWeek,month'
},
// customize the button names,
// otherwise they'd all just say "list"
views: {
listDay: { buttonText: 'list day' },
listWeek: { buttonText: 'list week' }
},
defaultView: 'listWeek',
defaultDate: '2017-02-12',
navLinks: true, // can click day/week names to navigate views
editable: true,
eventLimit: true, // allow "more" link when too many events
events: [
{
title: 'All Day Event',
start: '2017-02-01'
},
***continue-demo
I have no idea if this will help but did you include the print.css? That may correct it. Also on the print css be sure to set media="" to media="print".

Resources