ui: fix lang select

This commit is contained in:
undefined committed 2022-11-03 18:23:41 +08:00
1 parent ce8b77a6f7
commit 865f30fe42
9 files changed
+32 -34

No files matched your search

@@ -1,15 +1,11 @@
import CustomSelectAutoComplete from 'vj/components/autocomplete/CustomSelectAutoComplete';
import { NamedPage } from 'vj/misc/Page';
import i18n from 'vj/utils/i18n';
const page = new NamedPage('domain_edit', () => {
const prefixes = new Set(Object.keys(window.LANGS).filter((i) => i.includes('.')).map((i) => i.split('.')[0]));
const langs = [
{ key: '_', name: i18n('objective') },
...Object.keys(window.LANGS).filter((i) => !prefixes.has(i)).map((i) => (
{ name: `${i.includes('.') ? `${window.LANGS[i.split('.')[0]].display}/` : ''}${window.LANGS[i].display}`, _id: i }
)),
];
const langs = Object.keys(window.LANGS).filter((i) => !prefixes.has(i)).map((i) => (
{ name: `${i.includes('.') ? `${window.LANGS[i.split('.')[0]].display}/` : ''}${window.LANGS[i].display}`, _id: i }
));
const $langSelect = $('[name=langs]');
$langSelect.val(($langSelect.val() as string).split(',').filter((i) => !prefixes.has(i)));
@@ -17,7 +13,7 @@ const page = new NamedPage('domain_edit', () => {
const select: CustomSelectAutoComplete<true> = CustomSelectAutoComplete.getOrConstruct($('[name=langs]'), { multi: true, data: langs });
select.onChange((val) => {
const value = val.split(',');
value.push(...Array.from(new Set(value.filter((i) => i.includes('.')).map((i) => i.split('.')[0]))));
value.push(...new Set(value.filter((i) => i.includes('.')).map((i) => i.split('.')[0])));
$langSelect.val(value.join(','));
});
});