ui: fix availableLangs

This commit is contained in:
undefined committed 2022-04-30 03:10:54 +08:00
1 parent 2a66302c9e
commit 0c277f2224
5 files changed
+19 -19

No files matched your search

@@ -52,7 +52,7 @@ function initCodeLangHelper() {
}
const main = {};
for (const key in window.LANGS) {
if (!key.includes('.')) main[key] = window.LANGS[key].display;
if (!key.includes('.') && !window.LANGS[key].hidden) main[key] = window.LANGS[key].display;
}
setOptions($('#codelang-main-select'), main);
const current = $('[name="codeLang"]').val();
@@ -1,5 +1,5 @@
import { NamedPage } from 'vj/misc/Page';
import getAvaliableLangs from 'vj/utils/avaliableLangs';
import getAvailableLangs from 'vj/utils/availableLangs';
function setOptions($el, options) {
$el.empty();
@@ -10,12 +10,12 @@ function setOptions($el, options) {
const page = new NamedPage(['problem_submit', 'contest_detail_problem_submit', 'homework_detail_problem_submit'], async () => {
const { config } = UiContext.pdoc;
const avaliableLangs = getAvaliableLangs(config.langs);
const availableLangs = getAvailableLangs(config.langs);
function onChangeMain(update = true) {
const options = {};
for (const key in avaliableLangs) {
if (key.startsWith(`${this.value}.`) && key !== this.value) options[key] = avaliableLangs[key].display;
for (const key in availableLangs) {
if (key.startsWith(`${this.value}.`) && key !== this.value) options[key] = availableLangs[key].display;
}
setOptions($('#codelang-sub-select'), options);
if (Object.keys(options).length) {
@@ -28,7 +28,7 @@ const page = new NamedPage(['problem_submit', 'contest_detail_problem_submit', '
return Object.keys(options)[0];
}
const main = {};
for (const key in avaliableLangs) {
for (const key in availableLangs) {
if (config.langs && !config.langs.filter((i) => i === key || i.startsWith(`${key}.`)).length) continue;
if (!key.includes('.')) main[key] = window.LANGS[key].display;
else {
@@ -2,7 +2,7 @@ import { NamedPage } from 'vj/misc/Page';
import UserSelectAutoComplete from 'vj/components/autocomplete/UserSelectAutoComplete';
import ProblemSelectAutoComplete from 'vj/components/autocomplete/ProblemSelectAutoComplete';
import tpl from 'vj/utils/tpl';
import getAvaliableLangs from 'vj/utils/avaliableLangs';
import getAvailableLangs from 'vj/utils/availableLangs';
const page = new NamedPage('record_main', async () => {
const [{ default: SockJs }, { DiffDOM }] = await Promise.all([
@@ -38,9 +38,9 @@ const page = new NamedPage('record_main', async () => {
ProblemSelectAutoComplete.getOrConstruct($('[name="pid"]'), {
clearDefaultValue: false,
});
const avaliableLangs = getAvaliableLangs(UiContext.domain.langs?.split(','));
Object.keys(avaliableLangs).map(
(i) => ($('select[name="lang"]').append(tpl`<option value="${i}" key="${i}">${avaliableLangs[i].display}</option>`)));
const availableLangs = getAvailableLangs(UiContext.domain.langs?.split(','));
Object.keys(availableLangs).map(
(i) => ($('select[name="lang"]').append(tpl`<option value="${i}" key="${i}">${availableLangs[i].display}</option>`)));
const lang = new URL(window.location.href).searchParams.get('lang');
if (lang) $('select[name="lang"]').val(lang);
});