fix(tickets): bulk-delete now confirms via ConfirmDialog (MAPPS-310) #340

Merged
YousifShkara merged 1 commit from fix/MAPPS-310-ticket-bulk-delete-confirm into main 2026-06-25 11:01:34 +02:00
Owner

QA report: "Delete selected" on TicketListPage spawned the delete
fanout immediately - no "are you sure?", no recovery path. Companies /
Contracts / Assets all confirm; Tickets bulk was the outlier.

Wire the existing ConfirmDialog primitive in front of the spawn:

  • bulk_delete_confirm: Signal<Option<Vec<String>>> stashes the id
    snapshot at click time (mid-dialog selection changes can no longer
    smuggle past the prompt).
  • The Delete-selected Button sets the snapshot instead of running
    the spawn inline. The dialog's onconfirm runs the original
    join_all over DELETE /api/v1/tickets/{id}, toasts the result,
    clears selection, restarts the tickets resource, then closes.
  • bulk_delete_running mirrors the in-flight state so the dialog's
    loading prop drives the spinner and Cancel is disabled mid-flight.
  • Copy spells out the row count + the cascading deletes (notes,
    attachments, time entries follow the ticket).

#MAPPS-310

QA report: "Delete selected" on TicketListPage spawned the delete fanout immediately - no "are you sure?", no recovery path. Companies / Contracts / Assets all confirm; Tickets bulk was the outlier. Wire the existing `ConfirmDialog` primitive in front of the spawn: - `bulk_delete_confirm: Signal<Option<Vec<String>>>` stashes the id snapshot at click time (mid-dialog selection changes can no longer smuggle past the prompt). - The Delete-selected Button sets the snapshot instead of running the spawn inline. The dialog's `onconfirm` runs the original `join_all` over `DELETE /api/v1/tickets/{id}`, toasts the result, clears selection, restarts the tickets resource, then closes. - `bulk_delete_running` mirrors the in-flight state so the dialog's loading prop drives the spinner and Cancel is disabled mid-flight. - Copy spells out the row count + the cascading deletes (notes, attachments, time entries follow the ticket). #MAPPS-310
fix(tickets): bulk-delete now confirms via ConfirmDialog (MAPPS-310)
All checks were successful
Check / fmt + clippy + tests (pull_request) Successful in 1m22s
Create release / Create release from merged PR (pull_request) Has been skipped
e00902de36
QA report: "Delete selected" on TicketListPage spawned the delete
fanout immediately - no "are you sure?", no recovery path. Companies /
Contracts / Assets all confirm; Tickets bulk was the outlier.

Wire the existing `ConfirmDialog` primitive in front of the spawn:
- `bulk_delete_confirm: Signal<Option<Vec<String>>>` stashes the id
  snapshot at click time (mid-dialog selection changes can no longer
  smuggle past the prompt).
- The Delete-selected Button sets the snapshot instead of running
  the spawn inline. The dialog's `onconfirm` runs the original
  `join_all` over `DELETE /api/v1/tickets/{id}`, toasts the result,
  clears selection, restarts the tickets resource, then closes.
- `bulk_delete_running` mirrors the in-flight state so the dialog's
  loading prop drives the spinner and Cancel is disabled mid-flight.
- Copy spells out the row count + the cascading deletes (notes,
  attachments, time entries follow the ticket).

#MAPPS-310
YousifShkara deleted branch fix/MAPPS-310-ticket-bulk-delete-confirm 2026-06-25 11:01:34 +02:00
Sign in to join this conversation.
No reviewers
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
psa-systems/mokosh-apps!340
No description provided.