Client Survey
| Id | Name (Link) | Surname | Gender | Mobile | Age | Last Updated On |
|---|
1
2
3
...
Requirement: Form and DB Operation 8 - Bulk Permanent Delete
This exercise replaces the soft-delete functionality with a **bulk, permanent delete** operation, simulating how developers handle mass cleanup or irreversible data removal in the backend.
List Screen Updates:
- The **Remove** column is replaced with a **Checkbox Column** at the start of the table.
- The header of this new column must contain a **Select All** checkbox to select/deselect all displayed records.
- A new action button, **Delete Selected**, must be placed before the **Add Survey** button.
Bulk Delete Functionality:
- Users can select multiple records using the row checkboxes or the **Select All** header checkbox.
- The **Delete Selected** button must be disabled when no records are selected and display the count of selected records (e.g., "Delete Selected (3)").
- Clicking **Delete Selected** must open a confirmation popup, clearly stating the **permanent** nature of the deletion.
- Upon confirmation (**Yes**):
- The operation must perform a **Permanent Delete** (**Hard Delete**), removing the records entirely from the underlying data source (MOCK: the `clientSurveys` array).
- A **Spinner** must be shown during the operation.
- The list must refresh to show the remaining records.
Hint (OutSystems): Bulk operations usually involve passing a **List of Identifiers** to a Server Action which then executes an Advanced SQL or loop-based delete on the backend.
Practice with Ankit | Form and DB Operations