WordPress.org

Make WordPress Core

Ticket #43364: 43364.2.patch

File 43364.2.patch, 1.8 KB (added by Girishpanchal, 21 months ago)

Updated patch with SetTimeout and removed keyup.

  • src/wp-admin/includes/options.php

     
    6464                $( 'input[name="time_format_custom"]' ).on( 'click input', function() {
    6565                        $( '#time_format_custom_radio' ).prop( 'checked', true );
    6666                });
    67                 $("input[name='date_format_custom'], input[name='time_format_custom']").change( function() {
    68                         var format = $( this ),
    69                                 fieldset = format.closest( 'fieldset' ),
    70                                 example = fieldset.find( '.example' ),
    71                                 spinner = fieldset.find( '.spinner' );
    7267
    73                         spinner.addClass( 'is-active' );
     68                $( 'input[name="date_format_custom"], input[name="time_format_custom"]' ).on( 'input', function() {
     69                        var format      = $( this ),
     70                                fieldset        = format.closest( 'fieldset' ),
     71                                example         = fieldset.find( '.example' ),
     72                                spinner         = fieldset.find( '.spinner' );
     73                        // Cleartimeout clear the timer which sets on Settimeout.
     74                        clearTimeout( $.data( this, 'timer' ) );
     75                        // Settimeout after 800ms.
     76                        $( this ).data( 'timer', setTimeout( function() {
     77                                // If custom date is not empty.
     78                                if ( format.val() ) {
     79                                        spinner.addClass( 'is-active' );
    7480
    75                         $.post( ajaxurl, {
    76                                         action: 'date_format_custom' == format.attr( 'name' ) ? 'date_format' : 'time_format',
    77                                         date : format.val()
    78                                 }, function( d ) { spinner.removeClass( 'is-active' ); example.text( d ); } );
    79                 });
     81                                        $.post( ajaxurl, {
     82                                                action: 'date_format_custom' == format.attr( 'name' ) ? 'date_format' : 'time_format',
     83                                                date    : format.val()
     84                                        }, function( d ) { spinner.removeClass( 'is-active' ); example.text( d ); } );
     85                                }
     86                        }, 800 ) );
     87                } );
    8088
    8189                var languageSelect = $( '#WPLANG' );
    8290                $( 'form' ).submit( function() {