X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FDatePicker.js;h=001c63bbb6d03cf5ceedfa9be7795132e013e75b;hb=0b69a11b1055a6d3a3fd0719bdd58b5a235de0e4;hp=d3d197e16e2c1b6cb9702a2384fce2e704dcc9d0;hpb=7df95dac69fda7ddd8b686bf537ef14477ae2462;p=roojs1 diff --git a/Roo/DatePicker.js b/Roo/DatePicker.js index d3d197e16e..001c63bbb6 100644 --- a/Roo/DatePicker.js +++ b/Roo/DatePicker.js @@ -30,7 +30,14 @@ Roo.DatePicker = function(config){ * @param {DatePicker} this * @param {Date} date The selected date */ - select: true + 'select': true, + /** + * @event monthchange + * Fires when the displayed month changes + * @param {DatePicker} this + * @param {Date} date The selected month + */ + 'monthchange': true }); if(this.handler){ @@ -42,7 +49,9 @@ Roo.DatePicker = function(config){ var re = "(?:"; for(var i = 0; i < dd.length; i++){ re += dd[i]; - if(i != dd.length-1) re += "|"; + if(i != dd.length-1) { + re += "|"; + } } this.disabledDatesRE = new RegExp(re + ")"); } @@ -163,6 +172,15 @@ Roo.extend(Roo.DatePicker, Roo.Component, { */ setValue : function(value){ var old = this.value; + + if (typeof(value) == 'string') { + + value = Date.parseDate(value, this.format); + } + if (!value) { + value = new Date(); + } + this.value = value.clearTime(true); if(this.el){ this.update(this.value); @@ -184,8 +202,9 @@ Roo.extend(Roo.DatePicker, Roo.Component, { } }, - // private + // privateval onRender : function(container, position){ + var m = [ '', '', @@ -511,7 +530,8 @@ Roo.extend(Roo.DatePicker, Roo.Component, { }, // private - update : function(date){ + update : function(date) + { var vd = this.activeDate; this.activeDate = date; if(vd && this.el){ @@ -530,6 +550,7 @@ Roo.extend(Roo.DatePicker, Roo.Component, { return; } } + var days = date.getDaysInMonth(); var firstOfMonth = date.getFirstDateOfMonth(); var startingPos = firstOfMonth.getDay()-this.startDay; @@ -621,7 +642,8 @@ Roo.extend(Roo.DatePicker, Roo.Component, { } this.mbtn.setText(this.monthNames[date.getMonth()] + " " + date.getFullYear()); - + this.fireEvent('monthchange', this, date); + if(!this.internalRender){ var main = this.el.dom.firstChild; var w = main.offsetWidth; @@ -637,5 +659,7 @@ Roo.extend(Roo.DatePicker, Roo.Component, { this.update.defer(10, this, [date]); } } + + } }); \ No newline at end of file