]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/form/FileSelector.js
FileSelector: adapt combogrid total and column width
[pve-manager.git] / www / manager6 / form / FileSelector.js
1 Ext.define('PVE.form.FileSelector', {
2 extend: 'PVE.form.ComboGrid',
3 alias: 'widget.pveFileSelector',
4
5 setStorage: function(storage, nodename) {
6 var me = this;
7
8 var change = false;
9 if (storage && (me.storage !== storage)) {
10 me.storage = storage;
11 change = true;
12 }
13
14 if (nodename && (me.nodename !== nodename)) {
15 me.nodename = nodename;
16 change = true;
17 }
18
19 if (!(me.storage && me.nodename && change)) {
20 return;
21 }
22
23 var url = '/api2/json/nodes/' + me.nodename + '/storage/' + me.storage + '/content';
24 if (me.storageContent) {
25 url += '?content=' + me.storageContent;
26 }
27
28 me.store.setProxy({
29 type: 'pve',
30 url: url
31 });
32
33 me.store.load();
34 },
35
36 initComponent: function() {
37 var me = this;
38
39 var store = Ext.create('Ext.data.Store', {
40 model: 'pve-storage-content'
41 });
42
43 Ext.apply(me, {
44 store: store,
45 allowBlank: false,
46 autoSelect: false,
47 valueField: 'volid',
48 displayField: 'text',
49 listConfig: {
50 width: 600,
51 columns: [
52 {
53 header: gettext('Name'),
54 dataIndex: 'text',
55 hideable: false,
56 flex: 1
57 },
58 {
59 header: gettext('Format'),
60 width: 60,
61 dataIndex: 'format'
62 },
63 {
64 header: gettext('Size'),
65 width: 100,
66 dataIndex: 'size',
67 renderer: PVE.Utils.format_size
68 }
69 ]
70 }
71 });
72
73 me.callParent();
74
75 me.setStorage(me.storage, me.nodename);
76 }
77 });