Disable local storage on embedded view

This commit is contained in:
Paulo Gustavo Veiga 2022-03-08 10:19:02 -08:00
parent 7c03d04a19
commit d32eaf63cf
2 changed files with 18 additions and 7 deletions

View File

@ -23,23 +23,34 @@ class LocalStorageManager extends PersistenceManager {
private forceLoad: boolean;
constructor(documentUrl: string, forceLoad: boolean) {
private readOnly: boolean;
constructor(documentUrl: string, forceLoad: boolean, readOnly = true) {
super();
this.documentUrl = documentUrl;
this.forceLoad = forceLoad;
this.readOnly = readOnly;
}
saveMapXml(mapId: string, mapDoc: Document): void {
const mapXml = new XMLSerializer().serializeToString(mapDoc);
localStorage.setItem(`${mapId}-xml`, mapXml);
if (!this.readOnly) {
localStorage.setItem(`${mapId}-xml`, mapXml);
}
console.log(`Map XML to save => ${this.saveMapXml}`);
}
discardChanges(mapId: string) {
localStorage.removeItem(`${mapId}-xml`);
if (!this.readOnly) {
localStorage.removeItem(`${mapId}-xml`);
}
}
loadMapDom(mapId: string) {
let xml = localStorage.getItem(`${mapId}-xml`);
let xml;
if (!this.readOnly) {
xml = localStorage.getItem(`${mapId}-xml`);
}
if (xml == null || this.forceLoad) {
$.ajax({
url: this.documentUrl.replace('{id}', mapId),

View File

@ -47,12 +47,12 @@ export const fetchMapById = (id: number): MapLoadResult => {
return client.fetchAllMaps();
});
// Sanitize error structure ...
let errorMsg: ErrorInfo = Object.keys(error).length !== 0 ? error : null;
// If the map can not be loaded, create an error object.
let map: MapInfo;
if (!isLoading) {
// Sanitize error structure ...
// If the map can not be loaded, create an error object.
map = data?.find((m) => m.id == id);
if (map === null && !errorMsg) {
errorMsg = { msg: `Map with id ${id} could not be found. Please, reflesh the page` }