]> git.proxmox.com Git - pmg-gui.git/commitdiff
rename ObjectGroup to ObjectGroupList
authorDietmar Maurer <dietmar@proxmox.com>
Thu, 2 Mar 2017 05:22:16 +0000 (06:22 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 2 Mar 2017 05:27:21 +0000 (06:27 +0100)
js/Makefile
js/ObjectGroup.js [deleted file]
js/ObjectGroupList.js [new file with mode: 0644]
js/WhoConfiguration.js

index 503aea28be03fb9a955e656e2a2d80746dd6baf9..37664e4b3029d71ce2682a3d630e425cf1211f71 100644 (file)
@@ -2,7 +2,7 @@ JSSRC=                                                  \
        Utils.js                                        \
        LoginWindow.js                                  \
        ServerAdministration.js                         \
-       ObjectGroup.js                                  \
+       ObjectGroupList.js                              \
        Who.js                                          \
        WhoConfiguration.js                             \
        RuleConfiguration.js                            \
diff --git a/js/ObjectGroup.js b/js/ObjectGroup.js
deleted file mode 100644 (file)
index d940a4c..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-Ext.define('pmg-object-group', {
-    extend: 'Ext.data.Model',
-    fields: [ 'id', 'name', 'info' ],
-    idProperty: 'cidr'
-});
-
-Ext.define('pmg-object-list', {
-    extend: 'Ext.data.Model',
-    fields: [
-       'id', 'descr',
-       { name: 'otype', type: 'integer' },
-       { name: 'receivertest', type: 'boolean' }
-    ],
-    idProperty: 'id'
-});
-
-
-Ext.define('PMG.ObjectGroup', {
-    extend: 'Ext.grid.GridPanel',
-    alias: ['widget.pmgObjectGroup'],
-
-    ogclass: 'who',
-
-    subject: gettext('Object Group'),
-    
-    initComponent : function() {
-       var me = this;
-
-       var baseurl = "/config/ruledb/" + me.ogclass;
-       
-       var store = new Ext.data.Store({
-           model: 'pmg-object-group',
-           proxy: {
-               type: 'proxmox',
-               url: "/api2/json" + baseurl,
-           },
-           sorters: {
-               property: 'name',
-               order: 'DESC'
-           }
-       });
-
-        var reload = function() {
-           var rec = me.selModel.getSelection()[0];
-            store.load(function() {
-               if (rec) {
-                   // try to selectprevious selection
-                   var nrec = store.findRecord('id', rec.data.id);
-                   me.selModel.select(nrec);
-               }
-           });
-        };
-
-       me.selModel = Ext.create('Ext.selection.RowModel', {});
-
-       var remove_btn = Ext.createWidget('proxmoxButton', {
-           text: gettext('Remove'),
-           disabled: true,
-           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: baseurl + '/' + rec.data.id,
-                   method: 'DELETE',
-                   waitMsgTarget: me,
-                   callback: function() {
-                       reload();
-                   },
-                   failure: function (response, opts) {
-                       Ext.Msg.alert(gettext('Error'), response.htmlStatus);
-                   }
-               });
-           }
-       });
-
-       var inputItems = [
-           {
-               xtype: 'textfield',
-               name: 'name',
-               fieldLabel: gettext('Name')
-           },
-           {
-               xtype: 'textfield',
-               name: 'info',
-               fieldLabel: gettext("Description")
-           }
-       ];
-
-       var run_editor = function() {
-           var rec = me.selModel.getSelection()[0];
-           if (!rec) {
-               return;
-           }
-
-           var config = {
-               url: "/api2/extjs" + baseurl +'/' + rec.data.id + '/config',
-               method: 'PUT',
-               subject: me.subject,
-               items: inputItems
-           };
-
-           var win = Ext.createWidget('proxmoxWindowEdit', config);
-
-           win.load();
-           win.on('destroy', reload);
-           win.show();
-       };
-
-       var tbar = [
-            {
-               xtype: 'proxmoxButton',
-               text: gettext('Edit'),
-               disabled: true,
-               selModel: me.selModel,
-               handler: run_editor
-            },
-            {
-               text: gettext('Create'),
-               handler: function() {
-                   var config = {
-                       method: 'POST',
-                       url: "/api2/extjs" + baseurl,
-                       create: true,
-                       subject: me.subject,
-                       items: inputItems
-                   };
-
-                   var win = Ext.createWidget('proxmoxWindowEdit', config);
-
-                   win.on('destroy', reload);
-                   win.show();
-               }
-            },
-           remove_btn
-        ];
-
-       Proxmox.Utils.monStoreErrors(me, store);
-
-       Ext.apply(me, {
-           store: store,
-           tbar: tbar,
-           columns: [
-               {
-                   header: gettext('Name'),
-                   sortable: true,
-                   flex: 1,
-                   dataIndex: 'name',
-                   renderer: Ext.String.htmlEncode
-               }
-           ],
-           listeners: {
-               itemdblclick: run_editor,
-               activate: reload
-           }
-       });
-
-       me.callParent();
-
-       reload(); // initial load
-    }
-});
diff --git a/js/ObjectGroupList.js b/js/ObjectGroupList.js
new file mode 100644 (file)
index 0000000..9e24c6b
--- /dev/null
@@ -0,0 +1,171 @@
+Ext.define('pmg-object-group', {
+    extend: 'Ext.data.Model',
+    fields: [ 'id', 'name', 'info' ],
+    idProperty: 'cidr'
+});
+
+Ext.define('pmg-object-list', {
+    extend: 'Ext.data.Model',
+    fields: [
+       'id', 'descr',
+       { name: 'otype', type: 'integer' },
+       { name: 'receivertest', type: 'boolean' }
+    ],
+    idProperty: 'id'
+});
+
+
+Ext.define('PMG.ObjectGroupList', {
+    extend: 'Ext.grid.GridPanel',
+    alias: ['widget.pmgObjectGroupList'],
+
+    ogclass: undefined, //  'who', 'when', 'what'
+
+    subject: 'Object Group List', // please overwrite
+
+    initComponent : function() {
+       var me = this;
+
+       if (!me.ogclass) {
+           throw "ogclass not initialized";
+       }
+
+       var baseurl = "/config/ruledb/" + me.ogclass;
+       
+       var store = new Ext.data.Store({
+           model: 'pmg-object-group',
+           proxy: {
+               type: 'proxmox',
+               url: "/api2/json" + baseurl,
+           },
+           sorters: {
+               property: 'name',
+               order: 'DESC'
+           }
+       });
+
+        var reload = function() {
+           var rec = me.selModel.getSelection()[0];
+            store.load(function() {
+               if (rec) {
+                   // try to selectprevious selection
+                   var nrec = store.findRecord('id', rec.data.id);
+                   me.selModel.select(nrec);
+               }
+           });
+        };
+
+       me.selModel = Ext.create('Ext.selection.RowModel', {});
+
+       var remove_btn = Ext.createWidget('proxmoxButton', {
+           text: gettext('Remove'),
+           disabled: true,
+           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: baseurl + '/' + rec.data.id,
+                   method: 'DELETE',
+                   waitMsgTarget: me,
+                   callback: function() {
+                       reload();
+                   },
+                   failure: function (response, opts) {
+                       Ext.Msg.alert(gettext('Error'), response.htmlStatus);
+                   }
+               });
+           }
+       });
+
+       var inputItems = [
+           {
+               xtype: 'textfield',
+               name: 'name',
+               fieldLabel: gettext('Name')
+           },
+           {
+               xtype: 'textareafield',
+               name: 'info',
+               fieldLabel: gettext("Description")
+           }
+       ];
+
+       var run_editor = function() {
+           var rec = me.selModel.getSelection()[0];
+           if (!rec) {
+               return;
+           }
+
+           var config = {
+               url: "/api2/extjs" + baseurl +'/' + rec.data.id + '/config',
+               method: 'PUT',
+               subject: me.subject,
+               width: 400,
+               items: inputItems
+           };
+
+           var win = Ext.createWidget('proxmoxWindowEdit', config);
+
+           win.load();
+           win.on('destroy', reload);
+           win.show();
+       };
+
+       var tbar = [
+            {
+               xtype: 'proxmoxButton',
+               text: gettext('Edit'),
+               disabled: true,
+               selModel: me.selModel,
+               handler: run_editor
+            },
+            {
+               text: gettext('Create'),
+               handler: function() {
+                   var config = {
+                       method: 'POST',
+                       url: "/api2/extjs" + baseurl,
+                       create: true,
+                       width: 400,
+                       subject: me.subject,
+                       items: inputItems
+                   };
+
+                   var win = Ext.createWidget('proxmoxWindowEdit', config);
+
+                   win.on('destroy', reload);
+                   win.show();
+               }
+            },
+           remove_btn
+        ];
+
+       Proxmox.Utils.monStoreErrors(me, store);
+
+       Ext.apply(me, {
+           store: store,
+           tbar: tbar,
+           columns: [
+               {
+                   header: gettext('Name'),
+                   sortable: true,
+                   flex: 1,
+                   dataIndex: 'name',
+                   renderer: Ext.String.htmlEncode
+               }
+           ],
+           listeners: {
+               itemdblclick: run_editor,
+               activate: reload
+           }
+       });
+
+       me.callParent();
+
+       reload(); // initial load
+    }
+});
index bd2bd1094ad325c5cdde870d0cc310da005e7eb6..28b10e0b2f97b96b2a11f3e465cd3c0a7808adbb 100644 (file)
@@ -12,9 +12,10 @@ Ext.define('PMG.WhoConfiguration', {
     initComponent : function() {
        var me = this;
 
-       var left = Ext.create('PMG.ObjectGroup', {
+       var left = Ext.create('PMG.ObjectGroupList', {
            width: 250,
            ogclass: me.ogclass,
+           subject: me.title,
            border: false
        });