From 45110c1630130ba3b965810aeb258c55695de26a Mon Sep 17 00:00:00 2001 From: Daniel Tschlatscher Date: Wed, 4 Jan 2023 13:56:35 +0100 Subject: [PATCH] add task log download button in TaskViewer Adds a download button in the TaskViewer. Uses the newly created downloadAsFile() method in the Utils class. Signed-off-by: Daniel Tschlatscher Tested-by: Stefan Sterz Reviewed-by: Stefan Sterz --- 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 5d8bb84..fb478c1 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?download=1`; + + 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();