]> git.proxmox.com Git - pmg-gui.git/blob - js/SpamDetectorOptions.js
spam-info-grid: style the spam info grid via css variables
[pmg-gui.git] / js / SpamDetectorOptions.js
1 Ext.define('PMG.SpamDetectorOptions', {
2 extend: 'Proxmox.grid.ObjectGrid',
3 alias: ['widget.pmgSpamDetectorOptions'],
4
5 monStoreErrors: true,
6
7 initComponent: function() {
8 var me = this;
9
10 me.add_boolean_row('use_awl', gettext('Use auto-whitelists'),
11 { defaultValue: 1 });
12
13 me.add_boolean_row('use_bayes', gettext('Use Bayesian filter'),
14 { defaultValue: 1 });
15
16 me.add_boolean_row('rbl_checks', gettext('Use RBL checks'),
17 { defaultValue: 1 });
18
19 me.add_boolean_row('use_razor', gettext('Use Razor2 checks'),
20 { defaultValue: 1 });
21
22 me.add_integer_row('maxspamsize', gettext('Max Spam Size (bytes)'),
23 {
24 defaultValue: 256*1024,
25 minValue: 64, deleteEmpty: true,
26 });
27
28 me.rows.languages = {
29 required: true,
30 header: gettext('Languages'),
31 editor: 'PMG.SpamDetectorLanguages',
32 renderer: function(value) {
33 return value || 'all';
34 },
35 };
36
37 me.add_integer_row('bounce_score', gettext('Backscatter Score'),
38 {
39 defaultValue: 0,
40 minValue: 0, maxValue: 1000,
41 deleteEmpty: true,
42 });
43
44 me.add_integer_row('clamav_heuristic_score', gettext('Heuristic Score'),
45 {
46 defaultValue: 3,
47 minValue: 0, maxValue: 1000,
48 deleteEmpty: true,
49 });
50
51 var baseurl = '/config/spam';
52
53 me.selModel = Ext.create('Ext.selection.RowModel', {});
54
55 Ext.apply(me, {
56 tbar: [{
57 text: gettext('Edit'),
58 xtype: 'proxmoxButton',
59 disabled: true,
60 handler: function() { me.run_editor(); },
61 selModel: me.selModel,
62 }],
63 url: '/api2/json' + baseurl,
64 editorConfig: {
65 url: '/api2/extjs' + baseurl,
66 onlineHelp: 'pmgconfig_spamdetector',
67 },
68 interval: 5000,
69 cwidth1: 200,
70 listeners: {
71 itemdblclick: me.run_editor,
72 },
73 });
74
75 me.callParent();
76
77 me.on('activate', me.rstore.startUpdate);
78 me.on('destroy', me.rstore.stopUpdate);
79 me.on('deactivate', me.rstore.stopUpdate);
80 },
81 });