X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FCalendarPanel.js;h=1755aa4a64eb291824991c15be6d5cc1660ae0b6;hb=refs%2Fheads%2Fwip_leon_T7094_logo_image_upload_in_boilerplate;hp=b619e9f54f4e7578984841e0139164d8b82a8ec7;hpb=884299c499b852d14c6e29957ca82f6654a4cace;p=roojs1 diff --git a/Roo/CalendarPanel.js b/Roo/CalendarPanel.js index b619e9f54f..1755aa4a64 100644 --- a/Roo/CalendarPanel.js +++ b/Roo/CalendarPanel.js @@ -18,6 +18,7 @@ Roo.CalendarPanel = function(config){ + Roo.log("cal panel ctr"); this.wrapper = Roo.DomHelper.append(document.body, // wrapper for IE7 strict & safari scroll issue {tag: "div", cls: "x-layout-grid-wrapper x-layout-inactive-content"}, true); @@ -26,6 +27,8 @@ Roo.CalendarPanel = function(config){ Roo.CalendarPanel.superclass.constructor.call(this, this.wrapper, config); + Roo.log(this.el); + if(this.toolbar){ this.toolbar.el.insertBefore(this.wrapper.dom.firstChild); } @@ -37,17 +40,20 @@ Roo.CalendarPanel = function(config){ //this.footer = Roo.factory(this.footer, Roo); } + this.view = new Roo.calendar.View(Roo.apply({ + skipNavHeader : true, + skipMonthHeader : false + + },config)); - this.on('activate', function() + + this.on('activate', function() { - Roo.log('activate'); - if (this.rendered) { - return; - } - this.rendered = true; + Roo.log('activate'); + //console.log('render tree'); this.render(); - },true); + },this); this.addEvents({ /** @@ -84,49 +90,86 @@ Roo.CalendarPanel = function(config){ * @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) }, - - render : function() + onRender : function(ct, position) { + if (this.rendered) { + return; + } + this.rendered = true; Roo.log("render calendar"); + //Roo.bootstrap.Component.superclass.onRender.call(this, ct, position); + + + var cfg = Roo.apply({}, this.view.getAutoCreate()); + cfg.id = Roo.id(); + + // fill in the extra attributes + if (this.xattr && typeof(this.xattr) =='object') { + for (var i in this.xattr) { + cfg[i] = this.xattr[i]; + } + } + + if(this.dataId){ + cfg.dataId = this.dataId; + } + + if (this.cls) { + cfg.cls = (typeof(cfg.cls) == 'undefined') ? this.cls : cfg.cls + ' ' + this.cls; + } + + if (this.style) { // fixme needs to support more complex style data. + cfg.style = this.style; + } + + if(this.name){ + cfg.name = this.name; + } + + this.view.el = ct.createChild(cfg, position); + + //if(this.tabIndex !== undefined){ + // this.el.dom.setAttribute('tabIndex', this.tabIndex); + //} + + + this.view.initEvents(); + this.fireEvent('rendered'); } + + + }); + +