From a21256a5e90bfdd247ebbecb4a1e12e4b1c646e1 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Tue, 5 Feb 2019 16:46:21 +0100 Subject: [PATCH] local storage replace session storage because the scope is limited to tab --- frontend-js/src/main/js/ServerConnector.js | 9 ++-- frontend-js/src/main/js/SessionData.js | 50 +++++++++++----------- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js index d048676ae1..72985ccbd0 100644 --- a/frontend-js/src/main/js/ServerConnector.js +++ b/frontend-js/src/main/js/ServerConnector.js @@ -195,7 +195,7 @@ ServerConnector.sendRequest = function (params) { self.getSessionData().setToken(undefined); var login = self.getSessionData().getLogin(); promise = self.login().then(function () { - if (login === "anonymous" || login === undefined) { + if (login === "anonymous" || login === undefined || login === null) { window.location.reload(false); } else { window.location.href = ServerConnector.getServerBaseUrl() + "login.xhtml?from=" + encodeURI(window.location.href); @@ -740,7 +740,7 @@ ServerConnector.getFullOverlayElementUrl = function (queryParams, filterParams) }; ServerConnector.getSubmitErrorToMinervaNetUrl = function () { - return this.getApiBaseUrl() + 'minervanet/submitError'; + return this.getApiBaseUrl() + 'minervanet/submitError'; }; ServerConnector.idsToString = function (ids) { @@ -1217,10 +1217,10 @@ ServerConnector.getProjectStatistics = function (projectId) { */ ServerConnector.getLoggedUser = function () { var self = this; - if (self._loggedUser !== undefined) { + if (self._loggedUser !== undefined && self._loggedUser !== null) { return Promise.resolve(self._loggedUser); } else { - self._loggedUser = self.getUser(self.getSessionData().getLogin()).then(function (user) { + return self.getUser(self.getSessionData().getLogin()).then(function (user) { if (user !== null) { self._loggedUser = user; return self._loggedUser; @@ -1228,7 +1228,6 @@ ServerConnector.getLoggedUser = function () { return Promise.reject(new Error("User " + self.getSessionData().getLogin() + " doesn't exist")); } }); - return self._loggedUser; } }; diff --git a/frontend-js/src/main/js/SessionData.js b/frontend-js/src/main/js/SessionData.js index ff29324871..ccffea1576 100644 --- a/frontend-js/src/main/js/SessionData.js +++ b/frontend-js/src/main/js/SessionData.js @@ -71,7 +71,7 @@ SessionData.prototype.getProjectId = function () { */ SessionData.prototype.getShowComments = function () { var key = this.getKey(SessionObjectType.SHOW_COMMENT); - return window.sessionStorage.getItem(key) === "true"; + return window.localStorage.getItem(key) === "true"; }; /** @@ -80,7 +80,7 @@ SessionData.prototype.getShowComments = function () { */ SessionData.prototype.setSearchQuery = function (value) { var key = this.getKey(SessionObjectType.SEARCH_QUERY); - window.sessionStorage.setItem(key, JSON.stringify(value)); + window.localStorage.setItem(key, JSON.stringify(value)); }; /** @@ -109,7 +109,7 @@ SessionData.prototype.setQuery = function (param) { */ SessionData.prototype.getSearchQuery = function () { var key = this.getKey(SessionObjectType.SEARCH_QUERY); - var result = window.sessionStorage.getItem(key); + var result = window.localStorage.getItem(key); if (result !== undefined && result !== null) { return JSON.parse(result); } else { @@ -123,7 +123,7 @@ SessionData.prototype.getSearchQuery = function () { */ SessionData.prototype.setDrugQuery = function (value) { var key = this.getKey(SessionObjectType.DRUG_QUERY); - window.sessionStorage.setItem(key, JSON.stringify(value)); + window.localStorage.setItem(key, JSON.stringify(value)); }; /** @@ -132,7 +132,7 @@ SessionData.prototype.setDrugQuery = function (value) { */ SessionData.prototype.getDrugQuery = function () { var key = this.getKey(SessionObjectType.DRUG_QUERY); - var result = window.sessionStorage.getItem(key); + var result = window.localStorage.getItem(key); if (result !== undefined && result !== null) { return JSON.parse(result); } else { @@ -146,7 +146,7 @@ SessionData.prototype.getDrugQuery = function () { */ SessionData.prototype.setMiRnaQuery = function (value) { var key = this.getKey(SessionObjectType.MI_RNA_QUERY); - window.sessionStorage.setItem(key, JSON.stringify(value)); + window.localStorage.setItem(key, JSON.stringify(value)); }; /** @@ -155,7 +155,7 @@ SessionData.prototype.setMiRnaQuery = function (value) { */ SessionData.prototype.getMiRnaQuery = function () { var key = this.getKey(SessionObjectType.MI_RNA_QUERY); - var result = window.sessionStorage.getItem(key); + var result = window.localStorage.getItem(key); if (result !== undefined && result !== null) { return JSON.parse(result); } else { @@ -169,7 +169,7 @@ SessionData.prototype.getMiRnaQuery = function () { */ SessionData.prototype.setChemicalQuery = function (value) { var key = this.getKey(SessionObjectType.CHEMICAL_QUERY); - window.sessionStorage.setItem(key, JSON.stringify(value)); + window.localStorage.setItem(key, JSON.stringify(value)); }; /** @@ -178,7 +178,7 @@ SessionData.prototype.setChemicalQuery = function (value) { */ SessionData.prototype.getChemicalQuery = function () { var key = this.getKey(SessionObjectType.CHEMICAL_QUERY); - var result = window.sessionStorage.getItem(key); + var result = window.localStorage.getItem(key); if (result !== undefined && result !== null) { return JSON.parse(result); } else { @@ -192,7 +192,7 @@ SessionData.prototype.getChemicalQuery = function () { */ SessionData.prototype.setShowComments = function (value) { var key = this.getKey(SessionObjectType.SHOW_COMMENT); - window.sessionStorage.setItem(key, value + ""); + window.localStorage.setItem(key, value + ""); }; /** @@ -201,7 +201,7 @@ SessionData.prototype.setShowComments = function (value) { */ SessionData.prototype.getSelectedBackgroundOverlay = function () { var key = this.getKey(SessionObjectType.SELECTED_BACKGROUND_OVERLAY); - var result = window.sessionStorage.getItem(key); + var result = window.localStorage.getItem(key); if (result !== undefined && result !== null) { return parseInt(result); } else { @@ -215,7 +215,7 @@ SessionData.prototype.getSelectedBackgroundOverlay = function () { */ SessionData.prototype.setSelectedBackgroundOverlay = function (value) { var key = this.getKey(SessionObjectType.SELECTED_BACKGROUND_OVERLAY); - window.sessionStorage.setItem(key, value + ""); + window.localStorage.setItem(key, value + ""); }; /** @@ -224,7 +224,7 @@ SessionData.prototype.setSelectedBackgroundOverlay = function (value) { */ SessionData.prototype.getVisibleOverlays = function () { var key = this.getKey(SessionObjectType.VISIBLE_OVERLAYS); - var value = window.sessionStorage.getItem(key); + var value = window.localStorage.getItem(key); if (value === undefined || value === null || value === "") { return []; } else { @@ -242,7 +242,7 @@ SessionData.prototype.getVisibleOverlays = function () { */ SessionData.prototype.setVisibleOverlays = function (value) { var key = this.getKey(SessionObjectType.VISIBLE_OVERLAYS); - window.sessionStorage.setItem(key, value + ""); + window.localStorage.setItem(key, value + ""); }; /** @@ -252,7 +252,7 @@ SessionData.prototype.setVisibleOverlays = function (value) { */ SessionData.prototype.setZoomLevel = function (model, value) { var key = this.getKey(SessionObjectType.ZOOM_LEVEL, [model.getId()]); - window.sessionStorage.setItem(key, value + ""); + window.localStorage.setItem(key, value + ""); }; /** @@ -262,7 +262,7 @@ SessionData.prototype.setZoomLevel = function (model, value) { */ SessionData.prototype.getZoomLevel = function (model) { var key = this.getKey(SessionObjectType.ZOOM_LEVEL, [model.getId()]); - var value = window.sessionStorage.getItem(key); + var value = window.localStorage.getItem(key); if (value !== undefined && value !== null) { return parseInt(value); } else { @@ -277,9 +277,9 @@ SessionData.prototype.getZoomLevel = function (model) { SessionData.prototype.setToken = function (token) { var key = SessionObjectType.TOKEN; if (token === undefined || token === null) { - window.sessionStorage.removeItem(key); + window.localStorage.removeItem(key); } else { - window.sessionStorage.setItem(key, token); + window.localStorage.setItem(key, token); } }; @@ -289,7 +289,7 @@ SessionData.prototype.setToken = function (token) { */ SessionData.prototype.getToken = function () { var key = SessionObjectType.TOKEN; - return window.sessionStorage.getItem(key); + return window.localStorage.getItem(key); }; /** @@ -299,9 +299,9 @@ SessionData.prototype.getToken = function () { SessionData.prototype.setLogin = function (login) { var key = SessionObjectType.LOGIN; if (login === undefined || login === null) { - window.sessionStorage.removeItem(key); + window.localStorage.removeItem(key); } else { - window.sessionStorage.setItem(key, login); + window.localStorage.setItem(key, login); } }; @@ -311,7 +311,7 @@ SessionData.prototype.setLogin = function (login) { */ SessionData.prototype.getLogin = function () { var key = SessionObjectType.LOGIN; - return window.sessionStorage.getItem(key); + return window.localStorage.getItem(key); }; /** @@ -321,7 +321,7 @@ SessionData.prototype.getLogin = function () { */ SessionData.prototype.setCenter = function (model, value) { var key = this.getKey(SessionObjectType.CENTER, [model.getId()]); - window.sessionStorage.setItem(key, value.x + "," + value.y); + window.localStorage.setItem(key, value.x + "," + value.y); }; /** @@ -331,7 +331,7 @@ SessionData.prototype.setCenter = function (model, value) { */ SessionData.prototype.getCenter = function (model) { var key = this.getKey(SessionObjectType.CENTER, [model.getId()]); - var value = window.sessionStorage.getItem(key); + var value = window.localStorage.getItem(key); if (value !== undefined && value !== null) { var tmp = value.split(","); return new Point(tmp[0], tmp[1]); @@ -357,7 +357,7 @@ SessionData.prototype.getKey = function (type, args) { }; SessionData.prototype.clear = function () { - window.sessionStorage.clear(); + window.localStorage.clear(); }; module.exports = SessionData; -- GitLab