getAutoCreate : function(){
- fc_button = function(name, corner, style, content ) {
+ var fc_button = function(name, corner, style, content ) {
return Roo.apply({},{
tag : 'span',
cls : 'fc-button fc-button-'+name+' fc-state-default ' +
this.store.on('load', this.onLoad, this);
this.resize();
- this.cells = this.el.select('.fc-day',true);
+ this.cells = this.el.select('.fc-day',true);
+ //Roo.log(this.cells);
this.textNodes = this.el.query('.fc-day-number');
this.cells.addClassOnOver('fc-state-hover');
startingPos += 7;
}
- var pm = date.add("mo", -1);
+ var pm = date.add(Date.MONTH, -1);
var prevStart = pm.getDaysInMonth()-startingPos;
//
this.cells = this.el.select('.fc-day',true);
// convert everything to numbers so it's fast
var day = 86400000;
var d = (new Date(pm.getFullYear(), pm.getMonth(), prevStart)).clearTime();
+ //Roo.log(d);
+ //Roo.log(pm);
+ //Roo.log(prevStart);
+
var today = new Date().clearTime().getTime();
var sel = date.clearTime().getTime();
var min = this.minDate ? this.minDate.clearTime() : Number.NEGATIVE_INFINITY;
var format = this.format;
var setCellClass = function(cal, cell){
+
+ //Roo.log('set Cell Class');
cell.title = "";
var t = d.getTime();
+ //Roo.log(d);
+
cell.dateValue = t;
if(t == today){
cell.className += " fc-today";
findCells : function(ev) {
var s = ev.start.clone().clearTime().getTime();
+ // Roo.log(s);
var e= ev.end.clone().clearTime().getTime();
+ // Roo.log(e);
var ret = [];
this.cells.each(function(c){
- //Roo.log("check " +c.dateValue + '<' + e + ' > ' + s);
+ ////Roo.log("check " +c.dateValue + '<' + e + ' > ' + s);
if(c.dateValue > e){
return ;
onLoad: function () {
this.clearEvents();
- Roo.log('calendar onload');
+ //Roo.log('calendar onload');
//
this.calevents = [];
var cal = this;
//this.footer = Roo.factory(this.footer, Roo);
}
+ this.view = new Roo.calendar.View(Roo.apply({
+ skipNavHeader : true,
+ skipMonthHeader : false
+
+ },config));
+
this.on('activate', function()
{
Roo.log('activate');
* @param {Calendar} this
* @param {event}
*/
- 'eventclick': true
+ 'eventclick': true,
+ /**
+ * @event rendered
+ * Fires when the grid is rendered
+ * @param {Calendar} this
+
+ */
+ 'rendered': true
+
});
-
+ this.relayEvents(this.view, ["select","monthchange","evententer","eventleave","rendered"]);
+
//this.grid = grid;
//this.grid.getGridEl().replaceClass("x-layout-inactive-content", "x-layout-component-panel");
};
Roo.extend(Roo.CalendarPanel, Roo.ContentPanel, {
- getId : function(){
- return this.id;
- },
- /*
- setSize : function(width, height){
- if(!this.ignoreResize(width, height)){
- var grid = this.grid;
- var size = this.adjustForComponents(width, height);
- grid.getGridEl().setSize(size.width, size.height);
- grid.autoSize();
- }
- },
-
- beforeSlide : function(){
- this.grid.getView().scroller.clip();
- },
- afterSlide : function(){
- this.grid.getView().scroller.unclip();
- },
- */
- destroy : function(){
- // this.grid.destroy();
- // delete this.grid;
- Roo.GridPanel.superclass.destroy.call(this);
-
- },
+
render : function()
{
+ var ct = this.el.appendChild(document.createElement("div"));
this.onRender(this.el, false)
},
Roo.log("render calendar");
+
//Roo.bootstrap.Component.superclass.onRender.call(this, ct, position);
- var cfg = Roo.apply({}, this.getAutoCreate());
+ var cfg = Roo.apply({}, this.view.getAutoCreate());
cfg.id = Roo.id();
// fill in the extra attributes
cfg.name = this.name;
}
- this.el = ct.createChild(cfg, position);
+ this.view.el = ct.createChild(cfg, position);
- if(this.tabIndex !== undefined){
- this.el.dom.setAttribute('tabIndex', this.tabIndex);
- }
- this.initEvents();
- },
-
+ //if(this.tabIndex !== undefined){
+ // this.el.dom.setAttribute('tabIndex', this.tabIndex);
+ //}
+
+
+ this.view.initEvents();
+ this.fireEvent('rendered');
+ }
- getAutoCreate : Roo.bootstrap.Calendar.prototype.getAutoCreate,
- initEvents : Roo.bootstrap.Calendar.prototype.initEvents
});
-
-
-Roo.each([
- 'getAutoCreate',
- 'initEvents',
- 'resize',
- 'showPrevMonth',
- 'showToday',
- 'showNextMonth',
- 'showPrevYear',
- 'showNextYear',
- 'update',
- 'findCell',
- 'findCells',
- 'findBestRow',
- 'addItem',
- 'clearEvents',
- 'renderEvents',
- 'onEventEnter',
- 'onEventLeave',
- 'onEventClick',
- 'onMonthChange',
- 'onLoad'
-
-
-], function(p) {
- Roo.log('add' + p);
- Roo.CalendarPanel.prototype[p] = Roo.bootstrap.Calendar.prototype[p];
-});