From 0fe54aaa8674db513fa4d5c0f359b46802f1e69f Mon Sep 17 00:00:00 2001 From: crusader Date: Mon, 4 Jun 2018 14:19:55 +0900 Subject: [PATCH] ing --- .../component/sensor-detail.component.html | 4 +- .../component/sensor-detail.component.ts | 125 +++++++++--------- @overflow/sensor/service/sensor.service.ts | 2 +- .../sensors/sensor/sensor-page.component.html | 2 +- 4 files changed, 67 insertions(+), 66 deletions(-) diff --git a/@overflow/sensor/component/sensor-detail.component.html b/@overflow/sensor/component/sensor-detail.component.html index ee7197b..19fbce1 100644 --- a/@overflow/sensor/component/sensor-detail.component.html +++ b/@overflow/sensor/component/sensor-detail.component.html @@ -1,5 +1,5 @@ SENSOR_DETAIL_COMPONENT - + diff --git a/@overflow/sensor/component/sensor-detail.component.ts b/@overflow/sensor/component/sensor-detail.component.ts index 7eaae2c..2955da5 100644 --- a/@overflow/sensor/component/sensor-detail.component.ts +++ b/@overflow/sensor/component/sensor-detail.component.ts @@ -1,82 +1,83 @@ -import { Component, OnInit, Inject, AfterContentInit, OnDestroy } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; -import { ConfirmationService } from 'primeng/primeng'; +import { Component, OnInit, Inject, AfterContentInit, OnDestroy, Input } from '@angular/core'; + import { Store, select } from '@ngrx/store'; + +import { Observable, of, Subscription } from 'rxjs'; +import { catchError, exhaustMap, map, tap } from 'rxjs/operators'; + +import { ConfirmationService } from 'primeng/primeng'; + import { RPCClientError } from '@loafer/ng-rpc'; -// import { sensorSelector } from '../../store'; + import { Sensor } from '@overflow/commons-typescript/model/sensor'; -import { Subscription } from 'rxjs/Subscription'; +import { SensorService } from '../service/sensor.service'; @Component({ selector: 'of-sensor-detail', templateUrl: './sensor-detail.component.html', providers: [ConfirmationService] }) -export class SensorDetailComponent { +export class SensorDetailComponent implements OnInit, OnDestroy { + @Input() sensorID: number; - // sensorSubscription$: Subscription; - // sensor$ = this.detailStore.pipe(select(sensorSelector.select('sensor'))); - // sensor: Sensor; - // sensorSettingDisplay: boolean; + sensor: Sensor; + sensorSettingDisplay: boolean; - // constructor( - // private route: ActivatedRoute, - // private router: Router, - // private confirmationService: ConfirmationService, - // private detailStore: Store, - // ) { - // this.sensorSettingDisplay = false; - // } + pending$: Observable; + error$: Observable; - // ngOnInit() { - // this.sensorSubscription$ = this.sensor$.subscribe( - // (sensor: Sensor) => { - // console.log(sensor); - // this.sensor = sensor; - // }, - // (error: RPCClientError) => { - // console.log(error.response.message); - // } - // ); - // } + constructor( + private confirmationService: ConfirmationService, + private store: Store, + private sensorService: SensorService, + ) { + this.sensorSettingDisplay = false; + } - // ngAfterContentInit() { - // const sensorId = this.route.snapshot.paramMap.get('id'); - // this.detailStore.dispatch( - // new DetailStore.Read( - // { id: sensorId } - // ) - // ); - // } + ngOnInit() { + this.sensorService.read(this.sensorID) + .pipe( + tap(() => { + this.pending$ = of(true); + }), + map((sensor: Sensor) => { + this.sensor = sensor; + }), + catchError(error => { + this.error$ = of(error); + return of(); + }), + tap(() => { + this.pending$ = of(false); + }), + ).take(1).subscribe(); + } - // ngOnDestroy() { - // if (this.sensorSubscription$) { - // this.sensorSubscription$.unsubscribe(); - // } - // } + ngOnDestroy() { + } - // onStartOrStop() { } + onStartOrStop() { } - // onEdit() { - // this.sensorSettingDisplay = true; - // } + onEdit() { + this.sensorSettingDisplay = true; + } - // onRemove() { - // this.confirmationService.confirm({ - // header: 'Are you sure to remove this Sensor?', - // icon: 'fa fa-trash', - // message: 'All the related data will be deleted. ', - // accept: () => { - // alert('으앙 안돼 지우지마ㅠㅠ'); - // }, - // reject: () => { - // } - // }); - // } + onRemove() { + this.confirmationService.confirm({ + header: 'Are you sure to remove this Sensor?', + icon: 'fa fa-trash', + message: 'All the related data will be deleted. ', + accept: () => { + alert('으앙 안돼 지우지마ㅠㅠ'); + }, + reject: () => { + } + }); + } - // onTargetClick(target) { - // // this.router.navigate(['sensors'], { queryParams: { target: target.id } }); - // this.router.navigate(['target', target.id, 'info']); - // } + onTargetClick(target) { + // this.router.navigate(['sensors'], { queryParams: { target: target.id } }); + // this.router.navigate(['target', target.id, 'info']); + } } diff --git a/@overflow/sensor/service/sensor.service.ts b/@overflow/sensor/service/sensor.service.ts index e109fe3..4461fe2 100644 --- a/@overflow/sensor/service/sensor.service.ts +++ b/@overflow/sensor/service/sensor.service.ts @@ -39,7 +39,7 @@ export class SensorService { // return this.rpcService.call('SensorService.readAllByTarget', target, pageParams); // } - public read(id: string): Observable { + public read(id: number): Observable { return this.rpcService.call('SensorService.read', id); } } diff --git a/src/app/pages/sensors/sensor/sensor-page.component.html b/src/app/pages/sensors/sensor/sensor-page.component.html index 3b2eef8..1d2f4d1 100644 --- a/src/app/pages/sensors/sensor/sensor-page.component.html +++ b/src/app/pages/sensors/sensor/sensor-page.component.html @@ -1,4 +1,4 @@ - + \ No newline at end of file