Make WordPress Core

Changeset 6386


Ignore:
Timestamp:
12/16/2007 03:00:38 AM (19 years ago)
Author:
matt
Message:

Remember what attachment options you pick, fixes #4565. Hat tip: filosofo.

File:
1 edited

Legend:

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

    r6344 r6386  
    55                tab: '',
    66                postID: 0,
     7
     8                // cookie create and read functions adapted from http://www.quirksmode.org/js/cookies.html     
     9                createCookie: function(name,value,days) {
     10                        if (days) {
     11                                var date = new Date();
     12                                date.setTime(date.getTime()+(days*24*60*60*1000));
     13                                var expires = "; expires="+date.toGMTString();
     14                        }
     15                        else var expires = "";
     16                        document.cookie = name+"="+value+expires+"; path=/";
     17                },
     18
     19                readCookie: function(name) {
     20                        var nameEQ = name + "=";
     21                        var ca = document.cookie.split(';');
     22                        for(var i=0;i < ca.length;i++) {
     23                                var c = ca[i];
     24                                while (c.charAt(0)==' ') c = c.substring(1,c.length);
     25                                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
     26                        }
     27                        return null;
     28                },
     29
     30                assignCookieOnChange: function() {
     31                        jQuery(this).bind("change", function(){
     32                                theFileList.createCookie(jQuery(this).attr('name'),jQuery(this).attr('id'),365);
     33                        });
     34                },
     35
     36                checkCookieSetting: function(name, defaultSetting) {
     37                        return this.readCookie(name) ? this.readCookie(name) : defaultSetting;
     38                },
    739
    840                toQueryParams: function( s ) {
     
    115147                        h += "<table>";
    116148                        var display = [];
    117                         var checked = 'display-title';
     149                        var checkedDisplay = 'display-title';
    118150                        if ( 1 == this.currentImage.isImage ) {
    119                                 checked = 'display-full';
     151                                checkedDisplay = 'display-full';
    120152                                if ( this.currentImage.thumb ) {
    121153                                        display.push("<label for='display-thumb'><input type='radio' name='display' id='display-thumb' value='thumb' /> " + this.thumb + "</label><br />");
    122                                         checked = 'display-thumb';
     154                                        checkedDisplay = 'display-thumb';
    123155                                }
    124156                                display.push("<label for='display-full'><input type='radio' name='display' id='display-full' value='full' /> " + this.full + "</label>");
     
    133165                        }
    134166
    135                         h += "<tr><th>" + this.link + "</th><td>";
    136                         h += "<label for='link-file'><input type='radio' name='link' id='link-file' value='file' checked='checked'/> " + this.file + "</label><br />";
    137                         h += "<label for='link-page'><input type='radio' name='link' id='link-page' value='page' /> " + this.page + "</label><br />";
     167                        var checkedLink = 'link-file';
     168                        h += "<tr><th>" + this.link + "</th><td>";
     169                        h += "<label for='link-file'><input type='radio' name='link' id='link-file' value='file' /> " + this.file + "</label><br />";                   h += "<label for='link-page'><input type='radio' name='link' id='link-page' value='page' /> " + this.page + "</label><br />";
    138170                        h += "<label for='link-none'><input type='radio' name='link' id='link-none' value='none' /> " + this.none + "</label>";
    139171                        h += "</td></tr>";
     
    147179
    148180                        jQuery(h).prependTo('#upload-content');
    149                         jQuery('#' + checked).attr('checked','checked');
     181                        jQuery("input[@name='display']").each(theFileList.assignCookieOnChange);
     182                        jQuery("input[@name='link']").each(theFileList.assignCookieOnChange);
     183                        checkedDisplay = this.checkCookieSetting('display', checkedDisplay);
     184                        checkedLink = this.checkCookieSetting('link', checkedLink);
     185                        jQuery('#' + checkedDisplay).attr('checked','checked');
     186                        jQuery('#' + checkedLink).attr('checked','checked');
    150187                        if (e) return e.stopPropagation();
    151188                        return false;
Note: See TracChangeset for help on using the changeset viewer.