Skip to content

N°903 - Portal : Search / Filter on Browse mode mosaic#861

Open
Sbleut wants to merge 3 commits intoCombodo:developfrom
Sbleut:mosaic-filter
Open

N°903 - Portal : Search / Filter on Browse mode mosaic#861
Sbleut wants to merge 3 commits intoCombodo:developfrom
Sbleut:mosaic-filter

Conversation

@Sbleut
Copy link
Copy Markdown

@Sbleut Sbleut commented Mar 30, 2026

N°903 - Portal : Search / Filter on Browse mode mosaic

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.

Base information

Question Answer
Related to a SourceForge thread / Another PR / Combodo ticket? **** **N°903 - Portal : Search / Filter on Browse mode mosaic //**R-044277 - Proposition PR : Portail Mosaic Filter
Type of change? Enhancement

Objective (enhancement)

In the Browse Brick of the portal (mosaic mode), when many service families or services are displayed, it becomes difficult for end users to quickly find the item they are looking for.

Proposed solution (enhancement)

Add a dynamic client-side search field above the mosaic content.

Filter behavior :

  • Adds a live search field above the mosaic content
  • Filters items dynamically while the user types
  • Performs case-insensitive matching
  • Searches in:
    • Mosaic item name
    • Description
    • Tooltip title (data-original-title)
  • Does not require any page reload
  • Has no backend impact
  • Automatically resets when navigating between mosaic levels

Tests

This change impacts the portal mosaic UI only (Twig + client-side JavaScript).

No PHP unit tests were added because the feature does not introduce
backend logic, API changes, or data model changes.

The behavior was validated manually in the portal by testing:

  • live filtering while typing
  • case-insensitive matching
  • filtering on name, description and tooltip title
  • automatic reset when navigating between mosaic levels

Checklist before requesting a review

  • I have performed a self-review of my code
  • I have tested all changes I made on an iTop instance
  • I have added a unit test, otherwise I have explained why I couldn't
  • Is the PR clear and detailed enough so anyone can understand digging in the code?

Checklist of things to do before PR is ready to merge

Things that needs to be done in the PR before it can be considered as ready to be merged

  • Changes requested in the review

Thomas Sublet and others added 3 commits February 23, 2026 16:06
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.
@Molkobain
Copy link
Copy Markdown
Contributor

Hello @Sbleut thanks for the PR!

Could provide screenshots of the UI without and with filtering so we can see how the items are displayed if:

  • No itme smatch
  • Items from different levels match

@jf-cbd jf-cbd moved this from First review needed to Pending review in Combodo PRs dashboard Apr 13, 2026
@Sbleut
Copy link
Copy Markdown
Author

Sbleut commented Apr 14, 2026

No item Match :
image
Subcategory level matching on "windows" :
image
Service level matching on "windows" :
image

@Molkobain
Copy link
Copy Markdown
Contributor

Thanks for the screenshots @Sbleut , it is just missing the "Items from different levels match" use case.

In list and tree mode, you can filter all levels at once. If we add filtering to the mosaic view as well, it must do the same, not a 1-level filtering only. That's why we didn't made it in the first place, as we didn't really now how to display it.

So in order to move forward with considering the PR, we need to see an example where you have items matching the filter in the 3 levels "Service Family", "Service" and "Service Subcategory" so we can see how it will display when displaying matches for different levels at the same time. :)

Or does the filtering only works for the level currently displayed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Pending review

Development

Successfully merging this pull request may close these issues.

4 participants