Attach jquery UI date pickers to contact fields of type 'date'

release-0.7
thomascube 13 years ago
parent 4aafd99f2d
commit 537c394302

@ -4146,6 +4146,21 @@ function rcube_webmail()
this.selectedIndex = 0;
});
// enable date pickers on date fields
if ($.datepicker && this.env.date_format) {
$.datepicker.setDefaults({
dateFormat: this.env.date_format,
changeMonth: true,
changeYear: true,
yearRange: '-100:+10',
showOtherMonths: true,
selectOtherMonths: true,
monthNamesShort: this.env.month_names,
onSelect: function(dateText) { $(this).focus().val(dateText) }
});
$('input.datepicker').datepicker();
}
$("input[type='text']:visible").first().focus();
};
@ -4401,6 +4416,9 @@ function rcube_webmail()
.appendTo(cell);
this.init_edit_field(col, input);
if (colprop.type == 'date' && $.datepicker)
input.datepicker();
}
else if (colprop.type == 'composite') {
var childcol, cp, first, templ, cols = [], suffices = [];

@ -422,6 +422,7 @@ function rcmail_get_type_label($type)
function rcmail_contact_form($form, $record, $attrib = null)
{
global $RCMAIL, $CONFIG;
static $jqueryui_loaded = 0;
// Allow plugins to modify contact form content
$plugin = $RCMAIL->plugins->exec_hook('contact_form', array(
@ -608,6 +609,19 @@ function rcmail_contact_form($form, $record, $attrib = null)
if ($colprop['subtypes'] || $colprop['limit'] != 1)
$colprop['array'] = true;
// load jquery UI datepickert for date fields
if ($colprop['type'] == 'date') {
if (!$jqueryui_loaded++) {
$RCMAIL->plugins->load_plugin('jqueryui');
$RCMAIL->output->set_env('date_format', strtr($RCMAIL->config->get('date_format', 'Y-m-d'), array('y'=>'y', 'Y'=>'yy', 'm'=>'mm', 'n'=>'m', 'd'=>'dd', 'j'=>'d')));
foreach (array('jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec') as $month)
$month_names[] = rcube_label($month);
$RCMAIL->output->set_env('month_names', $month_names);
}
$colprop['class'] .= ($colprop['class'] ? ' ' : '') . 'datepicker';
$val = format_date($val, $RCMAIL->config->get('date_format', 'Y-m-d'));
}
$val = rcmail_get_edit_field($col, $val, $colprop, $colprop['type']);
$coltypes[$field]['count']++;
}

Loading…
Cancel
Save