Roo/bootstrap/TimeField.js
[roojs1] / Roo / bootstrap / TimeField.js
1 /*
2  * - LGPL
3  *
4  * TimeField
5  * 
6  */
7
8 /**
9  * @class Roo.bootstrap.TimeField
10  * @extends Roo.bootstrap.Input
11  * Bootstrap DateField class
12  * 
13  * 
14  * @constructor
15  * Create a new TimeField
16  * @param {Object} config The config object
17  */
18
19 Roo.bootstrap.TimeField = function(config){
20     Roo.bootstrap.TimeField.superclass.constructor.call(this, config);
21 };
22
23 Roo.extend(Roo.bootstrap.TimeField, Roo.bootstrap.Input,  {
24     
25     /**
26      * @cfg {String} format
27      * The default time format string which can be overriden for localization support.  The format must be
28      * valid according to {@link Date#parseDate} (defaults to 'H:i:s').
29      */
30     format : "H:i:s",
31     
32     
33     UTCDate: function()
34     {
35         return new Date(Date.UTC.apply(Date, arguments));
36     },
37     
38     UTCTime: function()
39     {
40         return new Date(Date.UTC.apply(Date, arguments));
41     },
42     
43     UTCToday: function()
44     {
45         var today = new Date();
46         return this.UTCDate(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate());
47     },
48     
49     UTCTodayTime: function()
50     {
51         var today = new Date();
52         return this.UTCTime(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), today.getUTCHours(), today.getUTCMinutes());
53     },
54     
55     getDate: function() {
56             var d = this.getUTCDate();
57             return new Date(d.getTime() + (d.getTimezoneOffset()*60000));
58     },
59     
60     getUTCDate: function() {
61             return this.date;
62     },
63     
64     setDate: function(d) {
65             this.setUTCDate(new Date(d.getTime() - (d.getTimezoneOffset()*60000)));
66     },
67     
68     setUTCDate: function(d) {
69             this.date = d;
70             this.setValue(this.formatDate(this.date));
71     },
72         
73     onRender: function(ct, position)
74     {
75         
76         Roo.bootstrap.TimeField.superclass.onRender.call(this, ct, position);
77 //        
78 //        this.language = this.language || 'en';
79 //        this.language = this.language in Roo.bootstrap.DateField.dates ? this.language : this.language.split('-')[0];
80 //        this.language = this.language in Roo.bootstrap.DateField.dates ? this.language : "en";
81 //        
82 //        this.isRTL = Roo.bootstrap.DateField.dates[this.language].rtl || false;
83 //        this.format = this.format || 'm/d/y';
84 //        this.isInline = false;
85 //        this.isInput = true;
86 //        this.component = this.el.select('.add-on', true).first() || false;
87 //        this.component = (this.component && this.component.length === 0) ? false : this.component;
88 //        this.hasInput = this.component && this.inputEL().length;
89         
90 //        if (typeof(this.minViewMode === 'string')) {
91 //            switch (this.minViewMode) {
92 //                case 'months':
93 //                    this.minViewMode = 2;
94 //                    break;
95 //                case 'years':
96 //                    this.minViewMode = 3;
97 //                    break;
98 //                case 'day':
99 //                    this.minViewMode = 1;
100 //                    break;
101 //                default:
102 //                    this.minViewMode = 0;
103 //                    break;
104 //            }
105 //        }
106         
107 //        if (typeof(this.viewMode === 'string')) {
108 //            switch (this.viewMode) {
109 //                case 'months':
110 //                    this.viewMode = 2;
111 //                    break;
112 //                case 'years':
113 //                    this.viewMode = 2;
114 //                    break;
115 //                case 'day':
116 //                    this.viewMode = 1;
117 //                    break;
118 //                default:
119 //                    this.viewMode = 0;
120 //                    break;
121 //            }
122 //        }
123                 
124         this.el.select('>.input-group', true).first().createChild(Roo.bootstrap.TimeField.template);
125         
126         this.picker().setVisibilityMode(Roo.Element.DISPLAY).originalDisplay = 'block';
127         
128         this.picker().on('mousedown', this.onMousedown, this);
129         this.picker().on('click', this.onClick, this);
130         
131         this.picker().addClass('datepicker-dropdown');
132         
133 //        this.startViewMode = this.viewMode;
134         
135 //        this.weekEnd = this.weekStart === 0 ? 6 : this.weekStart - 1;
136         
137 //        this.setStartDate(this.startDate);
138 //        this.setEndDate(this.endDate);
139         
140 //        this.setDaysOfWeekDisabled(this.daysOfWeekDisabled);
141         
142 //        this.fillDow();
143 //        this.fillMonths();
144         this.fillTime();
145         this.update();
146 //        this.showMode();
147         
148 //        if(this.showTime){
149             
150 //            var dayFoot = this.picker().select('>.datepicker-days tfoot th', true).first();
151 //            var timeFoot = this.picker().select('>.datepicker-time tfoot th', true).first();
152 //
153 //            var dayFootIcon = this.picker().select('>.datepicker-days tfoot span.picker-switch-icon', true).first();
154 //            var timeFootIcon = this.picker().select('>.datepicker-time tfoot span.picker-switch-icon', true).first();
155 //            
156 //            timeFoot.addClass('switch-calendar');
157 //            dayFoot.addClass('switch-time');
158 //            
159 //            timeFootIcon.addClass('switch-calendar');
160 //            timeFootIcon.addClass('glyphicon-calendar');
161 //            
162 //            dayFootIcon.addClass('switch-time');
163 //            dayFootIcon.addClass('glyphicon-time');
164             
165         var hours_up = this.picker().select('>.datepicker-time span.hours-up', true).first();
166         var hours_down = this.picker().select('>.datepicker-time span.hours-down', true).first();
167         var minutes_up = this.picker().select('>.datepicker-time span.minutes-up', true).first();
168         var minutes_down = this.picker().select('>.datepicker-time span.minutes-down', true).first();
169
170         var period = this.picker().select('>.datepicker-time button', true).first();
171
172         hours_up.on('click', this.onIncrementHours, hours_up);
173         hours_down.on('click', this.onDecrementHours, hours_down);
174         minutes_up.on('click', this.onIncrementMinutes, minutes_up);
175         minutes_down.on('click', this.onDecrementMinutes, minutes_down);
176
177         period.on('click', this.onTogglePeriod, period);
178             
179 //        }else{
180 //            Roo.each(this.picker().select('tfoot th', true).elements, function(v){
181 //                v.remove();
182 //            });
183 //        }
184 //        
185 //        if(this.isInline) {
186 //            this.show();
187 //        }
188     },
189     
190     picker : function()
191     {
192         return this.el.select('.datepicker', true).first();
193     },
194     
195     fillTime: function()
196     {    
197         var time = this.picker().select('>.datepicker-time tbody', true).first();
198         
199         time.dom.innerHTML = '';
200         
201         time.createChild({
202             tag: 'tr',
203             cn: [
204                 {
205                     tag: 'td',
206                     cn: [
207                         {
208                             tag: 'a',
209                             href: '#',
210                             cls: 'btn',
211                             cn: [
212                                 {
213                                     tag: 'span',
214                                     cls: 'hours-up glyphicon glyphicon-chevron-up'
215                                 }
216                             ]
217                         } 
218                     ]
219                 },
220                 {
221                     tag: 'td',
222                     cls: 'separator'
223                 },
224                 {
225                     tag: 'td',
226                     cn: [
227                         {
228                             tag: 'a',
229                             href: '#',
230                             cls: 'btn',
231                             cn: [
232                                 {
233                                     tag: 'span',
234                                     cls: 'minutes-up glyphicon glyphicon-chevron-up'
235                                 }
236                             ]
237                         }
238                     ]
239                 },
240                 {
241                     tag: 'td',
242                     cls: 'separator'
243                 }
244             ]
245         });
246         
247         time.createChild({
248             tag: 'tr',
249             cn: [
250                 {
251                     tag: 'td',
252                     cn: [
253                         {
254                             tag: 'span',
255                             cls: 'timepicker-hour',
256                             html: '00'
257                         }  
258                     ]
259                 },
260                 {
261                     tag: 'td',
262                     cls: 'separator',
263                     html: ':'
264                 },
265                 {
266                     tag: 'td',
267                     cn: [
268                         {
269                             tag: 'span',
270                             cls: 'timepicker-minute',
271                             html: '00'
272                         }  
273                     ]
274                 },
275                 {
276                     tag: 'td',
277                     cls: 'separator'
278                 },
279                 {
280                     tag: 'td',
281                     cn: [
282                         {
283                             tag: 'button',
284                             type: 'button',
285                             cls: 'btn btn-primary',
286                             html: 'AM'
287                             
288                         }
289                     ]
290                 }
291             ]
292         });
293         
294         time.createChild({
295             tag: 'tr',
296             cn: [
297                 {
298                     tag: 'td',
299                     cn: [
300                         {
301                             tag: 'a',
302                             href: '#',
303                             cls: 'btn',
304                             cn: [
305                                 {
306                                     tag: 'span',
307                                     cls: 'hours-down glyphicon glyphicon-chevron-down'
308                                 }
309                             ]
310                         }
311                     ]
312                 },
313                 {
314                     tag: 'td',
315                     cls: 'separator'
316                 },
317                 {
318                     tag: 'td',
319                     cn: [
320                         {
321                             tag: 'a',
322                             href: '#',
323                             cls: 'btn',
324                             cn: [
325                                 {
326                                     tag: 'span',
327                                     cls: 'minutes-down glyphicon glyphicon-chevron-down'
328                                 }
329                             ]
330                         }
331                     ]
332                 },
333                 {
334                     tag: 'td',
335                     cls: 'separator'
336                 }
337             ]
338         });
339         
340     },
341     
342     update: function()
343     {
344         
345         this.time = (typeof(this.time) === 'undefined') ? new Date() : this.time;
346         
347         this.fill();
348     },
349     
350     fill: function() 
351     {
352         Roo.log('fill!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1');
353         Roo.log(this.time);
354         Roo.log(this.time.getHours());
355 //        Roo.log(this.time.get());
356         
357     },
358 //    
359 //    showMode: function(dir) {
360 //        if (dir) {
361 //            this.viewMode = Math.max(this.minViewMode, Math.min(3, this.viewMode + dir));
362 //        }
363 //        
364 //        Roo.each(this.picker().select('>div',true).elements, function(v){
365 //            v.setVisibilityMode(Roo.Element.DISPLAY).originalDisplay = 'block';
366 //            v.hide();
367 //        });
368 //        this.picker().select('>.datepicker-'+Roo.bootstrap.DateField.modes[this.viewMode].clsName, true).first().show();
369 //        
370 //    },
371     
372     place: function()
373     {
374 //        if(this.isInline) return;
375         
376         this.picker().removeClass(['bottom', 'top']);
377         
378         if((Roo.lib.Dom.getViewHeight() + Roo.get(document.body).getScroll().top) - (this.inputEl().getBottom() + this.picker().getHeight()) < 0){
379             /*
380              * place to the top of element!
381              *
382              */
383             
384             this.picker().addClass('top');
385             this.picker().setTop(0 - this.picker().getHeight()).setLeft(this.inputEl().getLeft() - this.el.getLeft());
386             
387             return;
388         }
389         
390         this.picker().addClass('bottom');
391         
392         this.picker().setTop(this.inputEl().getHeight()).setLeft(this.inputEl().getLeft() - this.el.getLeft());
393     },
394     
395 //    parseDate : function(value){
396 //        if(!value || value instanceof Date){
397 //            return value;
398 //        }
399 //        var v = Date.parseDate(value, this.format);
400 //        if (!v && this.useIso) {
401 //            v = Date.parseDate(value, 'Y-m-d');
402 //        }
403 //        if(!v && this.altFormats){
404 //            if(!this.altFormatsArray){
405 //                this.altFormatsArray = this.altFormats.split("|");
406 //            }
407 //            for(var i = 0, len = this.altFormatsArray.length; i < len && !v; i++){
408 //                v = Date.parseDate(value, this.altFormatsArray[i]);
409 //            }
410 //        }
411 //        return v;
412 //    },
413     
414 //    formatDate : function(date, fmt){
415 //        return (!date || !(date instanceof Date)) ?
416 //        date : date.dateFormat(fmt || this.format);
417 //    },
418     
419     onFocus : function()
420     {
421         Roo.bootstrap.TimeField.superclass.onFocus.call(this);
422         this.show();
423     },
424     
425     onBlur : function()
426     {
427         Roo.bootstrap.TimeField.superclass.onBlur.call(this);
428         this.hide();
429     },
430     
431     show : function()
432     {
433         this.picker().show();
434         this.update();
435         this.place();
436     },
437     
438     hide : function()
439     {
440         this.picker().hide();
441         
442     },
443     
444     onMousedown: function(e){
445         e.stopPropagation();
446         e.preventDefault();
447     },
448 //    
449 //    keyup: function(e){
450 //        Roo.bootstrap.DateField.superclass.keyup.call(this);
451 //        this.update();
452 //        
453 //    },
454     
455 //    fireKey: function(e){
456 //        if (!this.picker().isVisible()){
457 //            if (e.keyCode == 27) // allow escape to hide and re-show picker
458 //                this.show();
459 //            return;
460 //        }
461 //        var dateChanged = false,
462 //        dir, day, month,
463 //        newDate, newViewDate;
464 //        switch(e.keyCode){
465 //            case 27: // escape
466 //                this.hide();
467 //                e.preventDefault();
468 //                break;
469 //            case 37: // left
470 //            case 39: // right
471 //                if (!this.keyboardNavigation) break;
472 //                dir = e.keyCode == 37 ? -1 : 1;
473 //                
474 //                if (e.ctrlKey){
475 //                    newDate = this.moveYear(this.date, dir);
476 //                    newViewDate = this.moveYear(this.viewDate, dir);
477 //                } else if (e.shiftKey){
478 //                    newDate = this.moveMonth(this.date, dir);
479 //                    newViewDate = this.moveMonth(this.viewDate, dir);
480 //                } else {
481 //                    newDate = new Date(this.date);
482 //                    newDate.setUTCDate(this.date.getUTCDate() + dir);
483 //                    newViewDate = new Date(this.viewDate);
484 //                    newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir);
485 //                }
486 //                if (this.dateWithinRange(newDate)){
487 //                    this.date = newDate;
488 //                    this.viewDate = newViewDate;
489 //                    this.setValue(this.formatDate(this.date));
490 //                    this.update();
491 //                    e.preventDefault();
492 //                    dateChanged = true;
493 //                }
494 //                break;
495 //            case 38: // up
496 //            case 40: // down
497 //                if (!this.keyboardNavigation) break;
498 //                dir = e.keyCode == 38 ? -1 : 1;
499 //                if (e.ctrlKey){
500 //                    newDate = this.moveYear(this.date, dir);
501 //                    newViewDate = this.moveYear(this.viewDate, dir);
502 //                } else if (e.shiftKey){
503 //                    newDate = this.moveMonth(this.date, dir);
504 //                    newViewDate = this.moveMonth(this.viewDate, dir);
505 //                } else {
506 //                    newDate = new Date(this.date);
507 //                    newDate.setUTCDate(this.date.getUTCDate() + dir * 7);
508 //                    newViewDate = new Date(this.viewDate);
509 //                    newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir * 7);
510 //                }
511 //                if (this.dateWithinRange(newDate)){
512 //                    this.date = newDate;
513 //                    this.viewDate = newViewDate;
514 //                    this.setValue(this.formatDate(this.date));
515 //                    this.update();
516 //                    e.preventDefault();
517 //                    dateChanged = true;
518 //                }
519 //                break;
520 //            case 13: // enter
521 //                this.setValue(this.formatDate(this.date));
522 //                this.hide();
523 //                e.preventDefault();
524 //                break;
525 //            case 9: // tab
526 //                this.setValue(this.formatDate(this.date));
527 //                this.hide();
528 //                break;
529 //        }
530 //    },
531     
532     
533     onClick: function(e) {
534         e.stopPropagation();
535         e.preventDefault();
536         
537         var target = e.getTarget();
538         
539 //        if(target.nodeName.toLowerCase() === 'i'){
540 //            target = Roo.get(target).dom.parentNode;
541 //        }
542         
543         var nodeName = target.nodeName.trim();
544         var className = target.className.trim();
545         var html = target.innerHTML;
546         
547         Roo.log('nodeName');
548         Roo.log(nodeName);
549         
550         Roo.log('className');
551         Roo.log(className);
552         
553         Roo.log('html');
554         Roo.log(html);
555         
556         
557 //        switch(nodeName.toLowerCase()) {
558 //            case 'th':
559 //                switch(className) {
560 //                    case 'switch':
561 //                        this.showMode(1);
562 //                        break;
563 //                    case 'prev':
564 //                    case 'next':
565 //                        var dir = Roo.bootstrap.DateField.modes[this.viewMode].navStep * (className == 'prev' ? -1 : 1);
566 //                        switch(this.viewMode){
567 //                                case 0:
568 //                                        this.viewDate = this.moveMonth(this.viewDate, dir);
569 //                                        break;
570 //                                case 1:
571 //                                case 2:
572 //                                        this.viewDate = this.moveYear(this.viewDate, dir);
573 //                                        break;
574 //                        }
575 //                        this.fill();
576 //                        break;
577 //                    case 'today':
578 //                        var date = new Date();
579 //                        this.date = this.UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
580 //                        this.fill()
581 //                        this.setValue(this.formatDate(this.date));
582 //                        this.hide();
583 //                        break;
584 //                     case 'switch-time':
585 //                        this.showMode(-1);
586 //                        this.fill();
587 //                        break;
588 //                     case 'switch-calendar':
589 //                         this.showMode(1);
590 //                         this.fill();
591 //                         break;
592 //                }
593 //                break;
594 //            case 'span':
595 //                if (className.indexOf('disabled') === -1) {
596 //                    this.viewDate.setUTCDate(1);
597 //                    if (className.indexOf('month') !== -1) {
598 //                        this.viewDate.setUTCMonth(Roo.bootstrap.DateField.dates[this.language].monthsShort.indexOf(html));
599 //                    } else if(className.indexOf('picker-switch-icon') !== -1){
600 //                        if(className.indexOf('switch-time') !== -1){
601 //                            this.showMode(-1);
602 //                            this.fill();
603 //                        }else{
604 //                            this.showMode(1);
605 //                            this.fill();
606 //                        }
607 //                        
608 //                        break;
609 //                        
610 //                    } else {
611 //                        var year = parseInt(html, 10) || 0;
612 //                        this.viewDate.setUTCFullYear(year);
613 //                        
614 //                    }
615 //                    this.showMode(-1);
616 //                    this.fill();
617 //                }
618 //                break;
619 //                
620 //            case 'td':
621 //                if (className.indexOf('day') !== -1 && className.indexOf('disabled') === -1){
622 //                    var day = parseInt(html, 10) || 1;
623 //                    var year = this.viewDate.getUTCFullYear(),
624 //                        month = this.viewDate.getUTCMonth();
625 //
626 //                    if (className.indexOf('old') !== -1) {
627 //                        if(month === 0 ){
628 //                            month = 11;
629 //                            year -= 1;
630 //                        }else{
631 //                            month -= 1;
632 //                        }
633 //                    } else if (className.indexOf('new') !== -1) {
634 //                        if (month == 11) {
635 //                            month = 0;
636 //                            year += 1;
637 //                        } else {
638 //                            month += 1;
639 //                        }
640 //                    }
641 //                    this.date = this.UTCDate(year, month, day,0,0,0,0);
642 //                    this.viewDate = this.UTCDate(year, month, Math.min(28, day),0,0,0,0);
643 //                    this.fill();
644 //                    this.setValue(this.formatDate(this.date));
645 //                    this.hide();
646 //                }
647 //                break;
648 //        }
649     },
650     
651 //    setStartDate: function(startDate){
652 //        this.startDate = startDate || -Infinity;
653 //        if (this.startDate !== -Infinity) {
654 //            this.startDate = this.parseDate(this.startDate);
655 //        }
656 //        this.update();
657 //        this.updateNavArrows();
658 //    },
659 //
660 //    setEndDate: function(endDate){
661 //        this.endDate = endDate || Infinity;
662 //        if (this.endDate !== Infinity) {
663 //            this.endDate = this.parseDate(this.endDate);
664 //        }
665 //        this.update();
666 //        this.updateNavArrows();
667 //    },
668 //    
669 //    setDaysOfWeekDisabled: function(daysOfWeekDisabled){
670 //        this.daysOfWeekDisabled = daysOfWeekDisabled || [];
671 //        if (typeof(this.daysOfWeekDisabled) !== 'object') {
672 //            this.daysOfWeekDisabled = this.daysOfWeekDisabled.split(/,\s*/);
673 //        }
674 //        this.daysOfWeekDisabled = this.daysOfWeekDisabled.map(function (d) {
675 //            return parseInt(d, 10);
676 //        });
677 //        this.update();
678 //        this.updateNavArrows();
679 //    },
680 //    
681 //    updateNavArrows: function() {
682 //        var d = new Date(this.viewDate),
683 //        year = d.getUTCFullYear(),
684 //        month = d.getUTCMonth();
685 //        
686 //        Roo.each(this.picker().select('.prev', true).elements, function(v){
687 //            v.show();
688 //            switch (this.viewMode) {
689 //                case 0:
690 //
691 //                    if (this.startDate !== -Infinity && year <= this.startDate.getUTCFullYear() && month <= this.startDate.getUTCMonth()) {
692 //                        v.hide();
693 //                    }
694 //                    break;
695 //                case 1:
696 //                case 2:
697 //                    if (this.startDate !== -Infinity && year <= this.startDate.getUTCFullYear()) {
698 //                        v.hide();
699 //                    }
700 //                    break;
701 //            }
702 //        });
703 //        
704 //        Roo.each(this.picker().select('.next', true).elements, function(v){
705 //            v.show();
706 //            switch (this.viewMode) {
707 //                case 0:
708 //
709 //                    if (this.endDate !== Infinity && year >= this.endDate.getUTCFullYear() && month >= this.endDate.getUTCMonth()) {
710 //                        v.hide();
711 //                    }
712 //                    break;
713 //                case 1:
714 //                case 2:
715 //                    if (this.endDate !== Infinity && year >= this.endDate.getUTCFullYear()) {
716 //                        v.hide();
717 //                    }
718 //                    break;
719 //            }
720 //        })
721 //    },
722 //    
723 //    moveMonth: function(date, dir){
724 //        if (!dir) return date;
725 //        var new_date = new Date(date.valueOf()),
726 //        day = new_date.getUTCDate(),
727 //        month = new_date.getUTCMonth(),
728 //        mag = Math.abs(dir),
729 //        new_month, test;
730 //        dir = dir > 0 ? 1 : -1;
731 //        if (mag == 1){
732 //            test = dir == -1
733 //            // If going back one month, make sure month is not current month
734 //            // (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)
735 //            ? function(){
736 //                return new_date.getUTCMonth() == month;
737 //            }
738 //            // If going forward one month, make sure month is as expected
739 //            // (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)
740 //            : function(){
741 //                return new_date.getUTCMonth() != new_month;
742 //            };
743 //            new_month = month + dir;
744 //            new_date.setUTCMonth(new_month);
745 //            // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11
746 //            if (new_month < 0 || new_month > 11)
747 //                new_month = (new_month + 12) % 12;
748 //        } else {
749 //            // For magnitudes >1, move one month at a time...
750 //            for (var i=0; i<mag; i++)
751 //                // ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...
752 //                new_date = this.moveMonth(new_date, dir);
753 //            // ...then reset the day, keeping it in the new month
754 //            new_month = new_date.getUTCMonth();
755 //            new_date.setUTCDate(day);
756 //            test = function(){
757 //                return new_month != new_date.getUTCMonth();
758 //            };
759 //        }
760 //        // Common date-resetting loop -- if date is beyond end of month, make it
761 //        // end of month
762 //        while (test()){
763 //            new_date.setUTCDate(--day);
764 //            new_date.setUTCMonth(new_month);
765 //        }
766 //        return new_date;
767 //    },
768 //
769 //    moveYear: function(date, dir){
770 //        return this.moveMonth(date, dir*12);
771 //    },
772 //
773 //    dateWithinRange: function(date){
774 //        return date >= this.startDate && date <= this.endDate;
775 //    },
776
777 //    remove: function() {
778 //        this.picker().remove();
779 //    },
780     
781     onIncrementHours: function()
782     {
783         Roo.log('onIncrementHours');
784     },
785     
786     onDecrementHours: function()
787     {
788         Roo.log('onDecrementHours');
789     },
790     
791     onIncrementMinutes: function()
792     {
793         Roo.log('onIncrementMinutes');
794     },
795     
796     onDecrementMinutes: function()
797     {
798         Roo.log('onDecrementMinutes');
799     },
800     
801     onTogglePeriod: function()
802     {
803         Roo.log('onTogglePeriod');
804     }
805     
806    
807 });
808
809 Roo.apply(Roo.bootstrap.TimeField,  {
810     
811     content : {
812         tag: 'tbody',
813         cn: [
814         {
815             tag: 'tr',
816             cn: [
817             {
818                 tag: 'td',
819                 colspan: '7'
820             }
821             ]
822         }
823         ]
824     }
825 });
826
827 Roo.apply(Roo.bootstrap.TimeField,  {
828   
829     template : {
830         tag: 'div',
831         cls: 'datepicker dropdown-menu',
832         cn: [
833             {
834                 tag: 'div',
835                 cls: 'datepicker-time',
836                 cn: [
837                 {
838                     tag: 'table',
839                     cls: 'table-condensed',
840                     cn:[
841                     Roo.bootstrap.DateField.content
842                     ]
843                 }
844                 ]
845             }
846         ]
847     }
848 });
849
850  
851
852