Skip to content

Commit 37ed869

Browse files
committed
merged jdewit#222 AM / PM designators
with some changes for variable length... eg: Czech [dop., odp.]
1 parent 085024c commit 37ed869

File tree

1 file changed

+25
-26
lines changed

1 file changed

+25
-26
lines changed

js/bootstrap-timepicker.js

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030
this.appendWidgetTo = options.appendWidgetTo;
3131
this.showWidgetOnAddonClick = options.showWidgetOnAddonClick;
3232
this.timeSeparator = options.timeSeparator;
33+
this.amDesignator = options.amDesignator ? options.amDesignator : 'AM';
34+
this.pmDesignator = options.pmDesignator ? options.pmDesignator : 'PM';
35+
3336
this._init();
3437
};
3538

@@ -299,7 +302,7 @@
299302
case 'modal':
300303
template = '<div class="bootstrap-timepicker-widget modal hide fade in" data-backdrop="'+ (this.modalBackdrop ? 'true' : 'false') +'">'+
301304
'<div class="modal-header">'+
302-
'<a href="#" class="close" data-dismiss="modal">×</a>'+
305+
'<a href="#" class="close" data-dismiss="modal">&times;</a>'+
303306
'<h3>Pick a Time</h3>'+
304307
'</div>'+
305308
'<div class="modal-content">'+
@@ -484,23 +487,17 @@
484487
this.highlightedUnit = 'meridian';
485488

486489
if ($element.setSelectionRange) {
490+
var start;
487491
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;
495493
} else {
494+
start = self.hour < 10 ? 5 : 6;
495+
}
496+
496497
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);
502499
}, 0);
503-
}
500+
504501
}
505502
},
506503

@@ -677,7 +674,7 @@
677674
hours = dTime.getHours(),
678675
minutes = dTime.getMinutes(),
679676
seconds = dTime.getSeconds(),
680-
meridian = 'AM';
677+
meridian = this.amDesignator;
681678

682679
if (seconds !== 0) {
683680
seconds = Math.ceil(dTime.getSeconds() / this.secondStep) * this.secondStep;
@@ -702,9 +699,9 @@
702699
if (hours > 12) {
703700
hours = hours - 12;
704701
}
705-
meridian = 'PM';
702+
meridian = this.pmDesignator;
706703
} else {
707-
meridian = 'AM';
704+
meridian = this.amDesignator;
708705
}
709706
}
710707

@@ -719,7 +716,7 @@
719716
this.hour = 0;
720717
this.minute = 0;
721718
this.second = 0;
722-
this.meridian = 'AM';
719+
this.meridian = this.amDesignator;
723720
} else {
724721
this.setTime(defaultTime);
725722
}
@@ -747,21 +744,21 @@
747744
second = time.getSeconds();
748745

749746
if (this.showMeridian){
750-
meridian = 'AM';
747+
meridian = this.amDesignator;
751748
if (hour > 12){
752-
meridian = 'PM';
749+
meridian = this.pmDesignator;
753750
hour = hour % 12;
754751
}
755752

756753
if (hour === 12){
757-
meridian = 'PM';
754+
meridian = this.pmDesignator;
758755
}
759756
}
760757
} else {
761758
if (time.match(/p/i) !== null) {
762-
meridian = 'PM';
759+
meridian = this.pmDesignator;
763760
} else {
764-
meridian = 'AM';
761+
meridian = this.amDesignator;
765762
}
766763
// Don't know how to include dynamically a char do both [.:]
767764
time = time.replace(/[^0-9\:\.]/g, '');
@@ -813,7 +810,7 @@
813810
} else if (hour < 0) {
814811
hour = 0;
815812
}
816-
if (hour < 13 && meridian === 'PM') {
813+
if (hour < 13 && meridian === this.pmDesignator) {
817814
hour = hour + 12;
818815
}
819816
}
@@ -902,7 +899,7 @@
902899
},
903900

904901
toggleMeridian: function() {
905-
this.meridian = this.meridian === 'AM' ? 'PM' : 'AM';
902+
this.meridian = this.meridian === this.amDesignator ? this.pmDesignator : this.amDesignator;
906903
},
907904

908905
update: function(ignoreWidget) {
@@ -1089,7 +1086,9 @@
10891086
template: 'dropdown',
10901087
appendWidgetTo: 'body',
10911088
showWidgetOnAddonClick: true,
1092-
timeSeparator : ':'
1089+
timeSeparator : ':',
1090+
amDesignator : 'AM',
1091+
pmDesignator : 'PM',
10931092
};
10941093

10951094
$.fn.timepicker.Constructor = Timepicker;

0 commit comments

Comments
 (0)