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