]> git.proxmox.com Git - pmg-gui.git/blame - js/SpamDetectorLanguages.js
fix #5251: login: set autocomplete on password and user
[pmg-gui.git] / js / SpamDetectorLanguages.js
CommitLineData
8dca8d1d
DM
1Ext.define('PMG.SpamDetectorLanguagesInputPanel', {
2 extend: 'Proxmox.panel.InputPanel',
3 alias: 'widget.pmgSpamDetectorLanguagesInputPanel',
4
5 languages: [
c87d46fb
TL
6 ['af', 'Afrikaans'],
7 ['am', 'Amharic'],
8 ['ar', 'Arabic'],
9 ['be', 'Byelorussian'],
10 ['bg', 'Bulgarian'],
11 ['bs', 'Bosnian'],
12 ['ca', 'Catalan'],
13 ['cs', 'Czech'],
14 ['cy', 'Welsh'],
15 ['da', 'Danish'],
16 ['de', 'German'],
17 ['el', 'Greek'],
18 ['en', 'English'],
19 ['eo', 'Esperanto'],
20 ['es', 'Spanish'],
21 ['et', 'Estonian'],
22 ['eu', 'Basque'],
23 ['fa', 'Persian'],
24 ['fi', 'Finnish'],
25 ['fr', 'French'],
26 ['fy', 'Frisian'],
27 ['ga', 'Irish'],
28 ['gd', 'Scottish'],
29 ['he', 'Hebrew'],
30 ['hi', 'Hindi'],
31 ['hr', 'Croatian'],
32 ['hu', 'Hungarian'],
33 ['hy', 'Armenian'],
34 ['id', 'Indonesian'],
35 ['is', 'Icelandic'],
36 ['it', 'Italian'],
37 ['ja', 'Japanese'],
38 ['ka', 'Georgian'],
39 ['ko', 'Korean'],
40 ['la', 'Latin'],
41 ['lt', 'Lithuanian'],
42 ['lv', 'Latvian'],
43 ['mr', 'Marathi'],
44 ['ms', 'Malay'],
45 ['ne', 'Nepali'],
46 ['nl', 'Dutch'],
47 ['no', 'Norwegian'],
48 ['pl', 'Polish'],
49 ['pt', 'Portuguese'],
50 ['qu', 'Quechua'],
51 ['Rhaeto', 'Romance'],
52 ['ro', 'Romanian'],
53 ['ru', 'Russian'],
54 ['sa', 'Sanskrit'],
55 ['sco', 'Scots'],
56 ['sk', 'Slovak'],
57 ['sl', 'Slovenian'],
58 ['sq', 'Albanian'],
59 ['sr', 'Serbian'],
60 ['sv', 'Swedish'],
61 ['sw', 'Swahili'],
62 ['ta', 'Tamil'],
63 ['th', 'Thai'],
64 ['tl', 'Tagalog'],
65 ['tr', 'Turkish'],
66 ['uk', 'Ukrainian'],
67 ['vi', 'Vietnamese'],
68 ['yi', 'Yiddish'],
69 ['zh', 'Chinese'],
8dca8d1d
DM
70 ],
71
72 onGetValues: function(values) {
8dca8d1d 73 if (!values.languages) {
c87d46fb 74 values.delete = 'languages';
8dca8d1d 75 } else if (Ext.isArray(values.languages)) {
de0ebd99 76 values.languages = values.languages.join(' ');
8dca8d1d
DM
77 }
78
8dca8d1d
DM
79 return values;
80 },
81
82
c87d46fb 83 initComponent: function() {
8dca8d1d
DM
84 var me = this;
85
86 me.column1 = [];
87 me.column2 = [];
88 me.column3 = [];
89 me.column4 = [];
90
cac4542e
DC
91 var i, len;
92 for (i = 0, len = me.languages.length; i < len; i++) {
8dca8d1d
DM
93 var config = {
94 xtype: 'checkboxfield',
95 inputValue: me.languages[i][0],
96 boxLabel: me.languages[i][1],
c87d46fb 97 name: 'languages',
8dca8d1d
DM
98 };
99 if ((i % 4) === 0) {
100 me.column1.push(config);
101 } else if ((i % 4) === 1) {
102 me.column2.push(config);
103 } else if ((i % 4) === 2) {
104 me.column3.push(config);
105 } else if ((i % 4) === 3) {
106 me.column4.push(config);
107 }
108 }
109
110 me.callParent();
c87d46fb 111 },
8dca8d1d
DM
112});
113
114Ext.define('PMG.SpamDetectorLanguages', {
115 extend: 'Proxmox.window.Edit',
573a6e8b 116 onlineHelp: 'pmgconfig_spamdetector',
8dca8d1d
DM
117
118 subject: 'Languages',
119
28eb60c0
TL
120 items: [
121 {
122 xtype: 'pmgSpamDetectorLanguagesInputPanel',
123 },
124 ],
8dca8d1d 125
28eb60c0
TL
126 initComponent: function() {
127 let me = this;
8dca8d1d
DM
128
129 me.callParent();
130
131 me.load({
132 success: function(response, options) {
28eb60c0
TL
133 let value = response.result.data.languages || '';
134 let languages = value.split(/[ ,;]+/);
8dca8d1d 135 me.setValues({ languages: languages });
c87d46fb 136 },
8dca8d1d 137 });
c87d46fb 138 },
8dca8d1d 139});