Skip to content

Bulk-action row checkboxes + select-all + actions toolbar on the list #182

@MartinCastroAlvarez

Description

@MartinCastroAlvarez

Repo-owner report, 2026-05-26: "there are no checkboxes to select and apply actions to multiple records; wrong."

The list page has no row-selection + bulk-action UI, even though the backend ships it.

Backend already exists

Frontend gap (3 layers, none built)

  1. @dar/api: add client.runAction(app, model, actionName, pks) — the only package that talks to the backend.
  2. @dar/data: a runAction mutation/hook wrapping it (page packages can't import @dar/api).
  3. ListPage.tsx:
    • a checkbox column + header select-all (with indeterminate state),
    • a bulk-action toolbar that appears when ≥1 row is selected: an actions <select> (from data.actions) + a Go button,
    • requires_confirmation actions prompt before running,
    • after run, refresh the list + toast the result.

Parity target

Django admin's changelist: the checkbox column, "Action: [dropdown] Go", "Select all N" affordance, and the action-confirmation interstitial for destructive actions.

Acceptance (ACCEPTANCE §2.9 E-6a..E-6c made real)

A ModelAdmin with actions = [...] surfaces a checkbox column + action dropdown on the SPA list; selecting rows + an action + Go runs it server-side (permission-gated) and reflects the result.

Priority

P0 / v0.1 / Frontend. Sibling to the CRUD-affordance issue; both are the core list-action loop.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestparityDjango admin parity gap (tracked in #147)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions