Customize: Ensure edit shortcuts get re-created for nested partials when a parent partial is refreshed.

Fixes issue where the edit shortcut for a nav menu gets dropped when the containing Custom Menu widget is updated.

See #39101.
Fixes #39353.


git-svn-id: https://develop.svn.wordpress.org/trunk@40055 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Weston Ruter 2017-02-11 03:34:10 +00:00
parent dae17ac91a
commit 61752051de
1 changed files with 11 additions and 6 deletions

View File

@ -849,7 +849,7 @@ wp.customize.selectiveRefresh = ( function( $, api ) {
containerElements = containerElements.add( rootElement );
}
containerElements.each( function() {
var containerElement = $( this ), partial, id, Constructor, partialOptions, containerContext;
var containerElement = $( this ), partial, placement, id, Constructor, partialOptions, containerContext;
id = containerElement.data( 'customize-partial-id' );
if ( ! id ) {
return;
@ -874,14 +874,19 @@ wp.customize.selectiveRefresh = ( function( $, api ) {
*/
if ( options.triggerRendered && ! containerElement.data( 'customize-partial-content-rendered' ) ) {
/**
* Announce when a partial's nested placement has been re-rendered.
*/
self.trigger( 'partial-content-rendered', new Placement( {
placement = new Placement( {
partial: partial,
context: containerContext,
container: containerElement
} ) );
} );
$( placement.container ).attr( 'title', self.data.l10n.shiftClickToEdit );
partial.createEditShortcutForPlacement( placement );
/**
* Announce when a partial's nested placement has been re-rendered.
*/
self.trigger( 'partial-content-rendered', placement );
}
containerElement.data( 'customize-partial-content-rendered', true );
} );