aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts
diff options
context:
space:
mode:
authorMarcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de>2024-01-23 07:41:52 +0000
committerMarcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de>2024-01-23 07:41:52 +0000
commit1728bc517691b3d0dde5ccdf0c0631ff1b855b6d (patch)
treef3ad972dc584dc70c4817405d616558cc1a55061 /resources/assets/javascripts
parent9750421a650a4e4980a1286212661a87eb92905b (diff)
Courseware Aufgaben erweitern (StEP3286)
Merge request studip/studip!2445
Diffstat (limited to 'resources/assets/javascripts')
-rw-r--r--resources/assets/javascripts/bootstrap/application.js2
-rw-r--r--resources/assets/javascripts/bootstrap/consultations.js2
-rw-r--r--resources/assets/javascripts/bootstrap/copyable_links.js2
-rw-r--r--resources/assets/javascripts/bootstrap/data_secure.js2
-rw-r--r--resources/assets/javascripts/bootstrap/forms.js2
-rw-r--r--resources/assets/javascripts/bootstrap/multi_select.js2
-rw-r--r--resources/assets/javascripts/bootstrap/mvv_difflog.js2
-rw-r--r--resources/assets/javascripts/bootstrap/raumzeit.js2
-rw-r--r--resources/assets/javascripts/bootstrap/resources.js2
-rw-r--r--resources/assets/javascripts/bootstrap/studip_helper_attributes.js2
-rw-r--r--resources/assets/javascripts/chunks/tablesorter.js2
-rw-r--r--resources/assets/javascripts/chunks/vue.js2
-rw-r--r--resources/assets/javascripts/cke/studip-a11y-dialog/a11y-dialog.js2
-rw-r--r--resources/assets/javascripts/cke/studip-a11y-dialog/ui.js2
-rw-r--r--resources/assets/javascripts/cke/studip-quote/StudipBlockQuote.js2
-rw-r--r--resources/assets/javascripts/cke/wiki-link/formview.js2
-rw-r--r--resources/assets/javascripts/cke/wiki-link/ui.js2
-rw-r--r--resources/assets/javascripts/init.js2
-rw-r--r--resources/assets/javascripts/jquery-bundle.js4
-rw-r--r--resources/assets/javascripts/lib/admission.js2
-rw-r--r--resources/assets/javascripts/lib/big_image_handler.js2
-rw-r--r--resources/assets/javascripts/lib/calendar.js2
-rw-r--r--resources/assets/javascripts/lib/dialog.js2
-rw-r--r--resources/assets/javascripts/lib/files.js2
-rw-r--r--resources/assets/javascripts/lib/folders.js2
-rw-r--r--resources/assets/javascripts/lib/forum.js2
-rw-r--r--resources/assets/javascripts/lib/gettext.ts (renamed from resources/assets/javascripts/lib/gettext.js)35
-rw-r--r--resources/assets/javascripts/lib/instschedule.js2
-rw-r--r--resources/assets/javascripts/lib/jsupdater.js2
-rw-r--r--resources/assets/javascripts/lib/lightbox.js2
-rw-r--r--resources/assets/javascripts/lib/messages.js2
-rw-r--r--resources/assets/javascripts/lib/multi_person_search.js2
-rw-r--r--resources/assets/javascripts/lib/multi_select.js2
-rw-r--r--resources/assets/javascripts/lib/oer.js2
-rw-r--r--resources/assets/javascripts/lib/overlapping.js4
-rw-r--r--resources/assets/javascripts/lib/overlay.js2
-rw-r--r--resources/assets/javascripts/lib/qr_code.js2
-rw-r--r--resources/assets/javascripts/lib/questionnaire.js2
-rw-r--r--resources/assets/javascripts/lib/quick_search.js2
-rw-r--r--resources/assets/javascripts/lib/raumzeit.js2
-rw-r--r--resources/assets/javascripts/lib/register.js2
-rw-r--r--resources/assets/javascripts/lib/resources.js2
-rw-r--r--resources/assets/javascripts/lib/schedule.js2
-rw-r--r--resources/assets/javascripts/lib/tour.js2
-rw-r--r--resources/assets/javascripts/lib/user_filter.js2
-rw-r--r--resources/assets/javascripts/mvv.js2
-rw-r--r--resources/assets/javascripts/studip-jquery.multi-select.tweaks.js2
-rw-r--r--resources/assets/javascripts/studip-ui.js2
48 files changed, 76 insertions, 57 deletions
diff --git a/resources/assets/javascripts/bootstrap/application.js b/resources/assets/javascripts/bootstrap/application.js
index c831261..a9f53df 100644
--- a/resources/assets/javascripts/bootstrap/application.js
+++ b/resources/assets/javascripts/bootstrap/application.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
import eventBus from "../lib/event-bus.ts";
/* ------------------------------------------------------------------------
diff --git a/resources/assets/javascripts/bootstrap/consultations.js b/resources/assets/javascripts/bootstrap/consultations.js
index dec8f4a..ef79d9c 100644
--- a/resources/assets/javascripts/bootstrap/consultations.js
+++ b/resources/assets/javascripts/bootstrap/consultations.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
$(document).on('click', '.consultation-delete-check:not(.ignore)', event => {
const form = $(event.target).closest('form');
diff --git a/resources/assets/javascripts/bootstrap/copyable_links.js b/resources/assets/javascripts/bootstrap/copyable_links.js
index d3675ed..521eae4 100644
--- a/resources/assets/javascripts/bootstrap/copyable_links.js
+++ b/resources/assets/javascripts/bootstrap/copyable_links.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
$(document).on('click', 'a.copyable-link', function (event) {
event.preventDefault();
diff --git a/resources/assets/javascripts/bootstrap/data_secure.js b/resources/assets/javascripts/bootstrap/data_secure.js
index a1a5ac7..1b3b7a1 100644
--- a/resources/assets/javascripts/bootstrap/data_secure.js
+++ b/resources/assets/javascripts/bootstrap/data_secure.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
/**
* Secure forms or form elements by displaying a warning on page unload if
diff --git a/resources/assets/javascripts/bootstrap/forms.js b/resources/assets/javascripts/bootstrap/forms.js
index bbc3d8a..1f4937d 100644
--- a/resources/assets/javascripts/bootstrap/forms.js
+++ b/resources/assets/javascripts/bootstrap/forms.js
@@ -1,4 +1,4 @@
-import { $gettext, $gettextInterpolate } from '../lib/gettext.js';
+import { $gettext, $gettextInterpolate } from '../lib/gettext';
// Allow fieldsets to collapse
$(document).on(
diff --git a/resources/assets/javascripts/bootstrap/multi_select.js b/resources/assets/javascripts/bootstrap/multi_select.js
index 9e817b8..5996bd7 100644
--- a/resources/assets/javascripts/bootstrap/multi_select.js
+++ b/resources/assets/javascripts/bootstrap/multi_select.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
import eventBus from "../lib/event-bus.ts";
eventBus.on('studip:set-locale', () => {
diff --git a/resources/assets/javascripts/bootstrap/mvv_difflog.js b/resources/assets/javascripts/bootstrap/mvv_difflog.js
index f21c368..8ade918 100644
--- a/resources/assets/javascripts/bootstrap/mvv_difflog.js
+++ b/resources/assets/javascripts/bootstrap/mvv_difflog.js
@@ -1,4 +1,4 @@
-import { $gettext, $gettextInterpolate } from '../lib/gettext.js';
+import { $gettext, $gettextInterpolate } from '../lib/gettext';
STUDIP.domReady(() => {
$('del.diffdel').each(function() {
diff --git a/resources/assets/javascripts/bootstrap/raumzeit.js b/resources/assets/javascripts/bootstrap/raumzeit.js
index 2140497..241105b 100644
--- a/resources/assets/javascripts/bootstrap/raumzeit.js
+++ b/resources/assets/javascripts/bootstrap/raumzeit.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
STUDIP.Dialog.handlers.header['X-Raumzeit-Update-Times'] = function(json) {
var info = $.parseJSON(json);
diff --git a/resources/assets/javascripts/bootstrap/resources.js b/resources/assets/javascripts/bootstrap/resources.js
index 388f475..25582d4 100644
--- a/resources/assets/javascripts/bootstrap/resources.js
+++ b/resources/assets/javascripts/bootstrap/resources.js
@@ -1,4 +1,4 @@
-import {$gettext} from '../lib/gettext.js';
+import {$gettext} from '../lib/gettext';
STUDIP.ready(function () {
//Event definitions:
diff --git a/resources/assets/javascripts/bootstrap/studip_helper_attributes.js b/resources/assets/javascripts/bootstrap/studip_helper_attributes.js
index 8f96dcb..c106de3 100644
--- a/resources/assets/javascripts/bootstrap/studip_helper_attributes.js
+++ b/resources/assets/javascripts/bootstrap/studip_helper_attributes.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
/**
* This file provides a set of global handlers.
diff --git a/resources/assets/javascripts/chunks/tablesorter.js b/resources/assets/javascripts/chunks/tablesorter.js
index 9cc8b0d..047c7ce 100644
--- a/resources/assets/javascripts/chunks/tablesorter.js
+++ b/resources/assets/javascripts/chunks/tablesorter.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js'
+import { $gettext } from '../lib/gettext'
import "tablesorter/dist/js/jquery.tablesorter"
import "tablesorter/dist/js/extras/jquery.tablesorter.pager.min.js"
diff --git a/resources/assets/javascripts/chunks/vue.js b/resources/assets/javascripts/chunks/vue.js
index cf95ed3..b98cc27 100644
--- a/resources/assets/javascripts/chunks/vue.js
+++ b/resources/assets/javascripts/chunks/vue.js
@@ -3,7 +3,7 @@ import Vuex from 'vuex';
import Router from "vue-router";
import eventBus from '../lib/event-bus.ts';
import GetTextPlugin from 'vue-gettext';
-import { getLocale, getVueConfig } from '../lib/gettext.js';
+import { getLocale, getVueConfig } from '../lib/gettext';
import PortalVue from 'portal-vue';
import BaseComponents from '../../../vue/base-components.js';
import BaseDirectives from "../../../vue/base-directives.js";
diff --git a/resources/assets/javascripts/cke/studip-a11y-dialog/a11y-dialog.js b/resources/assets/javascripts/cke/studip-a11y-dialog/a11y-dialog.js
index 814e931..41195b0 100644
--- a/resources/assets/javascripts/cke/studip-a11y-dialog/a11y-dialog.js
+++ b/resources/assets/javascripts/cke/studip-a11y-dialog/a11y-dialog.js
@@ -1,6 +1,6 @@
import { Plugin } from '@ckeditor/ckeditor5-core';
import { add } from '@ckeditor/ckeditor5-utils/src/translation-service';
-import { $gettext } from '../../lib/gettext.js';
+import { $gettext } from '../../lib/gettext';
import A11YDialogEditing from './editing.js';
import A11YDialogUI from './ui.js';
diff --git a/resources/assets/javascripts/cke/studip-a11y-dialog/ui.js b/resources/assets/javascripts/cke/studip-a11y-dialog/ui.js
index a2d207f..f80d703 100644
--- a/resources/assets/javascripts/cke/studip-a11y-dialog/ui.js
+++ b/resources/assets/javascripts/cke/studip-a11y-dialog/ui.js
@@ -1,6 +1,6 @@
import ButtonView from '@ckeditor/ckeditor5-ui/src/button/buttonview';
import { Plugin } from '@ckeditor/ckeditor5-core';
-import { $gettext } from '../../lib/gettext.js';
+import { $gettext } from '../../lib/gettext';
const a11yIcon =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54"><path d="M32.5,43h-11a1.5,1.5,0,0,0,0,3h11a1.5,1.5,0,0,0,0-3Z"/><path d="M31.5,48h-9a1.5,1.5,0,0,0,0,3h9a1.5,1.5,0,0,0,0-3Z"/><path d="M27,3a18.54,18.54,0,0,0-2,.11,17,17,0,0,0-6.95,31.37A2,2,0,0,1,19,36.13v3.34A1.5,1.5,0,0,0,20.5,41h13a1.5,1.5,0,0,0,1.5-1.5V36.12a2,2,0,0,1,.9-1.67A17,17,0,0,0,27,3Zm7.33,28.92A5,5,0,0,0,32,36.12V38H22V36.13a5,5,0,0,0-2.33-4.24,14,14,0,0,1,5.7-25.83A14.84,14.84,0,0,1,27,6a14,14,0,0,1,7.33,25.92Z"/><path d="M32.39,9.05A12.51,12.51,0,0,0,27.24,8a12.66,12.66,0,0,0-10.37,5.4,1.73,1.73,0,0,0,.42,2.41,1.69,1.69,0,0,0,1,.32,1.73,1.73,0,0,0,1.42-.74,9.21,9.21,0,0,1,7.54-3.93,9.08,9.08,0,0,1,3.74.8,1.73,1.73,0,1,0,1.41-3.16Z"/><path d="M17,16.31A1.73,1.73,0,0,0,15,17.58a12.38,12.38,0,0,0-.37,3,12.68,12.68,0,0,0,.28,2.67,1.74,1.74,0,0,0,1.69,1.36,1.55,1.55,0,0,0,.37,0,1.74,1.74,0,0,0,1.33-2.06A8.92,8.92,0,0,1,18,20.61a9.08,9.08,0,0,1,.27-2.2A1.74,1.74,0,0,0,17,16.31Z"/></svg>';
diff --git a/resources/assets/javascripts/cke/studip-quote/StudipBlockQuote.js b/resources/assets/javascripts/cke/studip-quote/StudipBlockQuote.js
index e50f8c6..0cd43e9 100644
--- a/resources/assets/javascripts/cke/studip-quote/StudipBlockQuote.js
+++ b/resources/assets/javascripts/cke/studip-quote/StudipBlockQuote.js
@@ -1,6 +1,6 @@
import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
import ButtonView from '@ckeditor/ckeditor5-ui/src/button/buttonview';
-import { $gettext } from '../../lib/gettext.js';
+import { $gettext } from '../../lib/gettext';
import { Command, icons } from '@ckeditor/ckeditor5-core';
const divideIcon =
diff --git a/resources/assets/javascripts/cke/wiki-link/formview.js b/resources/assets/javascripts/cke/wiki-link/formview.js
index 8d82e25..8a1525a 100644
--- a/resources/assets/javascripts/cke/wiki-link/formview.js
+++ b/resources/assets/javascripts/cke/wiki-link/formview.js
@@ -12,7 +12,7 @@ import {
addListToDropdown,
} from '@ckeditor/ckeditor5-ui';
import { FocusTracker, KeystrokeHandler, Collection, Rect, isVisible } from '@ckeditor/ckeditor5-utils';
-import { $gettext } from '../../lib/gettext.js';
+import { $gettext } from '../../lib/gettext';
export default class WikiLinkFormView extends View {
constructor(locale) {
diff --git a/resources/assets/javascripts/cke/wiki-link/ui.js b/resources/assets/javascripts/cke/wiki-link/ui.js
index a8e5f89..dba6b82 100644
--- a/resources/assets/javascripts/cke/wiki-link/ui.js
+++ b/resources/assets/javascripts/cke/wiki-link/ui.js
@@ -1,7 +1,7 @@
import { Plugin } from '@ckeditor/ckeditor5-core';
import { createDropdown } from '@ckeditor/ckeditor5-ui';
import WikiLinkFormView from './formview.js';
-import { $gettext } from '../../lib/gettext.js';
+import { $gettext } from '../../lib/gettext';
const wikiIcon =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54"><path class="cls-1" d="M49.83,15a15.17,15.17,0,0,1-10.17,7.9,31.41,31.41,0,0,1,3.45,11.38C46.63,32.05,53.82,25.94,49.83,15ZM4.17,15c-4,10.94,3.2,17,6.72,19.28A31.41,31.41,0,0,1,14.34,22.9,15.17,15.17,0,0,1,4.17,15ZM27,16c-7.1,0-12.85,10.31-12.85,23h25.7C39.85,26.29,34.1,16,27,16Z"/></svg>';
diff --git a/resources/assets/javascripts/init.js b/resources/assets/javascripts/init.js
index e824775..8981e95 100644
--- a/resources/assets/javascripts/init.js
+++ b/resources/assets/javascripts/init.js
@@ -77,7 +77,7 @@ import Table from './lib/table.js';
import TableOfContents from './lib/table-of-contents.js';
import Tooltip from './lib/tooltip.js';
import Tour from './lib/tour.js';
-import * as Gettext from './lib/gettext.js';
+import * as Gettext from './lib/gettext';
import UserFilter from './lib/user_filter.js';
import wysiwyg from './lib/wysiwyg.js';
import ScrollToTop from './lib/scroll_to_top.js';
diff --git a/resources/assets/javascripts/jquery-bundle.js b/resources/assets/javascripts/jquery-bundle.js
index bdee32d..bd16422 100644
--- a/resources/assets/javascripts/jquery-bundle.js
+++ b/resources/assets/javascripts/jquery-bundle.js
@@ -1,6 +1,6 @@
import 'expose-loader?exposes[]=$&exposes[]=jQuery!jquery';
-import { setLocale } from './lib/gettext.js';
+import { setLocale } from './lib/gettext';
import 'jquery-ui/ui/widget.js';
import 'jquery-ui/ui/position.js';
@@ -76,7 +76,7 @@ import 'blueimp-file-upload/js/jquery.iframe-transport.js';
import './jquery/autoresize.jquery.min.js';
-import { $gettext } from './lib/gettext.js';
+import { $gettext } from './lib/gettext';
// Create jQuery "plugin" that just reverses the elements' order. This is
// neccessary since the navigation is built and afterwards, we need to
diff --git a/resources/assets/javascripts/lib/admission.js b/resources/assets/javascripts/lib/admission.js
index 7cf8c88..df62bbe 100644
--- a/resources/assets/javascripts/lib/admission.js
+++ b/resources/assets/javascripts/lib/admission.js
@@ -1,7 +1,7 @@
/* ------------------------------------------------------------------------
* Anmeldeverfahren und -sets
* ------------------------------------------------------------------------ */
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
import Dialog from './dialog.js';
const Admission = {
diff --git a/resources/assets/javascripts/lib/big_image_handler.js b/resources/assets/javascripts/lib/big_image_handler.js
index 5130997..55e9b38 100644
--- a/resources/assets/javascripts/lib/big_image_handler.js
+++ b/resources/assets/javascripts/lib/big_image_handler.js
@@ -18,7 +18,7 @@
* @license GPL2 or any later version
* @since Stud.IP 3.4
*/
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
var pixelRatio = window.devicePixelRatio || 1,
dataAttribute = 'big-image-handled';
diff --git a/resources/assets/javascripts/lib/calendar.js b/resources/assets/javascripts/lib/calendar.js
index 2f1cd67..2d995b5 100644
--- a/resources/assets/javascripts/lib/calendar.js
+++ b/resources/assets/javascripts/lib/calendar.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
import eventBus from "./event-bus.ts";
eventBus.on('studip:set-locale', () => {
diff --git a/resources/assets/javascripts/lib/dialog.js b/resources/assets/javascripts/lib/dialog.js
index 8c22d1c..b5cab54 100644
--- a/resources/assets/javascripts/lib/dialog.js
+++ b/resources/assets/javascripts/lib/dialog.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
import parseOptions from './parse_options.js';
import extractCallback from './extract_callback.js';
import Overlay from './overlay.js';
diff --git a/resources/assets/javascripts/lib/files.js b/resources/assets/javascripts/lib/files.js
index 7b628f6..d05112d 100644
--- a/resources/assets/javascripts/lib/files.js
+++ b/resources/assets/javascripts/lib/files.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
import Dialog from './dialog.js';
import FilesTable from '../../../vue/components/FilesTable.vue';
diff --git a/resources/assets/javascripts/lib/folders.js b/resources/assets/javascripts/lib/folders.js
index ced430d..6cd23c5 100644
--- a/resources/assets/javascripts/lib/folders.js
+++ b/resources/assets/javascripts/lib/folders.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
import Dialog from './dialog.js';
const Folders = {
diff --git a/resources/assets/javascripts/lib/forum.js b/resources/assets/javascripts/lib/forum.js
index c2f0d7c..385ec12 100644
--- a/resources/assets/javascripts/lib/forum.js
+++ b/resources/assets/javascripts/lib/forum.js
@@ -1,4 +1,4 @@
-import { $gettext } from "./gettext.js";
+import { $gettext } from "./gettext";
import eventBus from "./event-bus.ts";
eventBus.on('studip:set-locale', () => {
diff --git a/resources/assets/javascripts/lib/gettext.js b/resources/assets/javascripts/lib/gettext.ts
index 5742466..23daaaa 100644
--- a/resources/assets/javascripts/lib/gettext.js
+++ b/resources/assets/javascripts/lib/gettext.ts
@@ -1,6 +1,25 @@
import { translate } from 'vue-gettext';
-import defaultTranslations from '../../../../locale/de/LC_MESSAGES/js-resources.json';
-import eventBus from './event-bus.ts';
+import * as defaultTranslations from '../../../../locale/de/LC_MESSAGES/js-resources.json';
+import eventBus from './event-bus';
+
+interface StringDict {
+ [key: string]: string;
+}
+
+interface InstalledLanguage {
+ name: string;
+ selected: boolean;
+}
+
+interface InstalledLanguages {
+ [key: string]: InstalledLanguage;
+}
+
+type TranslationDict = StringDict;
+
+interface TranslationDicts {
+ [key: string]: TranslationDict | null;
+}
const DEFAULT_LANG = 'de_DE';
const DEFAULT_LANG_NAME = 'Deutsch';
@@ -24,7 +43,7 @@ async function setLocale(locale = getInitialLocale()) {
state.locale = locale;
if (state.translations[state.locale] === null) {
- const translations = await getTranslations(state.locale);
+ const translations: TranslationDict = await getTranslations(state.locale);
state.translations[state.locale] = translations;
}
@@ -43,7 +62,7 @@ function getVueConfig() {
memo[lang] = name;
return memo;
- }, {});
+ }, {} as StringDict);
return {
availableLanguages,
@@ -55,11 +74,11 @@ function getVueConfig() {
}
function getInitialState() {
- const translations = Object.entries(getInstalledLanguages()).reduce((memo, [lang]) => {
+ const translations: TranslationDicts = Object.entries(getInstalledLanguages()).reduce((memo, [lang]) => {
memo[lang] = lang === DEFAULT_LANG ? defaultTranslations : null;
return memo;
- }, {});
+ }, {} as TranslationDicts);
return {
locale: DEFAULT_LANG,
@@ -77,11 +96,11 @@ function getInitialLocale() {
return DEFAULT_LANG;
}
-function getInstalledLanguages() {
+function getInstalledLanguages(): InstalledLanguages {
return window?.STUDIP?.INSTALLED_LANGUAGES ?? { [DEFAULT_LANG]: { name: DEFAULT_LANG_NAME, selected: true } };
}
-async function getTranslations(locale) {
+async function getTranslations(locale: string): Promise<TranslationDict> {
try {
const language = locale.split(/[_-]/)[0];
const translation = await import(`../../../../locale/${language}/LC_MESSAGES/js-resources.json`);
diff --git a/resources/assets/javascripts/lib/instschedule.js b/resources/assets/javascripts/lib/instschedule.js
index af438c2..d925bfb 100644
--- a/resources/assets/javascripts/lib/instschedule.js
+++ b/resources/assets/javascripts/lib/instschedule.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
import Dialog from './dialog.js';
const Instschedule = {
diff --git a/resources/assets/javascripts/lib/jsupdater.js b/resources/assets/javascripts/lib/jsupdater.js
index 7888f29..5069af0 100644
--- a/resources/assets/javascripts/lib/jsupdater.js
+++ b/resources/assets/javascripts/lib/jsupdater.js
@@ -10,7 +10,7 @@
*
* Refer to the according function definitions for further info.
* ------------------------------------------------------------------------ */
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
import Dialog from './dialog.js';
let active = false;
diff --git a/resources/assets/javascripts/lib/lightbox.js b/resources/assets/javascripts/lib/lightbox.js
index 134cfca..09bfda2 100644
--- a/resources/assets/javascripts/lib/lightbox.js
+++ b/resources/assets/javascripts/lib/lightbox.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
import Dialog from './dialog.js';
function sprintf(string) {
diff --git a/resources/assets/javascripts/lib/messages.js b/resources/assets/javascripts/lib/messages.js
index dbb2793..7ce5328 100644
--- a/resources/assets/javascripts/lib/messages.js
+++ b/resources/assets/javascripts/lib/messages.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
import Markup from './markup.js';
const Messages = {
diff --git a/resources/assets/javascripts/lib/multi_person_search.js b/resources/assets/javascripts/lib/multi_person_search.js
index f5ba046..b876bc9 100644
--- a/resources/assets/javascripts/lib/multi_person_search.js
+++ b/resources/assets/javascripts/lib/multi_person_search.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
const MultiPersonSearch = {
init: function() {
diff --git a/resources/assets/javascripts/lib/multi_select.js b/resources/assets/javascripts/lib/multi_select.js
index b4abeb9..6c1b387 100644
--- a/resources/assets/javascripts/lib/multi_select.js
+++ b/resources/assets/javascripts/lib/multi_select.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
/**
* Turns a select-box into an easy to use multiple select-box
diff --git a/resources/assets/javascripts/lib/oer.js b/resources/assets/javascripts/lib/oer.js
index 112d155..17f0186 100644
--- a/resources/assets/javascripts/lib/oer.js
+++ b/resources/assets/javascripts/lib/oer.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
const OER = {
periodicalPushData: function () {
diff --git a/resources/assets/javascripts/lib/overlapping.js b/resources/assets/javascripts/lib/overlapping.js
index 73ab32f..a6aa4b8 100644
--- a/resources/assets/javascripts/lib/overlapping.js
+++ b/resources/assets/javascripts/lib/overlapping.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
const Overlapping = {
@@ -91,4 +91,4 @@ const Overlapping = {
}
};
-export default Overlapping; \ No newline at end of file
+export default Overlapping;
diff --git a/resources/assets/javascripts/lib/overlay.js b/resources/assets/javascripts/lib/overlay.js
index 52d1c94..ffe8ed1 100644
--- a/resources/assets/javascripts/lib/overlay.js
+++ b/resources/assets/javascripts/lib/overlay.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
const Overlay = {
delay: 300,
diff --git a/resources/assets/javascripts/lib/qr_code.js b/resources/assets/javascripts/lib/qr_code.js
index 3db4fd8..ada0cb3 100644
--- a/resources/assets/javascripts/lib/qr_code.js
+++ b/resources/assets/javascripts/lib/qr_code.js
@@ -1,4 +1,4 @@
-import { $gettext } from "./gettext.js";
+import { $gettext } from "./gettext";
import Dialog from "./dialog.js";
const QRCode = {
diff --git a/resources/assets/javascripts/lib/questionnaire.js b/resources/assets/javascripts/lib/questionnaire.js
index 8fbbbb0..2bca8c6 100644
--- a/resources/assets/javascripts/lib/questionnaire.js
+++ b/resources/assets/javascripts/lib/questionnaire.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
import md5 from 'md5';
//import html2canvas from "html2canvas";
//import {jsPDF} from "jspdf";
diff --git a/resources/assets/javascripts/lib/quick_search.js b/resources/assets/javascripts/lib/quick_search.js
index 806debd..627bffa 100644
--- a/resources/assets/javascripts/lib/quick_search.js
+++ b/resources/assets/javascripts/lib/quick_search.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
/* ------------------------------------------------------------------------
* QuickSearch inputs
diff --git a/resources/assets/javascripts/lib/raumzeit.js b/resources/assets/javascripts/lib/raumzeit.js
index 5cd5e55..c28dbae 100644
--- a/resources/assets/javascripts/lib/raumzeit.js
+++ b/resources/assets/javascripts/lib/raumzeit.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
const Raumzeit = {
disableBookableRooms: function(icon) {
diff --git a/resources/assets/javascripts/lib/register.js b/resources/assets/javascripts/lib/register.js
index da81132..de7b666 100644
--- a/resources/assets/javascripts/lib/register.js
+++ b/resources/assets/javascripts/lib/register.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
const register = {
re_username: null,
diff --git a/resources/assets/javascripts/lib/resources.js b/resources/assets/javascripts/lib/resources.js
index 2375eee..9acb2e3 100644
--- a/resources/assets/javascripts/lib/resources.js
+++ b/resources/assets/javascripts/lib/resources.js
@@ -1,4 +1,4 @@
-import { $gettext } from '../lib/gettext.js';
+import { $gettext } from '../lib/gettext';
class Resources
{
diff --git a/resources/assets/javascripts/lib/schedule.js b/resources/assets/javascripts/lib/schedule.js
index b7c9d37..f3e5123 100644
--- a/resources/assets/javascripts/lib/schedule.js
+++ b/resources/assets/javascripts/lib/schedule.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
import Calendar from './calendar.js';
import Dialog from './dialog.js';
diff --git a/resources/assets/javascripts/lib/tour.js b/resources/assets/javascripts/lib/tour.js
index b93be07..8094b2b 100644
--- a/resources/assets/javascripts/lib/tour.js
+++ b/resources/assets/javascripts/lib/tour.js
@@ -1,4 +1,4 @@
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
/* ------------------------------------------------------------------------
* Stud.IP Tour
diff --git a/resources/assets/javascripts/lib/user_filter.js b/resources/assets/javascripts/lib/user_filter.js
index 450af34..25b8488 100644
--- a/resources/assets/javascripts/lib/user_filter.js
+++ b/resources/assets/javascripts/lib/user_filter.js
@@ -1,7 +1,7 @@
/* ------------------------------------------------------------------------
* Bedingungen zur Auswahl von Stud.IP-Nutzern
* ------------------------------------------------------------------------ */
-import { $gettext } from './gettext.js';
+import { $gettext } from './gettext';
import Dialog from './dialog.js';
const UserFilter = {
diff --git a/resources/assets/javascripts/mvv.js b/resources/assets/javascripts/mvv.js
index 12d2653..a339624 100644
--- a/resources/assets/javascripts/mvv.js
+++ b/resources/assets/javascripts/mvv.js
@@ -1,4 +1,4 @@
-import { $gettext } from './lib/gettext.js';
+import { $gettext } from './lib/gettext';
jQuery(function ($) {
$(document).on('click', 'a.mvv-load-in-new-row', function () {
diff --git a/resources/assets/javascripts/studip-jquery.multi-select.tweaks.js b/resources/assets/javascripts/studip-jquery.multi-select.tweaks.js
index 2462ff9..adde0ce 100644
--- a/resources/assets/javascripts/studip-jquery.multi-select.tweaks.js
+++ b/resources/assets/javascripts/studip-jquery.multi-select.tweaks.js
@@ -1,4 +1,4 @@
-import { $gettext } from './lib/gettext.js';
+import { $gettext } from './lib/gettext';
/**
diff --git a/resources/assets/javascripts/studip-ui.js b/resources/assets/javascripts/studip-ui.js
index 60a3cfa..f581295 100644
--- a/resources/assets/javascripts/studip-ui.js
+++ b/resources/assets/javascripts/studip-ui.js
@@ -1,4 +1,4 @@
-import { $gettext } from './lib/gettext.js';
+import { $gettext } from './lib/gettext';
import eventBus from "./lib/event-bus.ts";
/**