Auto-save post and comment entry using localStorage in browser.
This commit is contained in:
@@ -166,6 +166,12 @@ function handle_comment_form(e) {
|
||||
$('#' + commentElm).addClass('expanded').removeAttr('placeholder');
|
||||
$('#' + commentElm).attr('tabindex','9');
|
||||
$('#' + submitElm).attr('tabindex','10');
|
||||
|
||||
var commentBody = localStorage.getItem("comment_body");
|
||||
if(commentBody && $('#' + commentElm).val() === '') {
|
||||
$('#' + commentElm).val(commentBody);
|
||||
}
|
||||
|
||||
form.find(':not(:visible)').show();
|
||||
}
|
||||
|
||||
@@ -185,6 +191,28 @@ function handle_comment_form(e) {
|
||||
form.find(':not(.comment-edit-text)').hide();
|
||||
}
|
||||
});
|
||||
|
||||
var commentSaveTimer = null;
|
||||
var emptyCommentElm = form.find('.comment-edit-text').attr('id');
|
||||
$(document).on('focusout','#' + emptyCommentElm,function(e){
|
||||
if(commentSaveTimer)
|
||||
clearTimeout(commentSaveTimer);
|
||||
commentSaveChanges(true);
|
||||
commentSaveTimer = null;
|
||||
});
|
||||
|
||||
$(document).on('focusin','#' + emptyCommentElm,function(e){
|
||||
commentSaveTimer = setTimeout(function () {
|
||||
commentSaveChanges(false);
|
||||
},10000);
|
||||
});
|
||||
|
||||
function commentSaveChanges(isFinal = false, type) {
|
||||
localStorage.setItem("comment_body", $('#' + emptyCommentElm).val());
|
||||
if( !isFinal) {
|
||||
commentSaveTimer = setTimeout(commentSaveChanges,10000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function commentClose(obj, id) {
|
||||
@@ -1106,6 +1134,7 @@ function post_comment(id) {
|
||||
$("#comment-edit-form-" + id).serialize(),
|
||||
function(data) {
|
||||
if(data.success) {
|
||||
localStorage.removeItem("comment_body");
|
||||
$("#comment-edit-preview-" + id).hide();
|
||||
$("#comment-edit-wrapper-" + id).hide();
|
||||
$("#comment-edit-text-" + id).val('');
|
||||
|
Reference in New Issue
Block a user