]>
Commit | Line | Data |
---|---|---|
6ac46211 DC |
1 | Ext.define('PVE.node.CreateDirectory', { |
2 | extend: 'Proxmox.window.Edit', | |
3 | xtype: 'pveCreateDirectory', | |
4 | ||
5 | subject: Proxmox.Utils.directoryText, | |
6 | ||
7 | showProgress: true, | |
8 | ||
9 | onlineHelp: 'chapter_storage', | |
10 | ||
8058410f | 11 | initComponent: function() { |
6ac46211 DC |
12 | var me = this; |
13 | ||
14 | if (!me.nodename) { | |
15 | throw "no node name specified"; | |
16 | } | |
17 | ||
18 | me.isCreate = true; | |
19 | ||
20 | Ext.applyIf(me, { | |
21 | url: "/nodes/" + me.nodename + "/disks/directory", | |
22 | method: 'POST', | |
23 | items: [ | |
24 | { | |
d0cfe2ea | 25 | xtype: 'pmxDiskSelector', |
6ac46211 DC |
26 | name: 'device', |
27 | nodename: me.nodename, | |
28 | diskType: 'unused', | |
29 | fieldLabel: gettext('Disk'), | |
f6710aac | 30 | allowBlank: false, |
6ac46211 DC |
31 | }, |
32 | { | |
33 | xtype: 'proxmoxKVComboBox', | |
34 | comboItems: [ | |
35 | ['ext4', 'ext4'], | |
f6710aac | 36 | ['xfs', 'xfs'], |
6ac46211 DC |
37 | ], |
38 | fieldLabel: gettext('Filesystem'), | |
39 | name: 'filesystem', | |
40 | value: '', | |
f6710aac | 41 | allowBlank: false, |
6ac46211 DC |
42 | }, |
43 | { | |
44 | xtype: 'proxmoxtextfield', | |
45 | name: 'name', | |
46 | fieldLabel: gettext('Name'), | |
f6710aac | 47 | allowBlank: false, |
6ac46211 DC |
48 | }, |
49 | { | |
50 | xtype: 'proxmoxcheckbox', | |
51 | name: 'add_storage', | |
52 | fieldLabel: gettext('Add Storage'), | |
f6710aac TL |
53 | value: '1', |
54 | }, | |
55 | ], | |
6ac46211 DC |
56 | }); |
57 | ||
58 | me.callParent(); | |
f6710aac | 59 | }, |
6ac46211 DC |
60 | }); |
61 | ||
62 | Ext.define('PVE.node.Directorylist', { | |
63 | extend: 'Ext.grid.Panel', | |
64 | xtype: 'pveDirectoryList', | |
65 | ||
66 | stateful: true, | |
67 | stateId: 'grid-node-directory', | |
68 | columns: [ | |
69 | { | |
70 | text: gettext('Path'), | |
71 | dataIndex: 'path', | |
f6710aac | 72 | flex: 1, |
6ac46211 DC |
73 | }, |
74 | { | |
75 | header: gettext('Device'), | |
76 | flex: 1, | |
f6710aac | 77 | dataIndex: 'device', |
6ac46211 DC |
78 | }, |
79 | { | |
80 | header: gettext('Type'), | |
81 | width: 100, | |
f6710aac | 82 | dataIndex: 'type', |
6ac46211 DC |
83 | }, |
84 | { | |
85 | header: gettext('Options'), | |
86 | width: 100, | |
f6710aac | 87 | dataIndex: 'options', |
6ac46211 DC |
88 | }, |
89 | { | |
90 | header: gettext('Unit File'), | |
91 | hidden: true, | |
f6710aac TL |
92 | dataIndex: 'unitfile', |
93 | }, | |
6ac46211 DC |
94 | ], |
95 | ||
96 | rootVisible: false, | |
97 | useArrows: true, | |
98 | ||
99 | tbar: [ | |
100 | { | |
101 | text: gettext('Reload'), | |
102 | iconCls: 'fa fa-refresh', | |
103 | handler: function() { | |
104 | var me = this.up('panel'); | |
105 | me.reload(); | |
f6710aac | 106 | }, |
6ac46211 DC |
107 | }, |
108 | { | |
109 | text: gettext('Create') + ': Directory', | |
110 | handler: function() { | |
111 | var me = this.up('panel'); | |
112 | var win = Ext.create('PVE.node.CreateDirectory', { | |
f6710aac | 113 | nodename: me.nodename, |
6ac46211 DC |
114 | }).show(); |
115 | win.on('destroy', function() { me.reload(); }); | |
f6710aac TL |
116 | }, |
117 | }, | |
6ac46211 DC |
118 | ], |
119 | ||
120 | reload: function() { | |
121 | var me = this; | |
122 | me.store.load(); | |
123 | me.store.sort(); | |
124 | }, | |
125 | ||
126 | listeners: { | |
127 | activate: function() { | |
128 | var me = this; | |
129 | me.reload(); | |
f6710aac | 130 | }, |
6ac46211 DC |
131 | }, |
132 | ||
133 | initComponent: function() { | |
6ac46211 DC |
134 | var me = this; |
135 | ||
136 | me.nodename = me.pveSelNode.data.node; | |
137 | if (!me.nodename) { | |
138 | throw "no node name specified"; | |
139 | } | |
140 | ||
141 | Ext.apply(me, { | |
142 | store: { | |
8058410f | 143 | fields: ['path', 'device', 'type', 'options', 'unitfile'], |
6ac46211 DC |
144 | proxy: { |
145 | type: 'proxmox', | |
f6710aac | 146 | url: "/api2/json/nodes/" + me.nodename + '/disks/directory', |
6ac46211 | 147 | }, |
f6710aac TL |
148 | sorters: 'path', |
149 | }, | |
6ac46211 DC |
150 | }); |
151 | ||
152 | me.callParent(); | |
153 | ||
154 | Proxmox.Utils.monStoreErrors(me, me.getStore(), true); | |
155 | me.reload(); | |
f6710aac | 156 | }, |
6ac46211 DC |
157 | }); |
158 |