switch add_boolean and add_integer row to a simple wrapper.
We really use it often and can save quite some lines with it so it
does not make sense to remove it completely yet.

Signed-off-by: Thomas Lamprecht <t.lampre...@proxmox.com>
---
 www/manager6/grid/FirewallOptions.js | 125 ++++++-----------------------------
 1 file changed, 22 insertions(+), 103 deletions(-)

diff --git a/www/manager6/grid/FirewallOptions.js 
b/www/manager6/grid/FirewallOptions.js
index c0966a96..7ff98ec6 100644
--- a/www/manager6/grid/FirewallOptions.js
+++ b/www/manager6/grid/FirewallOptions.js
@@ -23,65 +23,17 @@ Ext.define('PVE.FirewallOptions', {
            throw "unknown firewall option type";
        }
 
-       var rows = {};
+       me.rows = {};
 
-       var add_boolean_row = function(name, text, defaultValue, labelWidth) {
-           rows[name] = {
-               header: text,
-               required: true,
-               defaultValue: defaultValue || 0,
-               renderer: PVE.Utils.format_enabled_toggle,
-               editor: {
-                   xtype: 'pveWindowEdit',
-                   subject: text,
-                   fieldDefaults: { labelWidth: labelWidth || 100 },
-                   items: {
-                       xtype: 'proxmoxcheckbox',
-                       defaultValue: defaultValue || 0,
-                       checked: defaultValue ? true : false,
-                       name: name,
-                       uncheckedValue: 0,
-                       fieldLabel: text
-                   }
-               }
-           };
+       var add_boolean_row = function(name, text, defaultValue) {
+           me.add_boolean_row(name, text, { defaultValue: defaultValue });
        };
-
-       var add_integer_row = function(name, text, labelWidth, minValue) {
-           rows[name] = {
-               header: text,
-               required: true,
-               renderer: function(value) {
-                   return value || PVE.Utils.defaultText;
-               },
-               editor: {
-                   xtype: 'pveWindowEdit',
-                   subject: text,
-                   fieldDefaults: { labelWidth: labelWidth || 100 },
-                   items: {
-                       xtype: 'pveIntegerField',
-                       name: name,
-                       minValue: minValue,
-                       fieldLabel: text,
-                       emptyText: gettext('Default'),
-                       getSubmitData: function() {
-                           var me = this;
-                           var val = me.getSubmitValue();
-                           if (val !== null && val !== '') {
-                               var data = {};
-                               data[name] = val;
-                               return data;
-                           } else {
-                               return { 'delete' : name };
-                           }
-                       }
-                   }
-               }
-           };
+       var add_integer_row = function(name, text, minValue) {
+           me.add_boolean_row(name, text, { minValue: minValue });
        };
 
        var add_log_row = function(name, labelWidth) {
-           rows[name] = {
+           me.rows[name] = {
                header: name,
                required: true,
                defaultValue: 'nolog',
@@ -107,9 +59,9 @@ Ext.define('PVE.FirewallOptions', {
            add_boolean_row('nosmurfs', gettext('SMURFS filter'), 1);
            add_boolean_row('tcpflags', gettext('TCP flags filter'), 0);
            add_boolean_row('ndp', 'NDP', 1);
-           add_integer_row('nf_conntrack_max', 'nf_conntrack_max', 120, 32768);
-           add_integer_row('nf_conntrack_tcp_timeout_established', 
-                           'nf_conntrack_tcp_timeout_established', 250, 7875);
+           add_integer_row('nf_conntrack_max', 'nf_conntrack_max', 32768);
+           add_integer_row('nf_conntrack_tcp_timeout_established',
+                           'nf_conntrack_tcp_timeout_established', 7875);
            add_log_row('log_level_in');
            add_log_row('log_level_out');
            add_log_row('tcp_flags_log_level', 120);
@@ -125,10 +77,10 @@ Ext.define('PVE.FirewallOptions', {
            add_log_row('log_level_out');
        } else if (me.fwtype === 'dc') {
            add_boolean_row('enable', gettext('Firewall'), 0);
-       } 
- 
+       }
+
        if (me.fwtype === 'dc' || me.fwtype === 'vm') {
-           rows.policy_in = {
+           me.rows.policy_in = {
                header: gettext('Input Policy'),
                required: true,
                defaultValue: 'DROP',
@@ -144,7 +96,7 @@ Ext.define('PVE.FirewallOptions', {
                }
            };
 
-           rows.policy_out = {
+           me.rows.policy_out = {
                header: gettext('Output Policy'),
                required: true,
                defaultValue: 'ACCEPT',
@@ -161,47 +113,10 @@ Ext.define('PVE.FirewallOptions', {
            };
        }
 
-       var reload = function() {
-           me.rstore.load();
-       };
-
-       var run_editor = function() {
-           var sm = me.getSelectionModel();
-           var rec = sm.getSelection()[0];
-           if (!rec) {
-               return;
-           }
-
-           var rowdef = rows[rec.data.key];
-           if (!rowdef.editor) {
-               return;
-           }
-
-           var win;
-           if (Ext.isString(rowdef.editor)) {
-               win = Ext.create(rowdef.editor, {
-                   pveSelNode: me.pveSelNode,
-                   confid: rec.data.key,
-                   url: '/api2/extjs' + me.base_url
-               });
-           } else {
-               var config = Ext.apply({
-                   pveSelNode: me.pveSelNode,
-                   confid: rec.data.key,
-                   url: '/api2/extjs' + me.base_url
-               }, rowdef.editor);
-               win = Ext.createWidget(rowdef.editor.xtype, config);
-               win.load();
-           }
-
-           win.show();
-           win.on('destroy', reload);
-       };
-
        var edit_btn = new Ext.Button({
            text: gettext('Edit'),
            disabled: true,
-           handler: run_editor
+           handler: me.run_editor
        });
 
        var set_button_status = function() {
@@ -212,22 +127,26 @@ Ext.define('PVE.FirewallOptions', {
                edit_btn.disable();
                return;
            }
-           var rowdef = rows[rec.data.key];
+           var rowdef = me.rows[rec.data.key];
            edit_btn.setDisabled(!rowdef.editor);
        };
 
        Ext.apply(me, {
            url: "/api2/json" + me.base_url,
            tbar: [ edit_btn ],
-           rows: rows,
+           editorConfig: {
+               url: '/api2/extjs/' + me.base_url
+           },
            listeners: {
-               itemdblclick: run_editor,
+               itemdblclick: me.run_editor,
                selectionchange: set_button_status
            }
        });
 
        me.callParent();
 
-       me.on('activate', reload);
+       me.on('activate', me.rstore.startUpdate);
+       me.on('destroy', me.rstore.stopUpdate);
+       me.on('deactivate', me.rstore.stopUpdate);
     }
 });
-- 
2.11.0


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to