Add Schedule DataSource.
This commit is contained in:
parent
6a93eac767
commit
048a2a7d08
40
src/scheduler/schedule.dataSource.ts
Normal file
40
src/scheduler/schedule.dataSource.ts
Normal file
@ -0,0 +1,40 @@
|
||||
// vim: set tw=80 ts=2 sw=2 sts=2:
|
||||
|
||||
import { Injectable } from '@angular/core';
|
||||
import { DataSource } from '@angular/cdk/collections';
|
||||
import { Observable } from 'rxjs';
|
||||
import { BehaviorSubject } from 'rxjs';
|
||||
|
||||
import { Logger } from '@nsalaun/ng-logger';
|
||||
|
||||
import { Schedule } from './schedule';
|
||||
import { ScheduleService } from './schedule.service';
|
||||
|
||||
@Injectable()
|
||||
export class ScheduleDataSource extends DataSource<Schedule> {
|
||||
private subject: BehaviorSubject<number> = new BehaviorSubject<number>(null);
|
||||
|
||||
constructor(
|
||||
private scheduleService: ScheduleService,
|
||||
private logger: Logger,
|
||||
) {
|
||||
super();
|
||||
}
|
||||
|
||||
load(accountId: number): void {
|
||||
this.logger.log("In load", accountId);
|
||||
this.subject.next(accountId);
|
||||
}
|
||||
|
||||
connect(): Observable<Schedule[]> {
|
||||
return this.subject.asObservable().concatMap((accountId: number) => {
|
||||
this.logger.log("In connect", accountId);
|
||||
|
||||
if(accountId) {
|
||||
return this.scheduleService.query(accountId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
disconnect() {}
|
||||
}
|
@ -12,6 +12,7 @@ import { ToastrModule } from 'ngx-toastr';
|
||||
import { TextMaskModule } from 'angular2-text-mask';
|
||||
|
||||
import { ScheduleService } from './schedule.service';
|
||||
import { ScheduleDataSource } from './schedule.dataSource';
|
||||
import { ScheduleDeleteModalComponent } from './scheduleDeleteModal.component';
|
||||
import { ScheduleEditModalComponent } from './scheduleEditModal.component';
|
||||
import { ScheduleFormComponent } from './scheduleForm.component';
|
||||
@ -34,6 +35,7 @@ import { ScheduleListState } from './schedule.states';
|
||||
],
|
||||
providers: [
|
||||
ScheduleService,
|
||||
ScheduleDataSource,
|
||||
],
|
||||
declarations: [
|
||||
ScheduleDeleteModalComponent,
|
||||
|
Loading…
Reference in New Issue
Block a user