pmg-gui/js/SpamDetectorLanguages.js
Thomas Lamprecht 28eb60c0bd eslint fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-30 14:08:16 +01:00

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 });
},
});
},
});