Bladeren bron

New namespace Data.Storage

…based on LocalStorage and SessionStorage (HTML5)
@soyjavi 14 jaren geleden
bovenliggende
commit
6484094c26
1 gewijzigde bestanden met toevoegingen van 37 en 3 verwijderingen
  1. 37 3
      src/data/Lungo.Data.Storage.js

+ 37 - 3
src/data/Lungo.Data.Storage.js

@@ -1,6 +1,6 @@
-/** 
+/**
  * Wrapper for using LocalStorage & SessionStorage (HTML5 Feature)
- * 
+ *
  * @namespace LUNGO.Data
  * @class Storage
  *
@@ -10,8 +10,42 @@
 
 LUNGO.Data.Storage = (function(lng, undefined) {
 
-    return {
+    var STORAGE = {
+        PERSISTENT: 'localStorage',
+        SESSION: 'sessionStorage'
+    };
+
+	var persistent = function(key, value) {
+        return _handler(STORAGE.PERSISTENT, key, value);
+	};
 
+	var session = function(key, value) {
+        return _handler(STORAGE.SESSION, key, value);
+	};
+
+    var _handler = function(storage, key, value) {
+        var storage = window[storage];
+
+        if (value) {
+            _saveKey(storage, key, value);
+        } else {
+            return _getKey(storage, key, value);
+        }
+    };
+
+    var _saveKey = function(storage, key, value) {
+        value = JSON.stringify(value);
+        storage.setItem(key, value);
+    };
+
+    var _getKey = function(storage, key, value) {
+        value = storage.getItem(key);
+        return JSON.parse(value);
+    };
+
+    return {
+    	session: session,
+    	persistent: persistent
     };
 
 })(LUNGO);