]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/window/FirewallLograteEdit.js
drop jslint lines
[pve-manager.git] / www / manager6 / window / FirewallLograteEdit.js
1 Ext.define('PVE.FirewallLograteInputPanel', {
2 extend: 'Proxmox.panel.InputPanel',
3 xtype: 'pveFirewallLograteInputPanel',
4
5 viewModel: {},
6
7 items: [
8 {
9 xtype: 'proxmoxcheckbox',
10 name: 'enable',
11 reference: 'enable',
12 fieldLabel: gettext('Enable'),
13 value: true
14 },
15 {
16 layout: 'hbox',
17 border: false,
18 items: [
19 {
20 xtype: 'numberfield',
21 name: 'rate',
22 fieldLabel: gettext('Log rate limit'),
23 minValue: 1,
24 maxValue: 99,
25 allowBlank: false,
26 flex: 2,
27 value: 1
28 },
29 {
30 xtype: 'box',
31 html: '<div style="margin: auto; padding: 2.5px;"><b>/</b></div>'
32 },
33 {
34 xtype: 'proxmoxKVComboBox',
35 name: 'unit',
36 comboItems: [['second', 'second'], ['minute', 'minute'],
37 ['hour', 'hour'], ['day', 'day']],
38 allowBlank: false,
39 flex: 1,
40 value: 'second'
41 }
42 ]
43 },
44 {
45 xtype: 'numberfield',
46 name: 'burst',
47 fieldLabel: gettext('Log burst limit'),
48 minValue: 1,
49 maxValue: 99,
50 value: 5
51 }
52 ],
53
54 onGetValues: function(values) {
55 var me = this;
56
57 var vals = {};
58 vals.enable = values.enable !== undefined ? 1 : 0;
59 vals.rate = values.rate + '/' + values.unit;
60 vals.burst = values.burst;
61 var properties = PVE.Parser.printPropertyString(vals, undefined);
62 if (properties == '') {
63 return { 'delete': 'log_ratelimit' };
64 }
65 return { log_ratelimit: properties };
66 },
67
68 setValues: function(values) {
69 var me = this;
70
71 var properties = {};
72 if (values.log_ratelimit !== undefined) {
73 properties = PVE.Parser.parsePropertyString(values.log_ratelimit, 'enable');
74 if (properties.rate) {
75 var matches = properties.rate.match(/^(\d+)\/(second|minute|hour|day)$/);
76 if (matches) {
77 properties.rate = matches[1];
78 properties.unit = matches[2];
79 }
80 }
81 }
82 me.callParent([properties]);
83 }
84 });
85
86 Ext.define('PVE.FirewallLograteEdit', {
87 extend: 'Proxmox.window.Edit',
88 xtype: 'pveFirewallLograteEdit',
89
90 subject: gettext('Log rate limit'),
91
92 items: [{
93 xtype: 'pveFirewallLograteInputPanel'
94 }],
95 autoLoad: true
96 });