]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/grid/PoolMembers.js
1 Ext
.define('PVE.pool.AddVM', {
2 extend
: 'PVE.window.Edit',
4 initComponent : function() {
5 /*jslint confusion: true */
9 throw "no pool specified";
14 me
.url
= "/pools/" + me
.pool
;
18 subject
: gettext('Virtual Machine'),
22 xtype
: 'pveVMIDSelector',
35 Ext
.define('PVE.pool.AddStorage', {
36 extend
: 'PVE.window.Edit',
38 initComponent : function() {
39 /*jslint confusion: true */
43 throw "no pool specified";
48 me
.url
= "/pools/" + me
.pool
;
52 subject
: gettext('Storage'),
56 xtype
: 'PVE.form.StorageSelector',
58 nodename
: 'localhost',
61 fieldLabel
: gettext("Storage")
70 Ext
.define('PVE.grid.PoolMembers', {
71 extend
: 'Ext.grid.GridPanel',
72 alias
: ['widget.pvePoolMembers'],
74 // fixme: dynamic status update ?
76 initComponent : function() {
80 throw "no pool specified";
83 var store
= Ext
.create('Ext.data.Store', {
84 model
: 'PVEResources',
94 url
: "/api2/json/pools/" + me
.pool
98 var coldef
= PVE
.data
.ResourceStore
.defaultColums();
100 var reload = function() {
104 var sm
= Ext
.create('Ext.selection.RowModel', {});
106 var remove_btn
= new PVE
.button
.Button({
107 text
: gettext('Remove'),
110 confirmMsg: function (rec
) {
111 return Ext
.String
.format(gettext('Are you sure you want to remove entry {0}'),
112 "'" + rec
.data
.id
+ "'");
114 handler: function(btn
, event
, rec
) {
115 var params
= { 'delete': 1 };
116 if (rec
.data
.type
=== 'storage') {
117 params
.storage
= rec
.data
.storage
;
118 } else if (rec
.data
.type
=== 'qemu' || rec
.data
.type
=== 'lxc' || rec
.data
.type
=== 'openvz') {
119 params
.vms
= rec
.data
.vmid
;
121 throw "unknown resource type";
124 PVE
.Utils
.API2Request({
125 url
: '/pools/' + me
.pool
,
129 callback: function() {
132 failure: function (response
, opts
) {
133 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
144 text
: gettext('Add'),
145 menu
: new Ext
.menu
.Menu({
148 text
: gettext('Virtual Machine'),
149 iconCls
: 'pve-itype-icon-qemu',
150 handler: function() {
151 var win
= Ext
.create('PVE.pool.AddVM', { pool
: me
.pool
});
152 win
.on('destroy', reload
);
157 text
: gettext('Storage'),
158 iconCls
: 'pve-itype-icon-storage',
159 handler: function() {
160 var win
= Ext
.create('PVE.pool.AddStorage', { pool
: me
.pool
});
161 win
.on('destroy', reload
);