]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/form/FileSelector.js
guest import: allow setting VLAN-tag
[pve-manager.git] / www / manager6 / form / FileSelector.js
CommitLineData
b3d7d5c4 1Ext.define('PVE.form.FileSelector', {
0fc95a12 2 extend: 'Proxmox.form.ComboGrid',
4cb75dd9 3 alias: 'widget.pveFileSelector',
b3d7d5c4 4
1404194f
TL
5 editable: true,
6 anyMatch: true,
7 forceSelection: true,
8
cb90483c
TL
9 listeners: {
10 afterrender: function() {
11 var me = this;
12 if (!me.disabled) {
13 me.setStorage(me.storage, me.nodename);
14 }
f6710aac 15 },
cb90483c
TL
16 },
17
b3d7d5c4
DM
18 setStorage: function(storage, nodename) {
19 var me = this;
20
21 var change = false;
53e3ea84 22 if (storage && me.storage !== storage) {
b3d7d5c4
DM
23 me.storage = storage;
24 change = true;
25 }
26
53e3ea84 27 if (nodename && me.nodename !== nodename) {
b3d7d5c4
DM
28 me.nodename = nodename;
29 change = true;
30 }
31
32 if (!(me.storage && me.nodename && change)) {
33 return;
34 }
35
36 var url = '/api2/json/nodes/' + me.nodename + '/storage/' + me.storage + '/content';
37 if (me.storageContent) {
38 url += '?content=' + me.storageContent;
39 }
40
41 me.store.setProxy({
56a353b9 42 type: 'proxmox',
f6710aac 43 url: url,
b3d7d5c4
DM
44 });
45
4d8a3455 46 me.store.removeAll();
b3d7d5c4
DM
47 me.store.load();
48 },
49
f03db57e
TL
50 setNodename: function(nodename) {
51 this.setStorage(undefined, nodename);
52 },
53
cb90483c 54 store: {
f6710aac 55 model: 'pve-storage-content',
cb90483c 56 },
b3d7d5c4 57
cb90483c
TL
58 allowBlank: false,
59 autoSelect: false,
60 valueField: 'volid',
61 displayField: 'text',
b3d7d5c4 62
cb90483c
TL
63 listConfig: {
64 width: 600,
65 columns: [
66 {
67 header: gettext('Name'),
68 dataIndex: 'text',
69 hideable: false,
f6710aac 70 flex: 1,
cb90483c
TL
71 },
72 {
73 header: gettext('Format'),
74 width: 60,
f6710aac 75 dataIndex: 'format',
cb90483c
TL
76 },
77 {
78 header: gettext('Size'),
79 width: 100,
80 dataIndex: 'size',
f6710aac
TL
81 renderer: Proxmox.Utils.format_size,
82 },
83 ],
84 },
b3d7d5c4 85});