[pve-devel] [PATCH pve-manager 2/2] ui: add "Bulk Pause" action to node
Hannes Laimer
h.laimer at proxmox.com
Fri Feb 5 11:35:38 CET 2021
Signed-off-by: Hannes Laimer <h.laimer at proxmox.com>
---
www/manager6/Utils.js | 1 +
www/manager6/form/VMSelector.js | 10 ++++++++++
www/manager6/node/CmdMenu.js | 15 +++++++++++++++
www/manager6/node/Config.js | 13 +++++++++++++
4 files changed, 39 insertions(+)
diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js
index 5278152d..941eb44a 100644
--- a/www/manager6/Utils.js
+++ b/www/manager6/Utils.js
@@ -1706,6 +1706,7 @@ Ext.define('PVE.Utils', {
spiceshell: ['', gettext('Shell') + ' (Spice)'],
startall: ['', gettext('Start all VMs and Containers')],
stopall: ['', gettext('Stop all VMs and Containers')],
+ suspendall: ['', gettext('Pause all VMs')],
unknownimgdel: ['', gettext('Destroy image from unknown guest')],
vncproxy: ['VM/CT', gettext('Console')],
vncshell: ['', gettext('Shell')],
diff --git a/www/manager6/form/VMSelector.js b/www/manager6/form/VMSelector.js
index 6a51a73d..0c176a9b 100644
--- a/www/manager6/form/VMSelector.js
+++ b/www/manager6/form/VMSelector.js
@@ -180,6 +180,7 @@ Ext.define('PVE.form.VMSelector', {
// only show the relevant guests by default
if (me.action) {
var statusfilter = '';
+ var typefilter = '';
switch (me.action) {
case 'startall':
statusfilter = 'stopped';
@@ -187,6 +188,10 @@ Ext.define('PVE.form.VMSelector', {
case 'stopall':
statusfilter = 'running';
break;
+ case 'suspendall':
+ statusfilter = 'running';
+ typefilter = 'qemu';
+ break;
}
if (statusfilter !== '') {
me.store.filters.add({
@@ -197,6 +202,11 @@ Ext.define('PVE.form.VMSelector', {
operator: 'in',
property: 'status',
value: [statusfilter],
+ }, {
+ id: 'x-gridfilter-type',
+ operator: 'in',
+ property: 'type',
+ value: [typefilter],
});
}
}
diff --git a/www/manager6/node/CmdMenu.js b/www/manager6/node/CmdMenu.js
index b650bfa0..38001343 100644
--- a/www/manager6/node/CmdMenu.js
+++ b/www/manager6/node/CmdMenu.js
@@ -60,6 +60,21 @@ Ext.define('PVE.node.CmdMenu', {
win.show();
},
},
+ {
+ text: gettext('Bulk Pause'),
+ itemId: 'bulksuspend',
+ iconCls: 'fa fa-fw fa-pause',
+ handler: function() {
+ var me = this.up('menu');
+ var win = Ext.create('PVE.window.BulkAction', {
+ nodename: me.nodename,
+ title: gettext('Bulk Pause'),
+ btnText: gettext('Pause'),
+ action: 'suspendall',
+ });
+ win.show();
+ },
+ },
{
text: gettext('Bulk Migrate'),
itemId: 'bulkmigrate',
diff --git a/www/manager6/node/Config.js b/www/manager6/node/Config.js
index ef3ac32c..55e09c58 100644
--- a/www/manager6/node/Config.js
+++ b/www/manager6/node/Config.js
@@ -63,6 +63,19 @@ Ext.define('PVE.node.Config', {
win.show();
},
},
+ {
+ text: gettext('Bulk Pause'),
+ iconCls: 'fa fa-fw fa-pause',
+ handler: function() {
+ var win = Ext.create('PVE.window.BulkAction', {
+ nodename: nodename,
+ title: gettext('Bulk Pause'),
+ btnText: gettext('Pause'),
+ action: 'suspendall',
+ });
+ win.show();
+ },
+ },
{
text: gettext('Bulk Migrate'),
iconCls: 'fa fa-fw fa-send-o',
--
2.20.1
More information about the pve-devel
mailing list