This was inspired by watching a Page Manager/Panels screencast and could be an alternative or additional solution to #1656 as well as other UX issues. Here's what it looks like when you change the position and/or settings of a panel pane in the respective Panel regions in D7:

d7-panels-changes_not_saved_status_message_on_blocks

Showing something like that upon hitting the save button of each block config dialog would act as an indicator telling the user that they still need to hit the main form "save" button ...and it would always be within their viewport. Additional ideas:

  • Change the background color of the block (and the region perhaps?). For UI consistency, we can reuse the same color that we apply to dragged/rearranged table rows (they get a drag-previous class that gives them the #ffb color in Seven: https://github.com/backdrop/backdrop/blob/1.x/core/themes/seven/css/styl...).

  • For removed blocks, we can be leaving the block on the form, styled as a "ghost block" until the form is actually saved. There will be a "Restore" dropbutton action that will be replacing the "Remove" action and that will be becoming the default one. This will be providing users with the chance to undo block removals without having to cancel all the block changes they might have previously done.

  • Add to the changed block header title the same asterisk that other altered but not yet saved elements get in various other places throughout the admin UI (<abbr class="warning tabledrag-changed" title="Changed">*</abbr>).

  • The current "Save block" label that we use in the block config dialogs contributes to the bad UX as it includes the misleading word save. Often users leave the form without hitting the submit button because they thing that hitting that "Save block" button actually saves the config. Perhaps we should change that to something like "Update block settings".

  • 2429

GitHub Issue #: 
2430