member_webapp/@overflow/target/component/detail/detail.component.ts
2018-06-11 18:16:12 +09:00

201 lines
4.6 KiB
TypeScript

import { Component, ViewChild, OnInit, Input } from '@angular/core';
import { Target } from '@overflow/commons-typescript/model/target';
import {TargetService} from '../../service/target.service';
import {
Observable,
of
} from 'rxjs';
import { Store } from '@ngrx/store';
import {
catchError,
map,
tap,
take
} from 'rxjs/operators';
@Component({
selector: 'of-target-detail',
templateUrl: './detail.component.html',
})
export class DetailComponent implements OnInit {
@Input() targetID: number;
target: Target;
pending$: Observable<boolean>;
error$: Observable<any>;
constructor(
private store: Store<any>,
private targetService: TargetService,
) { }
ngOnInit() {
this.targetService.read(this.targetID)
.pipe(
tap(() => {
this.pending$ = of(true);
}),
map((target: Target) => {
this.target = target;
}),
catchError(err => {
console.log(err);
return err;
}),
tap(() => {
this.pending$ = of(false);
}),
take(1),
).subscribe();
}
onDisplayNameChangeKeypress(event, value) {
}
onDisplayNameChange(value) {
}
}
//
// export class DetailComponent implements OnInit {
//
// @Input() targetID: number;
//
// target: Target;
//
// // infra$: Observable<Infra>;
// // infraSubscription$: Subscription;
// // sensorsSubscription$: Subscription;
// // // sensors$ = this.sensorListStore.pipe(select(sensorListSelector.select('page')));
// // target$: Observable<Target>;
// //
// // infraId = null;
// // infra: Infra;
// // sensors: Sensor[];
// // sensorsCount = 0;
// // sensorSettingDisplay = false;
// //
// // pageSize = '10';
// // totalLength = 0;
// // currPage = 0;
//
// constructor(
// private store: Store<any>,
// private targetService: TargetService,
// ) { }
//
// ngOnInit() {
// this.tar
// // this.infraSubscription$ = this.infra$.subscribe(
// // (infra: Infra) => {
// // this.infra = infra;
// // },
// // (error: RPCClientError) => {
// // console.log(error.response.message);
// // }
// // );
// // this.sensorsSubscription$ = this.sensors$.subscribe(
// // (page: Page) => {
// // if (page) {
// // this.sensorsCount = page.totalElements;
// // this.sensors = page.content;
// // }
// // },
// // (error: RPCClientError) => {
// // console.log(error.response.message);
// // }
// // );
// }
//
// ngAfterContentInit() {
// // this.infraId = this.route.snapshot.paramMap.get('id');
// // this.getInfra();
// // this.getSensors(this.currPage);
// }
//
// ngOnDestroy() {
// // if (this.infraSubscription$) {
// // this.infraSubscription$.unsubscribe();
// // }
// }
//
// getInfra() {
// // this.infraDetailStore.dispatch(
// // new InfraDetailStore.Read(
// // { id: this.infraId }
// // )
// // );
// }
//
// getSensors(pageIndex) {
// // const pageParams: PageParams = {
// // pageNo: pageIndex + '',
// // countPerPage: this.pageSize,
// // sortCol: 'id',
// // sortDirection: 'descending'
// // };
// // this.sensorListStore.dispatch(
// // new SensorListStore.ReadAllByInfra(
// // { id: this.infraId, pageParams: pageParams }
// // )
// // );
// }
//
// onAddSensor() {
// // this.sensorSettingDisplay = true;
// }
//
// onSensorSettingClose() {
// // this.sensorSettingDisplay = false;
// }
//
// onPaging(e) {
// // this.getSensors(e.page);
// }
//
// onRowSelect(event) {
// // this.router.navigate(['sensor', event.data.id, 'info']);
// }
//
// onTraceroute() {
// // alert('지원 예정');
// }
//
//
// onDisplayNameChange(value: string) {
// // if (value === this.infra.target.displayName) {
// // return;
// // }
// // const target = this.infra.target;
// // target.displayName = value;
// // this.targetModifyStore.dispatch(
// // new TargetModifyStore.Modify(target)
// // );
//
// // const modifySuccessSubscription$: Subscription = this.target$.subscribe(
// // (t: Target) => {
// // if (t) {
// // }
// // if (modifySuccessSubscription$) {
// // modifySuccessSubscription$.unsubscribe();
// // }
// // },
// // (error: RPCClientError) => {
// // console.log(error);
// // }
// // );
// }
//
// onDisplayNameChangeKeypress(event, value) {
// // if (event.key === 'Enter') {
// // this.onDisplayNameChange(value);
// // }
// }
//
// }