Koha/koha-tmpl/opac-tmpl/prog/en/includes/calendar.inc
Owen Leonard 0c08501e9d Bug 9166: OPAC needs configuration file for datepicker
This patch adds a configuration include file for the datepicker.
This file makes redundant the datepicker initialization in
js/script.js, so that section is removed.

This change should enable two things: the CalendarFirstDayOfWeek
preference should now work in the OPAC, and the calendar should
now use the current selected language.

To test, try the calendar widget when placing a hold in the OPAC.
The CalendarFirstDayOfWeek preference should be respected for
Monday and Sunday. Switch languages. The calendar interface labels
should reflect the current chosen language.

Revision adds the configuration include to opac-user as well
(required by the suspend holds feature).

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
the datepicker plugin works for opac-reserve and opac-user

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-12-19 19:38:27 -05:00

77 lines
No EOL
3.3 KiB
SourcePawn

<script type="text/javascript">
//<![CDATA[
var debug = "[% debug %]";
var dformat = "[% dateformat %]";
var sentmsg = 0;
if (debug > 1) {alert("dateformat: " + dformat + "\ndebug is on (level " + debug + ")");}
function Date_from_syspref(dstring) {
var dateX = dstring.split(/[-/]/);
if (debug > 1 && sentmsg < 1) {sentmsg++; alert("Date_from_syspref(" + dstring + ") splits to:\n" + dateX.join("\n"));}
if (dformat === "iso") {
return new Date(dateX[0], (dateX[1] - 1), dateX[2]); // YYYY-MM-DD to (YYYY,m(0-11),d)
} else if (dformat === "us") {
return new Date(dateX[2], (dateX[0] - 1), dateX[1]); // MM/DD/YYYY to (YYYY,m(0-11),d)
} else if (dformat === "metric") {
return new Date(dateX[2], (dateX[1] - 1), dateX[0]); // DD/MM/YYYY to (YYYY,m(0-11),d)
} else {
if (debug > 0) {alert("KOHA ERROR - Unrecognized date format: " +dformat);}
return 0;
}
}
/* Instead of including multiple localization files as you would normally see with
jQueryUI we expose the localization strings in the default configuration */
jQuery(function($){
$.datepicker.regional[''] = {
closeText: _('Done'),
prevText: _('Prev'),
nextText: _('Next'),
currentText: _('Today'),
monthNames: [_('January'),_('February'),_('March'),_('April'),_('May'),_('June'),
_('July'),_('August'),_('September'),_('October'),_('November'),_('December')],
monthNamesShort: [_('Jan'), _('Feb'), _('Mar'), _('Apr'), _('May'), _('Jun'),
_('Jul'), _('Aug'), _('Sep'), _('Oct'), _('Nov'), _('Dec')],
dayNames: [_('Sunday'), _('Monday'), _('Tuesday'), _('Wednesday'), _('Thursday'), _('Friday'), _('Saturday')],
dayNamesShort: [_('Sun'), _('Mon'), _('Tue'), _('Wed'), _('Thu'), _('Fri'), _('Sat')],
dayNamesMin: [_('Su'),_('Mo'),_('Tu'),_('We'),_('Th'),_('Fr'),_('Sa')],
weekHeader: _('Wk'),
dateFormat: '[% IF ( dateformat_us ) %]mm/dd/yy[% ELSIF ( dateformat_metric ) %]dd/mm/yy[% ELSE %]yy-mm-dd[% END %]',
firstDay: [% CalendarFirstDayOfWeek %],
isRTL: [% IF ( bidi ) %]true[% ELSE %]false[% END %],
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['']);
});
$(document).ready(function(){
$.datepicker.setDefaults({
showOn: "both",
changeMonth: true,
changeYear: true,
buttonImage: '[% interface %]/lib/famfamfam/silk/calendar.png',
buttonImageOnly: true,
showButtonPanel: true,
showOtherMonths: true
});
$( ".datepicker" ).datepicker();
// http://jqueryui.com/demos/datepicker/#date-range
var dates = $( ".datepickerfrom, .datepickerto" ).datepicker({
changeMonth: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" );
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( "option", option, date );
}
});
});
//]]>
</script>