WordPress.org

Make WordPress Core

Ticket #14936: 14936.ajax.filter.patch

File 14936.ajax.filter.patch, 3.4 KB (added by ocean90, 3 years ago)
  • wp-admin/js/theme.dev.js

     
    44        ThemeViewer = function( args ) { 
    55 
    66                function filter_count() { 
    7                         var count = $( '#filters :checked' ).length; 
     7                        var count = $( '#filter-box :checked' ).length; 
    88                        var text  = $( '#filter-click' ).text(); 
    99 
    1010                        if ( text.indexOf( '(' ) != -1 ) 
     
    1919                function init() { 
    2020                        $( '#filter-click, #mini-filter-click' ).unbind( 'click' ).click( function() { 
    2121                                $( '#filter-click' ).toggleClass( 'current' ); 
    22                                 $( '#filters' ).slideToggle(); 
     22                                $( '#filter-box' ).slideToggle(); 
    2323                                $( '#current-theme' ).slideToggle( 300 ); 
    2424                                return false; 
    2525                        }); 
    2626 
    27                         $( '#filters :checkbox' ).unbind( 'click' ).click( function() { 
     27                        $( '#filter-box :checkbox' ).unbind( 'click' ).click( function() { 
    2828                                filter_count(); 
    2929                        }); 
    3030 
     
    5454 
    5555                                return false; 
    5656                        }); 
     57                         
     58                        $('#filter-box :submit').unbind( 'click' ).click(function() { 
     59                                var data = $('#filter-box').find(':input').serializeObject(); 
     60                                var search_data = $('.search-box').find(':input').serializeObject(); 
     61                                $.extend( data, search_data); 
     62 
     63                                listTable.update_rows(data, true, function() { 
     64                                        $( '#filter-click' ).toggleClass( 'current' ); 
     65                                        $( '#filter-box' ).slideToggle(); 
     66                                        $( '#current-theme' ).slideToggle( 300 ); 
     67                                }); 
     68                                 
     69                                return false; 
     70                        }); 
    5771                } 
    5872 
    5973                // These are the functions we expose 
  • wp-admin/js/list-table.dev.js

     
    224224                ev.stopImmediatePropagation(); 
    225225 
    226226                var data = $(this).parent('.search-box').find(':input').serializeObject(); 
     227                 
     228                // Extend search data with filter data if #filter-box exists (see Themes page) 
     229                if ( $('#filter-box').length ) 
     230                        $.extend( data, $('#filter-box').find(':input').serializeObject() ); 
    227231 
    228232                listTable.update_rows(data, true, function() { 
    229233                        if ( $('h2.nav-tab-wrapper').length ) 
  • wp-admin/themes.php

     
    129129?> 
    130130<h3><?php _e('Available Themes'); ?></h3> 
    131131 
    132 <form class="search-form" action="" method="get"> 
     132<form class="search-form filter-form" action="" method="get"> 
    133133<p class="search-box"> 
    134134        <label class="screen-reader-text" for="theme-search-input"><?php _e('Search Themes'); ?>:</label> 
    135135        <input type="text" id="theme-search-input" name="s" value="<?php _admin_search_query(); ?>" /> 
     
    139139 
    140140<br class="clear"/> 
    141141 
    142 <div id="filters" style="display: none;"> 
     142<div id="filter-box" style="display: none;"> 
    143143<?php $feature_list = get_theme_feature_list(); ?> 
    144144        <div class="feature-filter"> 
    145145                <p class="install-help"><?php _e('Theme filters') ?></p> 
     
    154154                                <?php foreach ( $features as $key => $feature ) : 
    155155                                                $feature_name = $feature; 
    156156                                                $feature_name = esc_html( $feature_name ); 
    157                                                 $feature = esc_attr($feature); 
     157                                                $feature = esc_attr( $feature ); 
    158158                                                ?> 
    159159                                <li> 
    160160                                        <input type="checkbox" name="features[<?php echo $key; ?>]" id="feature-id-<?php echo $key; ?>" value="<?php echo $key; ?>" <?php checked( in_array( $key, $wp_list_table->features ) ); ?>/>