WordPress.org

Make WordPress Core

Changeset 5629


Ignore:
Timestamp:
06/01/07 23:52:27 (8 years ago)
Author:
rob1n
Message:

Move uploads JS to jQuery. Props filosofo. see #3824

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/upload.js

    r4970 r5629  
    66        postID: 0, 
    77 
     8        toQueryParams: function(qryStrOrig) { 
     9            var params = new Object(); 
     10            var qryStr = qryStrOrig; 
     11            var i = 0; 
     12            do { 
     13                params[qryStr.split("=")[0].replace(/&/, "")] = ( qryStr.split("=")[1] ) ? qryStr.split("=")[1].split(/&|$/)[0] : ''; 
     14                qryStr = ( qryStr.split("=")[1] ) ? qryStr.split(qryStr.split("=")[1].split(/&|$/)[0])[1] : ''; 
     15                i++; 
     16            }  
     17            while(i < (qryStrOrig.split("=").length - 1)); 
     18            return params; 
     19        }, 
     20 
     21        toQueryString: function(params) { 
     22            var qryStr = ''; 
     23            for ( var key in params ) 
     24                qryStr += key + '=' + params[key] + '&'; 
     25            return qryStr; 
     26        }, 
     27 
    828        initializeVars: function() { 
    929            this.urlData  = document.location.href.split('?'); 
    10             this.params = this.urlData[1].toQueryParams(); 
     30            this.params = this.toQueryParams(this.urlData[1]); 
    1131            this.postID = this.params['post_id']; 
    1232            this.tab = this.params['tab']; 
     
    1535            if ( !this.style ) 
    1636                this.style = 'default'; 
    17             var nonceEl = $('nonce-value'); 
     37            var nonceEl = jQuery('#nonce-value'); 
    1838            if ( nonceEl ) 
    19                 this.nonce = nonceEl.value; 
     39                this.nonce = jQuery(nonceEl).val(); 
    2040            if ( this.ID ) { 
    2141                this.grabImageData( this.ID ); 
     
    2747            if ( this.ID ) 
    2848                return; 
    29             $$('a.file-link').each( function(i) { 
    30                 var id = i.id.split('-').pop(); 
    31                 i.onclick = function(e) { theFileList[ 'inline' == theFileList.style ? 'imageView' : 'editView' ](id, e); } 
    32             } ); 
     49            jQuery('a.file-link').each(function() { 
     50                var id = jQuery(this).attr('id').split('-').pop(); 
     51                jQuery(this).attr('href','javascript:void(0)').click(function(e) { 
     52                    theFileList[ 'inline' == theFileList.style ? 'imageView' : 'editView' ](id, e); 
     53                }); 
     54            }); 
    3355        }, 
    3456 
     
    3658            if ( id == this.currentImage.ID ) 
    3759                return; 
    38             var thumbEl = $('attachment-thumb-url-' + id); 
     60            var thumbEl = jQuery('#attachment-thumb-url-' + id); 
    3961            if ( thumbEl ) { 
    40                 this.currentImage.thumb = ( 0 == id ? '' : thumbEl.value ); 
    41                 this.currentImage.thumbBase = ( 0 == id ? '' : $('attachment-thumb-url-base-' + id).value ); 
     62                this.currentImage.thumb = ( 0 == id ? '' : jQuery(thumbEl).val() ); 
     63                this.currentImage.thumbBase = ( 0 == id ? '' : jQuery('#attachment-thumb-url-base-' + id).val() ); 
    4264            } else { 
    4365                this.currentImage.thumb = false; 
    4466            } 
    45             this.currentImage.src = ( 0 == id ? '' : $('attachment-url-' + id).value ); 
    46             this.currentImage.srcBase = ( 0 == id ? '' : $('attachment-url-base-' + id).value ); 
    47             this.currentImage.page = ( 0 == id ? '' : $('attachment-page-url-' + id).value ); 
    48             this.currentImage.title = ( 0 == id ? '' : $('attachment-title-' + id).value ); 
    49             this.currentImage.description = ( 0 == id ? '' : $('attachment-description-' + id).value ); 
    50             var widthEl = $('attachment-width-' + id); 
     67            this.currentImage.src = ( 0 == id ? '' : jQuery('#attachment-url-' + id).val() ); 
     68            this.currentImage.srcBase = ( 0 == id ? '' : jQuery('#attachment-url-base-' + id).val() ); 
     69            this.currentImage.page = ( 0 == id ? '' : jQuery('#attachment-page-url-' + id).val() ); 
     70            this.currentImage.title = ( 0 == id ? '' : jQuery('#attachment-title-' + id).val() ); 
     71            this.currentImage.description = ( 0 == id ? '' : jQuery('#attachment-description-' + id).val() ); 
     72            var widthEl = jQuery('#attachment-width-' + id); 
    5173            if ( widthEl ) { 
    52                 this.currentImage.width = ( 0 == id ? '' : widthEl.value ); 
    53                 this.currentImage.height = ( 0 == id ? '' : $('attachment-height-' + id).value ); 
     74                this.currentImage.width = ( 0 == id ? '' : jQuery(widthEl).val() ); 
     75                this.currentImage.height = ( 0 == id ? '' : jQuery('#attachment-height-' + id).val() ); 
    5476            } else { 
    5577                this.currentImage.width = false; 
    5678                this.currentImage.height = false; 
    5779            } 
    58             this.currentImage.isImage = ( 0 == id ? 0 : $('attachment-is-image-' + id).value ); 
     80            this.currentImage.isImage = ( 0 == id ? 0 : jQuery('#attachment-is-image-' + id).val() ); 
    5981            this.currentImage.ID = id; 
    6082        }, 
     
    6688            h += "<div id='upload-file'>" 
    6789            if ( this.ID ) { 
    68                 var params = $H(this.params); 
     90                var params = this.params; 
    6991                params.ID = ''; 
    7092                params.action = ''; 
    71                 h += "<a href='" + this.urlData[0] + '?' + params.toQueryString() + "'"; 
     93                h += "<a href='" + this.urlData[0] + '?' + this.toQueryString(params) + "'"; 
    7294            } else { 
    7395                h += "<a href='#' onclick='return theFileList.cancelView();'"; 
     
    109131                display.push("<br /><label for='display-title'><input type='radio' name='display' id='display-title' value='title' /> " + this.title + "</label>"); 
    110132                h += "<tr><th style='padding-bottom:.5em'>" + this.show + "</th><td style='padding-bottom:.5em'>"; 
    111                 $A(display).each( function(i) { h += i; } ); 
     133                jQuery(display).each( function() { h += this; } ); 
    112134                h += "</td></tr>"; 
    113135            } 
     
    126148            h += "</div>"; 
    127149 
    128             new Insertion.Top('upload-content', h); 
    129             var displayEl = $(checked); 
    130             if ( displayEl ) 
    131                 displayEl.checked = true; 
    132  
    133             if (e) Event.stop(e); 
     150            jQuery(h).prependTo('#upload-content'); 
     151            jQuery('#' + checked).attr('checked','checked'); 
     152            if (e) return e.stopPropagation(); 
    134153            return false; 
    135154        }, 
     
    145164            h += "<form id='upload-file' method='post' action='" + action + "'>"; 
    146165            if ( this.ID ) { 
    147                 var params = $H(this.params); 
     166                var params = this.params; 
    148167                params.ID = ''; 
    149168                params.action = ''; 
    150                 h += "<a href='" + this.urlData[0] + '?' + params.toQueryString() + "'"; 
     169                h += "<a href='" + this.urlData[0] + '?' + this.toQueryString(params) + "'"; 
    151170            } else { 
    152171                h += "<a href='#' onclick='return theFileList.cancelView();'"; 
     
    189208            h += "</td></tr></table></form>"; 
    190209 
    191             new Insertion.Top('upload-content', h); 
    192             if (e) Event.stop(e); 
     210            jQuery(h).prependTo('#upload-content'); 
     211            if (e) e.stopPropagation(); 
    193212            return false; 
    194213        }, 
     
    196215        prepView: function(id) { 
    197216            this.cancelView( true ); 
    198             var filesEl = $('upload-files'); 
     217            var filesEl = jQuery('#upload-files'); 
    199218            if ( filesEl ) 
    200219                filesEl.hide(); 
    201             var navEl = $('current-tab-nav'); 
     220            var navEl = jQuery('#current-tab-nav'); 
    202221            if ( navEl ) 
    203222                navEl.hide(); 
     
    207226        cancelView: function( prep ) { 
    208227            if ( !prep ) { 
    209                 var filesEl = $('upload-files'); 
     228                var filesEl = jQuery('#upload-files'); 
    210229                if ( filesEl ) 
    211                     Element.show(filesEl); 
    212                 var navEl = $('current-tab-nav'); 
     230                    jQuery(filesEl).show(); 
     231                var navEl = jQuery('#current-tab-nav'); 
    213232                if ( navEl ) 
    214                     Element.show(navEl); 
     233                    jQuery(navEl).show(); 
    215234            } 
    216235            if ( !this.ID ) 
    217236                this.grabImageData(0); 
    218             var div = $('upload-file'); 
     237            var div = jQuery('#upload-file'); 
    219238            if ( div ) 
    220                 Element.remove(div); 
     239                jQuery(div).remove(); 
    221240            return false; 
    222241        }, 
     
    228247            var h = ''; 
    229248 
    230             link = $A(document.forms.uploadoptions.elements.link).detect( function(i) { return i.checked; } ).value; 
    231             displayEl = $A(document.forms.uploadoptions.elements.display).detect( function(i) { return i.checked; } ) 
     249            link = jQuery('input[@type=radio][@name="link"][@checked]','#uploadoptions').val(); 
     250            displayEl = jQuery('input[@type=radio][@name="display"][@checked]','#uploadoptions'); 
    232251            if ( displayEl ) 
    233                 display = displayEl.value; 
     252                display = jQuery(displayEl).val(); 
    234253            else if ( 1 == this.currentImage.isImage ) 
    235254                display = 'full'; 
     
    260279        deleteFile: function(id) { 
    261280            if ( confirm( this.confirmText.replace(/%title%/g, this.currentImage.title) ) ) { 
    262                 $('action-value').value = 'delete'; 
    263                 $('upload-file').submit(); 
     281                jQuery('#action-value').attr('value','delete'); 
     282                jQuery('#upload-file').submit(); 
    264283                return true; 
    265284            } 
     
    268287 
    269288    }; 
    270     Object.extend( theFileList, uploadL10n ); 
     289 
     290    for ( var property in uploadL10n )  
     291        theFileList[property] = uploadL10n[property]; 
    271292    theFileList.initializeVars(); 
    272293    theFileList.initializeLinks(); 
  • trunk/wp-includes/script-loader.php

    r5577 r5629  
    7373         
    7474        $this->add( 'jquery', '/wp-includes/js/jquery/jquery.js', false, '1.1.2'); 
     75        $this->add( 'jquery-form', '/wp-includes/js/jquery/jquery.form.js', array('jquery'), '1.0.3'); 
    7576        $this->add( 'interface', '/wp-includes/js/jquery/interface.js', array('jquery'), '1.2'); 
    7677         
     
    114115            $this->add( 'admin-users', '/wp-admin/users.js', array('listman'), '4583' ); 
    115116            $this->add( 'xfn', '/wp-admin/xfn.js', false, '3517' ); 
    116             $this->add( 'upload', '/wp-admin/upload.js', array('prototype'), '20070306' ); 
     117            $this->add( 'upload', '/wp-admin/upload.js', array('jquery'), '20070518' ); 
    117118            $this->localize( 'upload', 'uploadL10n', array( 
    118119                'browseTitle' => attribute_escape(__('Browse your files')), 
Note: See TracChangeset for help on using the changeset viewer.