From bc82d04c13037f9949ad72350e2dfae6ec495962 Mon Sep 17 00:00:00 2001 From: Raphael Gauthier Date: Fri, 11 Mar 2022 10:46:12 +0100 Subject: [PATCH] Fixes #20692: Displays a warning icon for directives that are not used by any rule. --- .../main/elm/rules/sources/ViewTabContent.elm | 17 +++++++++++++++++ .../webapp/style/rudder/rudder-template.css | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/webapp/sources/rudder/rudder-web/src/main/elm/rules/sources/ViewTabContent.elm b/webapp/sources/rudder/rudder-web/src/main/elm/rules/sources/ViewTabContent.elm index 381a32a2506..3973e202638 100644 --- a/webapp/sources/rudder/rudder-web/src/main/elm/rules/sources/ViewTabContent.elm +++ b/webapp/sources/rudder/rudder-web/src/main/elm/rules/sources/ViewTabContent.elm @@ -454,11 +454,28 @@ directivesTab model details = ("", text "") else (" is-disabled", span[class "badge-disabled"][]) + + isUsed = (getAllElems model.rulesTree) + |> List.concatMap (\ r -> r.directives) + |> List.member d.id + + unusedWarning = + if isUsed then text "" + else + span + [ class "fa fa-warning text-warning-rudder bs-tooltip" + , attribute "data-toggle" "tooltip" + , attribute "data-placement" "bottom" + , attribute "data-container" "body" + , attribute "data-html" "true" + , attribute "data-original-title" (buildTooltipContent "Unused directive" "This directive is not used in any rule") + ][] in li [class ("jstree-node jstree-leaf directiveNode" ++ disabledClass)] [ i [class "jstree-icon jstree-ocl"][] , a [class ("jstree-anchor" ++ selectedClass), onClick (addDirectives d.id)] [ badgePolicyMode model.policyMode d.policyMode + , unusedWarning , span [class "item-name tooltipable"][text d.displayName] , disabledLabel , buildTagsTree d.tags diff --git a/webapp/sources/rudder/rudder-web/src/main/webapp/style/rudder/rudder-template.css b/webapp/sources/rudder/rudder-web/src/main/webapp/style/rudder/rudder-template.css index b2afad0d091..f7c66e2abbc 100644 --- a/webapp/sources/rudder/rudder-web/src/main/webapp/style/rudder/rudder-template.css +++ b/webapp/sources/rudder/rudder-web/src/main/webapp/style/rudder/rudder-template.css @@ -94,7 +94,8 @@ .content-wrapper .rudder-template .jstree .fa.jstree-icon{ margin-right: 2px; } -.content-wrapper .rudder-template .jstree .rudder-label.label-sm{ +.content-wrapper .rudder-template .jstree .rudder-label.label-sm, +.content-wrapper .rudder-template .jstree .fa-warning{ margin-right: 4px; } .main-details .well{