mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-07-28 21:43:14 +00:00
ui: storage: file download: rework code/UX a bit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
01366f9e8c
commit
a2692d6bf6
@ -25,50 +25,54 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
|
|||||||
url: '/nodes/{nodename}/storage/{storage}/download-url',
|
url: '/nodes/{nodename}/storage/{storage}/download-url',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
resetValues: function() {
|
||||||
|
this.setValues({
|
||||||
|
size: '-',
|
||||||
|
mimetype: '-',
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
controller: {
|
controller: {
|
||||||
xclass: 'Ext.app.ViewController',
|
xclass: 'Ext.app.ViewController',
|
||||||
|
|
||||||
urlChange: function(field) {
|
urlChange: function(field) {
|
||||||
let me = this;
|
let view = this.getView();
|
||||||
let view = me.getView();
|
view.down('[name=check]').setDisabled(false);
|
||||||
field = view.down('[name=url]');
|
view.resetValues();
|
||||||
field.setValidation(gettext("Please check URL"));
|
|
||||||
field.validate();
|
|
||||||
view.setValues({
|
|
||||||
size: gettext("unknown"),
|
|
||||||
mimetype: gettext("unknown"),
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
urlCheck: function(field) {
|
urlCheck: function(field) {
|
||||||
let me = this;
|
let me = this;
|
||||||
let view = me.getView();
|
let view = me.getView();
|
||||||
field = view.down('[name=url]');
|
|
||||||
view.setValues({
|
const queryParam = view.getValues();
|
||||||
size: gettext("unknown"),
|
|
||||||
mimetype: gettext("unknown"),
|
view.down('[name=check]').setDisabled(true);
|
||||||
});
|
view.resetValues();
|
||||||
|
let urlField = view.down('[name=url]');
|
||||||
|
|
||||||
Proxmox.Utils.API2Request({
|
Proxmox.Utils.API2Request({
|
||||||
url: `/nodes/${view.nodename}/query-url-metadata`,
|
url: `/nodes/${view.nodename}/query-url-metadata`,
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
params: {
|
params: {
|
||||||
url: field.getValue(),
|
url: queryParam.url,
|
||||||
'verify-certificates': view.getValues()['verify-certificates'],
|
'verify-certificates': queryParam['verify-certificates'],
|
||||||
},
|
},
|
||||||
waitMsgTarget: view,
|
waitMsgTarget: view,
|
||||||
failure: function(res, opt) {
|
failure: res => {
|
||||||
field.setValidation(res.result.message);
|
urlField.setValidation(res.result.message);
|
||||||
field.validate();
|
urlField.validate();
|
||||||
|
Ext.MessageBox.alert(gettext('Error'), res.htmlStatus);
|
||||||
},
|
},
|
||||||
success: function(res, opt) {
|
success: function(res, opt) {
|
||||||
field.setValidation();
|
urlField.setValidation();
|
||||||
field.validate();
|
urlField.validate();
|
||||||
|
|
||||||
let data = res.result.data;
|
let data = res.result.data;
|
||||||
view.setValues({
|
view.setValues({
|
||||||
filename: data.filename || "",
|
filename: data.filename || "",
|
||||||
size: (data.size && Proxmox.Utils.format_size(data.size)) || gettext("unknown"),
|
size: (data.size && Proxmox.Utils.format_size(data.size)) || gettext("Unknown"),
|
||||||
mimetype: data.mimetype || gettext("unknown"),
|
mimetype: data.mimetype || gettext("Unknown"),
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@ -100,6 +104,7 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
|
|||||||
{
|
{
|
||||||
xtype: 'textfield',
|
xtype: 'textfield',
|
||||||
name: 'url',
|
name: 'url',
|
||||||
|
emptyText: gettext("Enter URL to download"),
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
flex: 1,
|
flex: 1,
|
||||||
listeners: {
|
listeners: {
|
||||||
@ -109,7 +114,7 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
|
|||||||
{
|
{
|
||||||
xtype: 'button',
|
xtype: 'button',
|
||||||
name: 'check',
|
name: 'check',
|
||||||
text: gettext('Check'),
|
text: gettext('Query URL'),
|
||||||
margin: '0 0 0 5',
|
margin: '0 0 0 5',
|
||||||
listeners: {
|
listeners: {
|
||||||
click: 'urlCheck',
|
click: 'urlCheck',
|
||||||
@ -122,6 +127,7 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
|
|||||||
name: 'filename',
|
name: 'filename',
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
fieldLabel: gettext('File name'),
|
fieldLabel: gettext('File name'),
|
||||||
|
emptyText: gettext("Please (re-)query URL to get meta information"),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
column1: [
|
column1: [
|
||||||
@ -129,7 +135,7 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
|
|||||||
xtype: 'displayfield',
|
xtype: 'displayfield',
|
||||||
name: 'size',
|
name: 'size',
|
||||||
fieldLabel: gettext('File size'),
|
fieldLabel: gettext('File size'),
|
||||||
value: gettext('unknown'),
|
value: '-',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
column2: [
|
column2: [
|
||||||
@ -137,7 +143,7 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
|
|||||||
xtype: 'displayfield',
|
xtype: 'displayfield',
|
||||||
name: 'mimetype',
|
name: 'mimetype',
|
||||||
fieldLabel: gettext('MIME type'),
|
fieldLabel: gettext('MIME type'),
|
||||||
value: gettext('unknown'),
|
value: '-',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
advancedColumn1: [
|
advancedColumn1: [
|
||||||
|
Loading…
Reference in New Issue
Block a user