Repository navigation
Frontend Komponente Lokale Persistenz
Definition: RoutesPersistenceService
Modul: happyHour.persistence.RoutesPersistence
Dateiname: components/persistence/RoutesPersistence.js
Typ: Angular Service
Autor: Dorothee Nies, Markus Thömmes
- localStorageService
- Liefert Zugriff auf den LocalStorage des Geräts
Wenn noch Platz im lokalen Speicher ist (ist auf 10 Routen beschränkt), wird ein neues LocalRoute-Objekt erzeugt und die Attribute timestamp und route gesetzt.
var object = {
timestamp: new Date(),
route: route
};Von diesem Objekt wird anschließend ein eindeutiger Hash-Wert gebildet und ebenfalls zu selbigem hinzugefügt.
var id = CryptoJS.MD5(JSON.stringify(object)).toString(CryptoJS.enc.Hex);
object.id = id;Anschließend wird das LocalRoute-Objekt zum Gesamtarray hinzugefügt und dieses persistiert.
routes.push(object);
localStorageService.set('routes', routes);Das Gesamtarray wird nach der mitgegebenen routeId gefiltert.
for (var i = 0; i < routes.length; i++){
if (routes[i].id === routeId){
routeToDelete = routes[i];
}
}Wird eine Route gefunden wird sie aus dem Gesamtarray entfernt und dieses persistiert.
routes = _.without(routes, routeToDelete);
localStorageService.set('routes', routes);Wie schon bei Route löschen wird zunächst nach der mitgegebenen routeId gefiltert. Anschließend wird ein geklontes Objekt zurückgegeben, da ein editieren der vorhandenen Routen nicht erwünscht ist.
return _.cloneDeep(routeToReturn);Definition: AppStatusService
Modul: happyHour.persistence.AppStatusPersistence
Dateiname: components/persistence/AppStatusPersistence.js
Typ: Angular Service
Autor: Dorothee Nies, Markus Thömmes
- localStorageService
- Liefert Zugriff auf den LocalStorage des Geräts
Die get*, bzw. set* sind reine Wrapperfunktionen für die vom localStorageService bereitgestellten get und set Methoden, die die entsprechenden Attribute auf dem Statusobjekt setzen. Der Anwendungsstatus wird unter dem Schlüssel 'appStatus' im LocalStorage abgelegt.