mirror of
https://github.com/xevidos/codiad.git
synced 2024-11-10 21:26:35 +01:00
66 lines
1.5 KiB
JavaScript
Executable File
66 lines
1.5 KiB
JavaScript
Executable File
/*
|
|
* Copyright (c) Codiad & Kent Safranski (codiad.com), distributed
|
|
* as-is and without warranty under the MIT License. See
|
|
* [root]/license.txt for more. This information must remain intact.
|
|
*/
|
|
(function(global, $) {
|
|
|
|
var codiad = global.codiad;
|
|
|
|
$(function() {
|
|
codiad.poller.init();
|
|
});
|
|
|
|
codiad.poller = {
|
|
|
|
interval: 10000,
|
|
|
|
init: function() {
|
|
|
|
let _this = this;
|
|
let interval = null;
|
|
|
|
setInterval( function() {
|
|
|
|
_this.checkAuth();
|
|
_this.saveDrafts();
|
|
|
|
}, _this.interval);
|
|
},
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Poll authentication
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
checkAuth: function() {
|
|
|
|
// Run controller to check session (also acts as keep-alive) & Check user
|
|
$.get(codiad.user.controller + '?action=verify', function(data) {
|
|
if(data == 'false') {
|
|
codiad.user.logout();
|
|
}
|
|
});
|
|
|
|
},
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
// Poll For Auto-Save of drafts (persist)
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
saveDrafts: function() {
|
|
$('#active-files a.changed')
|
|
.each(function() {
|
|
|
|
// Get changed content and path
|
|
let path = $(this)
|
|
.attr('data-path');
|
|
let content = codiad.active.sessions[path].getValue();
|
|
|
|
// TODO: Add some visual indication about draft getting saved.
|
|
|
|
// Set localstorage
|
|
localStorage.setItem(path, content);
|
|
});
|
|
}
|
|
};
|
|
})(this, jQuery); |