[Koha-patches] [PATCH] Bug 9166 - OPAC needs configuration file for datepicker
Owen Leonard
oleonard at myacpl.org
Thu Nov 29 15:58:22 CET 2012
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.
---
koha-tmpl/opac-tmpl/prog/en/includes/calendar.inc | 77 ++++++++++++++++++++
koha-tmpl/opac-tmpl/prog/en/js/script.js | 25 +------
.../opac-tmpl/prog/en/modules/opac-reserve.tt | 1 +
3 files changed, 79 insertions(+), 24 deletions(-)
create mode 100644 koha-tmpl/opac-tmpl/prog/en/includes/calendar.inc
diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/calendar.inc b/koha-tmpl/opac-tmpl/prog/en/includes/calendar.inc
new file mode 100644
index 0000000..2f30c9c
--- /dev/null
+++ b/koha-tmpl/opac-tmpl/prog/en/includes/calendar.inc
@@ -0,0 +1,77 @@
+<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>
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/prog/en/js/script.js b/koha-tmpl/opac-tmpl/prog/en/js/script.js
index 5e30183..398a89c 100644
--- a/koha-tmpl/opac-tmpl/prog/en/js/script.js
+++ b/koha-tmpl/opac-tmpl/prog/en/js/script.js
@@ -7,35 +7,12 @@ function Dopop(link) {
newin=window.open(link,'popup','width=500,height=400,toolbar=false,scrollbars=yes,resizeable=yes');
}
-$.datepicker.setDefaults({
- showOn: "both",
- changeMonth: true,
- changeYear: true,
- buttonImage: '/opac-tmpl/lib/famfamfam/silk/calendar.png',
- buttonImageOnly: true,
- showButtonPanel: true
- });
-
$(document).ready(function(){
$(".close").click(function(){
window.close();
});
$(".focus").focus();
- $( ".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 );
- }
- });
+
// clear the basket when user logs out
$("#logout").click(function(){
var nameCookie = "bib_list";
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tt
index 8096baf..e206561 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tt
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tt
@@ -1,5 +1,6 @@
[% INCLUDE 'doc-head-open.inc' %][% LibraryNameTitle or "Koha online" %] catalog › Placing a hold
[% INCLUDE 'doc-head-close.inc' %]
+[% INCLUDE 'calendar.inc' %]
<script type="text/javascript">
// <![CDATA[
var MSG_NO_COPY_SELECTED = _("Expecting a specific copy selection.");
--
1.7.9.5
More information about the Koha-patches
mailing list