advplyr / audiobookshelf

Self-hosted audiobook and podcast server
https://audiobookshelf.org
GNU General Public License v3.0
6.27k stars 438 forks source link

[Enhancement]: Multiple library filters #1465

Open yuuzhan opened 1 year ago

yuuzhan commented 1 year ago

Describe the feature/enhancement

It would be nice to have more flexibility when filtering books in your library when you want to browse.

First, I would like to be able to filter off of the Negative of a filter (For Example: Does Not Contain Tag X)

Secondly, I would like to be able to use multiple filters (For Example: Progress: Not Started, Author: Stephen King, Genre: [NOT] Horror)

Thank you!

peterpiglet commented 1 year ago

That functionality would be awesome and greatly enhance usability!

Dr-Blank commented 1 year ago

It would be nice to select multiple params, not just from the same type (series) but also from other list (like the op said, combine with authors and states)

Multiple Params being selected image

Highlighting fields that have some kind of active params image

Maybe even bring all the selected params to the top, out of the sorted order to be able to disable quickly.

Raeitus commented 1 year ago

Being able to select multiple filters would be great for the users. For example, they could filter by 2 different Genres such as Fiction & History, Fiction & Space, Non-Fiction & Space

fivestones commented 8 months ago

I think both negative filters (e.g., books that aren't tagged "children's") and multiple filters (e.g., both genre of "Fantasy" and narrator of "Michael Kramer" to show only fantasy books narrated by Michael Kramer) are important.

I'd love this to be implemented!

See also: https://github.com/advplyr/audiobookshelf/issues/2197, more or less a dup of this.

sydlexius commented 5 months ago

This would be especially useful to leverage for something like dynamic collections, or for a more robust form of RBAC.

fivestones commented 5 months ago

What's RBAC?

sydlexius commented 5 months ago

It's a misapplication of the term, but it's Role-based Access Control. Right now I only make the audiobook library available to the kids, because I've got a good handle on the tags that work on that situation. For eBooks it's a different story, as the method I use for tagging isn't as good. Unfortunately, I can't setup any sort of filtering under the user profile that says allow access where tag = X and type = Y. I would assume that if we can get complex (multiple criteria with basic boolean operators) filtering, this would be a good basis to build atop of.

advplyr commented 4 months ago

A suggestion for an implementation of multiple filters was shared https://github.com/advplyr/audiobookshelf/issues/2940

Keeping this is the main thread for multiple filter support.