feat(10-03): search, sort, filter, page and bulk-delete any list
- List state (search, sort, dir, page, per_page, filter[<name>]) lives in
the URL query through parseListQuery/toListQuery; every change is a
router replace and clears the selection; search is debounced 300 ms and
resets the page
- DataTable renders the schema columns with a tri-state page checkbox,
asc/desc/none sorting with aria-sort, selected rows, a sticky header,
eight skeleton rows while loading and an empty slot
- CellValue renders text (muted dash when empty, arrays comma-joined),
datetime as YYYY-MM-DD HH:mm and switch as the Tak/Nie pills
- The heading shows the plural recordCount and the create button;
delete sits in the toolbar, disabled without a selection, and confirms
with the plural deleteConfirm in a Reka alert dialog before POSTing
bulk-delete; a 409 shows a danger toast
- FilterBar renders switch (JSON of the option value), daterange
(from..to) and scope filters (choices from filters/{scope}/options)
- Pagination shows the range, the per-page select over perPageOptions
(hidden with one choice) and a pager with ellipsis
- The tracer smoke test skips the new checkbox column; new backend::lang
list keys; boardwalk/dist rebuilt
This commit is contained in:
21
admin/tests/fixtures/lang.json
vendored
21
admin/tests/fixtures/lang.json
vendored
@@ -117,12 +117,27 @@
|
||||
"backend::lang.list.column_updated": {
|
||||
"other": "Zaktualizowano"
|
||||
},
|
||||
"backend::lang.list.delete_failed": {
|
||||
"other": "Nie udało się usunąć zaznaczonych rekordów."
|
||||
},
|
||||
"backend::lang.list.delete_selected": {
|
||||
"other": "Usuń zaznaczone"
|
||||
},
|
||||
"backend::lang.list.empty_value": {
|
||||
"other": "—"
|
||||
},
|
||||
"backend::lang.list.filter_all": {
|
||||
"other": "Wszystkie"
|
||||
},
|
||||
"backend::lang.list.filter_from": {
|
||||
"other": "Od"
|
||||
},
|
||||
"backend::lang.list.filter_to": {
|
||||
"other": "Do"
|
||||
},
|
||||
"backend::lang.list.filters": {
|
||||
"other": "Filtry"
|
||||
},
|
||||
"backend::lang.list.load_failed": {
|
||||
"other": "Nie udało się wczytać listy."
|
||||
},
|
||||
@@ -138,6 +153,9 @@
|
||||
"backend::lang.list.no_results": {
|
||||
"other": "0 wyników"
|
||||
},
|
||||
"backend::lang.list.pagination": {
|
||||
"other": "Stronicowanie"
|
||||
},
|
||||
"backend::lang.list.pagination_range": {
|
||||
"other": ":from–:to z :total"
|
||||
},
|
||||
@@ -153,6 +171,9 @@
|
||||
"many": ":count wyników",
|
||||
"other": ":count wyniku"
|
||||
},
|
||||
"backend::lang.list.search": {
|
||||
"other": "Szukaj"
|
||||
},
|
||||
"backend::lang.list.search_prompt": {
|
||||
"other": "Szukaj…"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user