file browser: add config and comments for params, uper case URL
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
2a778ef98c
commit
fd8ed0d84f
@ -56,6 +56,24 @@ Ext.define("Proxmox.window.FileBrowser", {
|
|||||||
|
|
||||||
modal: true,
|
modal: true,
|
||||||
|
|
||||||
|
config: {
|
||||||
|
// the base-URL to get the list of files. required.
|
||||||
|
listURL: '',
|
||||||
|
|
||||||
|
// the base download URL, e.g., something like '/api2/...'
|
||||||
|
downloadURL: '',
|
||||||
|
|
||||||
|
// extra parameters set as proxy paramns and for an actual download request
|
||||||
|
extraParams: {},
|
||||||
|
|
||||||
|
// the file types for which the download button should be enabled
|
||||||
|
downloadableFileTypes: {
|
||||||
|
'h': true, // hardlinks
|
||||||
|
'f': true, // "normal" files
|
||||||
|
'd': true, // directories
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
controller: {
|
controller: {
|
||||||
xclass: 'Ext.app.ViewController',
|
xclass: 'Ext.app.ViewController',
|
||||||
|
|
||||||
@ -86,7 +104,7 @@ Ext.define("Proxmox.window.FileBrowser", {
|
|||||||
if (data.type === 'd') {
|
if (data.type === 'd') {
|
||||||
atag.download += ".zip";
|
atag.download += ".zip";
|
||||||
}
|
}
|
||||||
atag.href = me.buildUrl(view.downloadUrl, params);
|
atag.href = me.buildUrl(view.downloadURL, params);
|
||||||
atag.click();
|
atag.click();
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -98,7 +116,7 @@ Ext.define("Proxmox.window.FileBrowser", {
|
|||||||
if (!selection || selection.length < 1) return;
|
if (!selection || selection.length < 1) return;
|
||||||
|
|
||||||
let data = selection[0].data;
|
let data = selection[0].data;
|
||||||
let canDownload = view.downloadUrl && ['h', 'f', 'd'].indexOf(data.type) !== -1;
|
let canDownload = view.downloadURL && view.downloadableFileTypes[data.type];
|
||||||
me.lookup('downloadBtn').setDisabled(!canDownload);
|
me.lookup('downloadBtn').setDisabled(!canDownload);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -106,7 +124,7 @@ Ext.define("Proxmox.window.FileBrowser", {
|
|||||||
let me = this;
|
let me = this;
|
||||||
let tree = me.lookup('tree');
|
let tree = me.lookup('tree');
|
||||||
|
|
||||||
if (!view.listUrl) {
|
if (!view.listURL) {
|
||||||
throw "no list URL given";
|
throw "no list URL given";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,7 +132,7 @@ Ext.define("Proxmox.window.FileBrowser", {
|
|||||||
let proxy = store.getProxy();
|
let proxy = store.getProxy();
|
||||||
|
|
||||||
Proxmox.Utils.monStoreErrors(tree, store, true);
|
Proxmox.Utils.monStoreErrors(tree, store, true);
|
||||||
proxy.setUrl(view.listUrl);
|
proxy.setUrl(view.listURL);
|
||||||
proxy.setExtraParams(view.extraParams);
|
proxy.setExtraParams(view.extraParams);
|
||||||
store.load(() => {
|
store.load(() => {
|
||||||
let root = store.getRoot();
|
let root = store.getRoot();
|
||||||
|
Loading…
Reference in New Issue
Block a user