Use Tanstack table for Selectable Table, quick actions (#998)

* feat: implement example of data table

* feat: load item data into table

* chore: begin switching dialogs

* feat: implement old dialog for controlling headers and page size

* feat: get table into relatively usable state

* feat: enhance dropdown actions for multi-selection and CSV download

* feat: enhance table cell and dropdown button styles for better usability

* feat: json download for table

* feat: add expanded row component for item details in data table

* chore: add translation support

* feat: restore table on home page

* fix: oops need ids

* feat: move card view to use tanstack to allow for pagination

* feat: switch the items search to use ItemViewSelectable

* fix: update pagination handling and improve button click logic

* feat: improve selectable table

* feat: add indeterminate to checkbox

* feat: overhaul maintenance dialog to use new system and add maintenance options to table

* feat: add label ids and location id to item patch api

* feat: change location and labels in table view

* feat: add quick actions preference and enable toggle in table settings

* fix: lint

* fix: remove sized 1 pages

* fix: attempt to fix type error

* fix: various issues

* fix: remove

* fix: refactor item fetching logic to use useAsyncData for improved reactivity and improve use confirm

* fix: sort backend issues

* fix: enhance CSV export functionality by escaping fields to prevent formula injection

* fix: put aria sort on th not button

* chore: update api types
This commit is contained in:
Tonya
2025-09-24 02:37:38 +01:00
committed by GitHub
parent a5d63ac4e1
commit 6cd9e2779f
48 changed files with 1959 additions and 617 deletions

View File

@@ -3661,6 +3661,19 @@
"id": {
"type": "string"
},
"labelIds": {
"type": "array",
"items": {
"type": "string"
},
"x-omitempty": true,
"nullable": true
},
"locationId": {
"type": "string",
"x-omitempty": true,
"nullable": true
},
"quantity": {
"type": "integer",
"x-omitempty": true,

View File

@@ -2293,6 +2293,16 @@ components:
properties:
id:
type: string
labelIds:
type: array
items:
type: string
x-omitempty: true
nullable: true
locationId:
type: string
x-omitempty: true
nullable: true
quantity:
type: integer
x-omitempty: true

View File

@@ -3481,6 +3481,19 @@
"id": {
"type": "string"
},
"labelIds": {
"type": "array",
"items": {
"type": "string"
},
"x-nullable": true,
"x-omitempty": true
},
"locationId": {
"type": "string",
"x-nullable": true,
"x-omitempty": true
},
"quantity": {
"type": "integer",
"x-nullable": true,

View File

@@ -875,6 +875,16 @@ definitions:
properties:
id:
type: string
labelIds:
items:
type: string
type: array
x-nullable: true
x-omitempty: true
locationId:
type: string
x-nullable: true
x-omitempty: true
quantity:
type: integer
x-nullable: true

View File

@@ -102,3 +102,11 @@ The copy to clipboard functionality requires a secure context (HTTPS or localhos
To enable this feature:
- Use HTTPS by setting up a reverse proxy (like Nginx or Caddy)
- OR access Homebox through localhost
## Open Multiple Items in New Tabs
By default browsers prevent opening multiple tabs with one click, to allow for the `View Items` button to work you therefore need to enable a setting usually called `Allow pop-ups and redirects` or similar for the domain you're using Homebox on.
- Chrome: [Block or allow pop-ups in Chrome](https://support.google.com/chrome/answer/95472?hl=en-GB&co=GENIE.Platform%3DDesktop#zippy=%2Callow-pop-ups-and-redirects-from-a-site)
- Firefox: [Pop-up blocker settings, exceptions and troubleshooting](https://support.mozilla.org/en-US/kb/pop-blocker-settings-exceptions-troubleshooting)
- Safari: [Block pop-up ads and windows in Safari](https://support.apple.com/en-gb/102524)