Enhancing Bricks Filters: Phase 2 (1.12.x)

Hi
I’d like to propose some important updates for the next version (1.12) of Bricks filters. These enhancements will improve UI/UX, accessibility, and scalability.

New Filter Options

To illustrate these options, I’ve prepared some montages. Following the logic of the current filters, our new capabilities should be placed in the mode selection at the very bottom, under a new choice called “Dropdown.” By selecting this mode, you’ll see new options, which will be available directly for certain filters.

take your time looking at the images


Proposed Features:

  1. Scroll Enabled
  • Function: Reduces the length of the choice list when it’s too long.
  • How to Use: Insert your max length, and you’re done.
  1. N Selected
  • Function: Allows users to make important criteria choices elegantly.
  • Background: This feature was proposed by me and later integrated into JetSmart. It’s time for Bricks to adopt it swiftly.
  1. Search Enabled
  • Function: Adds a search bar to find choices easily.
  • Benefit: Essential for large quantities of brands, cities, or other options.
  1. More/Less Enabled
  • Function: Expands or collapses the list of choices.
  • Benefit: Common in e-commerce sites, it enhances user experience.
  1. Disable Auto Focus
  • Function: Prevents the search bar from auto-focusing on mobile devices.
  • Benefit: Avoids the annoying habit of auto-focusing when the filter is consulted.

I believe I haven’t forgotten anything. These features will make Bricks filters more robust and user-friendly, allowing for more ambitious site filter selections.

Let’s hope we see these updates before 2025!
I’m sure bricks will have no problem integrating them faster than expected

Additionally, other filter types like radio buttons or toggle buttons will benefit from these enhancements, making them essential and time-saving.

It’s possible that the developers already have their own methods for integrating these features, but I believe you understand the idea and the benefits these additions would bring to everyone. :pray::wave:

3 Likes

Hi,

To display the filters as a dropdown, I think adding this feature directly to the filters is not a good idea. We can display the filters as a drop-down right now. It is enough to put the desired filter in a nestable accordion. In this case, you will not face any restrictions.

For the search feature for filters like checkboxes and radios, I think the best idea is to be able to use the search filter to achieve these goals. So everything will be Nestable. Exactly like the images below:

Structure

builder

frontend

I think that in terms of filters, the thing that has more priority now (after phase 2) is the visual filter. To filter products based on color and image. After that maybe switcher filter.

After the release of the second phase of filters, we will be almost more powerful than jet smart filters. Except in a few special cases.

3 Likes

Yes, Filters should be at higher priority, it is more important than Components

Clients don’t know what is component what is bricks builder, they only focus on visual features and options like filters and advanced search in there websites.

One does not interfere with the other.

If you add a drop-down list element to a filter, it doesn’t always work well and has 2 extremes: hide everything or open everything. Limiting visibility by height is a different approach.

It’s the same with the search. A general search and a search by the values of a specific filter are different things.

@neosan wrote everything correctly. I also wanted to offer such functionality.

I fully support it! :ok_hand:

Hello everyone,

Thank you all for your messages!
It really shows that these small adjustments are not something to neglect.
They may be small, but they are mighty—essentially just tiny bits of scripts to add to the filter itself (no tinkering with elements).

I think filters.min.js will be a cozy new home for them.

And let’s give a shoutout to our brave [HOSEIN] who rushed in to tinker with something that looked like a DOM elements nightmare. :sweat_smile: This update will help him create better filters with peace of mind. Here, we accept all your messages and errors :smile:

Stay united and focused! Perhaps a generous dev, a member of the Bricks team, will isolate themselves with a good coffee :coffee: for a few hours, and voilà,
we’ll have these updates in no time.

I’ll provide some links to help new readers understand the context and the options we’re discussing here. which are mostly quality of life scripts rather than really heavy functions to develop

How To Search for Items in a Dropdown (w3schools.com)
Dropdown | Semantic UI (semantic-ui.com)
How To Create a Read More Read Less Button (w3schools.com)
javascript - How to render “N items selected”

Cheers!

1 Like

Yes please!

@neosan let us know if your idea makes it on the idea board. I will up-vote.

I don’t have the ability to edit my original post, so I am adding two more interesting additions to cover all aspects of effective native filtering under Bricks. This aims to enhance self-sufficiency and reduce reliance on third-party filter plugins.

If you have any other remarks or possible additions, please react here for better traceability and focus on the subject of filters.

Global Note : Don’t pay attention to the names, which are approximate suggestions. For example, “filter: no result” can be named “loop no result” since it is about identifying whether the loop or the filter has no result. The overall idea is what’s essential.

  1. No Result Handling
  • Function: In the case of no results, this feature can trigger to hide all target elements that need to be hidden in this specific scenario.
  • Benefit: Provides a cleaner user experience by not displaying unnecessary elements.

  1. Reset Button Mechanism
  • Function: The reset button can handle reloading the page in case of persistent loop issues that can’t be fixed with AJAX alone.
  • Benefit: Ensures that any strange behavior in the loop can be resolved by reloading the page, providing a fallback when AJAX is insufficient.

3 Likes