/*jslint confusion: true*/ Ext.define('PVE.FirewallLograteInputPanel', { extend: 'Proxmox.panel.InputPanel', xtype: 'pveFirewallLograteInputPanel', viewModel: {}, items: [ { xtype: 'proxmoxcheckbox', name: 'enable', reference: 'enable', fieldLabel: gettext('Enable'), value: false }, { layout: 'hbox', border: false, items: [ { xtype: 'numberfield', name: 'rate', fieldLabel: gettext('Log rate limit'), minValue: 1, maxValue: 99, allowBlank: false, flex: 2, value: 1 }, { xtype: 'box', html: '
/
' }, { xtype: 'proxmoxKVComboBox', name: 'unit', comboItems: [['second', 'second'], ['minute', 'minute'], ['hour', 'hour'], ['day', 'day']], allowBlank: false, flex: 1, value: 'second' } ] }, { xtype: 'numberfield', name: 'burst', fieldLabel: gettext('Log burst limit'), minValue: 1, maxValue: 99, value: 5 } ], onGetValues: function(values) { var me = this; var vals = {}; vals.enable = values.enable !== undefined ? 1 : 0; vals.rate = values.rate + '/' + values.unit; vals.burst = values.burst; var properties = PVE.Parser.printPropertyString(vals, undefined); if (properties == '') { return { 'delete': 'log_ratelimit' }; } return { log_ratelimit: properties }; }, setValues: function(values) { var me = this; var properties = {}; if (values.log_ratelimit !== undefined) { properties = PVE.Parser.parsePropertyString(values.log_ratelimit); var matches = properties.rate.match(/^(\d+)\/(second|minute|hour|day)$/); if (matches) { properties.rate = matches[1]; properties.unit = matches[2]; } } me.callParent([properties]); } }); Ext.define('PVE.FirewallLograteEdit', { extend: 'Proxmox.window.Edit', xtype: 'pveFirewallLograteEdit', subject: gettext('Log rate limit'), items: [{ xtype: 'pveFirewallLograteInputPanel' }], autoLoad: true });