]>
Commit | Line | Data |
---|---|---|
40120a31 CE |
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'), | |
671f470e | 14 | value: true |
40120a31 CE |
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 | { | |
df93368f | 31 | xtype: 'box', |
40120a31 CE |
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 | }); |