[pve-devel] [PATCH manager v3 18/20] add showProgress to SafeDestroy

Fabian Grünbichler f.gruenbichler at proxmox.com
Thu Aug 31 11:38:21 CEST 2017


modeled after the mechanism used in window/Edit.js

Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---
changed in v3:
- close view befor showing alert in failure case
- drop trailing , to satisfy jslint

new in v2

 www/manager6/window/SafeDestroy.js | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/www/manager6/window/SafeDestroy.js b/www/manager6/window/SafeDestroy.js
index a7ecf5fd..451ab046 100644
--- a/www/manager6/window/SafeDestroy.js
+++ b/www/manager6/window/SafeDestroy.js
@@ -13,6 +13,7 @@ Ext.define('PVE.window.SafeDestroy', {
     width: 450,
     layout: { type:'hbox' },
     defaultFocus: 'confirmField',
+    showProgress: false,
 
     config: {
 	item: {
@@ -61,10 +62,31 @@ Ext.define('PVE.window.SafeDestroy', {
 			method: 'DELETE',
 			waitMsgTarget: view,
 			failure: function(response, opts) {
+			    view.close();
 			    Ext.Msg.alert('Error', response.htmlStatus);
 			},
-			callback: function() {
-			    view.close();
+			success: function(response, options) {
+			    var hasProgressBar = view.showProgress &&
+				response.result.data ? true : false;
+
+			    if (hasProgressBar) {
+				// stay around so we can trigger our close events
+				// when background action is completed
+				view.hide();
+
+				var upid = response.result.data;
+				var win = Ext.create('PVE.window.TaskProgress', {
+				    upid: upid,
+				    listeners: {
+					destroy: function () {
+					    view.close();
+					}
+				    }
+				});
+				win.show();
+			    } else {
+				view.close();
+			    }
 			}
 		    });
 		}
-- 
2.11.0





More information about the pve-devel mailing list