Skip to content

Commit 3b9f87a

Browse files
author
Levente BERLIK
committed
Added localization support, datepicker altField and altFormat support
1 parent 62e19e6 commit 3b9f87a

File tree

1 file changed

+39
-13
lines changed

1 file changed

+39
-13
lines changed

jquery-ui-timepicker-addon.js

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
minute: 0,
2929
second: 0,
3030
ampm: '',
31+
altFormattedDate: '',
3132
formattedDate: '',
3233
formattedTime: '',
3334
formattedDateTime: '',
@@ -48,8 +49,15 @@
4849
minute: 0,
4950
second: 0,
5051
timeFormat: 'hh:mm tt',
51-
alwaysSetTime: true
52+
alwaysSetTime: true,
5253
//----------------------------
54+
locale: {
55+
time: 'Time',
56+
hour: 'Hour',
57+
minute: 'Minute',
58+
second: 'Second',
59+
chooseTime: 'Choose time'
60+
}
5361
},
5462

5563
//########################################################################
@@ -142,21 +150,21 @@
142150
if ($dp.find("div#ui-timepicker-div").length == 0) {
143151
var html = '<div id="ui-timepicker-div">' +
144152
'<dl>' +
145-
'<dt id="ui_tpicker_time_label"' + ((tp_inst.defaults.showTime) ? '' : ' style="display:none;"') + '>Time</dt>' +
153+
'<dt id="ui_tpicker_time_label"' + ((tp_inst.defaults.showTime) ? '' : ' style="display:none;"') + '>' + tp_inst.defaults.locale.time + '</dt>' +
146154
'<dd id="ui_tpicker_time"' + ((tp_inst.defaults.showTime) ? '' : ' style="display:none;"') + '></dd>' +
147-
'<dt id="ui_tpicker_hour_label"' + ((tp_inst.defaults.showHour) ? '' : ' style="display:none;"') + '>Hour</dt>' +
155+
'<dt id="ui_tpicker_hour_label"' + ((tp_inst.defaults.showHour) ? '' : ' style="display:none;"') + '>' + tp_inst.defaults.locale.hour + '</dt>' +
148156
'<dd id="ui_tpicker_hour"' + ((tp_inst.defaults.showHour) ? '' : ' style="display:none;"') + '></dd>' +
149-
'<dt id="ui_tpicker_minute_label"' + ((tp_inst.defaults.showMinute) ? '' : ' style="display:none;"') + '>Minute</dt>' +
157+
'<dt id="ui_tpicker_minute_label"' + ((tp_inst.defaults.showMinute) ? '' : ' style="display:none;"') + '>' + tp_inst.defaults.locale.minute + '</dt>' +
150158
'<dd id="ui_tpicker_minute"' + ((tp_inst.defaults.showMinute) ? '' : ' style="display:none;"') + '></dd>' +
151-
'<dt id="ui_tpicker_second_label"' + ((tp_inst.defaults.showSecond) ? '' : ' style="display:none;"') + '>Second</dt>' +
159+
'<dt id="ui_tpicker_second_label"' + ((tp_inst.defaults.showSecond) ? '' : ' style="display:none;"') + '>' + tp_inst.defaults.locale.second + '</dt>' +
152160
'<dd id="ui_tpicker_second"' + ((tp_inst.defaults.showSecond) ? '' : ' style="display:none;"') + '></dd>' +
153161
'</dl>' +
154162
'</div>';
155163

156164
$tp = $(html);
157165

158166
if (tp_inst.defaults.timeOnly == true) { // if we only want time picker
159-
$tp.prepend('<div class="ui-widget-header ui-helper-clearfix ui-corner-all"><div class="ui-datepicker-title">Choose Time</div></div>');
167+
$tp.prepend('<div class="ui-widget-header ui-helper-clearfix ui-corner-all"><div class="ui-datepicker-title">' + tp_inst.defaults.locale.chooseTime + '</div></div>');
160168
$dp.find('.ui-datepicker-header, .ui-datepicker-calendar, .ui-datepicker-current').hide();
161169
}
162170

@@ -265,14 +273,22 @@
265273
updateDateTime: function(dp_inst, tp_inst) {
266274
var dt = this.$input.datepicker('getDate');
267275

268-
if (dt == null)
276+
if (dt == null) {
269277
this.formattedDate = $.datepicker.formatDate($.datepicker._get(dp_inst, 'dateFormat'), new Date(), $.datepicker._getFormatConfig(dp_inst));
270-
else this.formattedDate = $.datepicker.formatDate($.datepicker._get(dp_inst, 'dateFormat'), dt, $.datepicker._getFormatConfig(dp_inst));
278+
if (this.$input.datepicker('option', 'altField')) {
279+
this.altFormattedDate = $.datepicker.formatDate($.datepicker._get(dp_inst, 'altFormat'), new Date(), $.datepicker._getFormatConfig(dp_inst));
280+
}
281+
} else {
282+
this.formattedDate = $.datepicker.formatDate($.datepicker._get(dp_inst, 'dateFormat'), dt, $.datepicker._getFormatConfig(dp_inst));
283+
// Added to handle datepicker's alt format, if present
284+
if (this.$input.datepicker('option', 'altField')) {
285+
this.altFormattedDate = $.datepicker.formatDate($.datepicker._get(dp_inst, 'altFormat'), dt, $.datepicker._getFormatConfig(dp_inst));
286+
}
287+
}
271288

272289
if (this.defaults.alwaysSetTime) {
273290
this.formattedDateTime = this.formattedDate + ' ' + this.formattedTime;
274-
}
275-
else {
291+
} else {
276292
if (dt == null || !tp_inst.timeDefined || tp_inst.timeDefined == false) {
277293
this.formattedDateTime = this.formattedDate;
278294
}
@@ -281,10 +297,20 @@
281297
}
282298
}
283299
//-----------------------------
284-
285-
if (this.defaults.timeOnly == true)
300+
// Added to handle datepicker's alt field, if present
301+
if (this.$input.datepicker('option', 'altField')) {
302+
if (this.defaults.timeOnly == true) {
303+
$(this.$input.datepicker('option', 'altField')).val(this.formattedTime);
304+
} else {
305+
$(this.$input.datepicker('option', 'altField')).val(this.altFormattedDate+' '+this.formattedTime);
306+
}
307+
}
308+
309+
if (this.defaults.timeOnly == true) {
286310
this.$input.val(this.formattedTime);
287-
else this.$input.val(this.formattedDateTime);
311+
} else {
312+
this.$input.val(this.formattedDateTime);
313+
}
288314
}
289315
};
290316

0 commit comments

Comments
 (0)