]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/node/Directory.js
1 Ext
.define('PVE.node.CreateDirectory', {
2 extend
: 'Proxmox.window.Edit',
3 xtype
: 'pveCreateDirectory',
5 subject
: Proxmox
.Utils
.directoryText
,
9 onlineHelp
: 'chapter_storage',
11 initComponent: function() {
15 throw "no node name specified";
21 url
: "/nodes/" + me
.nodename
+ "/disks/directory",
25 xtype
: 'pmxDiskSelector',
27 nodename
: me
.nodename
,
29 includePartitions
: true,
30 fieldLabel
: gettext('Disk'),
34 xtype
: 'proxmoxKVComboBox',
39 fieldLabel
: gettext('Filesystem'),
45 xtype
: 'proxmoxtextfield',
47 fieldLabel
: gettext('Name'),
51 xtype
: 'proxmoxcheckbox',
53 fieldLabel
: gettext('Add Storage'),
63 Ext
.define('PVE.node.Directorylist', {
64 extend
: 'Ext.grid.Panel',
65 xtype
: 'pveDirectoryList',
72 dirName
: (get) => get('path')?.replace('/mnt/pve/', '') || undefined,
77 xclass
: 'Ext.app.ViewController',
79 destroyDirectory: function() {
81 let vm
= me
.getViewModel();
82 let view
= me
.getView();
84 const dirName
= vm
.get('dirName');
87 throw "no node name specified";
91 throw "no directory name specified";
94 Ext
.create('PVE.window.SafeDestroyStorage', {
95 url
: `/nodes/${view.nodename}/disks/directory/${dirName}`,
96 item
: { id
: dirName
},
97 taskName
: 'dirremove',
98 taskDone
: () => { view
.reload(); },
104 stateId
: 'grid-node-directory',
107 text
: gettext('Path'),
112 header
: gettext('Device'),
117 header
: gettext('Type'),
122 header
: gettext('Options'),
124 dataIndex
: 'options',
127 header
: gettext('Unit File'),
129 dataIndex
: 'unitfile',
138 text
: gettext('Reload'),
139 iconCls
: 'fa fa-refresh',
140 handler: function() {
141 this.up('panel').reload();
145 text
: `${gettext('Create')}: ${gettext('Directory')}`,
146 handler: function() {
147 let view
= this.up('panel');
148 Ext
.create('PVE.node.CreateDirectory', {
149 nodename
: view
.nodename
,
151 destroy
: () => view
.reload(),
165 dirName
: "{dirName}",
169 '<tpl if="dirName">',
170 gettext('Directory') + ' {dirName}:',
172 Ext
.String
.format(gettext('No {0} selected'), gettext('directory')),
177 text
: gettext('More'),
178 iconCls
: 'fa fa-bars',
181 disabled
: '{!dirName}',
185 text
: gettext('Destroy'),
187 iconCls
: 'fa fa-fw fa-trash-o',
188 handler
: 'destroyDirectory',
191 disabled
: '{!dirName}',
205 activate: function() {
208 selectionchange: function(model
, selected
) {
210 let vm
= me
.getViewModel();
212 vm
.set('path', selected
[0]?.data
.path
|| '');
216 initComponent: function() {
219 me
.nodename
= me
.pveSelNode
.data
.node
;
221 throw "no node name specified";
226 fields
: ['path', 'device', 'type', 'options', 'unitfile'],
229 url
: `/api2/json/nodes/${me.nodename}/disks/directory`,
237 Proxmox
.Utils
.monStoreErrors(me
, me
.getStore(), true);