WordPress.org

Make WordPress Core

Changeset 7720


Ignore:
Timestamp:
04/17/2008 07:32:38 PM (10 years ago)
Author:
ryan
Message:

Revert [7689], gonna try another approach. see #6677

Location:
trunk
Files:
2 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/edit-form-advanced.php

    r7708 r7720  
    220220<div id="category-adder" class="wp-hidden-children">
    221221    <h4><a id="category-add-toggle" href="#category-add" class="hide-if-no-js" tabindex="3"><?php _e( '+ Add New Category' ); ?></a></h4>
    222     <p id="category-add" class="wp-hidden-child"></p>
     222    <p id="category-add" class="wp-hidden-child">
     223        <input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php _e( 'New category name' ); ?>" tabindex="3" />
     224        <?php wp_dropdown_categories( array( 'hide_empty' => 0, 'name' => 'newcat_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => __('Parent category'), 'tab_index' => 3 ) ); ?>
     225        <input type="button" id="category-add-sumbit" class="add:categorychecklist:category-add button" value="<?php _e( 'Add' ); ?>" tabindex="3" />
     226        <?php wp_nonce_field( 'add-category', '_ajax_nonce', false ); ?>
     227        <span id="category-ajax-response"></span>
     228    </p>
    223229</div>
    224230
    225231<ul id="category-tabs">
    226     <li class="ui-tabs-selected"><a href="#categories-pop" tabindex="3"><?php _e( 'Most Used' ); ?></a></li>
    227     <li class="wp-no-js-hidden"><a id="category-tabs-all" href="edit-form-advanced-tabs.php?post=<?php echo $post_ID; ?>" tabindex="3"><?php _e( 'All Categories' ); ?></a></li>
     232    <li class="ui-tabs-selected"><a href="#categories-all" tabindex="3"><?php _e( 'All Categories' ); ?></a></li>
     233    <li class="wp-no-js-hidden"><a href="#categories-pop" tabindex="3"><?php _e( 'Most Used' ); ?></a></li>
    228234</ul>
    229235
    230236<div id="categories-pop" class="ui-tabs-panel" style="display: none;">
    231237    <ul id="categorychecklist-pop" class="categorychecklist form-no-clear" >
    232         <?php $popular_ids = wp_popular_terms_checklist('category'); // If we up the # here we have to do so in edit-form-advanced-tabs.php too ?>
     238        <?php $popular_ids = wp_popular_terms_checklist('category'); ?>
     239    </ul>
     240</div>
     241
     242<div id="categories-all" class="ui-tabs-panel">
     243    <ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
     244        <?php dropdown_categories( 0, 0, $popular_ids ); ?>
    233245    </ul>
    234246</div>
  • trunk/wp-admin/includes/template.php

    r7719 r7720  
    195195
    196196function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10 ) {
    197     global $checked_categories;
    198     wp_set_checked_post_categories( $default );
    199197    $categories = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => $number ) );
    200198
     
    207205        <li id="<?php echo $id; ?>" class="popular-category">
    208206            <label class="selectit" for="in-<?php echo $id; ?>">
    209             <input id="in-<?php echo $id; ?>" type="checkbox" value="<?php echo (int) $category->term_id; ?>" name="post_category[]" <?php checked( in_array( $category->term_id, $checked_categories ), true ); ?> />
     207            <input id="in-<?php echo $id; ?>" type="checkbox" value="<?php echo (int) $category->term_id; ?>" />
    210208                <?php echo wp_specialchars( apply_filters( 'the_category', $category->name ) ); ?>
    211209            </label>
  • trunk/wp-admin/js/post.js

    r7689 r7720  
    101101
    102102    // category tabs
    103     var newCatFocus = false;
    104     var categoryTabs =jQuery('#category-tabs').tabs( {
    105         cache: true,
    106         show: function(ui) {
    107             if ( 'category-tabs-all' != ui.id ) { return; } // only do this for the all tab
    108             var adder = jQuery('#category-add-hidden');
     103    var categoryTabs =jQuery('#category-tabs').tabs();
    109104
    110             if ( !adder.size() ) { return; } // we're already done
    111 
    112             // Put HTML in proper place and set up the wp-lists etc
    113             jQuery('#category-add').html( adder.remove().html() );
    114 
    115             // Ajax Cat
    116             var newCat = jQuery('#newcat').one( 'focus', function() { jQuery(this).val( '' ).removeClass( 'form-input-tip' ) } );
    117             jQuery('#category-add-sumbit').click( function() { newCat.focus(); } );
    118             var newCatParent = false;
    119             var newCatParentOption = false;
    120             var noSyncChecks = false; // prophylactic. necessary?
    121             var syncChecks = function() {
    122                 if ( noSyncChecks )
     105    // Ajax Cat
     106    var newCat = jQuery('#newcat').one( 'focus', function() { jQuery(this).val( '' ).removeClass( 'form-input-tip' ) } );
     107    jQuery('#category-add-sumbit').click( function() { newCat.focus(); } );
     108    var newCatParent = false;
     109    var newCatParentOption = false;
     110    var noSyncChecks = false; // prophylactic. necessary?
     111    var syncChecks = function() {
     112        if ( noSyncChecks )
     113            return;
     114        noSyncChecks = true;
     115        var th = jQuery(this);
     116        var c = th.is(':checked');
     117        var id = th.val().toString();
     118        jQuery('#in-category-' + id + ', #in-popular-category-' + id).attr( 'checked', c );
     119        noSyncChecks = false;
     120    };
     121    var catAddBefore = function( s ) {
     122        s.data += '&' + jQuery( '#categorychecklist :checked' ).serialize();
     123        return s;
     124    };
     125    var catAddAfter = function( r, s ) {
     126        if ( !newCatParent ) newCatParent = jQuery('#newcat_parent');
     127        if ( !newCatParentOption ) newCatParentOption = newCatParent.find( 'option[value=-1]' );
     128        jQuery(s.what + ' response_data', r).each( function() {
     129            var t = jQuery(jQuery(this).text());
     130            t.find( 'label' ).each( function() {
     131                var th = jQuery(this);
     132                var val = th.find('input').val();
     133                var id = th.find('input')[0].id
     134                jQuery('#' + id).change( syncChecks );
     135                if ( newCatParent.find( 'option[value=' + val + ']' ).size() )
    123136                    return;
    124                 noSyncChecks = true;
    125                 var th = jQuery(this);
    126                 var c = th.is(':checked');
    127                 var id = th.val().toString();
    128                 jQuery('#in-category-' + id + ', #in-popular-category-' + id).attr( 'checked', c );
    129                 noSyncChecks = false;
    130             };
    131             var catAddBefore = function( s ) {
    132                 s.data += '&' + jQuery( '#categorychecklist :checked' ).serialize();
    133                 return s;
    134             };
    135             var catAddAfter = function( r, s ) {
    136                 if ( !newCatParent ) newCatParent = jQuery('#newcat_parent');
    137                 if ( !newCatParentOption ) newCatParentOption = newCatParent.find( 'option[value=-1]' );
    138                 jQuery(s.what + ' response_data', r).each( function() {
    139                     var t = jQuery(jQuery(this).text());
    140                     t.find( 'label' ).each( function() {
    141                         var th = jQuery(this);
    142                         var val = th.find('input').val();
    143                         var id = th.find('input')[0].id
    144                         jQuery('#' + id).change( syncChecks );
    145                         if ( newCatParent.find( 'option[value=' + val + ']' ).size() )
    146                             return;
    147                         var name = jQuery.trim( th.text() );
    148                         var o = jQuery( '<option value="' +  parseInt( val, 10 ) + '"></option>' ).text( name );
    149                         newCatParent.prepend( o );
    150                     } );
    151                     newCatParentOption.attr( 'selected', true );
    152                 } );
    153             };
    154             jQuery('#categorychecklist').wpList( {
    155                 alt: '',
    156                 response: 'category-ajax-response',
    157                 addBefore: catAddBefore,
    158                 addAfter: catAddAfter
     137                var name = jQuery.trim( th.text() );
     138                var o = jQuery( '<option value="' +  parseInt( val, 10 ) + '"></option>' ).text( name );
     139                newCatParent.prepend( o );
    159140            } );
    160             jQuery('.categorychecklist .popular-category :checkbox').change( syncChecks ).filter( ':checked' ).change();
    161        
    162             if ( newCatFocus ) {
    163                 jQuery('#newcat').focus();
    164                 newCatFocus = false;
    165             }
    166         }
     141            newCatParentOption.attr( 'selected', true );
     142        } );
     143    };
     144    jQuery('#categorychecklist').wpList( {
     145        alt: '',
     146        response: 'category-ajax-response',
     147        addBefore: catAddBefore,
     148        addAfter: catAddAfter
    167149    } );
    168 
    169150    jQuery('#category-add-toggle').click( function() {
    170151        jQuery(this).parents('div:first').toggleClass( 'wp-hidden-children' );
    171         categoryTabs.tabsClick( 2 );
     152        categoryTabs.tabsClick( 1 );
    172153        jQuery('#newcat').focus();
    173         newCatFocus = true;
    174154        return false;
    175155    } );
     156    jQuery('.categorychecklist .popular-category :checkbox').change( syncChecks ).filter( ':checked' ).change();
    176157
    177158    jQuery('.edit-timestamp').click(function () {
  • trunk/wp-admin/wp-admin.css

    r7705 r7720  
    12701270}
    12711271
    1272 ul#category-tabs a {
    1273     width: 100%;
    1274     display: block;
    1275 }
    1276 
    1277 .ui-tabs-loading {
    1278     outline: none;
    1279     background: url(../images/loading.gif) no-repeat 0 50%;
    1280 }
    1281 
    12821272#linkcategorydiv ul#category-tabs {
    12831273    float: left;
  • trunk/wp-includes/script-loader.php

    r7710 r7720  
    145145                'cancel' => __('Cancel'),
    146146            ) );
    147             $this->add( 'post', '/wp-admin/js/post.js', array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20080412' );
     147            $this->add( 'post', '/wp-admin/js/post.js', array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20080411' );
    148148            $this->localize( 'post', 'postL10n', array(
    149149                'tagsUsed' =>  __('Tags used on this post:'),
Note: See TracChangeset for help on using the changeset viewer.