aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/studip-ui.js
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2023-01-26 15:41:22 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2023-01-26 15:41:22 +0000
commitbef977ef815b534dad0a864cc5a12350f260934e (patch)
treebf6a9ac6f8ed36468163920bd68dea14df8c1744 /resources/assets/javascripts/studip-ui.js
parentb7d4b9ce1ea85009ae0b76a19f4c62de55ad1e6c (diff)
set locale for pickers after locale has been set, fixes #2085
Closes #2085 Merge request studip/studip!1349
Diffstat (limited to 'resources/assets/javascripts/studip-ui.js')
-rw-r--r--resources/assets/javascripts/studip-ui.js171
1 files changed, 87 insertions, 84 deletions
diff --git a/resources/assets/javascripts/studip-ui.js b/resources/assets/javascripts/studip-ui.js
index 53fb131..fdb3255 100644
--- a/resources/assets/javascripts/studip-ui.js
+++ b/resources/assets/javascripts/studip-ui.js
@@ -1,4 +1,5 @@
import { $gettext } from './lib/gettext.js';
+import eventBus from "./lib/event-bus";
/**
* This file contains extensions/adjustments for jQuery UI.
@@ -51,82 +52,6 @@ import { $gettext } from './lib/gettext.js';
return;
}
- // Setup defaults and default locales
- var defaults = {},
- locale = {
- closeText: $gettext('Schließen'),
- prevText: $gettext('Zurück'),
- nextText: $gettext('Vor'),
- currentText: $gettext('Jetzt'),
- monthNames: [
- $gettext('Januar'),
- $gettext('Februar'),
- $gettext('März'),
- $gettext('April'),
- $gettext('Mai'),
- $gettext('Juni'),
- $gettext('Juli'),
- $gettext('August'),
- $gettext('September'),
- $gettext('Oktober'),
- $gettext('November'),
- $gettext('Dezember')
- ],
- monthNamesShort: [
- $gettext('Jan'),
- $gettext('Feb'),
- $gettext('Mär'),
- $gettext('Apr'),
- $gettext('Mai'),
- $gettext('Jun'),
- $gettext('Jul'),
- $gettext('Aug'),
- $gettext('Sep'),
- $gettext('Okt'),
- $gettext('Nov'),
- $gettext('Dez')
- ],
- dayNames: [
- $gettext('Sonntag'),
- $gettext('Montag'),
- $gettext('Dienstag'),
- $gettext('Mittwoch'),
- $gettext('Donnerstag'),
- $gettext('Freitag'),
- $gettext('Samstag')
- ],
- dayNamesShort: [
- $gettext('So'),
- $gettext('Mo'),
- $gettext('Di'),
- $gettext('Mi'),
- $gettext('Do'),
- $gettext('Fr'),
- $gettext('Sa')
- ],
- weekHeader: $gettext('Wo'),
- dateFormat: 'dd.mm.yy',
- firstDay: 1,
- isRTL: false,
- showMonthAfterYear: false,
- yearSuffix: '',
- changeMonth: true,
- changeYear: true,
- timeOnlyTitle: $gettext('Zeit wählen'),
- timeText: $gettext('Zeit'),
- hourText: $gettext('Stunde'),
- minuteText: $gettext('Minute'),
- secondText: $gettext('Sekunde'),
- millisecText: $gettext('Millisekunde'),
- microsecText: $gettext('Mikrosekunde'),
- timezoneText: $gettext('Zeitzone'),
- timeFormat: $gettext('HH:mm'),
- amNames: [$gettext('vorm.'), 'AM', 'A'],
- pmNames: [$gettext('nachm.'), 'PM', 'P']
- };
- // Set dayNamesMin to dayNamesShort since they are equal
- locale.dayNamesMin = locale.dayNamesShort;
-
// Setup Stud.IP's own datepicker extensions
STUDIP.UI = STUDIP.UI || {};
STUDIP.UI.Datepicker = {
@@ -545,7 +470,7 @@ import { $gettext } from './lib/gettext.js';
};
// Apply defaults including date picker handlers
- defaults = Object.assign({}, locale, {
+ const defaults = {
beforeShow (input) {
STUDIP.UI.Datepicker.refresh();
STUDIP.UI.DateTimepicker.refresh();
@@ -566,9 +491,10 @@ import { $gettext } from './lib/gettext.js';
$(this).change();
}
}
- });
+ };
- $.datepicker.setDefaults(Object.assign({}, defaults, {
+ $.datepicker.setDefaults({
+ ...defaults,
beforeShow (input) {
// Don't lose original behaviour
defaults.beforeShow(input);
@@ -601,7 +527,88 @@ import { $gettext } from './lib/gettext.js';
$(window).unbind('scroll.datepicker-scroll');
}
}
- }));
+ });
+
+ $.timepicker.setDefaults(defaults);
+
+ eventBus.on('studip:set-locale', () => {
+ const locale = {
+ closeText: $gettext('Schließen'),
+ prevText: $gettext('Zurück'),
+ nextText: $gettext('Vor'),
+ currentText: $gettext('Jetzt'),
+ monthNames: [
+ $gettext('Januar'),
+ $gettext('Februar'),
+ $gettext('März'),
+ $gettext('April'),
+ $gettext('Mai'),
+ $gettext('Juni'),
+ $gettext('Juli'),
+ $gettext('August'),
+ $gettext('September'),
+ $gettext('Oktober'),
+ $gettext('November'),
+ $gettext('Dezember')
+ ],
+ monthNamesShort: [
+ $gettext('Jan'),
+ $gettext('Feb'),
+ $gettext('Mär'),
+ $gettext('Apr'),
+ $gettext('Mai'),
+ $gettext('Jun'),
+ $gettext('Jul'),
+ $gettext('Aug'),
+ $gettext('Sep'),
+ $gettext('Okt'),
+ $gettext('Nov'),
+ $gettext('Dez')
+ ],
+ dayNames: [
+ $gettext('Sonntag'),
+ $gettext('Montag'),
+ $gettext('Dienstag'),
+ $gettext('Mittwoch'),
+ $gettext('Donnerstag'),
+ $gettext('Freitag'),
+ $gettext('Samstag')
+ ],
+ dayNamesShort: [
+ $gettext('So'),
+ $gettext('Mo'),
+ $gettext('Di'),
+ $gettext('Mi'),
+ $gettext('Do'),
+ $gettext('Fr'),
+ $gettext('Sa')
+ ],
+ weekHeader: $gettext('Wo'),
+ dateFormat: 'dd.mm.yy',
+ firstDay: 1,
+ isRTL: false,
+ showMonthAfterYear: false,
+ yearSuffix: '',
+ changeMonth: true,
+ changeYear: true,
+ timeOnlyTitle: $gettext('Zeit wählen'),
+ timeText: $gettext('Zeit'),
+ hourText: $gettext('Stunde'),
+ minuteText: $gettext('Minute'),
+ secondText: $gettext('Sekunde'),
+ millisecText: $gettext('Millisekunde'),
+ microsecText: $gettext('Mikrosekunde'),
+ timezoneText: $gettext('Zeitzone'),
+ timeFormat: $gettext('HH:mm'),
+ amNames: [$gettext('vorm.'), 'AM', 'A'],
+ pmNames: [$gettext('nachm.'), 'PM', 'P']
+ };
+ // Set dayNamesMin to dayNamesShort since they are equal
+ locale.dayNamesMin = locale.dayNamesShort;
+
+ $.datepicker.setDefaults(locale);
+ $.timepicker.setDefaults(locale);
+ });
var DpHideOnScroll = function () {
var input = arguments[0];
@@ -616,10 +623,6 @@ import { $gettext } from './lib/gettext.js';
this._selectDate(id);
};
- $.timepicker.setDefaults(Object.assign({}, defaults, {
- timeFormat: 'HH:mm'
- }));
-
// Attach global focus handler on date picker elements
$(document).on('focus', STUDIP.UI.Datepicker.selector, () => {
STUDIP.UI.Datepicker.init();