|
2 | 2 | * jQuery timepicker addon
|
3 | 3 | * By: Trent Richardson [http://trentrichardson.com]
|
4 | 4 | * Version 1.0.3-dev
|
5 |
| - * Last Modified: 07/01/2012 |
| 5 | + * Last Modified: 09/12/2012 |
6 | 6 | *
|
7 | 7 | * Copyright 2012 Trent Richardson
|
8 | 8 | * You may use this project under MIT or GPL licenses.
|
|
203 | 203 | });
|
204 | 204 |
|
205 | 205 | if (tp_inst._defaults.timezoneList === null) {
|
206 |
| - var timezoneList = ['-1200', '-1100', '-1000', '-0930', '-0900', '-0800', '-0700', '-0600', '-0500', '-0430', '-0400', '-0330', '-0300', '-0200', '-0100', '+0000', '+0100', '+0200', '+0300', '+0330', '+0400', '+0430', '+0500', '+0530', '+0545', '+0600', '+0630', '+0700', '+0800', '+0845', '+0900', '+0930', '+1000', '+1030', '+1100', '+1130', '+1200', '+1245', '+1300', '+1400']; |
| 206 | + var timezoneList = ['-1200', '-1100', '-1000', '-0930', '-0900', '-0800', '-0700', '-0600', '-0500', '-0430', '-0400', '-0330', '-0300', '-0200', '-0100', '+0000', |
| 207 | + '+0100', '+0200', '+0300', '+0330', '+0400', '+0430', '+0500', '+0530', '+0545', '+0600', '+0630', '+0700', '+0800', '+0845', '+0900', '+0930', |
| 208 | + '+1000', '+1030', '+1100', '+1130', '+1200', '+1245', '+1300', '+1400']; |
207 | 209 |
|
208 | 210 | if (tp_inst._defaults.timezoneIso8601) {
|
209 | 211 | timezoneList = $.map(timezoneList, function(val) {
|
|
315 | 317 | // Prevent displaying twice
|
316 | 318 | if ($dp.find("div.ui-timepicker-div").length === 0 && o.showTimepicker) {
|
317 | 319 | var noDisplay = ' style="display:none;"',
|
318 |
| - html = '<div class="ui-timepicker-div"><dl>' + '<dt class="ui_tpicker_time_label"' + ((o.showTime) ? '' : noDisplay) + '>' + o.timeText + '</dt>' + '<dd class="ui_tpicker_time"' + ((o.showTime) ? '' : noDisplay) + '></dd>' + '<dt class="ui_tpicker_hour_label"' + ((o.showHour) ? '' : noDisplay) + '>' + o.hourText + '</dt>', |
| 320 | + html = '<div class="ui-timepicker-div"><dl>' + '<dt class="ui_tpicker_time_label"' + ((o.showTime) ? '' : noDisplay) + '>' + o.timeText + '</dt>' + |
| 321 | + '<dd class="ui_tpicker_time"' + ((o.showTime) ? '' : noDisplay) + '></dd>' + '<dt class="ui_tpicker_hour_label"' + ((o.showHour) ? '' : noDisplay) + '>' + o.hourText + '</dt>', |
319 | 322 | hourGridSize = 0,
|
320 | 323 | minuteGridSize = 0,
|
321 | 324 | secondGridSize = 0,
|
|
352 | 355 | html += '</dd>';
|
353 | 356 |
|
354 | 357 | // Minutes
|
355 |
| - html += '<dt class="ui_tpicker_minute_label"' + ((o.showMinute) ? '' : noDisplay) + '>' + o.minuteText + '</dt>' + '<dd class="ui_tpicker_minute"><div class="ui_tpicker_minute_slider"' + ((o.showMinute) ? '' : noDisplay) + '></div>'; |
| 358 | + html += '<dt class="ui_tpicker_minute_label"' + ((o.showMinute) ? '' : noDisplay) + '>' + o.minuteText + '</dt>' + |
| 359 | + '<dd class="ui_tpicker_minute"><div class="ui_tpicker_minute_slider"' + ((o.showMinute) ? '' : noDisplay) + '></div>'; |
356 | 360 |
|
357 | 361 | if (o.showMinute && o.minuteGrid > 0) {
|
358 | 362 | html += '<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>';
|
|
367 | 371 | html += '</dd>';
|
368 | 372 |
|
369 | 373 | // Seconds
|
370 |
| - html += '<dt class="ui_tpicker_second_label"' + ((o.showSecond) ? '' : noDisplay) + '>' + o.secondText + '</dt>' + '<dd class="ui_tpicker_second"><div class="ui_tpicker_second_slider"' + ((o.showSecond) ? '' : noDisplay) + '></div>'; |
| 374 | + html += '<dt class="ui_tpicker_second_label"' + ((o.showSecond) ? '' : noDisplay) + '>' + o.secondText + '</dt>' + |
| 375 | + '<dd class="ui_tpicker_second"><div class="ui_tpicker_second_slider"' + ((o.showSecond) ? '' : noDisplay) + '></div>'; |
371 | 376 |
|
372 | 377 | if (o.showSecond && o.secondGrid > 0) {
|
373 | 378 | html += '<div style="padding-left: 1px"><table><tr>';
|
|
382 | 387 | html += '</dd>';
|
383 | 388 |
|
384 | 389 | // Milliseconds
|
385 |
| - html += '<dt class="ui_tpicker_millisec_label"' + ((o.showMillisec) ? '' : noDisplay) + '>' + o.millisecText + '</dt>' + '<dd class="ui_tpicker_millisec"><div class="ui_tpicker_millisec_slider"' + ((o.showMillisec) ? '' : noDisplay) + '></div>'; |
| 390 | + html += '<dt class="ui_tpicker_millisec_label"' + ((o.showMillisec) ? '' : noDisplay) + '>' + o.millisecText + '</dt>' + |
| 391 | + '<dd class="ui_tpicker_millisec"><div class="ui_tpicker_millisec_slider"' + ((o.showMillisec) ? '' : noDisplay) + '></div>'; |
386 | 392 |
|
387 | 393 | if (o.showMillisec && o.millisecGrid > 0) {
|
388 | 394 | html += '<div style="padding-left: 1px"><table><tr>';
|
|
813 | 819 |
|
814 | 820 | // If the update was done in the input field, the input field should not be updated.
|
815 | 821 | // If the update was done using the sliders, update the input field.
|
816 |
| - var hasChanged = (hour != this.hour || minute != this.minute || second != this.second || millisec != this.millisec || (this.ampm.length > 0 && (hour < 12) != ($.inArray(this.ampm.toUpperCase(), this.amNames) !== -1)) || ((this.timezone === null && timezone != this.defaultTimezone) || (this.timezone !== null && timezone != this.timezone))); |
| 822 | + var hasChanged = (hour != this.hour || minute != this.minute || second != this.second || millisec != this.millisec |
| 823 | + || (this.ampm.length > 0 && (hour < 12) != ($.inArray(this.ampm.toUpperCase(), this.amNames) !== -1)) |
| 824 | + || ((this.timezone === null && timezone != this.defaultTimezone) || (this.timezone !== null && timezone != this.timezone))); |
817 | 825 |
|
818 | 826 | if (hasChanged) {
|
819 | 827 |
|
|
1061 | 1069 |
|
1062 | 1070 | var o = extendRemove(extendRemove({}, $.timepicker._defaults), options || {});
|
1063 | 1071 |
|
1064 |
| - var regstr = '^' + timeFormat.toString().replace(/h{1,2}/ig, '(\\d?\\d)').replace(/m{1,2}/ig, '(\\d?\\d)').replace(/s{1,2}/ig, '(\\d?\\d)').replace(/l{1}/ig, '(\\d?\\d?\\d)').replace(/t{1,2}/ig, getPatternAmpm(o.amNames, o.pmNames)).replace(/z{1}/ig, '(z|[-+]\\d\\d:?\\d\\d|\\S+)?').replace(/\s/g, '\\s?') + o.timeSuffix + '$', |
| 1072 | + var regstr = '^' + timeFormat.toString() |
| 1073 | + .replace(/h{1,2}/ig, '(\\d?\\d)') |
| 1074 | + .replace(/m{1,2}/ig, '(\\d?\\d)') |
| 1075 | + .replace(/s{1,2}/ig, '(\\d?\\d)') |
| 1076 | + .replace(/l{1}/ig, '(\\d?\\d?\\d)') |
| 1077 | + .replace(/t{1,2}/ig, getPatternAmpm(o.amNames, o.pmNames)) |
| 1078 | + .replace(/z{1}/ig, '(z|[-+]\\d\\d:?\\d\\d|\\S+)?') |
| 1079 | + .replace(/\s/g, '\\s?') + |
| 1080 | + o.timeSuffix + '$', |
1065 | 1081 | order = getFormatPositions(timeFormat),
|
1066 | 1082 | ampm = '',
|
1067 | 1083 | treg;
|
|
1274 | 1290 | if ($.datepicker._get(inst, 'constrainInput')) {
|
1275 | 1291 | var ampm = tp_inst._defaults.ampm,
|
1276 | 1292 | dateChars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')),
|
1277 |
| - datetimeChars = tp_inst._defaults.timeFormat.toString().replace(/[hms]/g, '').replace(/TT/g, ampm ? 'APM' : '').replace(/Tt/g, ampm ? 'AaPpMm' : '').replace(/tT/g, ampm ? 'AaPpMm' : '').replace(/T/g, ampm ? 'AP' : '').replace(/tt/g, ampm ? 'apm' : '').replace(/t/g, ampm ? 'ap' : '') + " " + tp_inst._defaults.separator + tp_inst._defaults.timeSuffix + (tp_inst._defaults.showTimezone ? tp_inst._defaults.timezoneList.join('') : '') + (tp_inst._defaults.amNames.join('')) + (tp_inst._defaults.pmNames.join('')) + dateChars, |
| 1293 | + datetimeChars = tp_inst._defaults.timeFormat.toString() |
| 1294 | + .replace(/[hms]/g, '') |
| 1295 | + .replace(/TT/g, ampm ? 'APM' : '') |
| 1296 | + .replace(/Tt/g, ampm ? 'AaPpMm' : '') |
| 1297 | + .replace(/tT/g, ampm ? 'AaPpMm' : '') |
| 1298 | + .replace(/T/g, ampm ? 'AP' : '') |
| 1299 | + .replace(/tt/g, ampm ? 'apm' : '') |
| 1300 | + .replace(/t/g, ampm ? 'ap' : '') + |
| 1301 | + " " + tp_inst._defaults.separator + |
| 1302 | + tp_inst._defaults.timeSuffix + |
| 1303 | + (tp_inst._defaults.showTimezone ? tp_inst._defaults.timezoneList.join('') : '') + |
| 1304 | + (tp_inst._defaults.amNames.join('')) + (tp_inst._defaults.pmNames.join('')) + |
| 1305 | + dateChars, |
1278 | 1306 | chr = String.fromCharCode(event.charCode === undefined ? event.keyCode : event.charCode);
|
1279 | 1307 | return event.ctrlKey || (chr < ' ' || !dateChars || datetimeChars.indexOf(chr) > -1);
|
1280 | 1308 | }
|
|
0 commit comments