WordPress.org

Make WordPress Core

Ticket #42348: 42348.2.diff

File 42348.2.diff, 2.1 KB (added by westonruter, 4 years ago)
  • src/wp-admin/js/theme.js

    diff --git src/wp-admin/js/theme.js src/wp-admin/js/theme.js
    index 0f35f9fa36..af8f1b360a 100644
    themes.view.Appearance = wp.Backbone.View.extend({ 
    102102                        collection: self.collection,
    103103                        parent: this
    104104                });
     105                self.searchView = view;
    105106
    106107                // Render and append after screen title
    107108                view.render();
    themes.view.Search = wp.Backbone.View.extend({ 
    13471348                        event.target.value = '';
    13481349                }
    13491350
    1350                 // Note that doSearch is throttled.
     1351                // Since doSearch is debounced, it will only run when user input comes to a rest.
    13511352                this.doSearch( event );
    13521353        },
    13531354
    13541355        // Runs a search on the theme collection.
    1355         doSearch: _.throttle( function( event ) {
     1356        doSearch: function( event ) {
    13561357                var options = {};
    13571358
    13581359                this.collection.doSearch( event.target.value.replace( /\+/g, ' ' ) );
    themes.view.Search = wp.Backbone.View.extend({ 
    13701371                } else {
    13711372                        themes.router.navigate( themes.router.baseUrl( '' ) );
    13721373                }
    1373         }, 500 ),
     1374        },
    13741375
    13751376        pushState: function( event ) {
    13761377                var url = themes.router.baseUrl( '' );
    themes.Run = { 
    14611462                        pushState: true,
    14621463                        hashChange: false
    14631464                });
     1465
     1466                // Start debouncing user searches.
     1467                this.view.searchView.doSearch = _.debounce( this.view.searchView.doSearch, 500 );
    14641468        },
    14651469
    14661470        routes: function() {
    themes.view.InstallerSearch = themes.view.Search.extend({ 
    15201524                this.doSearch( event.target.value );
    15211525        },
    15221526
    1523         doSearch: _.throttle( function( value ) {
     1527        doSearch: function( value ) {
    15241528                var request = {};
    15251529
    15261530                // Don't do anything if the search terms haven't changed.
    themes.view.InstallerSearch = themes.view.Search.extend({ 
    15641568
    15651569                // Set route
    15661570                themes.router.navigate( themes.router.baseUrl( themes.router.searchPath + encodeURIComponent( value ) ), { replace: true } );
    1567         }, 500 )
     1571        }
    15681572});
    15691573
    15701574themes.view.Installer = themes.view.Appearance.extend({
    themes.RunInstaller = { 
    19351939                        pushState: true,
    19361940                        hashChange: false
    19371941                });
     1942
     1943                // Start debouncing user searches.
     1944                this.view.searchView.doSearch = _.debounce( this.view.searchView.doSearch, 500 );
    19381945        },
    19391946
    19401947        routes: function() {