Customize: Add infrastructure for trashing/reverting of unpublished changes; introduce full-screen OverlayNotification for trashing and theme install/preview.
* Introduce a new `wp.customize.previewer.trash()` JS API to trash the current changeset, along with logic to `WP_Customize_Manager` to handle deleting changeset drafts. * Add `trashing` to `wp.customize.state` which is then used to update the UI. * UI for trashing is pending design feedback. One possibility is to add a new trash button to Publish Settings section that invokes `wp.customize.previewer.trash()`. * Improve logic for managing the visibility and disabled states for publish buttons. * Prevent attempting `requestChangesetUpdate` while processing and bump processing while doing `save`. * Update `changeset_date` state only if sent in save response. * Merge `ThemesSection#loadThemePreview()` into `ThemesPanel#loadThemePreview()`. * Remove unused `autosaved` state. * Start autosaving and prompting at beforeunload after a change first happens. This is key for theme previews since even if a user did not make any changes, there were still dirty settings which would get stored in an auto-draft unexpectedly. * Allow `Notification` to accept additional `classes` to be added to `container`. * Introduce `OverlayNotification` and use for theme installing, previewing, and trashing. Such overlay notifications take over the entire window. Props westonruter, celloexpressions. See #37661, #39896, #21666, #35210. Built from https://develop.svn.wordpress.org/trunk@41667 git-svn-id: http://core.svn.wordpress.org/trunk@41501 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -809,6 +809,14 @@ window.wp = window.wp || {};
|
||||
*/
|
||||
templateId: 'customize-notification',
|
||||
|
||||
/**
|
||||
* Additional class names to add to the notification container.
|
||||
*
|
||||
* @since 4.9.0
|
||||
* @var {string}
|
||||
*/
|
||||
classes: '',
|
||||
|
||||
/**
|
||||
* Initialize notification.
|
||||
*
|
||||
@@ -821,6 +829,7 @@ window.wp = window.wp || {};
|
||||
* @param {string} [params.setting] - Related setting ID.
|
||||
* @param {Function} [params.template] - Function for rendering template. If not provided, this will come from templateId.
|
||||
* @param {string} [params.templateId] - ID for template to render the notification.
|
||||
* @param {string} [params.classes] - Additional class names to add to the notification container.
|
||||
* @param {boolean} [params.dismissible] - Whether the notification can be dismissed.
|
||||
*/
|
||||
initialize: function( code, params ) {
|
||||
@@ -834,7 +843,8 @@ window.wp = window.wp || {};
|
||||
data: null,
|
||||
setting: null,
|
||||
template: null,
|
||||
dismissible: false
|
||||
dismissible: false,
|
||||
classes: ''
|
||||
},
|
||||
params
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user