briefercloud / briefer

Dashboards and notebooks in a single place. Create powerful and flexible dashboards using code, or build beautiful Notion-like notebooks and share them with your team.
https://briefer.cloud
GNU Affero General Public License v3.0
3.25k stars 182 forks source link

Add Reactive Filters to Briefer #48

Open DaviYokogawa opened 3 weeks ago

DaviYokogawa commented 3 weeks ago

Hello everyone,

I would like to suggest adding reactive filters to Briefer, as we have several use cases where this feature would be very useful.

For instance, I work with a database that contains a large volume of information and numerous filters. These filters should communicate with each other, meaning that when a filter is applied, the remaining filters should only display information relevant to the filtered data.

Taking the penguins dataset as an example: if I select "Biscoe Island," the species filter should only display "Gentoo," since it is the only species that inhabits that island.

This feature would significantly improve the user experience by reducing irrelevant options in the filters and making the filtering process more efficient.

Thank you for considering this enhancement!

Screenshot 2024-09-13 at 21 02 42
lucasfcosta commented 3 weeks ago

This sounds pretty cool. I think the main think we need to think through here is how to implement that.

IMO we need general reactivity - we need to go beyond just filters.

I think we should add general reactivity, meaning Briefer detects which blocks depend on which, and may rerun them automatically.

Then we can add a button to toggle reactivity on/off.

I'd suggest that whoever is interested in contributing this should start with a POC for general reactivity and then we can continue the discussion from there.

Lmk if you have questions

mingfang commented 1 week ago

I have a similar use case. I want to be able to use the result of a query as a datasource of another query.

Deepnote has a block dependency feature https://deepnote.com/docs/execution-modes