]>
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',
60 onlineHelp
: 'chapter_mailfilter',
67 var win
= Ext
.createWidget('proxmoxWindowEdit', config
);
70 win
.on('destroy', me
.reload
, me
);
74 initComponent: function() {
78 throw "ogclass not initialized";
81 me
.baseurl
= "/config/ruledb/" + me
.ogclass
;
83 me
.store
= new Ext
.data
.Store({
84 model
: 'pmg-object-group',
87 url
: "/api2/json" + me
.baseurl
,
95 me
.selModel
= Ext
.create('Ext.selection.RowModel', {});
97 var remove_btn
= Ext
.createWidget('proxmoxStdRemoveButton', {
98 selModel
: me
.selModel
,
100 callback: function() { me
.reload(); },
101 getRecordName: function(rec
) { return rec
.data
.name
; },
107 xtype
: 'proxmoxButton',
108 text
: gettext('Edit'),
110 selModel
: me
.selModel
,
111 handler: function() { me
.run_editor(); },
114 text
: gettext('Create'),
115 handler: function() {
118 url
: "/api2/extjs" + me
.baseurl
,
119 onlineHelp
: 'chapter_mailfilter',
123 items
: me
.inputItems
,
126 var win
= Ext
.createWidget('proxmoxWindowEdit', config
);
128 win
.on('destroy', me
.reload
, me
);
135 Proxmox
.Utils
.monStoreErrors(me
, me
.store
, true);
137 if (me
.enableButtons
) {
144 header
: gettext('Name'),
148 renderer
: Ext
.String
.htmlEncode
,
152 itemdblclick: function() {
153 if (me
.enableButtons
) {
157 activate: function() { me
.reload(); },
163 me
.reload(); // initial load