|
30 | 30 | this.appendWidgetTo = options.appendWidgetTo;
|
31 | 31 | this.showWidgetOnAddonClick = options.showWidgetOnAddonClick;
|
32 | 32 | this.timeSeparator = options.timeSeparator;
|
| 33 | + this.amDesignator = options.amDesignator ? options.amDesignator : 'AM'; |
| 34 | + this.pmDesignator = options.pmDesignator ? options.pmDesignator : 'PM'; |
| 35 | + |
33 | 36 | this._init();
|
34 | 37 | };
|
35 | 38 |
|
|
299 | 302 | case 'modal':
|
300 | 303 | template = '<div class="bootstrap-timepicker-widget modal hide fade in" data-backdrop="'+ (this.modalBackdrop ? 'true' : 'false') +'">'+
|
301 | 304 | '<div class="modal-header">'+
|
302 |
| - '<a href="#" class="close" data-dismiss="modal">×</a>'+ |
| 305 | + '<a href="#" class="close" data-dismiss="modal">×</a>'+ |
303 | 306 | '<h3>Pick a Time</h3>'+
|
304 | 307 | '</div>'+
|
305 | 308 | '<div class="modal-content">'+
|
|
484 | 487 | this.highlightedUnit = 'meridian';
|
485 | 488 |
|
486 | 489 | if ($element.setSelectionRange) {
|
| 490 | + var start; |
487 | 491 | if (this.showSeconds) {
|
488 |
| - setTimeout(function() { |
489 |
| - if (self.hour < 10) { |
490 |
| - $element.setSelectionRange(8,10); |
491 |
| - } else { |
492 |
| - $element.setSelectionRange(9,11); |
493 |
| - } |
494 |
| - }, 0); |
| 492 | + start = self.hour < 10 ? 8 : 9; |
495 | 493 | } else {
|
| 494 | + start = self.hour < 10 ? 5 : 6; |
| 495 | + } |
| 496 | + |
496 | 497 | setTimeout(function() {
|
497 |
| - if (self.hour < 10) { |
498 |
| - $element.setSelectionRange(5,7); |
499 |
| - } else { |
500 |
| - $element.setSelectionRange(6,8); |
501 |
| - } |
| 498 | + $element.setSelectionRange(start,start+self.meridian.length); |
502 | 499 | }, 0);
|
503 |
| - } |
| 500 | + |
504 | 501 | }
|
505 | 502 | },
|
506 | 503 |
|
|
677 | 674 | hours = dTime.getHours(),
|
678 | 675 | minutes = dTime.getMinutes(),
|
679 | 676 | seconds = dTime.getSeconds(),
|
680 |
| - meridian = 'AM'; |
| 677 | + meridian = this.amDesignator; |
681 | 678 |
|
682 | 679 | if (seconds !== 0) {
|
683 | 680 | seconds = Math.ceil(dTime.getSeconds() / this.secondStep) * this.secondStep;
|
|
702 | 699 | if (hours > 12) {
|
703 | 700 | hours = hours - 12;
|
704 | 701 | }
|
705 |
| - meridian = 'PM'; |
| 702 | + meridian = this.pmDesignator; |
706 | 703 | } else {
|
707 |
| - meridian = 'AM'; |
| 704 | + meridian = this.amDesignator; |
708 | 705 | }
|
709 | 706 | }
|
710 | 707 |
|
|
719 | 716 | this.hour = 0;
|
720 | 717 | this.minute = 0;
|
721 | 718 | this.second = 0;
|
722 |
| - this.meridian = 'AM'; |
| 719 | + this.meridian = this.amDesignator; |
723 | 720 | } else {
|
724 | 721 | this.setTime(defaultTime);
|
725 | 722 | }
|
|
747 | 744 | second = time.getSeconds();
|
748 | 745 |
|
749 | 746 | if (this.showMeridian){
|
750 |
| - meridian = 'AM'; |
| 747 | + meridian = this.amDesignator; |
751 | 748 | if (hour > 12){
|
752 |
| - meridian = 'PM'; |
| 749 | + meridian = this.pmDesignator; |
753 | 750 | hour = hour % 12;
|
754 | 751 | }
|
755 | 752 |
|
756 | 753 | if (hour === 12){
|
757 |
| - meridian = 'PM'; |
| 754 | + meridian = this.pmDesignator; |
758 | 755 | }
|
759 | 756 | }
|
760 | 757 | } else {
|
761 | 758 | if (time.match(/p/i) !== null) {
|
762 |
| - meridian = 'PM'; |
| 759 | + meridian = this.pmDesignator; |
763 | 760 | } else {
|
764 |
| - meridian = 'AM'; |
| 761 | + meridian = this.amDesignator; |
765 | 762 | }
|
766 | 763 | // Don't know how to include dynamically a char do both [.:]
|
767 | 764 | time = time.replace(/[^0-9\:\.]/g, '');
|
|
813 | 810 | } else if (hour < 0) {
|
814 | 811 | hour = 0;
|
815 | 812 | }
|
816 |
| - if (hour < 13 && meridian === 'PM') { |
| 813 | + if (hour < 13 && meridian === this.pmDesignator) { |
817 | 814 | hour = hour + 12;
|
818 | 815 | }
|
819 | 816 | }
|
|
902 | 899 | },
|
903 | 900 |
|
904 | 901 | toggleMeridian: function() {
|
905 |
| - this.meridian = this.meridian === 'AM' ? 'PM' : 'AM'; |
| 902 | + this.meridian = this.meridian === this.amDesignator ? this.pmDesignator : this.amDesignator; |
906 | 903 | },
|
907 | 904 |
|
908 | 905 | update: function(ignoreWidget) {
|
|
1089 | 1086 | template: 'dropdown',
|
1090 | 1087 | appendWidgetTo: 'body',
|
1091 | 1088 | showWidgetOnAddonClick: true,
|
1092 |
| - timeSeparator : ':' |
| 1089 | + timeSeparator : ':', |
| 1090 | + amDesignator : 'AM', |
| 1091 | + pmDesignator : 'PM', |
1093 | 1092 | };
|
1094 | 1093 |
|
1095 | 1094 | $.fn.timepicker.Constructor = Timepicker;
|
|
0 commit comments