I have an interface for managing account fields in a web app like so:
download bmml source – Wireframes created with Balsamiq Mockups
The premise is simple: Fields are of 2 types (public and private). The above interface contains 3 lists, of which the fields inside are drag and droppable. So, if I want to make Field 3
public, I simply drag it into the appropriate position in the Public Fields
list. If I want to delete Field 4
, I drag it into Deleted Fields
.
There are 4 types of fields:
- Default fields that cannot be deleted.
- Default fields that cannot be deleted and made private
- Fields which were created previously and data has been entered and saved (
contains data
). - Fields that were just added and contains no data at all (no descriptive text in the interface).
To delete a field, the user can simply drag it into the Deleted Fields list or, if he is editing the field, he can use the delete button:
Nothing is changed until the user presses Save Fields
. At this point, a request is sent to the server, and if any deleted fields contain data, the data is also deleted. If the request is successful, the items in Deleted Fields
are then removed and no longer recoverable.
Given the above:
I feel that it is important that we warn the user that data will be lost when fields containing collected data is deleted. The warning would essentially be a modal that pops up and behaves like a
Confirmation dialogue
. Should this be done immediately (a field dragged to deleted fields or delete button clicked) or should it be done when the user clicksSave Fields
?Does the
Contains data
microcopy communicate the fact that the field stores previously data properly? I would like a phrase that's terse enough but still communicates the idea that the fieldcontains data
properly.