markdown modpoll at an interval

This commit is contained in:
ed 2021-09-16 09:31:58 +02:00
parent f00c54a7fb
commit 5010387d8a
2 changed files with 17 additions and 23 deletions

View File

@ -3333,9 +3333,7 @@ var treectl = (function () {
clmod(ebi('epi'), 'mdo'); clmod(ebi('epi'), 'mdo');
if (res.readme) if (res.readme)
setTimeout(function () { show_readme(res.readme);
show_readme(res.readme);
}, 10);
document.title = '⇆🎉 ' + uricom_dec(document.location.pathname.slice(1, -1))[0]; document.title = '⇆🎉 ' + uricom_dec(document.location.pathname.slice(1, -1))[0];

View File

@ -230,44 +230,40 @@ redraw = (function () {
// modification checker // modification checker
function Modpoll() { function Modpoll() {
this.skip_one = true; var r = {
this.disabled = false; skip_one: true,
disabled: false
this.periodic = function () { };
var that = this;
setTimeout(function () {
that.periodic();
}, 1000 * md_opt.modpoll_freq);
r.periodic = function () {
var skip = null; var skip = null;
if (toast.visible) if (toast.visible)
skip = 'toast'; skip = 'toast';
else if (this.skip_one) else if (r.skip_one)
skip = 'saved'; skip = 'saved';
else if (this.disabled) else if (r.disabled)
skip = 'disabled'; skip = 'disabled';
if (skip) { if (skip) {
console.log('modpoll skip, ' + skip); console.log('modpoll skip, ' + skip);
this.skip_one = false; r.skip_one = false;
return; return;
} }
console.log('modpoll...'); console.log('modpoll...');
var url = (document.location + '').split('?')[0] + '?raw&_=' + Date.now(); var url = (document.location + '').split('?')[0] + '?raw&_=' + Date.now();
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
xhr.modpoll = this;
xhr.open('GET', url, true); xhr.open('GET', url, true);
xhr.responseType = 'text'; xhr.responseType = 'text';
xhr.onreadystatechange = this.cb; xhr.onreadystatechange = r.cb;
xhr.send(); xhr.send();
} };
this.cb = function () { r.cb = function () {
if (this.modpoll.disabled || this.modpoll.skip_one) { if (r.disabled || r.skip_one) {
console.log('modpoll abort'); console.log('modpoll abort');
return; return;
} }
@ -288,7 +284,7 @@ function Modpoll() {
if (server_ref != server_now) { if (server_ref != server_now) {
console.log("modpoll diff |" + server_ref.length + "|, |" + server_now.length + "|"); console.log("modpoll diff |" + server_ref.length + "|, |" + server_now.length + "|");
this.modpoll.disabled = true; r.disabled = true;
var msg = [ var msg = [
"The document has changed on the server.", "The document has changed on the server.",
"The changes will NOT be loaded into your editor automatically.", "The changes will NOT be loaded into your editor automatically.",
@ -302,12 +298,12 @@ function Modpoll() {
} }
console.log('modpoll eq'); console.log('modpoll eq');
} };
if (md_opt.modpoll_freq > 0) if (md_opt.modpoll_freq > 0)
this.periodic(); setInterval(r.periodic, 1000 * md_opt.modpoll_freq);
return this; return r;
} }
var modpoll = new Modpoll(); var modpoll = new Modpoll();