Changeset 36796
- Timestamp:
- 03/01/2016 10:03:27 PM (9 years ago)
- Location:
- trunk/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/js/customize-controls.js
r36709 r36796 3469 3469 3470 3470 // Focus the autofocused element 3471 _.each( [ 'panel', 'section', 'control' ], function ( type ) { 3472 var instance, id = api.settings.autofocus[ type ]; 3473 if ( id && api[ type ]( id ) ) { 3474 instance = api[ type ]( id ); 3475 // Wait until the element is embedded in the DOM 3476 instance.deferred.embedded.done( function () { 3477 // Wait until the preview has activated and so active panels, sections, controls have been set 3478 api.previewer.deferred.active.done( function () { 3471 _.each( [ 'panel', 'section', 'control' ], function( type ) { 3472 var id = api.settings.autofocus[ type ]; 3473 if ( ! id ) { 3474 return; 3475 } 3476 3477 /* 3478 * Defer focus until: 3479 * 1. The panel, section, or control exists (especially for dynamically-created ones). 3480 * 2. The instance is embedded in the document (and so is focusable). 3481 * 3. The preview has finished loading so that the active states have been set. 3482 */ 3483 api[ type ]( id, function( instance ) { 3484 instance.deferred.embedded.done( function() { 3485 api.previewer.deferred.active.done( function() { 3479 3486 instance.focus(); 3480 3487 }); 3481 3488 }); 3482 } 3489 }); 3483 3490 }); 3484 3491 -
trunk/src/wp-includes/class-wp-customize-manager.php
r36776 r36796 1729 1729 'sections' => array(), 1730 1730 'nonce' => $this->get_nonces(), 1731 'autofocus' => array(),1731 'autofocus' => $this->get_autofocus(), 1732 1732 'documentTitleTmpl' => $this->get_document_title_template(), 1733 1733 'previewableDevices' => $this->get_previewable_devices(), … … 1751 1751 } 1752 1752 } 1753 }1754 }1755 1756 // Pass to front end the Customizer construct being deeplinked.1757 foreach ( $this->get_autofocus() as $type => $id ) {1758 $can_autofocus = (1759 ( 'control' === $type && $this->get_control( $id ) && $this->get_control( $id )->check_capabilities() )1760 ||1761 ( 'section' === $type && isset( $settings['sections'][ $id ] ) )1762 ||1763 ( 'panel' === $type && isset( $settings['panels'][ $id ] ) )1764 );1765 if ( $can_autofocus ) {1766 $settings['autofocus'][ $type ] = $id;1767 1753 } 1768 1754 }
Note: See TracChangeset
for help on using the changeset viewer.