fix race condition with Observables in list components

This commit is contained in:
Jesse Lucas
2020-03-29 16:51:12 -04:00
parent 8bdf409d07
commit b2d839d4e7
4 changed files with 27 additions and 20 deletions
@@ -7,6 +7,7 @@ import { FolderListDataSource } from './folder-list-datasource';
import { Folder } from '../../folder';
import { SystemConfigService } from '../../system-config.service';
import { cardElevation } from '../../style';
import { Subject } from 'rxjs';
@Component({
selector: 'app-folder-list',
@@ -27,21 +28,20 @@ export class FolderListComponent implements AfterViewInit, OnInit {
ngOnInit() {
this.dataSource = new FolderListDataSource(this.systemConfigService);
this.dataSource.dataSubject = new Subject<Folder[]>();
this.dataSource.data = [];
}
ngAfterContentInit() {
this.systemConfigService.getFolders().subscribe(
data => {
this.dataSource.data = data;
this.dataSource.dataSubject.next(data);
}
);
}
ngAfterViewInit() {
this.dataSource.sort = this.sort;
this.dataSource.paginator = this.paginator;
this.table.dataSource = this.dataSource;
this.systemConfigService.getFolders().subscribe(
data => {
this.dataSource.data = data;
}
);
}
}