diff options
Diffstat (limited to 'assets/javascript')
-rw-r--r-- | assets/javascript/app.js | 6 | ||||
-rw-r--r-- | assets/javascript/utils/storage.js | 8 |
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); } }; |