v2.16.1 - Fix: filtro "Relevant only" non compariva su edit_ruleset con contesto host

Le righe "no match" erano incluse in RELEVANT_SEL e risultavano rilevanti:
su pagine con contesto host/service ogni riga aveva un badge, quindi non
c'era mai nulla da nascondere e la barra non veniva inserita. Ora il filtro
nasconde proprio le righe che non matchano.

Inoltre il guard cmkFilterToggle veniva settato in cima alla funzione:
un primo tentativo a vuoto bloccava per sempre i successivi. Ora viene
settato solo quando la barra viene effettivamente inserita.
This commit is contained in:
Luigi D'Acunto 2026-07-13 16:19:28 +02:00
parent 033bc1c482
commit 0fbfda4b81
2 changed files with 9 additions and 5 deletions

View file

@ -1,7 +1,7 @@
// ==UserScript==
// @name Checkmk SwissKnife
// @namespace https://luigidacunto.com/
// @version 2.16.0
// @version 2.16.1
// @checkmk 2.3.x - 2.4.x
// @description Collection of UI improvements for Checkmk WATO. Each fix or enhancement is added here as an independent feature.
// @author Luigi D'Acunto
@ -729,9 +729,9 @@
function addRulesetFilterToggle(doc) {
if (doc.body.dataset.cmkFilterToggle === '1') return;
doc.body.dataset.cmkFilterToggle = '1';
const RELEVANT_SEL = 'tr.cmk-sk-rule-match, tr.cmk-sk-rule-nomatch, tr.cmk-sk-ineffective';
// Le righe "no match" NON sono rilevanti: il filtro serve proprio a nasconderle
const RELEVANT_SEL = 'tr.cmk-sk-rule-match, tr.cmk-sk-ineffective';
// No highlighted rows = no active search, toggle is useless
const relevantCount = doc.querySelectorAll(RELEVANT_SEL).length;
@ -750,6 +750,10 @@
if (!irrelevantRows && !irrelevantFolders) return;
// Guard settato solo qui: se la tabella non era ancora renderizzata
// il prossimo tentativo deve poter riprovare
doc.body.dataset.cmkFilterToggle = '1';
injectStyles(doc, 'cmk-sk-filter-toggle-styles', `
#cmk-sk-filter-bar {
display: flex;