From c422c2df4d9b221cddfee578e3ee6337f5b943de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Mon, 22 Dec 2014 21:15:54 +0100 Subject: [PATCH] localStorage: remove dysfunctional fallback --- js/localstorage.js | 68 ++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 39 deletions(-) diff --git a/js/localstorage.js b/js/localstorage.js index 5909bf8..3a1bf03 100644 --- a/js/localstorage.js +++ b/js/localstorage.js @@ -10,6 +10,10 @@ ls.factory("$store", ["$parse", function($parse){ var storage = (typeof window.localStorage === 'undefined') ? undefined : window.localStorage, supported = !(typeof storage == 'undefined' || typeof window.JSON == 'undefined'); + if (!supported) { + console.log('Warning: localStorage is not supported'); + } + var privateMethods = { /** * Pass any type of a string from the localStorage to be parsed so it returns a usable version (like an Object) @@ -40,77 +44,63 @@ ls.factory("$store", ["$parse", function($parse){ }; var publicMethods = { /** - * Set - let's you set a new localStorage key pair set + * Set - lets you set a new localStorage key pair set * @param key - a string that will be used as the accessor for the pair * @param value - the value of the localStorage item * @returns {*} - will return whatever it is you've stored in the local storage */ set: function(key,value){ if (!supported){ - try { - $.cookie(key, value); - return value; - } catch(e){ - console.log('Local Storage not supported, make sure you have the $.cookie supported.'); - } + console.log('Local Storage not supported'); } var saver = JSON.stringify(value); - storage.setItem(key, saver); + storage.setItem(key, saver); return privateMethods.parseValue(saver); }, /** - * Get - let's you get the value of any pair you've stored + * Get - lets you get the value of any pair you've stored * @param key - the string that you set as accessor for the pair * @returns {*} - Object,String,Float,Boolean depending on what you stored */ get: function(key){ if (!supported){ - try { - return privateMethods.parseValue($.cookie(key)); - } catch(e){ - return null; - } + return null; } var item = storage.getItem(key); return privateMethods.parseValue(item); }, /** - * Remove - let's you nuke a value from localStorage + * Remove - lets you nuke a value from localStorage * @param key - the accessor value * @returns {boolean} - if everything went as planned */ remove: function(key) { if (!supported){ - try { - $.cookie(key, null); - return true; - } catch(e){ - return false; - } + return false; } storage.removeItem(key); return true; }, /** - * Bind - let's you directly bind a localStorage value to a $scope variable - * @param $scope - the current scope you want the variable available in - * @param key - the name of the variable you are binding - * @param def - the default value (OPTIONAL) - * @returns {*} - returns whatever the stored value is - */ - bind: function ($scope, key, def) { - if (def === undefined) { - def = ''; - } - if (publicMethods.get(key) === undefined || publicMethods.get(key) === null) { - publicMethods.set(key, def); - } - $parse(key).assign($scope, publicMethods.get(key)); - $scope.$watch(key, function (val) { - publicMethods.set(key, val); - }, true); - return publicMethods.get(key); + * Bind - lets you directly bind a localStorage value to a $scope variable + * @param $scope - the current scope you want the variable available in + * @param key - the name of the variable you are binding + * @param def - the default value (OPTIONAL) + * @returns {*} - returns whatever the stored value is + */ + bind: function ($scope, key, def) { + if (def === undefined) { + def = ''; } + if (publicMethods.get(key) === undefined || publicMethods.get(key) === null) { + publicMethods.set(key, def); + } + $parse(key).assign($scope, publicMethods.get(key)); + $scope.$watch(key, function (val) { + publicMethods.set(key, val); + }, true); + return publicMethods.get(key); + } }; return publicMethods; }]);