simple example of using local storage
by Sub Taper
HTML
<h1>Hello LocalStorage!</h1>
<div>
<button data-ng-click="storageKeys=localStorage.getKeys()">Refresh</button>
<button data-ng-click="localStorage.clear()">Clear</button> <span data-ng-show="storageKeys.length==0">No data stored in local storage</span>
</div>
<div>Add localstorage values
<label>Key
<input type="text" data-ng-model="userKey" />
</label>
<label>Value
<input type="text" data-ng-model="userValue" />
</label>
<button data-ng-disabled="!userKey" data-ng-click="set()">+</button>
</div>
<div>
<ul data-ng-show="storageKeys.length>0">
<li data-ng-repeat="key in storageKeys">{{key}} ->{{get(key)}}</li>
</ul>
</div>
JavaScript
// https://docs.angularjs.org/guide/providers
// way more complex example of what was done in this file ->
// https://github.com/grevory/angular-local-storage/blob/master/angular-local-storage.js
var localStorageService = function () {
this.storageType = 'localStorage';
this.get = function (name) {
//console.log('fetching ' + name);
try {
var raw = window.localStorage[name];
if (raw && raw !== 'undefined' && raw !== 'null') {
//console.log('getting name ' + name);
var parsed = JSON.parse(raw);
if (!parsed) return null;
return parsed;
}
} catch (ex) {
console.log('Exception ' + ex);
}
return null;
};
this.set = function (name, value) {
var raw = window.localStorage[name];
console.log("before setter:" + raw);
var localObject = !! (raw) && raw !== 'undefined' && raw !== 'null' ? JSON.parse(raw) : {};
if (value && localObject.value !== 'undefined') {
localObject = value;
} else {
delete localObject[name];
}
var serialized = JSON.stringify(localObject);
console.log('serialized in setter to :' + serialized);
console.log('serialized' + localObject[name]);
window.localStorage.setItem(name, JSON.stringify(localObject));
};
this.clear = function () {
localStorage.clear();
};
this.getKeys = function () {
var keys = [];
for (var i = 0; i < localStorage.length; i++) {
keys.push(localStorage.key(i));
}
return keys;
};
};
//angular.module('tpc')
// .factory('localStorageService', [
// function() {
// return new localStorageService();
// }
// ]);
// Code goes here
var app = angular.module('myApp', []);
app.factory('localStorage', function () {
return new...