Problem/Motivation
We have some confirm forms that are more destructive than others. For example, the module uninstall confirm form can result in deleting large numbers of configuration entities, dropping database tables etc..
This came up whilst reviewing a new feature to delete content entities prior to uninstallation of a module where it was suggested that we swap the buttons and mark the delete all button as a danger button. See #2688945-90: Allow removing a module's content entities prior to module uninstallation. Eventually we decided not to do that because of UX concerns.
Proposed resolution
Some proposed designs so far have included one or more of these elements:
- A modal confirm form, like the node preview links provide.
- An extra field that forces the user to type in "Delete".
- An extra checkbox that is something like "Yes, I really want to delete all these things."
- Making the destructive operation link-styled instead of button-styled.
- Using more red.
- Swapping the position of the "Do it" and "Cancel" buttons.
Remaining tasks
Review the design.
User interface changes
API changes
Data model changes
None
Screenshots
Modules
http://127.0.0.1:8888/admin/modules/uninstall/confirm
Themes
http://127.0.0.1:8888/admin/appearance
Uninstalling a theme displays no warning even though all of the theme's blocks are deleted.
Nodes
http://127.0.0.1:8888/node/16/delete
Block: Custom
http://127.0.0.1:8888/block/1/delete
Block Block layout (Remove)
http://127.0.0.1:8888/admin/structure/block/manage/umami_search/delete
Book: Main
http://127.0.0.1:8888/node/BID/delete
Book: Page
http://127.0.0.1:8888/node/NID/delete
Comment
http://127.0.0.1:8888/comment/COMMENT_ID/delete
Contact form
http://127.0.0.1:8888/admin/structure/contact/manage/feedback/delete
Content type
http://127.0.0.1:8888/admin/structure/types/manage/article/delete
Field
http://127.0.0.1:8888/admin/structure/types/manage/article/fields/node.a...
Image style
http://127.0.0.1:8888/admin/config/media/image-styles/manage/large/delete
Media type
http://127.0.0.1:8888/admin/structure/media/manage/audio/delete
Media entity
http://127.0.0.1:8888/media/1/deletee
Menu
http://127.0.0.1:8888/admin/structure/menu/manage/example/delete
Menu: Link
http://127.0.0.1:8888/admin/structure/menu/item/1/delete
Language
http://127.0.0.1:8888/admin/config/regional/language/delete/es
Taxonomy: Vocabulary
http://127.0.0.1:8888/admin/structure/taxonomy/manage/recipe_category/de...
Taxonomy: Term
http://127.0.0.1:8888/taxonomy/term/27/delete
Text format (Disable)
http://127.0.0.1:8888/admin/config/content/formats/manage/basic_html/dis...
User (Cancel)
http://127.0.0.1:8888/user/2/cancel
User: Role
http://127.0.0.1:8888/admin/people/roles/manage/administrator/delete
Views
http://127.0.0.1:8888/admin/structure/views/view/articles_aside/delete