]>
git.proxmox.com Git - pmg-gui.git/blob - js/ObjectGroupList.js
1 Ext
.define('pmg-object-group', {
2 extend
: 'Ext.data.Model',
3 fields
: [ 'id', 'name', 'info' ],
7 Ext
.define('pmg-object-list', {
8 extend
: 'Ext.data.Model',
11 { name
: 'otype', type
: 'integer' },
12 { name
: 'receivertest', type
: 'boolean' }
18 Ext
.define('PMG.ObjectGroupList', {
19 extend
: 'Ext.grid.GridPanel',
20 alias
: ['widget.pmgObjectGroupList'],
22 ogclass
: undefined, // 'who', 'when', 'what'
24 subject
: 'Object Group List', // please overwrite
35 fieldLabel
: gettext('Name')
38 xtype
: 'textareafield',
40 fieldLabel
: gettext("Description")
50 run_editor: function() {
53 var rec
= me
.selModel
.getSelection()[0];
59 url
: "/api2/extjs" + me
.baseurl
+'/' + rec
.data
.id
+ '/config',
66 var win
= Ext
.createWidget('proxmoxWindowEdit', config
);
69 win
.on('destroy', me
.reload
, me
);
73 initComponent : function() {
77 throw "ogclass not initialized";
80 me
.baseurl
= "/config/ruledb/" + me
.ogclass
;
82 me
.store
= new Ext
.data
.Store({
83 model
: 'pmg-object-group',
86 url
: "/api2/json" + me
.baseurl
,
94 me
.selModel
= Ext
.create('Ext.selection.RowModel', {});
96 var remove_btn
= Ext
.createWidget('proxmoxStdRemoveButton', {
97 selModel
: me
.selModel
,
99 callback: function() { me
.reload(); },
100 getRecordName: function(rec
) { return rec
.data
.name
; },
106 xtype
: 'proxmoxButton',
107 text
: gettext('Edit'),
109 selModel
: me
.selModel
,
110 handler: function() { me
.run_editor(); }
113 text
: gettext('Create'),
114 handler: function() {
117 url
: "/api2/extjs" + me
.baseurl
,
124 var win
= Ext
.createWidget('proxmoxWindowEdit', config
);
126 win
.on('destroy', me
.reload
, me
);
133 Proxmox
.Utils
.monStoreErrors(me
, me
.store
);
135 if (me
.enableButtons
) {
142 header
: gettext('Name'),
146 renderer
: Ext
.String
.htmlEncode
150 itemdblclick: function() {
151 if (me
.enableButtons
) {
155 activate: function() { me
.reload(); }
161 me
.reload(); // initial load