|
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