Skip to content

feat(ui) - Add right-click column filtering for snapshot list - #188

Open
xxxliqu1dxxx wants to merge 1 commit into
emuell:masterfrom
xxxliqu1dxxx:master
Open

xxxliqu1dxxx wants to merge 1 commit into
emuell:masterfrom
xxxliqu1dxxx:master

Conversation

@xxxliqu1dxxx

Copy link
Copy Markdown

This pull request adds functionality to restic-browser. The functionality is right clicking abilities on three columns to allow filtering by said columns. An icon shows when columns are filtered. I had to adjust the column width for hostname to make sure the icon was always seen correctly without truncating to ...

I hope this can be put in the main application as this is quality of life improvements for a great base application!

  • Right-click filter dialog on paths/tags/hostname column headers with faceted narrowing, auto-prune, and auto-clear of selection when the selected snapshot is filtered out
  • 'Filtered' header icon (vaadin:filter) shown on columns with an active filter, kept in sync via MobX reaction + updated() re-sync
  • Self-healing dialog sync fixes armed-but-invisible dialog edge case
  • hostname column fixed at width=110px so the header label never truncates with the icon present
  • AppState.clearSnapshotSelection() action for selection auto-clear

- Right-click filter dialog on paths/tags/hostname column headers with
  faceted narrowing, auto-prune, and auto-clear of selection when the
  selected snapshot is filtered out
- 'Filtered' header icon (vaadin:filter) shown on columns with an active
  filter, kept in sync via MobX reaction + updated() re-sync
- Self-healing dialog sync fixes armed-but-invisible dialog edge case
- hostname column fixed at width=110px so the header label never truncates
  with the icon present
- AppState.clearSnapshotSelection() action for selection auto-clear
@emuell

emuell commented Sep 8, 2026 •

Copy link
Copy Markdown
Owner

Thanks for the PR!

Using the existing vaadin filters could simplify a lot here:
https://vaadin.com/docs/latest/components/grid#filtering

Instead of search boxes there are could be combo boxes, so the filter content can be prefilled, just like you did.

Further, the feature is pretty hidden now with the right click. It wouldn't hurt to either always show such search boxes, or to add a global "Filter" toogle in the "Snapshots" header to show/hide them.

Are you open to work on those changes? I'd else start a new branch which uses the existing vaadin table search.

@emuell emuell closed this Sep 8, 2026
@emuell emuell reopened this Sep 8, 2026
@emuell

emuell commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Here's a WIP on how that could work with the vaadin filters:

https://github.com/emuell/restic-browser/tree/feature/snapshot-filtering

@xxxliqu1dxxx

Copy link
Copy Markdown
Author

Here's a WIP on how that could work with the vaadin filters:

https://github.com/emuell/restic-browser/tree/feature/snapshot-filtering

Hello thanks for reviewing my PR.

If you prefer the look, feel and usage of your implementation, that's fine. I just did what I thought was right to plug a feature gap in master. As a user, filtering by tag, paths, etc. just like native restic CLI, is very desirable.

Unlike my implementation, it seems like in yours, the dropdown filter is only one at a time, vs mine where you can check multiple boxes. I do not know if this is a major issue, but that's one difference.

I like that in yours, the filter button is shown as clickable vs having to right click, but I can see another change vs mine. In my implementation, clicking refresh was clearing the filters and returning to stock - in yours, when filters are applied clicking reload repository snapshots does not clear filters. Again not sure if it's a major issue, but it is another difference.

In the end, please follow your heart - The goal is to have a way to filter snapshots. I have repo of like 3000 snapshots, and it was problematic to review with original functionality so my PR was addressing that and I found other folks in Issues requesting the same thing, so thought I'd help - glad you were able to quickly implement something that allows the same ultimate goal.

All paths lead to Rome :) hahaha.

Let us all know when you are able to merge this into master ! That is a great QoL improvement.

Thanks!

@xxxliqu1dxxx

Copy link
Copy Markdown
Author

Hi @emuell , thanks again for taking the time to work through the filtering ability. I just wanted to check in: do you have a rough sense of when you expect to be able to merge the filtering feature into main? No rush per se, but I was curious to know whether there's anything I can help you with on my end in the meantime. Please let me (us all) know! Looking forward to it.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants