diff options
Diffstat (limited to 'lib/scripts')
-rw-r--r-- | lib/scripts/edit.js | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index 36861973a..d04baaa6d 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -235,19 +235,6 @@ function keyHandler(e){ } } -//FIXME consolidate somewhere else -addInitEvent(function(){ - var field = jQuery('#wiki__text'); - if(field.length == 0) return; - // in Firefox, keypress doesn't send the correct keycodes, - // in Opera, the default of keydown can't be prevented - if (is_opera) { - field.bind('keypress', keyHandler); - } else { - field.bind('keydown', keyHandler); - } -}); - /** * Determine the current section level while editing * @@ -288,18 +275,16 @@ function deleteDraft() { if (window.keepDraft) return; // remove a possibly saved draft using ajax - var dwform = $('dw__editform'); - if(dwform){ - var params = 'call=draftdel'; - params += '&id='+encodeURIComponent(dwform.elements.id.value); - - var sackobj = new sack(DOKU_BASE + 'lib/exe/ajax.php'); - // this needs to be synchronous and GET to not be aborted upon page unload - sackobj.asynchronous = false; - sackobj.method = 'GET'; - sackobj.AjaxFailedAlert = ''; - sackobj.encodeURIString = false; - sackobj.runAJAX(params); + var dwform = jQuery('#dw__editform'); + if(dwform.length != 0) { + + jQuery.post( + DOKU_BASE + 'lib/exe/ajax.php', + { + call: 'draftdel', + id: jQuery('#dw__editform input[name=id]').val() + } + ); } } @@ -309,24 +294,34 @@ function deleteDraft() { * * Sets focus to the editbox as well */ -addInitEvent(function (){ - var editform = $('dw__editform'); - if (!editform) return; - - var edit_text = $('wiki__text'); - if(edit_text) { - if(edit_text.readOnly) return; - +addInitEvent(function () { + var $ = jQuery; + var editform = $('#dw__editform'); + if (editform.length == 0) return; + + var edit_text = $('#wiki__text'); + if (edit_text.length > 0) { + if(edit_text.attr('readOnly')) return; + + // in Firefox, keypress doesn't send the correct keycodes, + // in Opera, the default of keydown can't be prevented + if (is_opera) { + edit_text.keypress(keyHandler); + } else { + edit_text.keydown(keyHandler); + } + // set focus edit_text.focus(); } - - var checkfunc = function(){ + + var checkfunc = function() { textChanged = true; //global var summaryCheck(); - }; - addEvent(editform, 'change', checkfunc); - addEvent(editform, 'keydown', checkfunc); + }; + + editform.change(checkfunc); + editform.keydown(checkfunc); window.onbeforeunload = function(){ if(textChanged) { @@ -336,17 +331,22 @@ addInitEvent(function (){ window.onunload = deleteDraft; // reset change memory var on submit - addEvent($('edbtn__save'), 'click', function(){ - textChanged = false; - }); - addEvent($('edbtn__preview'), 'click', function(){ - textChanged = false; - window.keepDraft = true; // needed to keep draft on page unload - }); + $('#edbtn__save').click( + function() { + textChanged = false; + } + ); + $('#edbtn__preview').click( + function() { + textChanged = false; + window.keepDraft = true; // needed to keep draft on page unload + } + ); - var summary = $('edit__summary'); - addEvent(summary, 'change', summaryCheck); - addEvent(summary, 'keyup', summaryCheck); + var summary = $('#edit__summary'); + summary.change(summaryCheck); + summary.keyup(summaryCheck); + if (textChanged) summaryCheck(); }); @@ -356,11 +356,11 @@ addInitEvent(function (){ * @author Andreas Gohr <andi@splitbrain.org> */ function summaryCheck(){ - var sum = document.getElementById('edit__summary'); - if(sum.value === ''){ - sum.className='missing'; - }else{ - sum.className='edit'; + var sum = jQuery('#edit__summary'); + + if (sum.val() === '') { + sum.attr('class', 'missing'); + } else{ + sum.attr('class', 'edit'); } } - |