summaryrefslogtreecommitdiffstats
path: root/assets/javascript
diff options
context:
space:
mode:
Diffstat (limited to 'assets/javascript')
-rw-r--r--assets/javascript/app.js6
-rw-r--r--assets/javascript/utils/storage.js8
2 files changed, 13 insertions, 1 deletions
diff --git a/assets/javascript/app.js b/assets/javascript/app.js
index 7d044ab..b3c2805 100644
--- a/assets/javascript/app.js
+++ b/assets/javascript/app.js
@@ -1,15 +1,19 @@
require([
"jQuery",
+ "utils/storage",
"utils/analytic",
"core/state",
"core/exercise",
"core/progress",
"core/sidebar"
-], function($, analytic, _state, exercise, progress, sidebar){
+], function($, storage, analytic, _state, exercise, progress, sidebar){
$(document).ready(function() {
var state = _state();
var $book = state.$book;
+ // Initialize storage
+ storage.setBaseKey(state.githubId);
+
// Tract page view
analytic.track("View");
diff --git a/assets/javascript/utils/storage.js b/assets/javascript/utils/storage.js
index ffa3243..caa64bc 100644
--- a/assets/javascript/utils/storage.js
+++ b/assets/javascript/utils/storage.js
@@ -1,12 +1,19 @@
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;
try {
return JSON.parse(localStorage[key]) || def;
} catch(err) {
@@ -14,6 +21,7 @@ define(function(){
}
},
remove: function(key) {
+ key = baseKey+":"+key;
localStorage.removeItem(key);
}
};