ui: fix submission language selection

This commit is contained in:
undefined committed 2022-03-12 21:36:30 +08:00
1 parent 46179ab3e5
commit 880f706c3a
3 files changed
+19 -11

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@hydrooj/ui-default",
"version": "4.33.6",
"version": "4.33.7",
"author": "undefined <i@undefined.moe>",
"license": "AGPL-3.0",
"main": "hydro.js",
@@ -38,27 +38,35 @@ const page = new NamedPage(['problem_submit', 'contest_detail_problem_submit', '
}
}
setOptions($('#codelang-main-select'), main);
if (Object.keys(main).length === 1) $('#codelang-main-container').hide();
let isFallback = false;
const current = $('[name="lang"]').val();
if (current.includes('.')) {
const [m] = current.split('.');
$('#codelang-main-select').val(m);
const fallback = onChangeMain.call({ value: m }, false);
$('#codelang-sub-select').val(current);
if (fallback && !$('#codelang-sub-select').val()) {
$('#codelang-sub-select').val(fallback);
$('[name="lang"]').val(fallback);
}
} else {
if (main[m]) {
$('#codelang-main-select').val(m);
const fallback = onChangeMain.call({ value: m }, false);
$('#codelang-sub-select').val(current);
if (fallback && !$('#codelang-sub-select').val()) {
$('#codelang-sub-select').val(fallback);
$('[name="lang"]').val(fallback);
}
} else isFallback = true;
} else if (main[current]) {
$('#codelang-main-select').val(current);
onChangeMain.call({ value: $('#codelang-main-select').val() }, false);
} else isFallback = true;
if (isFallback) {
$('#codelang-main-select').val(Object.keys(main)[0]);
onChangeMain.call({ value: Object.keys(main)[0] }, false);
}
$('#codelang-main-select').on('change', onChangeMain);
$('#codelang-sub-select').on('change', function () {
$('[name="lang"]').val(this.value);
});
if (Object.keys(main).length === 1) $('#codelang-main-container').hide();
});
export default page;
@@ -18,7 +18,7 @@
}) }}
</div>
<div class="row nojs--hide">
<div class="medium-5 columns form__item end">
<div class="medium-5 columns form__item end" id="codelang-main-container">
<label>
{{ _('Code language') }}
<div name="form_item_lang" class="select-container">