3 * Copyright(c) 2006-2010 Sencha Inc.
5 * http://www.sencha.com/license
8 * @class Ext.calendar.DayBodyTemplate
9 * @extends Ext.XTemplate
10 * <p>This is the template used to render the scrolling body container used in {@link Ext.calendar.DayView DayView} and
11 * {@link Ext.calendar.WeekView WeekView}. This template is automatically bound to the underlying event store by the
12 * calendar components and expects records of type {@link Ext.calendar.EventRecord}.</p>
13 * <p>Note that this template would not normally be used directly. Instead you would use the {@link Ext.calendar.DayViewTemplate}
14 * that internally creates an instance of this template along with a {@link Ext.calendar.DayHeaderTemplate}.</p>
16 * @param {Object} config The config object
18 Ext.calendar.DayBodyTemplate = function(config){
20 Ext.apply(this, config);
22 Ext.calendar.DayBodyTemplate.superclass.constructor.call(this,
23 '<table class="ext-cal-bg-tbl" cellspacing="0" cellpadding="0">',
26 '<td class="ext-cal-gutter"></td>',
27 '<td colspan="{dayCount}">',
28 '<div class="ext-cal-bg-rows">',
29 '<div class="ext-cal-bg-rows-inner">',
31 '<div class="ext-cal-bg-row">',
32 '<div class="ext-cal-bg-row-div ext-row-{[xindex]}"></div>',
40 '<td class="ext-cal-day-times">',
42 '<div class="ext-cal-bg-row">',
43 '<div class="ext-cal-day-time-inner">{.}</div>',
48 '<td class="ext-cal-day-col">',
49 '<div class="ext-cal-day-col-inner">',
50 '<div id="{[this.id]}-day-col-{.:date("Ymd")}" class="ext-cal-day-col-gutter"></div>',
60 Ext.extend(Ext.calendar.DayBodyTemplate, Ext.XTemplate, {
62 applyTemplate : function(o){
63 this.today = new Date().clearTime();
64 this.dayCount = this.dayCount || 1;
67 dt = o.viewStart.clone(),
70 for(; i<this.dayCount; i++){
71 days[i] = dt.add(Date.DAY, i);
75 dt = new Date().clearTime();
77 times.push(dt.format('ga'));
78 dt = dt.add(Date.HOUR, 1);
81 return Ext.calendar.DayBodyTemplate.superclass.applyTemplate.call(this, {
83 dayCount: days.length,
89 Ext.calendar.DayBodyTemplate.prototype.apply = Ext.calendar.DayBodyTemplate.prototype.applyTemplate;