audiobookshelf icon indicating copy to clipboard operation
audiobookshelf copied to clipboard

[Enhancement]: Add option to select all items on the screen

Open DorjeDorf opened this issue 7 months ago • 8 comments

Type of Enhancement

Web Interface/Frontend

Describe the Feature/Enhancement

Let's say I want to add a tag to all books in a series. I would like to be able to go to a series, open it - and have a button in the top bar that would allow me to select all items currently displayed, another one to deselect all and a third one to invert selection.

Ideally, this should be available in all major screen (library, artists, series, etc).

Why would this be helpful?

It saves a lot of time when you want to bulk edit items.

Future Implementation (Screenshot)

Extra buttons above the items. Or extra menus like Plex does it (I feel the overall feel of ABS is taking a couple leafs out of Plex's book). I'd prefer individual icons to Plex's menu popping up, but at this point, I'll take anything :)

Audiobookshelf Server Version

v2.21.0

Current Implementation (Screenshot)

No there is no way to bulk select, or I couldn't find it.

DorjeDorf avatar May 10 '25 20:05 DorjeDorf

Duplicate of https://github.com/advplyr/audiobookshelf/issues/1708

You can Shift+Click to select all items between two items.

nichwall avatar May 10 '25 20:05 nichwall

I would disagree that it is a duplicate. This is not just about select/deselct all. There's also the invert option there. And while shift clicking solves my issue in general - a simple icon/button I feel would still be easier and quicker to use (I know it's a click more, but it's more user friendly and visible in the GUI). Just a better UX choice.

DorjeDorf avatar May 10 '25 20:05 DorjeDorf

Do you know of an example software that has the select all on page and deselect? The issue I'm having trouble with is how you determine how many to select if there are thousands of items. It could use screen size but what if the item only has like 10px showing. Select all feels clunky unless you are actually selecting all items. That's why it hasn't been implemented

advplyr avatar May 10 '25 21:05 advplyr

Understood.

To be perfectly honest, I don't think you should worry about this granular a devision of how much to select and not.

The way I would suggest it (putting my old product owner hat on) would be to divide the feature into batches. Start with - select all / deselect all / inverse selection within the current filtering of items. Doesn't matter how many there are. All or nothing. I would imagine this is in line with what most users would expect anyways in other systems. That's the way it would work in your operating system, when you go into a folder - they don't care how many files there are. If you select all - all gets selected even if it's thousands of files.

If you look at Plex - that's how I see them doing things. Granted... I don't have enough content on it to run up a list of thousands of items (or even tens of them on a single screen), but I'd just keep it simple for now.

You could mark it as an experimental feature and ask for feedback. If people will want to add more division into the select all - that could be investigated and done or rejected. Or add pagination and then it's even simpler - mark all on the single page.

You could even go the GMail way, where select all marks all messages on the screen and you get an extra option of marking all items in the current folder regardless whether they are shown or not. But this I would add later.

Start with small things, expand further if you need :D

Anyone else want my soap box? I'll sell it cheap :D

PS. Don't get me wrong - I absolutely love ABS. It's an amazing piece of software and a true testament to your skill and vision. But as luck would have it - there's always someone like me bugging for more... oh and Carplay! ;D

DorjeDorf avatar May 11 '25 09:05 DorjeDorf

One issue is that the items you are selecting might not be loaded yet. If they aren't loaded then we don't know if they are an audiobook or an ebook. The options that appear at the top are based on the items that are selected. For example, if you only select ebooks then you won't see a "Play" button at the top.

It could be built so that if you are selecting items that aren't loaded yet then the available bulk options are limited. This could be a confusing user experience though.

I don't think Plex handles this either from my limited testing.

This issue is related https://github.com/advplyr/audiobookshelf/issues/2950. A bug with shift selecting when not all items are loaded. It can be reproduced by grabbing the scrollbar and quickly jumping to the bottom so that the middle pages of items aren't loaded.

advplyr avatar May 11 '25 21:05 advplyr

The one place where this is the most painful, and perhaps easier to implement is the podcast episode list view:

  • From what I can tell, the entire list is preloaded even if there are hundreds of episodes (or it just loads so fast I can't tell?)
  • Shift-select does not work at all.
  • Silly js tricks don't work either such as $$('input[type="checkbox"').map(i => i.checked = true)
  • There is no other feature to delete episodes in bulk, whereas filtering episodes to what you want to delete, hitting a hypothetical Select all matching option, for example from the three dot menu and hitting Remove 168 episode(s) would be a good flow.

jinnatar avatar Jun 01 '25 15:06 jinnatar

  • preloaded even if there are hundreds of episodes (or it just loads so fast I can't tell?)
  • Shift-select does not work at all.
  • Silly js tricks don't work either such as $$('input[type="checkbox"').map(i => i.checked = true)
  • There is no other feature to delete episodes in bulk, whereas filtering episodes to what you want to delete, hitting a hypothetical Select all matching option, for example from the three dot menu and hitting Remove 168 episode

This is closer related to https://github.com/advplyr/audiobookshelf/issues/1354

advplyr avatar Jun 01 '25 16:06 advplyr

Do you know of an example software that has the select all on page and deselect?

Not sure if that'll help, but the closest I know is Suwayomi Server

Image

The square button on the top right is "Select all" (tooltip doesn't show up on the screenshot sorry), and when clicked it changes to this:

Image

"Clear" and "Cancel" respectively. "Cancel" cancels the whole thing and goes back to normal with nothing selected. "Clear" clears the selection but keeps you in select mode, and if nothing is selected the checkmark in the square disappears and the button becomes "Select All". I don't know if it selects everything visible or everything even if it's not loaded, I don't have enough items to test.

Phantomwise avatar Jun 15 '25 10:06 Phantomwise

Not sure if this should be a separate request or not, but being able to select all episodes of a podcast would be ideal, especially in cases where I need to bulk edit them. As for the selection of large numbers of items, I have seen GMail for instance will select one "page" worth of items even with infinite scrolling on and prompt for if you want to select every single match or not

linuxdaemon avatar Jul 27 '25 17:07 linuxdaemon