Skip to content
This repository was archived by the owner on Sep 18, 2020. It is now read-only.

Frontend Komponente Lokale Persistenz

Markus Thömmes edited this page Jan 30, 2015 · 13 revisions

← zurück zur Übersicht

RoutesPersistenceService

Definition: RoutesPersistenceService
Modul: happyHour.persistence.RoutesPersistence
Dateiname: components/persistence/RoutesPersistence.js
Typ: Angular Service
Autor: Dorothee Nies, Markus Thömmes

Abhängigkeiten

localStorageService
Liefert Zugriff auf den LocalStorage des Geräts

Funktionsweise

Route hinzufügen

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);

Route löschen

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);

Route zurückgeben

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);

AppStatusService

Definition: AppStatusService
Modul: happyHour.persistence.AppStatusPersistence
Dateiname: components/persistence/AppStatusPersistence.js
Typ: Angular Service
Autor: Dorothee Nies, Markus Thömmes

Abhängigkeiten

localStorageService
Liefert Zugriff auf den LocalStorage des Geräts

Funktionsweise

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.

Clone this wiki locally