From d1721ba4d7c567e2018dfd79f38de70b49e5a1d0 Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Wed, 6 Dec 2006 05:33:52 +0000 Subject: [PATCH] Autosave fix up for duplicate drafts from andy. fixes #3379 git-svn-id: https://develop.svn.wordpress.org/trunk@4614 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/js/autosave.js.php | 39 ++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/wp-includes/js/autosave.js.php b/wp-includes/js/autosave.js.php index 934bfa00a5..67fcde760c 100644 --- a/wp-includes/js/autosave.js.php +++ b/wp-includes/js/autosave.js.php @@ -13,9 +13,10 @@ function autosave_start_timer() { form.addEventListener("submit", function () { autosavePeriodical.currentlyExecuting = true; }, false); } if(form.attachEvent) { - $('save').attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }); - $('publish').attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }); - $('deletepost').attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }); + form.save ? form.save.attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }) : null; + form.submit ? form.submit.attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }) : null; + form.publish ? form.publish.attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }) : null; + form.deletepost ? form.deletepost.attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }) : null; } } addLoadEvent(autosave_start_timer) @@ -38,9 +39,9 @@ function autosave_update_post_ID() { var message; if(isNaN(res)) { - message = "" + response; + message = "" + response; } else { - message = "" + autosave_cur_time(); + message = "" + autosave_cur_time(); $('post_ID').name = "post_ID"; $('post_ID').value = res; // We need new nonces @@ -57,10 +58,11 @@ function autosave_update_post_ID() { $('hiddenaction').value = 'editpost'; } $('autosave').innerHTML = message; + autosave_enable_buttons(); } function autosave_loading() { - $('autosave').innerHTML = ""; + $('autosave').innerHTML = ""; } function autosave_saved() { @@ -69,13 +71,30 @@ function autosave_saved() { var message; if(isNaN(res)) { - message = "" + response; + message = "" + response; } else { - message = "" + autosave_cur_time() + "."; + message = "" + autosave_cur_time() + "."; } $('autosave').innerHTML = message; + autosave_enable_buttons(); } - + +function autosave_disable_buttons() { + var form = $('post'); + form.save ? form.save.disabled = 'disabled' : null; + form.submit ? form.submit.disabled = 'disabled' : null; + form.publish ? form.publish.disabled = 'disabled' : null; + form.deletepost ? form.deletepost.disabled = 'disabled' : null; +} + +function autosave_enable_buttons() { + var form = $('post'); + form.save ? form.save.disabled = '' : null; + form.submit ? form.submit.disabled = '' : null; + form.publish ? form.publish.disabled = '' : null; + form.deletepost ? form.deletepost.disabled = '' : null; +} + function autosave() { var form = $('post'); var rich = ((typeof tinyMCE != "undefined") && tinyMCE.getInstanceById('content')) ? true : false; @@ -95,6 +114,8 @@ function autosave() { if(form.post_title.value.length==0 || form.content.value.length==0 || form.post_title.value+form.content.value == autosaveLast) return; + autosave_disable_buttons(); + autosaveLast = form.post_title.value+form.content.value; cats = document.getElementsByName("post_category[]");