X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=ux%2FTimePicker.js;h=231254e2681226101a46a946527513572b0408d1;hb=0b69a11b1055a6d3a3fd0719bdd58b5a235de0e4;hp=49f76a5ba566e06734e1f9a26c87d4175d921a71;hpb=0946e2a704e58e29581aea83c49f1cee440c891d;p=roojs1 diff --git a/ux/TimePicker.js b/ux/TimePicker.js index 49f76a5ba5..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,14 +62,14 @@ 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); }, @@ -68,6 +80,14 @@ Roo.extend(Roo.form.TimePicker , Roo.form.DisplayField , { 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(); @@ -133,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 } ); @@ -151,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']); @@ -219,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 @@ -281,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(); @@ -297,7 +320,7 @@ Roo.extend(Roo.form.TimePicker , Roo.form.DisplayField , { }); - + this.setValue(this.value);