Ext.define('Ext.calendar.view.Day', {
extend: 'Ext.container.Container',
alias: 'widget.dayview',
requires: [
'Ext.calendar.view.AbstractCalendar',
'Ext.calendar.view.DayHeader',
'Ext.calendar.view.DayBody'
],
showTime: true,
showTodayText: true,
todayText: 'Today',
ddCreateEventText: 'Create event for {0}',
ddMoveEventText: 'Move event to {0}',
dayCount: 1,
initComponent : function(){
this.dayCount = this.dayCount > 7 ? 7 : this.dayCount;
var cfg = Ext.apply({}, this.initialConfig);
cfg.showTime = this.showTime;
cfg.showTodatText = this.showTodayText;
cfg.todayText = this.todayText;
cfg.dayCount = this.dayCount;
cfg.wekkCount = 1;
var header = Ext.applyIf({
xtype: 'dayheaderview',
id: this.id+'-hd'
}, cfg);
var body = Ext.applyIf({
xtype: 'daybodyview',
id: this.id+'-bd'
}, cfg);
this.items = [header, body];
this.addCls('ext-cal-dayview ext-cal-ct');
this.callParent(arguments);
},
afterRender : function(){
this.callParent(arguments);
this.header = Ext.getCmp(this.id+'-hd');
this.body = Ext.getCmp(this.id+'-bd');
this.body.on('eventsrendered', this.forceSize, this);
},
refresh : function(){
this.header.refresh();
this.body.refresh();
},
forceSize: function(){
Ext.defer(function(){
var ct = this.el.up('.x-panel-body'),
hd = this.el.down('.ext-cal-day-header'),
h = ct.getHeight() - hd.getHeight();
this.el.child('.ext-cal-body-ct').setHeight(h);
}, 10, this);
},
onResize : function(){
this.forceSize();
},
getViewBounds : function(){
return this.header.getViewBounds();
},
getStartDate : function(){
return this.header.getStartDate();
},
setStartDate: function(dt){
this.header.setStartDate(dt, true);
this.body.setStartDate(dt, true);
},
renderItems: function(){
this.header.renderItems();
this.body.renderItems();
},
isToday : function(){
return this.header.isToday();
},
moveTo : function(dt, noRefresh){
this.header.moveTo(dt, noRefresh);
return this.body.moveTo(dt, noRefresh);
},
moveNext : function(noRefresh){
this.header.moveNext(noRefresh);
return this.body.moveNext(noRefresh);
},
movePrev : function(noRefresh){
this.header.movePrev(noRefresh);
return this.body.movePrev(noRefresh);
},
moveDays : function(value, noRefresh){
this.header.moveDays(value, noRefresh);
return this.body.moveDays(value, noRefresh);
},
moveToday : function(noRefresh){
this.header.moveToday(noRefresh);
return this.body.moveToday(noRefresh);
}
});