fix #5611: node service view: hide non-installed services

This patch adds a filter to identify services, which are reported as
'not-found' by the api. By default they will not be shown in the UI
anymore, but visibility can still be toggled using a new checkbox.

Signed-off-by: Daniel Herzig <d.herzig@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Daniel Herzig 2024-11-11 08:58:11 +01:00 committed by Thomas Lamprecht
parent 0ad5712ac7
commit a351d3d36d

View File

@ -29,6 +29,8 @@ Ext.define('Proxmox.node.ServiceView', {
}, },
}); });
let filterInstalledOnly = record => record.get('unit-state') !== 'not-found';
let store = Ext.create('Proxmox.data.DiffStore', { let store = Ext.create('Proxmox.data.DiffStore', {
rstore: rstore, rstore: rstore,
sortAfterUpdate: true, sortAfterUpdate: true,
@ -38,6 +40,24 @@ Ext.define('Proxmox.node.ServiceView', {
direction: 'ASC', direction: 'ASC',
}, },
], ],
filters: [
filterInstalledOnly,
],
});
let unHideCB = Ext.create('Ext.form.field.Checkbox', {
boxLabel: gettext('Show only installed services'),
value: true,
boxLabelAlign: 'before',
listeners: {
change: function(_cb, value) {
if (value) {
store.addFilter([filterInstalledOnly]);
} else {
store.clearFilter();
}
},
},
}); });
let view_service_log = function() { let view_service_log = function() {
@ -166,6 +186,8 @@ Ext.define('Proxmox.node.ServiceView', {
restart_btn, restart_btn,
'-', '-',
syslog_btn, syslog_btn,
'->',
unHideCB,
], ],
columns: [ columns: [
{ {