Improve save logic.

This commit is contained in:
Paulo Gustavo Veiga 2022-03-13 16:36:39 -03:00
parent eaaf3c5d44
commit 8d03aa4095
2 changed files with 19 additions and 19 deletions

View File

@ -33,8 +33,6 @@ import { $msg } from '@wisemapping/mindplot';
class Menu extends IMenu {
constructor(designer: Designer, containerId: string, readOnly = false, baseUrl = '') {
super(designer, containerId);
const saveElem = $('#save');
const widgetsBaseUrl = `${baseUrl}css/widget`;
// Create panels ...
@ -274,30 +272,31 @@ class Menu extends IMenu {
Menu._registerTooltip('fontItalic', $msg('FONT_ITALIC'), 'meta+I');
if (saveElem) {
if (!readOnly) {
// Register action on save ...
const saveElem = $('#save');
this._addButton('save', false, false,
() => {
this.save(saveElem, designer, true);
});
Menu._registerTooltip('save', $msg('SAVE'), 'meta+S');
if (!readOnly) {
window.addEventListener('beforeunload', () => {
// Register unload save ...
window.addEventListener('beforeunload', () => {
if (this.isSaveRequired()) {
this.save(saveElem, designer, false);
}
this.unlockMap(designer);
});
// Autosave on a fixed period of time ...
setInterval(
() => {
if (this.isSaveRequired()) {
this.save(saveElem, designer, false);
}
this.unlockMap(designer);
});
// Autosave on a fixed period of time ...
setInterval(
() => {
if (this.isSaveRequired()) {
this.save(saveElem, designer, false);
}
}, 10000,
);
}
}, 10000,
);
}
}

View File

@ -32,12 +32,13 @@ class LocalStorageManager extends PersistenceManager {
this.readOnly = readOnly;
}
saveMapXml(mapId: string, mapDoc: Document): void {
saveMapXml(mapId: string, mapDoc: Document, _pref: string, _saveHistory: boolean, events): void {
const mapXml = new XMLSerializer().serializeToString(mapDoc);
if (!this.readOnly) {
localStorage.setItem(`${mapId}-xml`, mapXml);
events.onSuccess();
}
console.log(`Map XML to save => ${this.saveMapXml}`);
console.log(`Map XML to save => ${mapXml}`);
}
discardChanges(mapId: string) {