]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/ClamAVDatabase.js
ui: trim whitespaces when adding a subscription key
[pmg-gui.git] / js / ClamAVDatabase.js
index ebc07feb0b43efe4d51f15a12ee1d0eb279a5f02..d3f8e49c9263532626de96b69fc85b841fdc19d4 100644 (file)
@@ -4,14 +4,14 @@ Ext.define('PMG.ClamAVDatabaseConfig', {
 
     monStoreErrors: true,
 
-    initComponent : function() {
+    initComponent: function() {
        var me = this;
 
        me.add_text_row('dbmirror', gettext('Database Mirror'),
                        { deleteEmpty: true, defaultValue: 'database.clamav.net' });
 
-       me.add_boolean_row('safebrowsing', gettext('Google Safe Browsing'),
-                          { defaultValue: 1 });
+       me.add_boolean_row('scriptedupdates', gettext('Incremental Download'),
+                          { defaultValue: 0 });
 
        var baseurl = '/config/clamav';
 
@@ -19,27 +19,28 @@ Ext.define('PMG.ClamAVDatabaseConfig', {
            url: '/api2/json' + baseurl,
            editorConfig: {
                url: '/api2/extjs' + baseurl,
+               onlineHelp: 'pmgconfig_clamav',
            },
            interval: 5000,
            cwidth1: 200,
            listeners: {
-               itemdblclick: me.run_editor
-           }
+               itemdblclick: me.run_editor,
+           },
        });
 
        me.callParent();
 
-       me.on('activate', me.rstore.stopUpdate);
+       me.on('activate', me.rstore.startUpdate);
        me.on('destroy', me.rstore.stopUpdate);
        me.on('deactivate', me.rstore.stopUpdate);
-    }
+    },
 });
 
 Ext.define('pmg-clamav-database', {
     extend: 'Ext.data.Model',
-    fields: [ 'name', 'type', 'build_time', 'version',
+    fields: ['name', 'type', 'build_time', 'version',
              { name: 'nsigs', type: 'integer' }],
-    idProperty: 'name'
+    idProperty: 'name',
 });
 
 Ext.define('PMG.ClamAVDatabaseStatus', {
@@ -54,58 +55,60 @@ Ext.define('PMG.ClamAVDatabaseStatus', {
         me.store.load();
     },
 
-    initComponent : function() {
+    initComponent: function() {
        var me = this;
 
        me.store = new Ext.data.Store({
            model: 'pmg-clamav-database',
            proxy: {
                type: 'proxmox',
-               url: "/api2/json/nodes/" + Proxmox.NodeName + "/clamav/database"
+               url: "/api2/json/nodes/" + Proxmox.NodeName + "/clamav/database",
            },
            sorters: {
                property: 'name',
-               order: 'DESC'
-           }
+               direction: 'ASC',
+           },
        });
 
-       Proxmox.Utils.monStoreErrors(me, me.store);
-
        Ext.apply(me, {
            viewConfig: {
-               trackOver: false
+               trackOver: false,
            },
            columns: [
                {
                    header: gettext('Name'),
                    sortable: true,
                    flex: 1,
-                   dataIndex: 'name'
+                   dataIndex: 'name',
                },
                {
                    header: gettext('Build time'),
                    sortable: true,
                    flex: 2,
-                   dataIndex: 'build_time'
+                   dataIndex: 'build_time',
                },
                {
                    header: gettext('Version'),
                    flex: 1,
                    sortable: true,
-                   dataIndex: 'version'
+                   dataIndex: 'version',
                },
                {
                    header: gettext('Signatures'),
                    flex: 1,
                    sortable: true,
-                   dataIndex: 'nsigs'
+                   dataIndex: 'nsigs',
                },
-           ]
+           ],
+           listeners: {
+               activate: me.reload,
+           },
        });
+
        me.callParent();
 
-       me.reload();
-    }
+       Proxmox.Utils.monStoreErrors(me.getView(), me.store, true);
+    },
 });
 
 Ext.define('PMG.ClamAVDatabase', {
@@ -114,21 +117,22 @@ Ext.define('PMG.ClamAVDatabase', {
 
     layout: { type: 'vbox', align: 'stretch' },
 
-    initComponent : function() {
+    initComponent: function() {
        var me = this;
 
        var selModel = Ext.create('Ext.selection.RowModel', {});
        var editPanel = Ext.create('PMG.ClamAVDatabaseConfig', {
            border: false,
            xtype: 'pmgClamAVDatabaseConfig',
-           selModel: selModel
+           selModel: selModel,
        });
 
        var statusPanel = Ext.create('PMG.ClamAVDatabaseStatus', {
-           border: false
+           border: false,
+           flex: 1,
        });
 
-       var update_command = function(){
+       var update_command = function() {
            Proxmox.Utils.API2Request({
                url: '/nodes/' + Proxmox.NodeName + '/clamav/database',
                method: 'POST',
@@ -139,11 +143,11 @@ Ext.define('PMG.ClamAVDatabase', {
                    var upid = response.result.data;
 
                    var win = Ext.create('Proxmox.window.TaskViewer', {
-                       upid: upid
+                       upid: upid,
                    });
                    win.show();
-                   me.mon(win, 'close', function() { statusPanel.reload() });
-               }
+                   me.mon(win, 'close', function() { statusPanel.reload(); });
+               },
            });
        };
 
@@ -152,18 +156,20 @@ Ext.define('PMG.ClamAVDatabase', {
                text: gettext('Edit'),
                xtype: 'proxmoxButton',
                disabled: true,
-               handler: function() { editPanel.run_editor() },
-               selModel: selModel
+               handler: function() { editPanel.run_editor(); },
+               selModel: selModel,
             },
            {
                text: gettext('Update now'),
-               handler: update_command
-           }
+               handler: update_command,
+           },
        ];
 
-       me.items = [ editPanel, statusPanel ];
+       me.items = [editPanel, statusPanel];
 
        me.callParent();
 
-    }
+       editPanel.relayEvents(me, ['activate', 'deactivate', 'destroy']);
+       statusPanel.relayEvents(me, ['activate', 'deactivate', 'destroy']);
+    },
 });