]>
git.proxmox.com Git - pmg-gui.git/blob - js/ActionList.js
2 Ext
.define('pmg-action-list', {
3 extend
: 'Ext.data.Model',
5 'id', 'name', 'info', 'descr',
6 { name
: 'otype', type
: 'integer' }
11 Ext
.define('PMG.ActionList', {
12 extend
: 'Ext.grid.GridPanel',
13 alias
: ['widget.pmgActionList'],
15 title
: PMG
.Utils
.oclass_text
.action
,
18 baseurl
: '/config/ruledb/action',
24 initComponent : function() {
27 me
.store
= new Ext
.data
.Store({
28 model
: 'pmg-action-list',
31 url
: "/api2/json" + me
.baseurl
+ '/objects'
39 me
.selModel
= Ext
.create('Ext.selection.RowModel', {});
41 var reload = function() {
45 var run_editor = function() {
46 var rec
= me
.selModel
.getSelection()[0];
51 var editor
= PMG
.Utils
.object_editors
[rec
.data
.otype
];
56 var config
= Ext
.apply({ method
: 'PUT' }, editor
);
58 config
.url
= me
.baseurl
+ '/' + editor
.subdir
+ '/' + rec
.data
.id
;
60 var win
= Ext
.createWidget('proxmoxWindowEdit', config
);
63 win
.on('destroy', reload
);
67 var remove_btn
= Ext
.createWidget('proxmoxStdRemoveButton', {
68 selModel
: me
.selModel
,
69 getUrl: function(rec
) {
70 return me
.baseurl
+ '/objects/' + rec
.data
.id
;
73 getRecordName: function(rec
) { return rec
.data
.descr
; },
79 Ext
.Array
.each(me
.otype_list
, function(otype
) {
81 var editor
= PMG
.Utils
.object_editors
[otype
];
83 var config
= Ext
.apply({ method
: 'POST' }, editor
);
85 /*jslint confusion: true*/
86 /*create is a boolean below and a function above*/
88 /*jslint confusion: false*/
92 if (me
.baseurl
== undefined) {
95 config
.url
= me
.baseurl
+ '/' + editor
.subdir
;
96 var win
= Ext
.createWidget('proxmoxWindowEdit', config
);
97 win
.on('destroy', reload
);
105 text
: gettext('Add'),
106 menu
: new Ext
.menu
.Menu({
111 xtype
: 'proxmoxButton',
112 text
: gettext('Edit'),
114 selModel
: me
.selModel
,
120 Proxmox
.Utils
.monStoreErrors(me
, me
.store
, true);
122 if (me
.enableButtons
) {
129 header
: gettext('Name'),
133 renderer
: Ext
.String
.htmlEncode
136 header
: gettext('Description'),
140 renderer
: Ext
.String
.htmlEncode
143 header
: gettext('Comment'),
147 renderer
: Ext
.String
.htmlEncode
151 itemdblclick: function() {
152 if (me
.enableButtons
) {
162 reload(); // initial load