Skip to content
Snippets Groups Projects
Commit cafc9088 authored by Adrian Lang's avatar Adrian Lang
Browse files

JSLINT locktimer, fix date passing in draftsave

Since 80997d21 the date passed to the
draft save backend is indeed the page id, not the date.
parent 56e27257
No related branches found
No related tags found
No related merge requests found
......@@ -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();
}
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment