X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=ux%2FTimePicker.js;h=231254e2681226101a46a946527513572b0408d1;hb=0b69a11b1055a6d3a3fd0719bdd58b5a235de0e4;hp=48eada7276e0d3479c435c244e72022b554de5e7;hpb=db0ec3eef171431f43e7067c2573abe3e536f1de;p=roojs1 diff --git a/ux/TimePicker.js b/ux/TimePicker.js index 48eada7276..231254e268 100644 --- a/ux/TimePicker.js +++ b/ux/TimePicker.js @@ -19,6 +19,18 @@ Roo.form.TimePicker = function(config){ } Roo.form.TimePicker.superclass.constructor.call(this, config); + + this.addEvents({ + /** + * @event select + * Fires when a date is selected + * @param {DatePicker} this + * @param {Date} date The selected date + */ + 'select': true, + + }); + }; Roo.extend(Roo.form.TimePicker , Roo.form.DisplayField , { @@ -50,21 +62,31 @@ Roo.extend(Roo.form.TimePicker , Roo.form.DisplayField , { this.viewEl.setHeight(this.height); this.viewEl.setWidth(this.width); - var open = this.startHour.split(':').shift() * 1; - var close = this.endHour.split(':').shift() * 1; - + var paper = this.paper = Raphael(this.viewEl.dom); paper.setSize(this.width,this.height); - this.renderPaper(open,close); + + + this.renderPaper(this.startHour,this.endHour); }, - renderPaper : function( open , close ) + renderPaper : function( startHour , endHour ) { // let's create a pie chart... + var open = startHour.split(':').shift() * 1; + var close = endHour.split(':').shift() * 1; + + var late_night_close = false; + if (close < open || close >= 24) { + //endHour = '24:00'; + close = 24; + late_night_close = close; + } + var paper = this.paper; this.paper.clear(); @@ -74,8 +96,7 @@ Roo.extend(Roo.form.TimePicker , Roo.form.DisplayField , { // say we open for 7 - 19 - open *= 1; - close *=1; + Roo.log([open, close]); data.push(open); @@ -132,7 +153,7 @@ Roo.extend(Roo.form.TimePicker , Roo.form.DisplayField , { cut: 4 , colors : [ '#FEE', '#FCC' ,'#FEE', '#FCC' ] , no_sort : true, - start_angle : 90 + start_angle : 135 } ); @@ -150,7 +171,7 @@ Roo.extend(Roo.form.TimePicker , Roo.form.DisplayField , { for (var i = 0; i < (24/3); i++) { var angle = ( (360/24) * i * -3 ) -90; - var p = outerpie.sector(outerpie.cx, outerpie.cy, 120, angle, angle, false); + var p = outerpie.sector(outerpie.cx, outerpie.cy, 105, angle, angle, false); var innerp = outerpie.sector(outerpie.cx, outerpie.cy, 70, angle, angle, false); Roo.log([p[4],p[5], (i*3)+':00']); @@ -218,6 +239,7 @@ Roo.extend(Roo.form.TimePicker , Roo.form.DisplayField , { var min = ov ? _t.getValue().split(':').pop() : '00'; var ntime = times[this.j] + ':' + min; _t.setValue(ntime); + _t.fireEvent('select', ntime); if (asector) { // reset @@ -280,6 +302,8 @@ Roo.extend(Roo.form.TimePicker , Roo.form.DisplayField , { var hr = ov ? _t.getValue().split(':').shift() : '12'; var ntime = hr + ':' + min; _t.setValue(ntime); + _t.fireEvent('select', ntime); + //tdisplay.attr( { text : _t.formatTime(ntime) }); //var ov = _t.getValue(); @@ -296,7 +320,7 @@ Roo.extend(Roo.form.TimePicker , Roo.form.DisplayField , { }); - + this.setValue(this.value);