/** * 语言设置 */ const LANG = antSword['language']['settings']['language']; const LANG_T = antSword['language']['toastr']; class Language { constructor(sidebar) { sidebar.addItem({ id: 'language', text: ` ${LANG['title']}` }); const cell = sidebar.cells('language'); // 工具栏 const toolbar = cell.attachToolbar(); toolbar.loadStruct([ { id: 'save', type: 'button', text: LANG['toolbar']['save'], icon: 'save' }, { type: 'separator' } ]); // 表单 const _language = antSword['storage']('language', false, 'en'); const form = cell.attachForm([ { type: 'settings', position: 'label-left', labelWidth: 100, inputWidth: 150 }, { type: 'block', inputWidth: 'auto', offsetTop: 12, list: [ { type: 'combo', label: LANG['form']['label'], readonly: true, name: 'language', options: (() => { let _ = []; for (let l in antSword['language']['__languages__']) { _.push({ text: antSword['language']['__languages__'][l], value: l, selected: _language === l }); } return _; })() } ]} ], true); // 工具栏点击事件 toolbar.attachEvent('onClick', (id) => { switch(id) { case 'save': const language = form.getValues()['language']; // 保存设置 localStorage.setItem('language', language); toastr.success(LANG['success'], LANG_T['success']); // 重启应用 layer.confirm(LANG['confirm']['content'], { icon: 2, shift: 6, title: LANG['confirm']['title'] }, (_) => { location.reload(); }); break; } }); } } module.exports = Language;