diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-01-20 11:29:26 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-01-20 11:29:26 +0100 |
commit | 238cd9f7f09f11ecdb1717a5d07fc33642d29043 (patch) | |
tree | 72eac94839bda4f32cb41441b2b88532eed52603 /theme/javascript/utils/storage.js | |
parent | bac25cdf297a7fa54f21977aa17d455e439cdf51 (diff) | |
download | gitbook-238cd9f7f09f11ecdb1717a5d07fc33642d29043.zip gitbook-238cd9f7f09f11ecdb1717a5d07fc33642d29043.tar.gz gitbook-238cd9f7f09f11ecdb1717a5d07fc33642d29043.tar.bz2 |
Add back theme
Diffstat (limited to 'theme/javascript/utils/storage.js')
-rwxr-xr-x | theme/javascript/utils/storage.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/theme/javascript/utils/storage.js b/theme/javascript/utils/storage.js new file mode 100755 index 0000000..57f5878 --- /dev/null +++ b/theme/javascript/utils/storage.js @@ -0,0 +1,31 @@ +define(function(){ + var baseKey = ""; + + /* + * Simple module for storing data in the browser's local storage + */ + return { + setBaseKey: function(key) { + baseKey = key; + }, + set: function(key, value) { + key = baseKey+":"+key; + localStorage[key] = JSON.stringify(value); + }, + get: function(key, def) { + key = baseKey+":"+key; + if (localStorage[key] === undefined) return def; + try { + var v = JSON.parse(localStorage[key]); + return v == null ? def : v;; + } catch(err) { + console.error(err); + return localStorage[key] || def; + } + }, + remove: function(key) { + key = baseKey+":"+key; + localStorage.removeItem(key); + } + }; +});
\ No newline at end of file |