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