Make WordPress Core

Ticket #14936: 14936.ajax.filter.patch

File 14936.ajax.filter.patch, 3.4 KB (added by ocean90, 14 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 ) ); ?>/>