From cafc90889ce6f5ce7c4007147b2fee974d80401a Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 22 Aug 2011 13:16:33 +0200 Subject: JSLINT locktimer, fix date passing in draftsave Since 80997d21e0aee9b8f27153000742ecd781f429f8 the date passed to the draft save backend is indeed the page id, not the date. --- lib/scripts/locktimer.js | 56 ++++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 26 deletions(-) (limited to 'lib/scripts') diff --git a/lib/scripts/locktimer.js b/lib/scripts/locktimer.js index b83840557..857002abf 100644 --- a/lib/scripts/locktimer.js +++ b/lib/scripts/locktimer.js @@ -17,8 +17,9 @@ var dw_locktimer = { */ init: function(timeout,draft){ //FIXME which elements to pass here? var $edit = jQuery('#wiki__text'); - if(!$edit.length) return; - if($edit.attr('readonly')) return; + if($edit.length === 0 || $edit.attr('readonly')) { + return; + } // init values dw_locktimer.timeout = timeout*1000; @@ -26,10 +27,12 @@ var dw_locktimer = { dw_locktimer.lasttime = new Date(); dw_locktimer.pageid = jQuery('#dw__editform input[name=id]').val(); - if(!dw_locktimer.pageid) return; + if(!dw_locktimer.pageid) { + return; + } // register refresh event - jQuery('#wiki__text').keypress(dw_locktimer.refresh); + $edit.keypress(dw_locktimer.refresh); // start timer dw_locktimer.reset(); }, @@ -66,30 +69,29 @@ var dw_locktimer = { * Called on keypresses in the edit area */ refresh: function(){ - var now = new Date(); - var params = {}; - // refresh every minute only - if(now.getTime() - dw_locktimer.lasttime.getTime() > 30*1000){ - params['call'] = 'lock'; - params['id'] = dw_locktimer.pageid; + var now = new Date(), + params = 'call=lock&id=' + dw_locktimer.pageid + '&'; - if(dw_locktimer.draft && jQuery('#dw__editform textarea[name=wikitext]').length > 0){ - params['prefix'] = jQuery('#dw__editform input[name=prefix]').val(); - params['wikitext'] = jQuery('#dw__editform textarea[name=wikitext]').val(); - params['suffix'] = jQuery('#dw__editform input[name=suffix]').val(); - if(jQuery('#dw__editform input[name=date]').length > 0) { - params['date'] = jQuery('#dw__editform input[name=id]').val(); - } - } + // refresh every minute only + if(now.getTime() - dw_locktimer.lasttime.getTime() <= 30*1000) { + return; + } - jQuery.post( - DOKU_BASE + 'lib/exe/ajax.php', - params, - dw_locktimer.refreshed, - 'html' - ); - dw_locktimer.lasttime = now; + // POST everything necessary for draft saving + if(dw_locktimer.draft && jQuery('#dw__editform textarea[name=wikitext]').length > 0){ + params += jQuery('#dw__editform').find('input[name=prefix], ' + + 'textarea[name=wikitext], ' + + 'input[name=suffix], ' + + 'input[name=date]').serialize(); } + + jQuery.post( + DOKU_BASE + 'lib/exe/ajax.php', + params, + dw_locktimer.refreshed, + 'html' + ); + dw_locktimer.lasttime = now; }, /** @@ -100,7 +102,9 @@ var dw_locktimer = { data = data.substring(1); jQuery('#draft__status').html(data); - if(error != '1') return; // locking failed + if(error != '1') { + return; // locking failed + } dw_locktimer.reset(); } }; -- cgit v1.2.3