Skip to content

[FE-55] Add bulk actions to asset list — multi-select with bulk status update, assign, and delete #1043

Description

@yusuftomilola

Overview

The asset list page shows up to hundreds of assets but only supports individual actions per row. Operations teams need to select multiple assets and apply a change to all of them in one action — e.g., change a lab full of laptops to MAINTENANCE status before a repair event. Depends on BE-68 for the bulk API endpoints.

Context

  • Asset list page: frontend/app/(dashboard)/assets/page.tsx
  • Bulk API endpoints (from BE-68): PATCH /assets/bulk/status, PATCH /assets/bulk/assign, DELETE /assets/bulk
  • The table is rendered using a data table component — extend it with a checkbox column

Acceptance Criteria

  • Add a checkbox column to the asset table — checking any row enters "selection mode"
  • "Select All" checkbox in the header selects all rows on the current page
  • A floating action bar appears at the bottom of the screen when 1+ assets are selected, showing: selected count, "Update Status", "Assign", "Delete" buttons
  • "Update Status" opens a dropdown to pick the new status, then calls PATCH /assets/bulk/status
  • "Assign" opens a modal with user selector and department selector, then calls PATCH /assets/bulk/assign
  • "Delete" shows a confirmation dialog with the count, then calls DELETE /assets/bulk (ADMIN only, hide for other roles)
  • On completion: show a result toast — "Updated 12 assets. 2 skipped (already retired)."

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions