]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/ObjectGroupList.js
dashboard: reduce noise in current kernel version
[pmg-gui.git] / js / ObjectGroupList.js
index b7e29bf90aeee4a712c52ba65f8f190b9f2dd910..80dedc922ed1ba83084b8e1590334dcbf13511ad 100644 (file)
@@ -1,7 +1,7 @@
 Ext.define('pmg-object-group', {
     extend: 'Ext.data.Model',
-    fields: [ 'id', 'name', 'info' ],
-    idProperty: 'cidr'
+    fields: ['id', 'name', 'info'],
+    idProperty: 'id',
 });
 
 Ext.define('pmg-object-list', {
@@ -9,9 +9,9 @@ Ext.define('pmg-object-list', {
     fields: [
        'id', 'descr',
        { name: 'otype', type: 'integer' },
-       { name: 'receivertest', type: 'boolean' }
+       { name: 'receivertest', type: 'boolean' },
     ],
-    idProperty: 'id'
+    idProperty: 'id',
 });
 
 
@@ -25,30 +25,26 @@ Ext.define('PMG.ObjectGroupList', {
 
     baseurl: undefined,
 
+    enableButtons: true,
+
     inputItems: [
        {
            xtype: 'textfield',
            name: 'name',
-           fieldLabel: gettext('Name')
+           allowBlank: false,
+           fieldLabel: gettext('Name'),
        },
        {
            xtype: 'textareafield',
            name: 'info',
-           fieldLabel: gettext("Description")
-       }
+           fieldLabel: gettext("Description"),
+       },
     ],
 
     reload: function() {
        var me = this;
 
-       var rec = me.selModel.getSelection()[0];
-        me.store.load(function() {
-           if (rec) {
-               // try to selectprevious selection
-               var nrec = me.store.findRecord('id', rec.data.id);
-               me.selModel.select(nrec);
-           }
-       });
+        me.store.load();
     },
 
     run_editor: function() {
@@ -61,10 +57,11 @@ Ext.define('PMG.ObjectGroupList', {
 
        var config = {
            url: "/api2/extjs" + me.baseurl +'/' + rec.data.id + '/config',
+           onlineHelp: 'chapter_mailfilter',
            method: 'PUT',
            subject: me.subject,
            width: 400,
-           items: me.inputItems
+           items: me.inputItems,
        };
 
        var win = Ext.createWidget('proxmoxWindowEdit', config);
@@ -74,7 +71,7 @@ Ext.define('PMG.ObjectGroupList', {
        win.show();
     },
 
-    initComponent : function() {
+    initComponent: function() {
        var me = this;
 
        if (!me.ogclass) {
@@ -91,34 +88,18 @@ Ext.define('PMG.ObjectGroupList', {
            },
            sorters: {
                property: 'name',
-               order: 'DESC'
-           }
+               direction: 'ASC',
+           },
        });
 
        me.selModel = Ext.create('Ext.selection.RowModel', {});
 
-       var remove_btn = Ext.createWidget('proxmoxButton', {
-           text: gettext('Remove'),
-           disabled: true,
+       var remove_btn = Ext.createWidget('proxmoxStdRemoveButton', {
            selModel: me.selModel,
-           confirmMsg: function (rec) {
-               return Ext.String.format(
-                   gettext('Are you sure you want to remove entry {0}'),
-                   "'" + rec.data.name + "'");
-           },
-           handler: function(btn, event, rec) {
-               Proxmox.Utils.API2Request({
-                   url: me.baseurl + '/' + rec.data.id,
-                   method: 'DELETE',
-                   waitMsgTarget: me,
-                   callback: function() {
-                       me.reload();
-                   },
-                   failure: function (response, opts) {
-                       Ext.Msg.alert(gettext('Error'), response.htmlStatus);
-                   }
-               });
-           }
+           baseurl: me.baseurl,
+           callback: function() { me.reload(); },
+           getRecordName: function(rec) { return rec.data.name; },
+           waitMsgTarget: me,
        });
 
        var tbar = [
@@ -127,7 +108,7 @@ Ext.define('PMG.ObjectGroupList', {
                text: gettext('Edit'),
                disabled: true,
                selModel: me.selModel,
-               handler: function() { me.run_editor(); }
+               handler: function() { me.run_editor(); },
             },
             {
                text: gettext('Create'),
@@ -135,42 +116,50 @@ Ext.define('PMG.ObjectGroupList', {
                    var config = {
                        method: 'POST',
                        url: "/api2/extjs" + me.baseurl,
-                       create: true,
+                       onlineHelp: 'chapter_mailfilter',
+                       isCreate: true,
                        width: 400,
                        subject: me.subject,
-                       items: me.inputItems
+                       items: me.inputItems,
                    };
 
                    var win = Ext.createWidget('proxmoxWindowEdit', config);
 
                    win.on('destroy', me.reload, me);
                    win.show();
-               }
+               },
             },
-           remove_btn
+           remove_btn,
         ];
 
-       Proxmox.Utils.monStoreErrors(me, me.store);
+       Proxmox.Utils.monStoreErrors(me, me.store, true);
+
+       if (me.enableButtons) {
+           me.tbar = tbar;
+       }
 
        Ext.apply(me, {
-           tbar: tbar,
            columns: [
                {
                    header: gettext('Name'),
                    sortable: true,
                    flex: 1,
                    dataIndex: 'name',
-                   renderer: Ext.String.htmlEncode
-               }
+                   renderer: Ext.String.htmlEncode,
+               },
            ],
            listeners: {
-               itemdblclick: function() { me.run_editor(); },
-               activate: function() { me.reload(); }
-           }
+               itemdblclick: function() {
+                   if (me.enableButtons) {
+                       me.run_editor();
+                   }
+               },
+               activate: function() { me.reload(); },
+           },
        });
 
        me.callParent();
 
        me.reload(); // initial load
-    }
+    },
 });