[Library] Select all results, not just those on page 1 #2

Closed
opened 2026-08-23 11:04:22 +02:00 by vmruiz · 1 comment
Owner

Current behaviour

On the Library page, the "Select page" checkbox (library.html:90-93, #select-all) only checks the boxes of the items visible on the current page (50 per page, LIBRARY_PAGE_SIZE = 50). The bulk-actions form #bulk-form (library.html:96-98) only submits the item_ids checked on that page to POST /items/bulk-download (app/main.py:1508). There is no way to select all matching results across multiple pages.

Desired behaviour

Be able to select all results matching the current filters, not just the visible page. There should be a clear action (e.g. "Select all N results") that checks all matching items for a bulk operation, regardless of pagination.

Goals

  • Add an action in the selection bar / results header to select ALL matching results (not just the page), showing the real total (e.g. "Select all 320 results").
  • The submission to POST /items/bulk-download must be able to reference all selected IDs across pages, not just those on the visible page.
  • Keep the visual sync between the master checkbox and the selected items; the selection must persist when navigating to another page.
  • Preserve the current behaviour of pausing auto-refresh while a selection is active (window.__setAutoRefreshPaused in app.js).
  • Follow the design system (selection with card-select, selection-toolbar, vanilla JS).
## Current behaviour On the Library page, the "Select page" checkbox (`library.html:90-93`, `#select-all`) only checks the boxes of the items visible on the current page (50 per page, `LIBRARY_PAGE_SIZE = 50`). The bulk-actions form `#bulk-form` (`library.html:96-98`) only submits the `item_ids` checked on that page to `POST /items/bulk-download` (`app/main.py:1508`). There is no way to select all matching results across multiple pages. ## Desired behaviour Be able to select all results matching the current filters, not just the visible page. There should be a clear action (e.g. "Select all N results") that checks all matching items for a bulk operation, regardless of pagination. ## Goals - Add an action in the selection bar / results header to select ALL matching results (not just the page), showing the real total (e.g. "Select all 320 results"). - The submission to `POST /items/bulk-download` must be able to reference all selected IDs across pages, not just those on the visible page. - Keep the visual sync between the master checkbox and the selected items; the selection must persist when navigating to another page. - Preserve the current behaviour of pausing auto-refresh while a selection is active (`window.__setAutoRefreshPaused` in `app.js`). - Follow the design system (selection with `card-select`, `selection-toolbar`, vanilla JS).
vmruiz changed title from [Library] Seleccionar todos los resultados, no solo los de la página 1 to [Library] Select all results, not just those on page 1 2026-08-23 11:04:49 +02:00
Author
Owner

Closing per decision: infinite-scroll pagination (shipped in #8) already loads all items into the visible list, so "select all" now effectively covers every loaded result without a separate bulk "select everything in the DB" control. That scope was riskier (accidental mass operations across the whole library) and not worth it. Marking wontfix-by-design.

Closing per decision: infinite-scroll pagination (shipped in #8) already loads all items into the visible list, so "select all" now effectively covers every loaded result without a separate bulk "select everything in the DB" control. That scope was riskier (accidental mass operations across the whole library) and not worth it. Marking wontfix-by-design.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
vmruiz/telegramarr#2
No description provided.