but only when the caller gives us the endtime, since the status
api call does not give us the endtime

Signed-off-by: Dominik Csapak <d.csa...@proxmox.com>
---
changes from v1:
* always show duration and calculate the endtime from 'now'

 src/node/Tasks.js        |  1 +
 src/window/TaskViewer.js | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/src/node/Tasks.js b/src/node/Tasks.js
index 5aff06d..c41f0b5 100644
--- a/src/node/Tasks.js
+++ b/src/node/Tasks.js
@@ -60,6 +60,7 @@ Ext.define('Proxmox.node.Tasks', {
 
            let win = Ext.create('Proxmox.window.TaskViewer', {
                upid: rec.data.upid,
+               endtime: rec.data.endtime,
            });
            win.show();
        };
diff --git a/src/window/TaskViewer.js b/src/window/TaskViewer.js
index 2f31023..51715f8 100644
--- a/src/window/TaskViewer.js
+++ b/src/window/TaskViewer.js
@@ -152,6 +152,31 @@ Ext.define('Proxmox.window.TaskViewer', {
            },
        };
 
+       if (me.endtime) {
+           if (typeof me.endtime === 'object') {
+               // convert to epoch
+               me.endtime = parseInt(me.endtime.getTime()/1000, 10);
+           }
+           rows.endtime = {
+               header: gettext('End Time'),
+               required: true,
+               renderer: function() {
+                   return Proxmox.Utils.render_timestamp(me.endtime);
+               },
+           };
+       }
+
+       rows.duration = {
+           header: gettext('Duration'),
+           required: true,
+           renderer: function() {
+               let starttime = statgrid.getObjectValue('starttime');
+               let endtime = me.endtime || Date.now()/1000;
+               let duration = endtime - starttime;
+               return Proxmox.Utils.format_duration_human(duration);
+           },
+       };
+
        let statstore = Ext.create('Proxmox.data.ObjectStore', {
             url: "/api2/json/nodes/" + task.node + "/tasks/" + me.upid + 
"/status",
            interval: 1000,
-- 
2.20.1


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

Reply via email to