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.

Props westonruter.
Merges [40055] to the 4.7 branch.
See #39101.
Fixes #39353.


git-svn-id: https://develop.svn.wordpress.org/branches/4.7@40097 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Dion Hulse 2017-02-21 06:58:37 +00:00
parent ce9e48622a
commit cba5d45c90
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 );
} );