]>
Commit | Line | Data |
---|---|---|
8dca8d1d DM |
1 | Ext.define('PMG.SpamDetectorLanguagesInputPanel', { |
2 | extend: 'Proxmox.panel.InputPanel', | |
3 | alias: 'widget.pmgSpamDetectorLanguagesInputPanel', | |
4 | ||
5 | languages: [ | |
ccbf186f | 6 | [ 'af', 'Afrikaans' ], |
8dca8d1d DM |
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 | ||
cac4542e DC |
94 | var i, len; |
95 | for (i = 0, len = me.languages.length; i < len; i++) { | |
8dca8d1d DM |
96 | var config = { |
97 | xtype: 'checkboxfield', | |
98 | inputValue: me.languages[i][0], | |
99 | boxLabel: me.languages[i][1], | |
100 | name: 'languages' | |
101 | }; | |
102 | if ((i % 4) === 0) { | |
103 | me.column1.push(config); | |
104 | } else if ((i % 4) === 1) { | |
105 | me.column2.push(config); | |
106 | } else if ((i % 4) === 2) { | |
107 | me.column3.push(config); | |
108 | } else if ((i % 4) === 3) { | |
109 | me.column4.push(config); | |
110 | } | |
111 | } | |
112 | ||
113 | me.callParent(); | |
114 | } | |
115 | }); | |
116 | ||
117 | Ext.define('PMG.SpamDetectorLanguages', { | |
118 | extend: 'Proxmox.window.Edit', | |
119 | ||
120 | subject: 'Languages', | |
121 | ||
122 | initComponent : function() { | |
123 | var me = this; | |
124 | ||
125 | me.items = Ext.create('PMG.SpamDetectorLanguagesInputPanel'); | |
126 | ||
127 | me.callParent(); | |
128 | ||
129 | me.load({ | |
130 | success: function(response, options) { | |
131 | var value = response.result.data.languages || ''; | |
132 | var languages = value.split(/[\ \,\;]+/); | |
133 | me.setValues({ languages: languages }); | |
134 | } | |
135 | }); | |
136 | } | |
137 | }); |