Make WordPress Core

Changeset 6386


Ignore:
Timestamp:
12/16/2007 03:00:38 AM (18 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.