]>
Commit | Line | Data |
---|---|---|
8dca8d1d DM |
1 | Ext.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 | ||
114 | Ext.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 | }); |