Issue 728: Stationary header, scrolling calendar body
Status:  Released
Owner: ----
Closed:  Aug 2014

Blocking:
issue 2011
Reported by RodrigoM...@gmail.com, Nov 22, 2010
In other words, this is a request for a fullcalendar enhancement to freeze the rectangle showing the date widgets at the top of the calendar view when scrolling the calendar up and down. 

Attached is a screen shot illustrating the request; the area in red must be frozen.

Screen shot 2010-11-19 at 10.22.17 AM.png
55.4 KB   View   Download
Nov 22, 2010
#1 RodrigoM...@gmail.com
Adam - After studying this request a little further, I found out that I need to refine the request. In essence FC has three drawing areas: a) fc-header, b) thead or fc-agendaHead, and c) tbody or fc-agendaBody. The request is that only tbody or fc-agendaBody scrolls when scrolling the whole fullcalendar object. See the new attachment for an illustration.
Screen shot 2010-11-22 at 8.01.42 PM.png
57.6 KB   View   Download
Nov 28, 2010
#2 RodrigoM...@gmail.com
Adam - One additional finding. The requested behavior is already supported for the wee/day views. Hence, all that we are looking for is for it to be extended to the month view.

- Rodrigo
Dec 13, 2010
#3 RodrigoM...@gmail.com
Adam - After additional experimentation I realized that scrolling was not working well even for week/day. I made a few changes and was able to make it work for week/day (see below). 

I attempted to add the elements required to make scroll work for month but, unfortunately, the fc month handling code expects the original structure and my work was not usable. The work done for wee/day did a minor improvement to the month view; it eliminated the undesirable fc-header scrolling. Our preference is for an implementation where the height of the rows is not recomputed and tbody is scrollable, leaving fc-header and thead on the screen.

--- Changes to make week/day work as required ---

a) Declare the anchor <div> with overflow-x and overflow-y set to hidden

b) Implement the following windowResize callback:
/*
 * Ticket #100: Enhance the TMS Calendar (fullcalendar) scrolling This is an 
 * attempt to make this work without applying any changes to the fullcalendar 
 * native implemenation. This code is highly dependent on the HTML structure 
 * built by fullcalendar; if you update fullcalendar you must ensure that the 
 * structure built by the new version matches the one in use by the version 
 * prior to the upgrade.
 */
windowResize: function(view) {
	var sCalendarSelector = '#listeTaskcal',
		sAgendaSelector,
	    sAgendaHeadSelector,
	    calendar_Height,
	    fc_header_Height, 
	    fc_agenda_head_Height,
	    fc_agenda_body_Height;
	switch (view.name) {
	case 'month':
		//TBD
		break;
	case 'agendaWeek':
	case 'agendaDay':		          		
		//Set up selector to access agenda items. Done in multiple
		//lines to facilitate understanding
		sAgendaSelector =  sCalendarSelector; //Calendar
		sAgendaSelector +=  ' > .fc-content.fc-widget-content'; //Child
		sAgendaSelector +=  ' > .fc-view.fc-view-' + view.name + '.fc-agenda'; //Grand child
		sAgendaSelector +=  ' > .fc-agenda-'; //Great grand child, to be completed (head/body)
	
		//Get the calendar height
		calendar_Height = jQuery(sCalendarSelector).height();
		
		//Get the calendar menu bar height
		fc_header_Height = jQuery(sCalendarSelector + '> .fc-header').height();
		
		//Get the table header height
		sAgendaHeadSelector = sAgendaSelector + 'head';
		fc_agenda_head_Height = jQuery(sAgendaHeadSelector).height();
		
		//Compute the new content height and reset the table contentHeight accordingly
		fc_agenda_body_Height = calendar_Height - (fc_header_Height + fc_agenda_head_Height);
		jQuery(sCalendarSelector).fullCalendar('option', 'contentHeight', fc_agenda_body_Height);
		break;
	default:
		break;
	}
},

Dec 26, 2010
Project Member #4 adamrs...@gmail.com
 Issue 747  has been merged into this issue.
Dec 26, 2010
Project Member #5 adamrs...@gmail.com
(No comment was entered for this change.)
Summary: stationary header, scrolling calendar body
Status: Maybe
Oct 2, 2011
Project Member #6 adamrs...@gmail.com
 Issue 1118  has been merged into this issue.
Aug 13, 2013
Project Member #7 adamrs...@gmail.com
(No comment was entered for this change.)
Summary: Stationary header, scrolling calendar body (was: stationary header, scrolling calendar body)
Status: Discussing
Labels: -Type-Enhancement Type-Feature
Aug 18, 2013
Project Member #8 adamrs...@gmail.com
 Issue 1506  has been merged into this issue.
Aug 18, 2013
Project Member #9 adamrs...@gmail.com
NOTE TO SELF:  issue 1506  mentions that the day-of-week headers should be fixed as well
Aug 18, 2013
Project Member #10 adamrs...@gmail.com
 Issue 1569  has been merged into this issue.
Oct 8, 2013
Project Member #11 adamrs...@gmail.com
(No comment was entered for this change.)
Blocking: fullcalendar:2011
Jun 19, 2014
Project Member #12 adamrs...@gmail.com
(No comment was entered for this change.)
Status: Accepted
Labels: milestone-skeleton
Jul 23, 2014
Project Member #14 adamrs...@gmail.com
This is now possible in v2.1 (beta).
http://blog.arshaw.com/1/post/2014/07/fullcalendar-210-beta.html

Simply set the `height` or `contentHeight` to be however short you want. If there are too many events and the calendar is not able to handle the height, vertical scrollbars appear.

I would really appreciate if you could verify this. Thanks a lot!
Aug 14, 2014
Project Member #15 adamrs...@gmail.com
(No comment was entered for this change.)
Status: Implemented
Aug 26, 2014
Project Member #16 adamrs...@gmail.com
This issue has been resolved with the official release of v2.1.0:
http://blog.arshaw.com/1/post/2014/08/fullcalendar-210-released.html

Please post any follow-up bug reports or feature requests as separate issues. Thanks.
Status: Released