mirror of
https://git.proxmox.com/git/pmg-gui
synced 2025-05-29 18:43:34 +00:00
140 lines
2.7 KiB
JavaScript
140 lines
2.7 KiB
JavaScript
Ext.define('PMG.SpamDetectorLanguagesInputPanel', {
|
|
extend: 'Proxmox.panel.InputPanel',
|
|
alias: 'widget.pmgSpamDetectorLanguagesInputPanel',
|
|
|
|
languages: [
|
|
['af', 'Afrikaans'],
|
|
['am', 'Amharic'],
|
|
['ar', 'Arabic'],
|
|
['be', 'Byelorussian'],
|
|
['bg', 'Bulgarian'],
|
|
['bs', 'Bosnian'],
|
|
['ca', 'Catalan'],
|
|
['cs', 'Czech'],
|
|
['cy', 'Welsh'],
|
|
['da', 'Danish'],
|
|
['de', 'German'],
|
|
['el', 'Greek'],
|
|
['en', 'English'],
|
|
['eo', 'Esperanto'],
|
|
['es', 'Spanish'],
|
|
['et', 'Estonian'],
|
|
['eu', 'Basque'],
|
|
['fa', 'Persian'],
|
|
['fi', 'Finnish'],
|
|
['fr', 'French'],
|
|
['fy', 'Frisian'],
|
|
['ga', 'Irish'],
|
|
['gd', 'Scottish'],
|
|
['he', 'Hebrew'],
|
|
['hi', 'Hindi'],
|
|
['hr', 'Croatian'],
|
|
['hu', 'Hungarian'],
|
|
['hy', 'Armenian'],
|
|
['id', 'Indonesian'],
|
|
['is', 'Icelandic'],
|
|
['it', 'Italian'],
|
|
['ja', 'Japanese'],
|
|
['ka', 'Georgian'],
|
|
['ko', 'Korean'],
|
|
['la', 'Latin'],
|
|
['lt', 'Lithuanian'],
|
|
['lv', 'Latvian'],
|
|
['mr', 'Marathi'],
|
|
['ms', 'Malay'],
|
|
['ne', 'Nepali'],
|
|
['nl', 'Dutch'],
|
|
['no', 'Norwegian'],
|
|
['pl', 'Polish'],
|
|
['pt', 'Portuguese'],
|
|
['qu', 'Quechua'],
|
|
['Rhaeto', 'Romance'],
|
|
['ro', 'Romanian'],
|
|
['ru', 'Russian'],
|
|
['sa', 'Sanskrit'],
|
|
['sco', 'Scots'],
|
|
['sk', 'Slovak'],
|
|
['sl', 'Slovenian'],
|
|
['sq', 'Albanian'],
|
|
['sr', 'Serbian'],
|
|
['sv', 'Swedish'],
|
|
['sw', 'Swahili'],
|
|
['ta', 'Tamil'],
|
|
['th', 'Thai'],
|
|
['tl', 'Tagalog'],
|
|
['tr', 'Turkish'],
|
|
['uk', 'Ukrainian'],
|
|
['vi', 'Vietnamese'],
|
|
['yi', 'Yiddish'],
|
|
['zh', 'Chinese'],
|
|
],
|
|
|
|
onGetValues: function(values) {
|
|
if (!values.languages) {
|
|
values.delete = 'languages';
|
|
} else if (Ext.isArray(values.languages)) {
|
|
values.languages = values.languages.join(' ');
|
|
}
|
|
|
|
return values;
|
|
},
|
|
|
|
|
|
initComponent: function() {
|
|
var me = this;
|
|
|
|
me.column1 = [];
|
|
me.column2 = [];
|
|
me.column3 = [];
|
|
me.column4 = [];
|
|
|
|
var i, len;
|
|
for (i = 0, len = me.languages.length; i < len; i++) {
|
|
var config = {
|
|
xtype: 'checkboxfield',
|
|
inputValue: me.languages[i][0],
|
|
boxLabel: me.languages[i][1],
|
|
name: 'languages',
|
|
};
|
|
if ((i % 4) === 0) {
|
|
me.column1.push(config);
|
|
} else if ((i % 4) === 1) {
|
|
me.column2.push(config);
|
|
} else if ((i % 4) === 2) {
|
|
me.column3.push(config);
|
|
} else if ((i % 4) === 3) {
|
|
me.column4.push(config);
|
|
}
|
|
}
|
|
|
|
me.callParent();
|
|
},
|
|
});
|
|
|
|
Ext.define('PMG.SpamDetectorLanguages', {
|
|
extend: 'Proxmox.window.Edit',
|
|
onlineHelp: 'pmgconfig_spamdetector',
|
|
|
|
subject: 'Languages',
|
|
|
|
items: [
|
|
{
|
|
xtype: 'pmgSpamDetectorLanguagesInputPanel',
|
|
},
|
|
],
|
|
|
|
initComponent: function() {
|
|
let me = this;
|
|
|
|
me.callParent();
|
|
|
|
me.load({
|
|
success: function(response, options) {
|
|
let value = response.result.data.languages || '';
|
|
let languages = value.split(/[ ,;]+/);
|
|
me.setValues({ languages: languages });
|
|
},
|
|
});
|
|
},
|
|
});
|