WordPress.org

Make WordPress Core

Ticket #18149: 18149.4.patch

File 18149.4.patch, 1.7 KB (added by iseulde, 7 years ago)
  • src/wp-includes/js/wplink.js

     
    22var wpLink;
    33
    44( function( $ ) {
    5         var editor, searchTimer, River, Query,
     5        var editor, searchTimer, River, Query, correctedURL, typingURL,
    66                inputs = {},
    77                rivers = {},
    88                isTouch = ( 'ontouchend' in document );
     
    7272                                        wpLink.searchInternalLinks.call( self );
    7373                                }, 500 );
    7474                        });
     75
     76                        function correctURL() {
     77                                var url = $.trim( inputs.url.val() );
     78
     79                                if ( url && correctedURL !== url && ! /^(?:[a-z]+:|#|\?|\.|\/)/.test( url ) ) {
     80                                        inputs.url.val( 'http://' + url );
     81                                        correctedURL = url;
     82                                }
     83                        }
     84
     85                        inputs.url.on( 'keydown keyup', function( event ) {
     86                                typingURL = event.type === 'keydown' && ! ( event.metaKey || ( event.ctrlKey && ! event.altKey ) );
     87                        } );
     88
     89                        inputs.url.on( 'input', function() {
     90                                ! typingURL && correctURL();
     91                        } );
     92
     93                        inputs.url.on( 'blur', function() {
     94                                setTimeout( correctURL, 0 );
     95                        } );
    7596                },
    7697
    7798                open: function( editorId ) {
     
    183204
    184205                        inputs.backdrop.hide();
    185206                        inputs.wrap.hide();
     207
     208                        correctedURL = false;
     209
    186210                        $( document ).trigger( 'wplink-close', inputs.wrap );
    187211                },
    188212
     
    211235                        attrs = wpLink.getAttrs();
    212236
    213237                        // If there's no href, return.
    214                         if ( ! attrs.href || attrs.href == 'http://' )
     238                        if ( ! attrs.href )
    215239                                return;
    216240
    217241                        // Build HTML
     
    309333                                inputs.url.val( selection.replace( /&|&#0?38;/gi, '&' ) );
    310334                        } else {
    311335                                // Set URL to default.
    312                                 inputs.url.val( 'http://' );
     336                                inputs.url.val( '' );
    313337                        }
    314338
    315339                        // Set description to default.