WordPress.org

Make WordPress Core

Ticket #5749: autosave_on_title_blur_with_safari_3.1_support.diff

File autosave_on_title_blur_with_safari_3.1_support.diff, 4.4 KB (added by markjaquith, 10 years ago)

Ryan's patch, but with Tab autosave support in Safari 3.1

  • wp-includes/js/autosave.js

     
    88
    99        //Disable autosave after the form has been submitted
    1010        $("#post").submit(function() { $.cancel(autosavePeriodical); });
    11 
    12         // Autosave early on for a new post.  Why?  Should this only be run once?
    13         $("#content").keypress(function() {
    14                 if ( 1 === ( $(this).val().length % 15 ) && 1 > parseInt($("#post_ID").val(),10) )
    15                         setTimeout(autosave, 5000);
    16         });
    1711});
    1812
    1913// called when autosaving pre-existing post
     
    148142                post_data["post_name"] = jQuery('#post_name').val();
    149143
    150144        // Nothing to save or no change.
    151         if(post_data["post_title"].length==0 || post_data["content"].length==0 || post_data["post_title"] + post_data["content"] == autosaveLast) {
     145        if( (post_data["post_title"].length==0 && post_data["content"].length==0) || post_data["post_title"] + post_data["content"] == autosaveLast) {
    152146                doAutoSave = false
    153147        }
    154148
  • wp-includes/general-template.php

     
    977977            e = e || window.event;
    978978            if (e.keyCode == 9 && !e.shiftKey && !e.controlKey && !e.altKey) {
    979979                if ( tinyMCE.activeEditor ) {
     980                    if ( (jQuery("#post_ID").val() < 1) && (jQuery("#title").val().length > 0) ) { autosave(); }
    980981                    e = null;
    981982                    if ( tinyMCE.activeEditor.isHidden() ) return true;
    982983                    tinyMCE.activeEditor.focus();
  • wp-includes/script-loader.php

     
    4747                        'broken' => 'AJAX is teh b0rked.'
    4848                ) );
    4949
    50                 $this->add( 'autosave', '/wp-includes/js/autosave.js', array('schedule', 'wp-ajax-response'), '20080312' );
     50                $this->add( 'autosave', '/wp-includes/js/autosave.js', array('schedule', 'wp-ajax-response'), '20080317' );
    5151
    5252                $this->add( 'wp-ajax', '/wp-includes/js/wp-ajax.js', array('prototype'), '20070306');
    5353                $this->localize( 'wp-ajax', 'WPAjaxL10n', array(
     
    141141                                'save' => __('Save'),
    142142                                'cancel' => __('Cancel'),
    143143                        ) );
    144                         $this->add( 'post', '/wp-admin/js/post.js', array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20080221' );
     144                        $this->add( 'post', '/wp-admin/js/post.js', array('suggest', 'jquery-ui-tabs', 'wp-lists', 'postbox', 'slug'), '20080318' );
    145145                        $this->localize( 'post', 'postL10n', array(
    146146                                'tagsUsed' =>  __('Tags used on this post:'),
    147147                                'add' => attribute_escape(__('Add')),
     
    150150                                'cancel' => __('Cancel'),
    151151                                'edit' => __('Edit'),
    152152                        ) );
    153                         $this->add( 'page', '/wp-admin/js/page.js', array('jquery', 'slug', 'postbox'), '20080208' );
     153                        $this->add( 'page', '/wp-admin/js/page.js', array('jquery', 'slug', 'postbox'), '20080318' );
    154154                        $this->localize( 'page', 'postL10n', array(
    155155                                'cancel' => __('Cancel'),
    156156                                'edit' => __('Edit'),
  • wp-admin/js/page.js

     
    22        add_postbox_toggles('page');
    33        make_slugedit_clickable();
    44
     5        jQuery('#title').blur( function() { if ( (jQuery("#post_ID").val() > 0) || (jQuery("#title").val().length == 0) ) return; autosave(); } );
     6
    57        // hide advanced slug field
    68        jQuery('#pageslugdiv').hide();
    79
  • wp-admin/js/post.js

     
    6262        // postboxes
    6363        add_postbox_toggles('post');
    6464
    65         // If no tags on the page, skip the tag and category stuff.
    66         if ( !jQuery('#tags-input').size() ) {
    67                 return;
    68         }
    69 
    7065        // Editable slugs
    7166        make_slugedit_clickable();
    7267
     
    9186        jQuery('#publish').click( tag_save_on_publish );
    9287        jQuery('#save-post').click( tag_save_on_publish );
    9388
     89        jQuery('#title').blur( function() { if ( (jQuery("#post_ID").val() > 0) || (jQuery("#title").val().length == 0) ) return; autosave(); } );
     90
    9491        // auto-suggest stuff
    9592        jQuery('#newtag').suggest( 'admin-ajax.php?action=ajax-tag-search', { delay: 500, minchars: 2 } );
    9693        jQuery('#newtag').keypress( tag_press_key );