From 59b5cbdce561a8fb93cf2c8ea0fa9731676b8537 Mon Sep 17 00:00:00 2001 From: Thomas Sublet Date: Mon, 23 Feb 2026 16:06:04 +0100 Subject: [PATCH] :lipstick: Add live search filter to portal mosaic view Allow users to filter mosaic items dynamically while typing. Search operates case-insensitively on name, description, and tooltip title. Reset filter automatically when navigating between mosaic levels. --- .../portal/public/css/portal.scss | 28 ++++++++++++++ .../bricks/browse/mode_mosaic.html.twig | 37 +++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss b/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss index d2d016d504..fd400dbf60 100644 --- a/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss +++ b/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss @@ -497,6 +497,34 @@ table .group-actions a.glyphicon-menu-hamburger{ display: block; } +/*********/ +/* Mosaïc Filter Management */ +/*********/ +/* +* Css to fix nthchild (4n) item which has 0 margin by default in iTop. +* Since we change order with filtering it messes up wrap up display. +*/ +.mosaic-group-item { + margin-right: 1%!important; +} + +.filter-center{ + display: flex; + align-items: center; + justify-content: center; + padding-right: 15vw; +} + +@media (min-width: 992px) { + #brick_content_toolbar > div label input{ + width: 15vw; + height: 30px; + } + #brick-content-table_filter label input{ + width: 15vw; + } +} + /****************/ /* - List mode */ diff --git a/datamodels/2.x/itop-portal-base/portal/templates/bricks/browse/mode_mosaic.html.twig b/datamodels/2.x/itop-portal-base/portal/templates/bricks/browse/mode_mosaic.html.twig index 23d846e948..aa4571fabf 100644 --- a/datamodels/2.x/itop-portal-base/portal/templates/bricks/browse/mode_mosaic.html.twig +++ b/datamodels/2.x/itop-portal-base/portal/templates/bricks/browse/mode_mosaic.html.twig @@ -7,6 +7,13 @@ {% endblock %} {% block bBrowseMainContent %} + {# Filter Input for Mosaïc #} +
+
+
+ +
+
{% block bBrowseMosaicContent %}
@@ -32,6 +39,36 @@ {{ parent() }}