diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 33542c4..eb508a2 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -15,6 +15,7 @@ import { EditAppareilComponent } from './edit-appareil/edit-appareil.component';
import { UserService } from './services/user.service';
import { UserListComponent } from './user-list/user-list.component';
import { NewUserComponent } from './new-user/new-user.component';
+import { HttpClientModule } from '@angular/common/http';
const appRoutes: Routes = [
{ path: 'appareils', canActivate: [AuthGuard], component: AppareilViewComponent },
@@ -43,6 +44,7 @@ const appRoutes: Routes = [
imports: [
BrowserModule,
FormsModule,
+ HttpClientModule,
ReactiveFormsModule,
RouterModule.forRoot(appRoutes)
],
diff --git a/src/app/appareil-view/appareil-view.component.html b/src/app/appareil-view/appareil-view.component.html
index 11dfa70..726d40b 100644
--- a/src/app/appareil-view/appareil-view.component.html
+++ b/src/app/appareil-view/appareil-view.component.html
@@ -14,6 +14,10 @@
Mes appareils
(click)="onAllumer()">Tout allumer
+
+
diff --git a/src/app/appareil-view/appareil-view.component.ts b/src/app/appareil-view/appareil-view.component.ts
index 838fb50..fa4aa6a 100644
--- a/src/app/appareil-view/appareil-view.component.ts
+++ b/src/app/appareil-view/appareil-view.component.ts
@@ -47,4 +47,12 @@ export class AppareilViewComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.appareilSubscription.unsubscribe();
}
+
+ onSave() {
+ this.appareilService.saveAppareilsToServer();
+ }
+
+ onFetch() {
+ this.appareilService.getAppareilsFromServer();
+ }
}
diff --git a/src/app/services/appareil.service.ts b/src/app/services/appareil.service.ts
index 381058b..2147b5f 100644
--- a/src/app/services/appareil.service.ts
+++ b/src/app/services/appareil.service.ts
@@ -1,26 +1,15 @@
import { Subject } from 'rxjs/Subject';
+import { Injectable } from '@angular/core';
+import { HttpClient } from '@angular/common/http';
+@Injectable()
export class AppareilService {
+ constructor(private httpClient: HttpClient) { }
+
appareilsSubject = new Subject();
- private appareils = [
- {
- id: 1,
- name: 'Machine à laver',
- status: 'éteint'
- },
- {
- id: 2,
- name: 'Frigo',
- status: 'allumé'
- },
- {
- id: 3,
- name: 'Ordinateur',
- status: 'éteint'
- }
- ];
+ private appareils = [];
emitAppareilSubject() {
this.appareilsSubject.next(this.appareils.slice());
@@ -66,4 +55,31 @@ export class AppareilService {
this.appareils.push(appareilObject);
this.emitAppareilSubject();
}
+
+ saveAppareilsToServer() {
+ this.httpClient
+ .put('https://angular-training-8da8c.firebaseio.com/appareils.json', this.appareils)
+ .subscribe(
+ () => {
+ console.log('Enregistrement terminé !');
+ },
+ (error) => {
+ console.log('Erreur ! : ' + error);
+ }
+ );
+ }
+
+ getAppareilsFromServer() {
+ this.httpClient
+ .get('https://angular-training-8da8c.firebaseio.com/appareils.json')
+ .subscribe(
+ (response) => {
+ this.appareils = response;
+ this.emitAppareilSubject();
+ },
+ (error) => {
+ console.log('Erreur ! : ' + error);
+ }
+ );
+ }
}