]> git.proxmox.com Git - pmg-gui.git/blame - js/SpamDetectorLanguages.js
jslint: rename new to newProfile to avoid reserved name
[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: [
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' ],
771bd0b9 69 [ 'zh', 'Chinese' ]
8dca8d1d
DM
70 ],
71
72 onGetValues: function(values) {
8dca8d1d
DM
73 if (!values.languages) {
74 values['delete'] = 'languages';
75 } else if (Ext.isArray(values.languages)) {
de0ebd99
DC
76 /*jslint confusion: true*/
77 /*languages is an array and string here*/
78 values.languages = values.languages.join(' ');
79 /*jslint confusion: false*/
8dca8d1d
DM
80 }
81
8dca8d1d
DM
82 return values;
83 },
84
85
86 initComponent : function() {
87 var me = this;
88
89 me.column1 = [];
90 me.column2 = [];
91 me.column3 = [];
92 me.column4 = [];
93
94 for (var i = 0, len = me.languages.length; i < len; i++) {
95 var config = {
96 xtype: 'checkboxfield',
97 inputValue: me.languages[i][0],
98 boxLabel: me.languages[i][1],
99 name: 'languages'
100 };
101 if ((i % 4) === 0) {
102 me.column1.push(config);
103 } else if ((i % 4) === 1) {
104 me.column2.push(config);
105 } else if ((i % 4) === 2) {
106 me.column3.push(config);
107 } else if ((i % 4) === 3) {
108 me.column4.push(config);
109 }
110 }
111
112 me.callParent();
113 }
114});
115
116Ext.define('PMG.SpamDetectorLanguages', {
117 extend: 'Proxmox.window.Edit',
118
119 subject: 'Languages',
120
121 initComponent : function() {
122 var me = this;
123
124 me.items = Ext.create('PMG.SpamDetectorLanguagesInputPanel');
125
126 me.callParent();
127
128 me.load({
129 success: function(response, options) {
130 var value = response.result.data.languages || '';
131 var languages = value.split(/[\ \,\;]+/);
132 me.setValues({ languages: languages });
133 }
134 });
135 }
136});