Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Smart list filter builder #464

Merged
merged 34 commits into from
Oct 10, 2024
Merged

✨ Smart list filter builder #464

merged 34 commits into from
Oct 10, 2024

Conversation

aaronleopold
Copy link
Collaborator

@aaronleopold aaronleopold commented Oct 6, 2024

Resolves #174

ℹ️ There are a few things in the linked issue which this PR does not cover, e.g. virtualization or sorting options baked into the config, but to trim down the project board I am marking this PR as resolving the issue. If people want this feature extended for x, y, or z, we can make a smaller-scoped feature request

I'm super excited about this one. This PR adds a proper filter builder to the UI so you can construct smart lists without having to interact with the API directly. A few other highlights besides the builder itself:

  • Stepped form pattern for creating smart lists
  • Rewrite schema for the create/update form(s)
  • Rewrite the settings to align with other settings pages (see image below)
  • Almost full translation coverage for smart list create/update pages/sections

There are a lot of changes here, though, so rather than enumerating them all I think a picture is worth a thousand words:

image

There are a few remaining tasks before this can go to experimental, the big one being that numeric fields are 50/50 for functionality. E.g. filtering a number field by applying a range. I'm going to prioritize getting 0.0.7 out this week, so this might not land in experimental until the following week.

Copy link

codecov bot commented Oct 6, 2024

Codecov Report

Attention: Patch coverage is 74.74747% with 25 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
apps/server/src/routers/api/v1/smart_list.rs 0.00% 16 Missing ⚠️
core/src/db/filter/smart_filter.rs 89.15% 9 Missing ⚠️
Files with missing lines Coverage Δ
core/src/db/filter/smart_filter.rs 80.41% <89.15%> (ø)
apps/server/src/routers/api/v1/smart_list.rs 0.00% <0.00%> (ø)

@aaronleopold
Copy link
Collaborator Author

aaronleopold commented Oct 10, 2024

I believe I've sorted all of the numeric issues. I've been thinking about it and I think I might just merge this in tonight, I'm excited to get it out and tested. It will also be a good buffer to have it in experimental for a few days, release 0.0.7, then promote it to nightly shortly after. So, once CI is ✅ I'll merge this

I am certain there are multiple bugs here and there, it is still an experimental feature with rough edges and that should be expected. FYI @JMicheli, if you were planning on updating the macros and pushing to this feature branch it can just be a follow-up instead. I got things compiling with your suggestions, as well, so thank you!

@aaronleopold aaronleopold marked this pull request as ready for review October 10, 2024 01:03
@aaronleopold aaronleopold merged commit 5906397 into experimental Oct 10, 2024
8 checks passed
@aaronleopold aaronleopold deleted the al/smart-list-ui branch October 10, 2024 01:03
@aaronleopold aaronleopold mentioned this pull request Dec 4, 2024
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.

1 participant