WordPress.org

Make WordPress Core

Ticket #7687: menusearch.diff

File menusearch.diff, 4.1 KB (added by nbachiyski, 6 years ago)
  • wp-includes/js/jquery/suggest.js

     
    130130                                        displayItems(cached['items']); 
    131131                                         
    132132                                } else { 
    133                                  
    134                                         $.get(options.source, {q: q}, function(txt) { 
    135  
     133                                    var process = function(txt) { 
    136134                                                $results.hide(); 
    137                                                  
    138135                                                var items = parseTxt(txt, q); 
    139                                                  
    140136                                                displayItems(items); 
    141                                                 addToCache(q, items, txt.length); 
    142                                                  
    143                                         }); 
     137                                                addToCache(q, items, txt.length);        
     138                                        }; 
     139                                        if ('string' == typeof options.source) 
     140                                                $.get(options.source, {q: q}, process); 
     141                                        else if ($.isFunction(options.source)) 
     142                                                process(options.source(q)); 
     143                                        else if (options.source instanceof Array) { 
     144                                                q = q.toLowerCase(); 
     145                                                res = []; 
     146                                                for(i=0; i<options.source.length; ++i) { 
     147                                                        if (options.source[i].toLowerCase().indexOf(q) >= 0) 
     148                                                                res[res.length] = options.source[i]; 
     149                                                } 
     150                                                process(res); 
     151                                        } 
    144152                                         
    145153                                } 
    146154                                 
     
    217225                function parseTxt(txt, q) { 
    218226                         
    219227                        var items = []; 
    220                         var tokens = txt.split(options.delimiter); 
     228                        var tokens = txt instanceof Array ? txt : txt.split(options.delimiter); 
    221229                         
    222230                        // parse returned data for non-empty items 
    223231                        for (var i = 0; i < tokens.length; i++) { 
  • wp-includes/script-loader.php

     
    4444        $scripts->base_url = $guessurl; 
    4545        $scripts->default_version = get_bloginfo( 'version' ); 
    4646 
    47         $scripts->add( 'common', '/wp-admin/js/common.js', array('jquery', 'user-settings'), '20080318' ); 
     47        $scripts->add( 'common', '/wp-admin/js/common.js', array('jquery', 'user-settings', 'suggest'), '20080904' ); 
    4848        $scripts->add( 'sack', '/wp-includes/js/tw-sack.js', false, '1.6.1' ); 
    4949 
    5050        $scripts->add( 'quicktags', '/wp-includes/js/quicktags.js', false, '20080823' ); 
     
    285285 
    286286        $rtl_styles = array( 'global', 'colors', 'dashboard', 'ie', 'install', 'login', 'media', 'theme-editor', 'upload', 'widgets', 'press-this', 'press-this-ie' ); 
    287287 
    288         $styles->add( 'wp-admin', '/wp-admin/wp-admin.css', array(), '20080829' ); 
     288        $styles->add( 'wp-admin', '/wp-admin/wp-admin.css', array(), '20080904' ); 
    289289        $styles->add_data( 'wp-admin', 'rtl', '/wp-admin/rtl.css' ); 
    290290 
    291291        $styles->add( 'ie', '/wp-admin/css/ie.css' ); 
  • wp-admin/menu-header.php

     
    115115<ul id="adminmenu" class="wp-menu"> 
    116116 
    117117<li class="write-new-button"><a class="button-secondary" href="post-new.php"><?php _e( 'Write New Post' ); ?></a></li> 
     118<li><input type="text" id="menusearch" value="" /></li> 
     119 
    118120<?php 
    119121 
    120122_wp_menu_output( $menu, $submenu ); 
  • wp-admin/wp-admin.css

     
    657657        text-align: center; 
    658658        color: #246; 
    659659} 
    660          
     660ul#adminmenu input#menusearch { 
     661        width: 10em; 
     662} 
    661663 
    662664#wphead h1 { 
    663665        font: normal 36px Georgia, "Times New Roman", Times, serif; 
  • wp-admin/js/common.js

     
    6969} ); 
    7070 
    7171//jQuery(function(){jQuery('#media-buttons a').tTips();}); 
     72 
     73jQuery( function($) { 
     74        var link_href = {}; 
     75        var links = []; 
     76        function press_key( e ) { 
     77                if ( 13 == e.keyCode ) { 
     78                        var href = link_href[$('#menusearch').val().toLowerCase()]; 
     79                        if (href) window.location = href; 
     80                        return false; 
     81                } 
     82        }; 
     83        $('#menusearch').keypress(press_key); 
     84        $('ul#adminmenu a').each(function(){ 
     85                var text = $.trim($(this).text()); 
     86                var href = this.href; 
     87                links[links.length] = text; 
     88                link_href[text.toLowerCase()] = href; 
     89        }); 
     90        $('#menusearch').suggest( links, { delay: 100, minchars: 2, multiple: false } ); 
     91} ); 
     92 No newline at end of file