From fde8e8bbb938a62a1b6265e588bec86c5c8036f0 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Tue, 27 Mar 2018 14:00:49 +0200 Subject: [PATCH] task view, progress: add taskDone callback and integrate it into the edit window Signed-off-by: Thomas Lamprecht --- window/Edit.js | 5 +++++ window/TaskViewer.js | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/window/Edit.js b/window/Edit.js index 75fce39..f72bee0 100644 --- a/window/Edit.js +++ b/window/Edit.js @@ -40,6 +40,10 @@ Ext.define('Proxmox.window.Edit', { showTaskViewer: false, + // gets called if we have a progress bar or taskview and it detected that + // the task finished. function(success) + taskDone: Ext.emptyFn, + // assign a reference from docs, to add a help button docked to the // bottom of the window. If undefined we magically fall back to the // onlineHelp of our first item, if set. @@ -144,6 +148,7 @@ Ext.define('Proxmox.window.Edit', { var viewerClass = me.showTaskViewer ? 'Viewer' : 'Progress'; var win = Ext.create('Proxmox.window.Task' + viewerClass, { upid: upid, + taskDone: me.taskDone, listeners: { destroy: function () { me.close(); diff --git a/window/TaskViewer.js b/window/TaskViewer.js index c6bb370..39f42ad 100644 --- a/window/TaskViewer.js +++ b/window/TaskViewer.js @@ -2,6 +2,8 @@ Ext.define('Proxmox.window.TaskProgress', { extend: 'Ext.window.Window', alias: 'widget.proxmoxTaskProgress', + taskDone: Ext.emptyFn, + initComponent: function() { var me = this; @@ -44,6 +46,7 @@ Ext.define('Proxmox.window.TaskProgress', { me.close(); Ext.Msg.alert('Task failed', exitstatus); } + me.taskDone(exitstatus == 'OK'); } }); @@ -61,6 +64,7 @@ Ext.define('Proxmox.window.TaskProgress', { text: gettext('Details'), handler: function() { var win = Ext.create('Proxmox.window.TaskViewer', { + taskDone: me.taskDone, upid: me.upid }); win.show(); @@ -87,6 +91,8 @@ Ext.define('Proxmox.window.TaskViewer', { extraTitle: '', // string to prepend after the generic task title + taskDone: Ext.emptyFn, + initComponent: function() { var me = this; @@ -195,6 +201,7 @@ Ext.define('Proxmox.window.TaskViewer', { logView.requestUpdate(undefined, true); logView.scrollToEnd = false; statstore.stopUpdate(); + me.taskDone(statgrid.getObjectValue('exitstatus') == 'OK'); } stop_btn1.setDisabled(status !== 'running'); -- 2.39.2