Make WordPress Core

Ticket #26952: 26952.6.patch

File 26952.6.patch, 24.7 KB (added by iseulde, 11 years ago)
  • src/wp-admin/css/media.css

     
    333333        right: 0;
    334334}
    335335
     336@media screen and ( max-width: 782px ) {
     337
     338        .find-box-inside {
     339                bottom: 69px;
     340        }
     341
     342}
     343
    336344@media screen and ( max-width: 660px ) {
    337345
    338346        .find-box {
     
    344352                width: 100%;
    345353        }
    346354
    347         .find-box-inside {
    348                 bottom: 69px;
    349         }
    350355}
    351356
    352357.ui-find-overlay {
  • src/wp-includes/class-wp-editor.php

     
    492492
    493493                if ( in_array('wplink', self::$plugins, true) || in_array('link', self::$qt_buttons, true) ) {
    494494                        wp_enqueue_script('wplink');
    495                         wp_enqueue_script('wpdialogs');
    496                         wp_enqueue_style('wp-jquery-ui-dialog');
    497495                }
    498496
    499497                if ( in_array('wpfullscreen', self::$plugins, true) || in_array('fullscreen', self::$qt_buttons, true) )
     
    10411039         * @since 3.1.0
    10421040         */
    10431041        public static function wp_link_dialog() {
    1044         ?>
    1045         <div style="display:none;">
    1046         <form id="wp-link" tabindex="-1">
    1047         <?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
    1048         <div id="link-selector">
    1049                 <div id="link-options">
    1050                         <p class="howto"><?php _e( 'Enter the destination URL' ); ?></p>
    1051                         <div>
    1052                                 <label><span><?php _e( 'URL' ); ?></span><input id="url-field" type="text" name="href" /></label>
    1053                         </div>
    1054                         <div>
    1055                                 <label><span><?php _e( 'Title' ); ?></span><input id="link-title-field" type="text" name="linktitle" /></label>
    1056                         </div>
    1057                         <div class="link-target">
    1058                                 <label><input type="checkbox" id="link-target-checkbox" /> <?php _e( 'Open link in a new window/tab' ); ?></label>
    1059                         </div>
    1060                 </div>
    1061                 <?php $show_internal = '1' == get_user_setting( 'wplink', '0' ); ?>
    1062                 <p class="howto toggle-arrow <?php if ( $show_internal ) echo 'toggle-arrow-active'; ?>" id="internal-toggle"><?php _e( 'Or link to existing content' ); ?></p>
    1063                 <div id="search-panel"<?php if ( ! $show_internal ) echo ' style="display:none"'; ?>>
    1064                         <div class="link-search-wrapper">
    1065                                 <label>
    1066                                         <span class="search-label"><?php _e( 'Search' ); ?></span>
    1067                                         <input type="search" id="search-field" class="link-search-field" autocomplete="off" />
    1068                                         <span class="spinner"></span>
    1069                                 </label>
     1042                ?>
     1043                <div id="link-modal-backdrop"></div>
     1044                <form id="link-modal" tabindex="-1">
     1045                        <?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
     1046                        <div id="link-modal-title">
     1047                                <?php _e( 'Insert/edit link' ) ?>
     1048                                <div id="link-modal-close"></div>
    10701049                        </div>
    1071                         <div id="search-results" class="query-results">
    1072                                 <ul></ul>
    1073                                 <div class="river-waiting">
    1074                                         <span class="spinner"></span>
     1050                        <div id="link-modal-content">
     1051                                <div id="link-modal-content-height">
     1052                                        <label for="url-field">
     1053                                                <?php _e( 'Destination URL' ); ?>
     1054                                                <input id="url-field" type="text" name="href" />
     1055                                        </label>
     1056                                        <label for="link-title-field">
     1057                                                <?php _e( 'Title attribute' ); ?>
     1058                                                <input id="link-title-field" type="text" name="linktitle" />
     1059                                        </label>
     1060                                        <label>
     1061                                                <input type="checkbox" id="link-target-checkbox" />
     1062                                                <?php _e( 'Open link in a new window/tab' ); ?>
     1063                                        </label>
     1064                                        <label>
     1065                                                <?php _e( 'Search existing content to link' ); ?>
     1066                                                <input type="search" id="search-field" class="link-search-field" autocomplete="off" />
     1067                                        </label>
     1068                                        <div id="search-panel">
     1069                                                <div id="search-results" class="query-results">
     1070                                                        <ul></ul>
     1071                                                        <div class="river-waiting">
     1072                                                                <span class="spinner"></span>
     1073                                                        </div>
     1074                                                </div>
     1075                                                <div id="most-recent-results" class="query-results">
     1076                                                        <div class="query-notice"><em><?php _e( 'No search term specified. Showing recent items.' ); ?></em></div>
     1077                                                        <ul></ul>
     1078                                                        <div class="river-waiting">
     1079                                                                <span class="spinner"></span>
     1080                                                        </div>
     1081                                                </div>
     1082                                        </div>
    10751083                                </div>
    10761084                        </div>
    1077                         <div id="most-recent-results" class="query-results">
    1078                                 <div class="query-notice"><em><?php _e( 'No search term specified. Showing recent items.' ); ?></em></div>
    1079                                 <ul></ul>
    1080                                 <div class="river-waiting">
    1081                                         <span class="spinner"></span>
    1082                                 </div>
     1085                        <div id="link-modal-footer">
     1086                                <input type="submit" value="<?php esc_attr_e( 'Insert Link' ); ?>" class="button button-primary alignright" id="wp-link-submit" name="wp-link-submit">
    10831087                        </div>
    1084                 </div>
    1085         </div>
    1086         <div class="submitbox">
    1087                 <div id="wp-link-update">
    1088                         <input type="submit" value="<?php esc_attr_e( 'Add Link' ); ?>" class="button-primary" id="wp-link-submit" name="wp-link-submit">
    1089                 </div>
    1090                 <div id="wp-link-cancel">
    1091                         <a class="submitdelete deletion" href="#"><?php _e( 'Cancel' ); ?></a>
    1092                 </div>
    1093         </div>
    1094         </form>
    1095         </div>
    1096         <?php
     1088                </form>
     1089                <?php
    10971090        }
    10981091}
  • src/wp-includes/css/editor.css

     
    862862        background-color: #ccc;
    863863}
    864864
    865 /*------------------------------------------------------------------------------
    866  wp-link
    867 ------------------------------------------------------------------------------*/
    868 
    869 #wp-link {
    870         background-color: #F5F5F5;
    871         line-height: 1.4em;
    872         font-size: 12px;
    873 }
    874 
    875 #wp-link ol,
    876 #wp-link ul {
    877         list-style: none;
    878         margin: 0;
    879         padding: 0;
     865/* Link Modal */
     866#link-modal {
     867        background-color: #fff;
     868        display: none;
     869        margin-top: -190px;
     870        margin-left: -300px;
     871        width: 600px;
     872        height: 380px;
     873        overflow: hidden;
     874        position: fixed;
     875        top: 50%;
     876        left: 50%;
     877        z-index: 160000;
    880878}
    881879
    882 #wp-link input[type="text"] {
    883         -webkit-box-sizing: border-box;
    884         -moz-box-sizing: border-box;
    885         box-sizing: border-box;
     880#link-modal.link-modal-toggled {
     881        height: auto;
     882        margin-top: 0;
     883        top: 30px;
     884        bottom: 30px;
    886885}
    887886
    888 #wp-link input[type="text"],
    889 #wp-link textarea {
    890         border-width: 1px;
    891         border-style: solid;
    892         -webkit-border-radius: 4px;
    893         border-radius: 4px;
    894         font-size: 12px;
    895         margin: 1px;
    896         padding: 3px;
     887#link-modal-backdrop {
     888        background-color: #000;
     889        display: none;
     890        opacity: 0.7;
     891        position: fixed;
     892        top: 0;
     893        right: 0;
     894        bottom: 0;
     895        left: 0;
     896        z-index: 159900;
    897897}
    898898
    899 #wp-link #link-options {
    900         padding: 10px 0 14px;
     899#link-modal-title {
     900        background: #fcfcfc;
    901901        border-bottom: 1px solid #dfdfdf;
    902         margin: 0 6px 14px;
    903 }
    904 
    905 #wp-link p.howto {
    906         margin: 3px;
     902        height: 56px;
     903        font-size: 22px;
     904        font-weight: 600;
     905        line-height: 56px;
     906        padding: 0 40px 0 16px;
     907        position: absolute;
     908        top: 0;
     909        right: 0;
     910        left: 0;
    907911}
    908912
    909 #wp-link #internal-toggle {
    910         display: inline-block;
     913#link-modal-close {
     914        color: #666;
    911915        cursor: pointer;
    912         padding-left: 18px;
    913 }
    914 
    915 #wp-link .toggle-arrow {
    916         background: transparent url(../images/toggle-arrow.png) top left no-repeat;
    917         height: 23px;
    918         line-height: 23px;
    919 }
    920 
    921 #wp-link .toggle-arrow-active {
    922         background-position: center left;
     916        text-align: center;
     917        width: 40px;
     918        height: 40px;
     919        position: absolute;
     920        top: 0;
     921        right: 0;
    923922}
    924923
    925 #wp-link label input[type="text"] {
    926         width: 360px;
    927         margin-top: 5px;
     924#link-modal-close:hover {
     925        color: #2ea2cc;
    928926}
    929927
    930 #wp-link #link-options label span,
    931 #wp-link #search-panel label span.search-label {
    932         display: inline-block;
    933         width: 80px;
    934         text-align: right;
    935         padding-right: 5px;
     928#link-modal-close:before {
     929        font: normal 20px/40px 'dashicons';
     930        vertical-align: top;
     931        speak: none;
     932        -webkit-font-smoothing: antialiased;
     933        -moz-osx-font-smoothing: grayscale;
     934        content: '\f158';
    936935}
    937936
    938 #wp-link .link-search-field {
    939         float: left;
    940         width: 220px;
     937#link-modal-content {
     938        background-color: #fff;
     939        padding: 16px;
     940        position: absolute;
     941        top: 57px;
     942        right: 0;
     943        bottom: 57px;
     944        left: 0;
     945        overflow-y: scroll;
    941946}
    942947
    943 #wp-link .link-search-wrapper {
    944         margin: 5px 6px 9px;
     948#link-modal-content label {
    945949        display: block;
    946         overflow: hidden;
    947 }
    948 
    949 #wp-link .link-search-wrapper span {
    950         float: left;
    951         margin-top: 4px;
     950        padding-bottom: 16px;
    952951}
    953952
    954 #wp-link .link-search-wrapper .spinner {
    955         display: none;
    956         vertical-align: text-bottom;
     953#link-modal ol,
     954#link-modal ul {
     955        list-style: none;
     956        margin: 0;
     957        padding: 0;
    957958}
    958959
    959 #wp-link .link-target {
    960         width: auto;
    961         padding: 3px 0 0;
    962         margin: 0 0 0 87px;
    963         font-size: 11px;
     960#link-modal label input[type="text"],
     961#link-modal label input[type="search"] {
     962        margin-top: 4px;
     963        width: 99%;
    964964}
    965965
    966 #wp-link .query-results {
     966#link-modal .query-results {
    967967        border: 1px #dfdfdf solid;
    968         margin: 0 5px 5px;
    969968        background: #fff;
    970         height: 185px;
    971         overflow: auto;
    972969        position: relative;
    973970}
    974971
    975 #wp-link li,
    976 #wp-link .query-notice {
     972#link-modal li,
     973#link-modal .query-notice {
    977974        clear: both;
    978975        margin-bottom: 0;
    979976        border-bottom: 1px solid #f1f1f1;
     
    983980        position: relative;
    984981}
    985982
    986 #wp-link li:hover {
    987         background: #eaf2fa;
    988         color: #151515;
     983#link-modal li:last-of-type {
     984        border: none;
    989985}
    990986
    991 #wp-link li.unselectable {
    992         border-bottom: 1px solid #dfdfdf;
     987#link-modal li:hover {
     988        background: #eaf2fa;
    993989}
    994990
    995 #wp-link li.unselectable:hover {
    996         background: #fff;
    997         cursor: auto;
    998         color: #333;
     991#link-modal li.unselectable:hover {
     992        cursor: default;
    999993}
    1000994
    1001 #wp-link li.selected {
    1002         background: #ddd;
    1003         color: #333;
     995#link-modal li.selected {
     996        background: #f1f1f1;
    1004997}
    1005998
    1006 #wp-link li.selected .item-title {
     999#link-modal li.selected .item-title {
    10071000        font-weight: bold;
    10081001}
    10091002
    1010 #wp-link .item-title {
     1003#link-modal .item-title {
    10111004        display: inline-block;
    10121005        width: 80%;
    10131006}
    10141007
    1015 #wp-link .item-info {
    1016         text-transform: uppercase;
     1008#link-modal .item-info {
    10171009        color: #666;
    10181010        font-size: 11px;
     1011        text-transform: uppercase;
    10191012        position: absolute;
    1020         right: 5px;
    10211013        top: 4px;
     1014        right: 5px;
    10221015        bottom: 0;
    10231016}
    10241017
    1025 #wp-link #search-results {
     1018#link-modal #search-panel,
     1019#link-modal #search-results,
     1020#link-modal .river-waiting {
    10261021        display: none;
    10271022}
    10281023
    1029 #wp-link #search-panel {
    1030         float: left;
    1031         width: 100%;
    1032 }
    1033 
    1034 #wp-link .river-waiting {
    1035         display: none;
    1036         padding: 10px 0;
     1024#link-modal.link-modal-toggled #search-panel {
     1025        display: block;
    10371026}
    10381027
    1039 #wp-link .river-waiting .spinner {
    1040         margin: 0 auto;
     1028#link-modal .river-waiting .spinner {
    10411029        display: block;
     1030        margin: 0 auto;
    10421031}
    10431032
    1044 #wp-link .submitbox {
    1045         padding: 5px 10px;
    1046         font-size: 11px;
    1047         overflow: auto;
    1048         height: 29px;
     1033#link-modal-footer {
     1034        background: #fcfcfc;
     1035        border-top: 1px solid #dfdfdf;
     1036        padding: 14px 16px;
     1037        position: absolute;
     1038        right: 0;
     1039        bottom: 0;
     1040        left: 0;
    10491041}
    10501042
    1051 #wp-link-cancel {
    1052         line-height: 25px;
    1053         float: left;
     1043@media screen and ( max-width: 782px ) {
     1044
     1045        #link-modal {
     1046                height: 420px;
     1047                margin-top: -210px;
     1048        }
     1049
     1050        #link-modal-content {
     1051                bottom: 69px;
     1052        }
     1053
    10541054}
    10551055
    1056 #wp-link-update {
    1057         line-height: 23px;
    1058         float: right;
     1056@media screen and ( max-width: 660px ) {
     1057
     1058        #link-modal,
     1059        #link-modal.link-modal-toggled {
     1060                height: auto;
     1061                top: 0;
     1062                bottom: 0;
     1063                left: 0;
     1064                right: 0;
     1065                margin: 0;
     1066                width: 100%;
     1067        }
     1068
    10591069}
    10601070
    10611071/*!
     
    18191829        font-family: Arial, sans-serif;
    18201830}
    18211831
    1822 
    18231832/* HiDPI */
    18241833@media print,
    18251834  (-o-min-device-pixel-ratio: 5/4),
     
    18291838        #wp-fullscreen-buttons #wp_fs_image span.mce_image {
    18301839                background: none;
    18311840        }
    1832 
    1833         #wp-link .toggle-arrow {
    1834                 background: transparent url(../images/toggle-arrow-2x.png) top left no-repeat;
    1835                 -webkit-background-size: 19px 69px;
    1836                 background-size: 19px 69px;
    1837         }
    18381841}
    18391842
    18401843/* TODO: DFW responsive */
    1841 
    1842 
  • src/wp-includes/js/wplink.js

     
    1 /* global ajaxurl, tinymce, wpLinkL10n, setUserSetting, wpActiveEditor */
     1/* global ajaxurl, tinymce, wpLinkL10n, wpActiveEditor */
    22var wpLink;
    33
    4 (function($){
     4( function( $ ) {
    55        var inputs = {}, rivers = {}, ed, River, Query;
    66
    77        wpLink = {
     
    1212                lastSearch: '',
    1313                textarea: '',
    1414
    15                 init : function() {
    16                         inputs.dialog = $('#wp-link');
    17                         inputs.submit = $('#wp-link-submit');
    18                         // URL
    19                         inputs.url = $('#url-field');
    20                         inputs.nonce = $('#_ajax_linking_nonce');
    21                         // Secondary options
    22                         inputs.title = $('#link-title-field');
    23                         // Advanced Options
    24                         inputs.openInNewTab = $('#link-target-checkbox');
    25                         inputs.search = $('#search-field');
    26                         // Build Rivers
    27                         rivers.search = new River( $('#search-results') );
    28                         rivers.recent = new River( $('#most-recent-results') );
    29                         rivers.elements = $('.query-results', inputs.dialog);
     15                init: function() {
     16                        inputs.dialog = $( '#link-modal' );
     17                        inputs.backdrop = $( '#link-modal-backdrop' );
     18                        inputs.close = $( '#link-modal-close' );
     19                        inputs.submit = $( '#wp-link-submit' );
     20                        inputs.url = $( '#url-field' );
     21                        inputs.nonce = $( '#_ajax_linking_nonce' );
     22                        inputs.title = $( '#link-title-field' );
     23                        inputs.openInNewTab = $( '#link-target-checkbox' );
     24                        inputs.search = $( '#search-field' );
     25
     26                        rivers.search = new River( $( '#search-results' ) );
     27                        rivers.recent = new River( $( '#most-recent-results' ) );
     28                        rivers.elements = $( '.query-results', inputs.dialog );
    3029
    31                         // Bind event handlers
    3230                        inputs.dialog.keydown( wpLink.keydown );
    3331                        inputs.dialog.keyup( wpLink.keyup );
    34                         inputs.submit.click( function(e){
    35                                 e.preventDefault();
     32
     33                        inputs.submit.click( function( event ){
     34                                event.preventDefault();
    3635                                wpLink.update();
    3736                        });
    38                         $('#wp-link-cancel').click( function(e){
    39                                 e.preventDefault();
    40                                 wpLink.close();
     37
     38                        inputs.close.click( wpLink.close );
     39                        inputs.backdrop.click( wpLink.close );
     40
     41                        inputs.search.focus( function() {
     42                                inputs.dialog.addClass( 'link-modal-toggled' );
     43                        });
     44                        inputs.url.add( inputs.title ).focus( function() {
     45                                inputs.dialog.removeClass( 'link-modal-toggled' );
    4146                        });
    42                         $('#internal-toggle').click( wpLink.toggleInternalLinking );
    4347
    44                         rivers.elements.bind('river-select', wpLink.updateFields );
     48                        rivers.elements.on( 'river-select', wpLink.updateFields );
    4549
    4650                        inputs.search.keyup( wpLink.searchInternalLinks );
    47 
    48                         inputs.dialog.bind('wpdialogrefresh', wpLink.refresh);
    49                         inputs.dialog.bind('wpdialogbeforeopen', wpLink.beforeOpen);
    50                         inputs.dialog.bind('wpdialogclose', wpLink.onClose);
    5151                },
    5252
    53                 beforeOpen : function() {
     53                open: function( editorId ) {
    5454                        wpLink.range = null;
    5555
    5656                        if ( ! wpLink.isMCE() && document.selection ) {
    5757                                wpLink.textarea.focus();
    5858                                wpLink.range = document.selection.createRange();
    5959                        }
    60                 },
    6160
    62                 open : function( editorId ) {
    6361                        if ( editorId ) {
    6462                                window.wpActiveEditor = editorId;
    6563                        }
     
    6866                                return;
    6967                        }
    7068
    71                         this.textarea = $( '#' + wpActiveEditor ).get(0);
     69                        this.textarea = $( '#' + wpActiveEditor ).get( 0 );
    7270
    7371                        if ( typeof tinymce !== 'undefined' ) {
    7472                                ed = tinymce.get( wpActiveEditor );
     
    7876                                }
    7977                        }
    8078
    81                         // Initialize the dialog
    82                         if ( ! inputs.dialog.data('wpdialog') ) {
    83                                 inputs.dialog.wpdialog({
    84                                         title: wpLinkL10n.title,
    85                                         width: 480,
    86                                         height: 'auto',
    87                                         modal: true,
    88                                         dialogClass: 'wp-dialog'
    89                                 });
    90                         }
    91 
    92                         inputs.dialog.wpdialog('open');
     79                        inputs.dialog.show();
     80                        inputs.backdrop.show();
     81                       
     82                        wpLink.refresh();
    9383                },
    9484
    95                 isMCE : function() {
     85                isMCE: function() {
    9686                        return ed && ! ed.isHidden();
    9787                },
    9888
    99                 refresh : function() {
     89                refresh: function() {
    10090                        // Refresh rivers (clear links, check visibility)
    10191                        rivers.search.refresh();
    10292                        rivers.recent.refresh();
    10393
    104                         if ( wpLink.isMCE() )
     94                        if ( wpLink.isMCE() ) {
    10595                                wpLink.mceRefresh();
    106                         else
     96                        } else {
    10797                                wpLink.setDefaultValues();
     98                        }
    10899
    109100                        // Focus the URL field and highlight its contents.
    110                         //     If this is moved above the selection changes,
    111                         //     IE will show a flashing cursor over the dialog.
     101                        // If this is moved above the selection changes,
     102                        // IE will show a flashing cursor over the dialog.
    112103                        inputs.url.focus()[0].select();
    113104                        // Load the most recent results if this is the first time opening the panel.
    114105                        if ( ! rivers.recent.ul.children().length )
     
    135126                },
    136127
    137128                close: function() {
    138                         inputs.dialog.wpdialog('close');
    139                 },
    140 
    141                 onClose: function() {
    142129                        if ( ! wpLink.isMCE() ) {
    143130                                wpLink.textarea.focus();
    144131
     
    147134                                        wpLink.range.select();
    148135                                }
    149136                        }
     137                        inputs.dialog.hide();
     138                        inputs.backdrop.hide();
    150139                },
    151140
    152141                getAttrs: function() {
    153142                        return {
    154                                 href : inputs.url.val(),
    155                                 title : inputs.title.val(),
    156                                 target : inputs.openInNewTab.prop('checked') ? '_blank' : ''
     143                                href: inputs.url.val(),
     144                                title: inputs.title.val(),
     145                                target: inputs.openInNewTab.prop('checked') ? '_blank' : ''
    157146                        };
    158147                },
    159148
    160149                update: function() {
    161                         if ( wpLink.isMCE() )
     150                        if ( wpLink.isMCE() ) {
    162151                                wpLink.mceUpdate();
    163                         else
     152                        } else {
    164153                                wpLink.htmlUpdate();
     154                        }
    165155                },
    166156
    167157                htmlUpdate: function() {
     
    204194                                wpLink.range = null;
    205195                        } else if ( typeof textarea.selectionStart !== 'undefined' ) {
    206196                                // W3C
    207                                 begin       = textarea.selectionStart;
    208                                 end         = textarea.selectionEnd;
    209                                 selection   = textarea.value.substring( begin, end );
    210                                 html        = html + selection + '</a>';
    211                                 cursor      = begin + html.length;
     197                                begin = textarea.selectionStart;
     198                                end = textarea.selectionEnd;
     199                                selection = textarea.value.substring( begin, end );
     200                                html = html + selection + '</a>';
     201                                cursor = begin + html.length;
    212202
    213203                                // If no text is selected, place the cursor inside the closing tag.
    214204                                if ( begin == end )
     
    255245                },
    256246
    257247                updateFields: function( e, li, originalEvent ) {
    258                         inputs.url.val( li.children('.item-permalink').val() );
    259                         inputs.title.val( li.hasClass('no-title') ? '' : li.children('.item-title').text() );
     248                        inputs.url.val( li.children( '.item-permalink' ).val() );
     249                        inputs.title.val( li.hasClass( 'no-title' ) ? '' : li.children( '.item-title' ).text() );
    260250                        if ( originalEvent && originalEvent.type == 'click' )
    261251                                inputs.url.focus();
    262252                },
     
    264254                setDefaultValues: function() {
    265255                        // Set URL and description to defaults.
    266256                        // Leave the new tab setting as-is.
    267                         inputs.url.val('http://');
    268                         inputs.title.val('');
     257                        inputs.url.val( 'http://' );
     258                        inputs.title.val( '' );
    269259
    270260                        // Update save prompt.
    271261                        inputs.submit.val( wpLinkL10n.save );
     
    284274                                        return;
    285275
    286276                                wpLink.lastSearch = search;
    287                                 waiting = t.parent().find('.spinner').show();
     277                                waiting = t.parent().find( '.spinner' ).show();
    288278
    289279                                rivers.search.change( search );
    290                                 rivers.search.ajax( function(){ waiting.hide(); });
     280                                rivers.search.ajax( function(){
     281                                        waiting.hide();
     282                                });
    291283                        } else {
    292284                                rivers.search.hide();
    293285                                rivers.recent.show();
     
    353345                                funcContext = this;
    354346                                funcTriggered = true;
    355347                        };
    356                 },
    357 
    358                 toggleInternalLinking: function( event ) {
    359                         var panel = $('#search-panel'),
    360                                 widget = inputs.dialog.wpdialog('widget'),
    361                                 // We're about to toggle visibility; it's currently the opposite
    362                                 visible = !panel.is(':visible'),
    363                                 win = $(window);
    364 
    365                         $(this).toggleClass('toggle-arrow-active', visible);
    366 
    367                         inputs.dialog.height('auto');
    368                         panel.slideToggle( 300, function() {
    369                                 setUserSetting('wplink', visible ? '1' : '0');
    370                                 inputs[ visible ? 'search' : 'url' ].focus();
    371 
    372                                 // Move the box if the box is now expanded, was opened in a collapsed state,
    373                                 // and if it needs to be moved. (Judged by bottom not being positive or
    374                                 // bottom being smaller than top.)
    375                                 var scroll = win.scrollTop(),
    376                                         top = widget.offset().top,
    377                                         bottom = top + widget.outerHeight(),
    378                                         diff = bottom - win.height();
    379 
    380                                 if ( diff > scroll ) {
    381                                         widget.animate({'top': diff < top ?  top - diff : scroll }, 200);
    382                                 }
    383                         });
    384                         event.preventDefault();
    385348                }
    386349        };
    387350
    388351        River = function( element, search ) {
    389352                var self = this;
    390353                this.element = element;
    391                 this.ul = element.children('ul');
    392                 this.waiting = element.find('.river-waiting');
     354                this.ul = element.children( 'ul' );
     355                this.contentHeight = element.children( '#link-modal-content-height' );
     356                this.waiting = element.find( '.river-waiting' );
    393357
    394358                this.change( search );
    395359                this.refresh();
    396360
    397                 element.scroll( function(){ self.maybeLoad(); });
    398                 element.delegate('li', 'click', function(e){ self.select( $(this), e ); });
     361                $( '#link-modal-content' ).scroll( function() {
     362                        self.maybeLoad();
     363                });
     364                element.delegate( 'li', 'click', function( event ) {
     365                        self.select( $(this), event );
     366                });
    399367        };
    400368
    401369        $.extend( River.prototype, {
    402370                refresh: function() {
    403371                        this.deselect();
    404                         this.visible = this.element.is(':visible');
     372                        this.visible = this.element.is( ':visible' );
    405373                },
    406374                show: function() {
    407375                        if ( ! this.visible ) {
     
    418386                select: function( li, event ) {
    419387                        var liHeight, elHeight, liTop, elTop;
    420388
    421                         if ( li.hasClass('unselectable') || li == this.selected )
     389                        if ( li.hasClass( 'unselectable' ) || li == this.selected )
    422390                                return;
    423391
    424392                        this.deselect();
    425                         this.selected = li.addClass('selected');
     393                        this.selected = li.addClass( 'selected' );
    426394                        // Make sure the element is visible
    427395                        liHeight = li.outerHeight();
    428396                        elHeight = this.element.height();
    429397                        liTop = li.position().top;
    430398                        elTop = this.element.scrollTop();
    431399
    432                         if ( liTop < 0 ) // Make first visible element
     400                        if ( liTop < 0 ) { // Make first visible element
    433401                                this.element.scrollTop( elTop + liTop );
    434                         else if ( liTop + liHeight > elHeight ) // Make last visible element
     402                        } else if ( liTop + liHeight > elHeight ) { // Make last visible element
    435403                                this.element.scrollTop( elTop + liTop - elHeight + liHeight );
     404                        }
    436405
    437406                        // Trigger the river-select event
    438                         this.element.trigger('river-select', [ li, event, this ]);
     407                        this.element.trigger( 'river-select', [ li, event, this ] );
    439408                },
    440409                deselect: function() {
    441410                        if ( this.selected )
    442                                 this.selected.removeClass('selected');
     411                                this.selected.removeClass( 'selected' );
    443412                        this.selected = false;
    444413                },
    445414                prev: function() {
     
    448417
    449418                        var to;
    450419                        if ( this.selected ) {
    451                                 to = this.selected.prev('li');
     420                                to = this.selected.prev( 'li' );
    452421                                if ( to.length )
    453422                                        this.select( to );
    454423                        }
     
    457426                        if ( ! this.visible )
    458427                                return;
    459428
    460                         var to = this.selected ? this.selected.next('li') : $('li:not(.unselectable):first', this.element);
     429                        var to = this.selected ? this.selected.next( 'li' ) : $( 'li:not(.unselectable):first', this.element);
    461430                        if ( to.length )
    462431                                this.select( to );
    463432                },
     
    481450                        this.element.scrollTop(0);
    482451                },
    483452                process: function( results, params ) {
    484                         var list = '', alt = true, classes = '',
    485                                 firstPage = params.page == 1;
     453                        var alt = true,
     454                                classes = '',
     455                                firstPage = params.page == 1,
     456                                list = '';
    486457
    487                         if ( !results ) {
     458                        if ( ! results ) {
    488459                                if ( firstPage ) {
    489460                                        list += '<li class="unselectable"><span class="item-title"><em>' +
    490461                                                wpLinkL10n.noMatchesFound + '</em></span></li>';
     
    509480                                el = this.element,
    510481                                bottom = el.scrollTop() + el.height();
    511482
    512                         if ( ! this.query.ready() || bottom < this.ul.height() - wpLink.riverBottomThreshold )
     483                        if ( ! this.query.ready() || bottom < this.contentHeight.height() - wpLink.riverBottomThreshold )
    513484                                return;
    514485
    515                         setTimeout(function() {
     486                        setTimeout( function() {
    516487                                var newTop = el.scrollTop(),
    517488                                        newBottom = newTop + el.height();
    518489
    519                                 if ( ! self.query.ready() || newBottom < self.ul.height() - wpLink.riverBottomThreshold )
     490                                if ( ! self.query.ready() || newBottom < self.contentHeight.height() - wpLink.riverBottomThreshold )
    520491                                        return;
    521492
    522493                                self.waiting.show();
    523494                                el.scrollTop( newTop + self.waiting.outerHeight() );
    524495
    525                                 self.ajax( function() { self.waiting.hide(); });
     496                                self.ajax( function() {
     497                                        self.waiting.hide();
     498                                });
    526499                        }, wpLink.timeToTriggerRiver );
    527500                }
    528501        });
     
    536509
    537510        $.extend( Query.prototype, {
    538511                ready: function() {
    539                         return !( this.querying || this.allLoaded );
     512                        return ! ( this.querying || this.allLoaded );
    540513                },
    541514                ajax: function( callback ) {
    542515                        var self = this,
     
    551524
    552525                        this.querying = true;
    553526
    554                         $.post( ajaxurl, query, function(r) {
     527                        $.post( ajaxurl, query, function( r ) {
    555528                                self.page++;
    556529                                self.querying = false;
    557530                                self.allLoaded = !r;
     
    560533                }
    561534        });
    562535
    563         $(document).ready( wpLink.init );
    564 })(jQuery);
     536        $( document ).ready( wpLink.init );
     537})( jQuery );
  • src/wp-includes/script-loader.php

     
    338338
    339339        $scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", array(), false, 1 );
    340340
    341         $scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), false, 1 );
     341        $scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery' ), false, 1 );
    342342        did_action( 'init' ) && $scripts->localize( 'wplink', 'wpLinkL10n', array(
    343343                'title' => __('Insert/edit link'),
    344344                'update' => __('Update'),