forked from MapComplete/MapComplete
Intermediate refactoring
This commit is contained in:
parent
93db813cfc
commit
069cddf034
103 changed files with 7950 additions and 0 deletions
57
Helpers.js
Normal file
57
Helpers.js
Normal file
|
@ -0,0 +1,57 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Helpers = void 0;
|
||||
var Helpers = /** @class */ (function () {
|
||||
function Helpers() {
|
||||
}
|
||||
Helpers.DoEvery = function (millis, f) {
|
||||
window.setTimeout(function () {
|
||||
f();
|
||||
Helpers.DoEvery(millis, f);
|
||||
}, millis);
|
||||
};
|
||||
Helpers.SetupAutoSave = function (changes, millisTillChangesAreSaved, saveAfterXMillis) {
|
||||
changes.pendingChangesES.addCallback(function () {
|
||||
var c = changes.pendingChangesES.data;
|
||||
if (c > 10) {
|
||||
millisTillChangesAreSaved.setData(0);
|
||||
changes.uploadAll(undefined);
|
||||
return;
|
||||
}
|
||||
if (c > 0) {
|
||||
millisTillChangesAreSaved.setData(saveAfterXMillis);
|
||||
}
|
||||
});
|
||||
millisTillChangesAreSaved.addCallback(function (time) {
|
||||
if (time <= 0 && changes.pendingChangesES.data > 0) {
|
||||
changes.uploadAll(undefined);
|
||||
}
|
||||
});
|
||||
Helpers.DoEvery(1000, function () {
|
||||
millisTillChangesAreSaved
|
||||
.setData(millisTillChangesAreSaved.data - 1000);
|
||||
});
|
||||
};
|
||||
/*
|
||||
* Registers an action that:
|
||||
* -> Upload everything to OSM
|
||||
* -> Asks the user not to close. The 'not to close' dialog should profide enough time to upload
|
||||
* -> WHen uploading is done, the window is closed anyway
|
||||
*/
|
||||
Helpers.LastEffortSave = function (changes) {
|
||||
window.addEventListener("beforeunload", function (e) {
|
||||
// Quickly save everyting!
|
||||
if (changes.pendingChangesES.data == 0) {
|
||||
return "";
|
||||
}
|
||||
changes.uploadAll(function () {
|
||||
window.close();
|
||||
});
|
||||
var confirmationMessage = "Nog even geduld - je laatset wijzigingen worden opgeslaan!";
|
||||
(e || window.event).returnValue = confirmationMessage; //Gecko + IE
|
||||
return confirmationMessage; //Webkit, Safari, Chrome
|
||||
});
|
||||
};
|
||||
return Helpers;
|
||||
}());
|
||||
exports.Helpers = Helpers;
|
Loading…
Add table
Add a link
Reference in a new issue