id | title |
---|---|
customizing-deletion-prompt-matches |
Customizing the delete record prompt and match text |
As of 10.16.0, you are able to configure objects to use a "match" text in the delete prompt. You can configure both application-wide default behaviour, and object-level overrides for the default.
There are two Config.cfc settings that control whether or not match text must be input:
// default values supplied by Preside
settings.dataManager.defaults.typeToConfirmDelete = false;
settings.dataManager.defaults.typeToConfirmBatchDelete = true;
So by default, we will prompt to enter a matching text when batch deleting records, but not while deleting single records. Update the settings above to change this behaviour.
Two i18n entries are used for the match text. To change them, supply your own application/extension overrides of the properties:
# /i18n/cms.properties
datamanager.delete.record.match=delete
datamanager.batch.delete.records.match=delete
To have an object use a non-default behaviour, annotate the object cfc file with the datamanagerTypeToConfirmDelete
and/or datamanagerTypeToConfirmBatchDelete
flags:
/**
* @datamanagerTypeToConfirmDelete true
* @datamanagerTypeToConfirmBatchDelete true
*
*/
component {
// ...
}
You have two approaches available here, static i18n match text and dynamically generated text for single record deletes.
In your object's .properties
file (i.e. /i18n/preside-objects/my_object.propertes
), implement the property keys delete.record.match
and/or batch.delete.records.match
. i.e.
# ...
delete.record.match=CONFIRM
batch.delete.records.match=DO IT
To create dynamic match text per record, use the datamanager customisation: [[datamanager-customization-getrecorddeletionpromptmatch|getRecordDeletionPromptMatch]] (see guide for more details).