diff options
-rw-r--r-- | js/field.js | 12 | ||||
-rw-r--r-- | template/en/default/bug/field.html.tmpl | 5 | ||||
-rw-r--r-- | template/en/default/bug/summarize-time.html.tmpl | 10 | ||||
-rw-r--r-- | template/en/default/global/calendar.js.tmpl | 33 | ||||
-rw-r--r-- | template/en/default/search/field.html.tmpl | 7 | ||||
-rw-r--r-- | template/en/default/search/form.html.tmpl | 7 |
6 files changed, 59 insertions, 15 deletions
diff --git a/js/field.js b/js/field.js index 0824e2714..4150f8ce4 100644 --- a/js/field.js +++ b/js/field.js @@ -83,9 +83,17 @@ function _errorFor(field, name) { YAHOO.util.Dom.addClass(field, 'validation_error_field'); } -function createCalendar(name) { +/* This function is never to be called directly, but only indirectly + * using template/en/default/global/calendar.js.tmpl, so that localization + * works. For the same reason, if you modify this function's parameter list, + * you need to modify the documentation in said template as well. */ +function createCalendar(name, start_weekday, months_long, weekdays_short) { var cal = new YAHOO.widget.Calendar('calendar_' + name, - 'con_calendar_' + name); + 'con_calendar_' + name, + { START_WEEKDAY: start_weekday, + MONTHS_LONG: months_long, + WEEKDAYS_SHORT: weekdays_short + }); YAHOO.bugzilla['calendar_' + name] = cal; var field = document.getElementById(name); cal.selectEvent.subscribe(setFieldFromCalendar, field, false); diff --git a/template/en/default/bug/field.html.tmpl b/template/en/default/bug/field.html.tmpl index e6660256f..1f0ea175a 100644 --- a/template/en/default/bug/field.html.tmpl +++ b/template/en/default/bug/field.html.tmpl @@ -56,8 +56,9 @@ <div id="con_calendar_[% field.name FILTER html %]"></div> <script type="text/javascript"> - createCalendar('[% field.name FILTER js %]') - </script> + <!-- + [%+ PROCESS "global/calendar.js.tmpl" id = field.name %] + //--></script> [% CASE constants.FIELD_TYPE_BUG_ID %] <span id="[% field.name FILTER html %]_input_area"> <input name="[% field.name FILTER html %]" id="[% field.name FILTER html %]" diff --git a/template/en/default/bug/summarize-time.html.tmpl b/template/en/default/bug/summarize-time.html.tmpl index 3978a1c59..932a6e3f4 100644 --- a/template/en/default/bug/summarize-time.html.tmpl +++ b/template/en/default/bug/summarize-time.html.tmpl @@ -332,10 +332,10 @@ </form> <script type="text/javascript"> -<!-- - createCalendar('start_date'); - createCalendar('end_date'); - document.forms['summary'].start_date.focus(); -//--></script> + <!-- + [%+ PROCESS "global/calendar.js.tmpl" id = 'start_date' %] + [% PROCESS "global/calendar.js.tmpl" id = 'end_date' %] + document.forms['summary'].start_date.focus(); + //--></script> <hr noshade size=1> [% END %] diff --git a/template/en/default/global/calendar.js.tmpl b/template/en/default/global/calendar.js.tmpl new file mode 100644 index 000000000..26f3fa023 --- /dev/null +++ b/template/en/default/global/calendar.js.tmpl @@ -0,0 +1,33 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # id: The id of the input field the calendar widget is to be assigned to. + #%] + +[%# This template exists because createCalendar accepts additional parameters + # which allow for localization. Please see the YUI documentation at + # http://developer.yahoo.com/yui/calendar/#internationalization for details. + # As an example, here's what you'd specify as additional parameters to + # localize for German calendars; replace the ellipsis ("...") by the original + # parameter (we cannot put it into the example because it'd break this + # template comment): + # + # createCalendar(... + # /* The weekday the week begins on; 0 is Sunday, + # * 1 is Monday and so on: */ + # 1, + # /* Months, full names; first must be January: */ + # ['Januar', 'Februar', 'März', 'April', + # 'Mai', 'Juni', 'Juli', 'August', + # 'September', 'Oktober', 'November', 'Dezember'], + # /* Weekdays, two-letter abbreviations; first must be + # * Sunday: */ + # ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa']); + #%] +createCalendar('[% id FILTER js %]'); diff --git a/template/en/default/search/field.html.tmpl b/template/en/default/search/field.html.tmpl index dd5e1fac7..34a480f31 100644 --- a/template/en/default/search/field.html.tmpl +++ b/template/en/default/search/field.html.tmpl @@ -82,9 +82,10 @@ <span id="con_calendar_[% field.name FILTER html %]to"></span> <script type="text/javascript"> - createCalendar('[% field.name FILTER js %]'); - createCalendar('[% field.name FILTER js %]to'); - </script> + <!-- + [%+ PROCESS "global/calendar.js.tmpl" id = field.name %] + [% PROCESS "global/calendar.js.tmpl" id = field.name _ 'to' %] + //--></script> [% CASE [ constants.FIELD_TYPE_SINGLE_SELECT, constants.FIELD_TYPE_MULTI_SELECT ] %] <div id="container_[% field.name FILTER html %]" class="search_field_grid"> diff --git a/template/en/default/search/form.html.tmpl b/template/en/default/search/form.html.tmpl index fc6f597cf..48980b633 100644 --- a/template/en/default/search/form.html.tmpl +++ b/template/en/default/search/form.html.tmpl @@ -319,9 +319,10 @@ TUI_hide_default('information_query'); <div id="con_calendar_chfieldto"></div> (YYYY-MM-DD or relative dates) <script type="text/javascript"> - createCalendar('chfieldfrom'); - createCalendar('chfieldto'); - </script> + <!-- + [%+ PROCESS "global/calendar.js.tmpl" id = 'chfieldfrom' %] + [% PROCESS "global/calendar.js.tmpl" id = 'chfieldto' %] + //--></script> </li> </ul> |