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 68e0fb6d4c1..9c81f225f22 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 @@ -466,11 +466,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 08c872be812..0541ba05651 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{