WordPress.org

Make WordPress Core

Ticket #38164: 38164.button-link.diff

File 38164.button-link.diff, 2.6 KB (added by westonruter, 2 years ago)
  • src/wp-admin/js/customize-controls.js

    diff --git src/wp-admin/js/customize-controls.js src/wp-admin/js/customize-controls.js
    index 30e98ea..255b231 100644
     
    19751975                        if ( 'dropdown-pages' === control.params.type && control.params.allow_addition ) {
    19761976                                newItem = control.container.find( '.new-content-item' );
    19771977                                newItem.hide(); // Hide in JS to preserve flex display when showing.
     1978                                newItem.on( 'keydown', function( event ) {
     1979                                        if ( 27 === event.which ) { // Esc.
     1980                                                event.stopPropagation();
     1981                                                control.container.find( '.add-new-toggle' ).click();
     1982                                        }
     1983                                } );
    19781984                                control.container.on( 'click', '.add-new-toggle', function( e ) {
    1979                                         $( e.currentTarget ).slideUp( 180 );
    1980                                         newItem.slideDown( 180 );
     1985                                        var btn = $( e.currentTarget );
     1986                                        if ( ! newItem.is( ':visible' ) ) {
     1987                                                newItem.slideDown( 180 );
     1988                                                btn.text( btn.data( 'label-toggle-off' ) );
     1989                                        } else {
     1990                                                newItem.slideUp( 180 );
     1991                                                btn.text( btn.data( 'label-toggle-on' ) );
     1992                                        }
    19811993                                        newItem.find( '.create-item-input' ).focus();
    19821994                                });
    19831995                                control.container.on( 'click', '.add-content', function() {
     
    22692281
    22702282                                // Reset the create page form.
    22712283                                container.slideUp( 180 );
    2272                                 toggle.slideDown( 180 );
     2284                                toggle.text( toggle.data( 'label-toggle-on' ) );
    22732285                        } )
    22742286                        .always( function() {
    22752287                                input.val( '' ).removeAttr( 'disabled' );
  • src/wp-includes/class-wp-customize-control.php

    diff --git src/wp-includes/class-wp-customize-control.php src/wp-includes/class-wp-customize-control.php
    index b576c97..5434ac5 100644
    class WP_Customize_Control { 
    588588                                ?>
    589589                                </label>
    590590                                <?php if ( $this->allow_addition && current_user_can( 'publish_pages' ) && current_user_can( 'edit_theme_options' ) ) : // Currently tied to menus functionality. ?>
    591                                         <button type="button" class="button add-new-toggle"><?php echo get_post_type_object( 'page' )->labels->add_new_item; ?></button>
     591                                        <button type="button" class="add-new-toggle button-link" data-label-toggle-on="<?php echo esc_attr( get_post_type_object( 'page' )->labels->add_new_item ); ?>" data-label-toggle-off="<?php esc_attr_e( 'Cancel' ) ?>">
     592                                                <?php echo get_post_type_object( 'page' )->labels->add_new_item; ?>
     593                                        </button>
    592594                                        <div class="new-content-item">
    593595                                                <label for="create-input-<?php echo $this->id; ?>"><span class="screen-reader-text"><?php _e( 'New page title' ); ?></span></label>
    594596                                                <input type="text" id="create-input-<?php echo $this->id; ?>" class="create-item-input" placeholder="<?php esc_attr_e( 'New page title&hellip;' ); ?>">