Adds a download button in the TaskViewer. Uses the newly created
downloadAsFile() method in the Utils class.

Signed-off-by: Daniel Tschlatscher <d.tschlatsc...@proxmox.com>
---
 src/window/TaskViewer.js | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/window/TaskViewer.js b/src/window/TaskViewer.js
index 9293d95..f1de188 100644
--- a/src/window/TaskViewer.js
+++ b/src/window/TaskViewer.js
@@ -230,11 +230,23 @@ Ext.define('Proxmox.window.TaskViewer', {
            border: false,
        });
 
+       let downloadBtn = new Ext.Button({
+           text: gettext('Download'),
+           iconCls: 'fa fa-download',
+           handler: function() {
+               let url = '/api2/extjs/nodes/' +
+                   
`${task.node}/tasks/${encodeURIComponent(me.upid)}/log?limit=0`;
+
+               Proxmox.Utils.downloadAsFile(url);
+           },
+       });
+
+
        let logView = Ext.create('Proxmox.panel.LogView', {
            title: gettext('Output'),
-           tbar: [stop_btn2],
+           tbar: [stop_btn2, '->', downloadBtn],
            border: false,
-           url: "/api2/extjs/nodes/" + task.node + "/tasks/" + 
encodeURIComponent(me.upid) + "/log",
+           url: 
`/api2/extjs/nodes/${task.node}/tasks/${encodeURIComponent(me.upid)}/log`,
        });
 
        me.mon(statstore, 'load', function() {
@@ -249,6 +261,7 @@ Ext.define('Proxmox.window.TaskViewer', {
 
            stop_btn1.setDisabled(status !== 'running');
            stop_btn2.setDisabled(status !== 'running');
+           downloadBtn.setDisabled(status === 'running');
        });
 
        statstore.startUpdate();
-- 
2.30.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to