extend: 'Ext.window.Window',
alias: 'widget.proxmoxTaskProgress',
+ taskDone: Ext.emptyFn,
+
initComponent: function() {
var me = this;
}
});
- me.on('destroy', statstore.stopUpdate);
+ me.on('destroy', statstore.stopUpdate);
var getObjectValue = function(key, defaultValue) {
var rec = statstore.getById(key);
me.close();
Ext.Msg.alert('Task failed', exitstatus);
}
+ me.taskDone(exitstatus == 'OK');
}
});
var descr = Proxmox.Utils.format_task_description(task.type, task.id);
Ext.apply(me, {
- title: gettetx('Task') + ': ' + descr,
+ title: gettext('Task') + ': ' + descr,
width: 300,
layout: 'auto',
modal: true,
bodyPadding: 5,
items: pbar,
buttons: [
- {
+ {
text: gettext('Details'),
- handler: function() {
- var win = Ext.create('Proxmox.window.TaskViewer', {
+ handler: function() {
+ var win = Ext.create('Proxmox.window.TaskViewer', {
+ taskDone: me.taskDone,
upid: me.upid
});
win.show();
extend: 'Ext.window.Window',
alias: 'widget.proxmoxTaskViewer',
+ extraTitle: '', // string to prepend after the generic task title
+
+ taskDone: Ext.emptyFn,
+
initComponent: function() {
var me = this;
}
}
},
- exitstatus: {
+ exitstatus: {
visible: false
},
type: {
},
user: {
header: gettext('User name'),
- required: true
+ required: true
},
node: {
header: gettext('Node'),
- required: true
+ required: true
},
pid: {
header: gettext('Process ID'),
},
starttime: {
header: gettext('Start Time'),
- required: true,
+ required: true,
renderer: Proxmox.Utils.render_timestamp
},
upid: {
rows: rows
});
- me.on('destroy', statstore.stopUpdate);
+ me.on('destroy', statstore.stopUpdate);
var stop_task = function() {
Proxmox.Utils.API2Request({
me.mon(statstore, 'load', function() {
var status = statgrid.getObjectValue('status');
-
+
if (status === 'stopped') {
- logView.requestUpdate(undefined, true);
logView.scrollToEnd = false;
+ logView.requestUpdate();
statstore.stopUpdate();
+ me.taskDone(statgrid.getObjectValue('exitstatus') == 'OK');
}
stop_btn1.setDisabled(status !== 'running');
statstore.startUpdate();
Ext.apply(me, {
- title: "Task viewer: " + task.desc,
+ title: "Task viewer: " + task.desc + me.extraTitle,
width: 800,
height: 400,
layout: 'fit',