]>
git.proxmox.com Git - pmg-gui.git/blob - js/Who.js
1 Ext
.define('PMG.Who', {
2 extend
: 'Ext.grid.GridPanel',
10 header
: gettext('Type'),
12 renderer
: PMG
.Utils
.format_otype
,
16 header
: gettext('Value'),
18 renderer
: Ext
.String
.htmlEncode
,
23 setBaseUrl: function(baseurl
) {
30 url
: '/api2/json' + me
.baseurl
+ '/objects'
33 me
.store
.load(function() {
34 me
.down('#addMenuButton').setDisabled(false);
39 setObjectInfo: function(name
, info
) {
42 var html
= '<b>' + Ext
.String
.htmlEncode(name
) + '</b>';
44 html
+= Ext
.String
.htmlEncode(info
);
46 me
.down('#oginfo').update(html
);
47 me
.down('#ogdata').setHidden(false);
50 initComponent : function() {
53 me
.store
= new Ext
.data
.Store({
54 model
: 'pmg-object-list',
63 var reload = function() {
67 me
.selModel
= Ext
.create('Ext.selection.RowModel', {});
69 var remove_btn
= Ext
.createWidget('proxmoxButton', {
70 text
: gettext('Remove'),
72 selModel
: me
.selModel
,
73 confirmMsg: function (rec
) {
74 return Ext
.String
.format(
75 gettext('Are you sure you want to remove entry {0}'),
76 "'" + PMG
.Utils
.format_otype(rec
.data
.otype
) +
77 ': ' + rec
.data
.descr
+ "'");
79 handler: function(btn
, event
, rec
) {
80 Proxmox
.Utils
.API2Request({
81 url
: me
.baseurl
+ '/objects/'+ rec
.data
.id
,
84 callback: function() {
87 failure: function (response
, opts
) {
88 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
94 var run_editor = function() {
95 var rec
= me
.selModel
.getSelection()[0];
100 var editor
= PMG
.Utils
.object_editors
[rec
.data
.otype
];
105 var config
= Ext
.apply({ method
: 'PUT' }, editor
);
107 config
.url
= me
.baseurl
+ '/' + editor
.subdir
+ '/' + rec
.data
.id
;
109 var win
= Ext
.createWidget('proxmoxWindowEdit', config
);
112 win
.on('destroy', reload
);
118 Ext
.Array
.each(me
.otype_list
, function(otype
) {
120 var editor
= PMG
.Utils
.object_editors
[otype
];
122 var config
= Ext
.apply({ method
: 'POST' }, editor
);
125 text
: config
.subject
,
126 handler: function() {
127 if (me
.baseurl
== undefined) {
130 config
.url
= me
.baseurl
+ '/' + editor
.subdir
;
131 var win
= Ext
.createWidget('proxmoxWindowEdit', config
);
132 win
.on('destroy', reload
);
140 me
.dockedItems
.push({
145 text
: gettext('Add'),
147 itemId
: 'addMenuButton',
148 menu
: new Ext
.menu
.Menu({
153 xtype
: 'proxmoxButton',
154 text
: gettext('Edit'),
156 selModel
: me
.selModel
,
163 me
.dockedItems
.push({
175 html
: gettext('Please select an object.')
183 itemdblclick
: run_editor
,