summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/services
diff options
context:
space:
mode:
authorAaron Bohy <aab@odoo.com>2018-03-19 13:40:10 +0100
committerAaron Bohy <aab@odoo.com>2018-03-23 09:02:03 +0100
commitee0605f405a84439bc71fde3f6bdc2da427ec774 (patch)
tree34f16cbe39912f5eac3794a092af11f619bfb6bf /addons/web/static/src/js/services
parent2a53338649eba63d21560a7ce3da6b003447c628 (diff)
[IMP] web: add sessionStorage service
This rev. adds the 'sessionStorage' service, allowing to write and read stuff in/from the sessionStorage (with a compatibility layer to handle the case where the sessionStorage can't be used, e.g. private browsing in Safari, like it is already done for the localStorage). This new service is necessary for the ActionManager to store the current action, so that it can be fully restored on F5 (this comes with the next commit).
Diffstat (limited to 'addons/web/static/src/js/services')
-rw-r--r--addons/web/static/src/js/services/local_storage_service.js21
-rw-r--r--addons/web/static/src/js/services/session_storage_service.js21
2 files changed, 28 insertions, 14 deletions
diff --git a/addons/web/static/src/js/services/local_storage_service.js b/addons/web/static/src/js/services/local_storage_service.js
index 7a8c803a0f9..016ed08f2b7 100644
--- a/addons/web/static/src/js/services/local_storage_service.js
+++ b/addons/web/static/src/js/services/local_storage_service.js
@@ -1,24 +1,17 @@
odoo.define('web.LocalStorageService', function (require) {
'use strict';
-var AbstractService = require('web.AbstractService');
+/**
+ * This module defines a service to access the localStorage object.
+ */
+
+var AbstractStorageService = require('web.AbstractStorageService');
var core = require('web.core');
var localStorage = require('web.local_storage');
-var LocalStorageService = AbstractService.extend({
+var LocalStorageService = AbstractStorageService.extend({
name: 'local_storage',
- setItem: function(key, value) {
- localStorage.setItem(key,value);
- },
- getItem: function(key) {
- return localStorage.getItem(key);
- },
- removeItem: function(key) {
- localStorage.removeItem(key);
- },
- clear: function() {
- localStorage.clear();
- }
+ storage: localStorage,
});
core.serviceRegistry.add('local_storage', LocalStorageService);
diff --git a/addons/web/static/src/js/services/session_storage_service.js b/addons/web/static/src/js/services/session_storage_service.js
new file mode 100644
index 00000000000..b9441f2e173
--- /dev/null
+++ b/addons/web/static/src/js/services/session_storage_service.js
@@ -0,0 +1,21 @@
+odoo.define('web.SessionStorageService', function (require) {
+'use strict';
+
+/**
+ * This module defines a service to access the sessionStorage object.
+ */
+
+var AbstractStorageService = require('web.AbstractStorageService');
+var core = require('web.core');
+var sessionStorage = require('web.sessionStorage');
+
+var SessionStorageService = AbstractStorageService.extend({
+ name: 'session_storage',
+ storage: sessionStorage,
+});
+
+core.serviceRegistry.add('session_storage', SessionStorageService);
+
+return SessionStorageService;
+
+});