import { Component, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { Store } from '@ngrx/store'; import { Database, Survey } from 'src/app/metamodel/store/models'; import * as databaseActions from 'src/app/metamodel/store/actions/database.actions'; import * as surveyActions from 'src/app/metamodel/store/actions/survey.actions'; import * as databaseSelector from 'src/app/metamodel/store/selectors/database.selector'; import * as surveySelector from 'src/app/metamodel/store/selectors/survey.selector'; @Component({ selector: 'app-database-list', templateUrl: 'database-list.component.html' }) export class DatabaseListComponent implements OnInit { public databaseListIsLoading: Observable<boolean>; public databaseListIsLoaded: Observable<boolean>; public databaseList: Observable<Database[]>; public surveyListIsLoading: Observable<boolean>; public surveyListIsLoaded: Observable<boolean>; public surveyList: Observable<Survey[]>; constructor(private store: Store<{ }>) { this.databaseListIsLoading = store.select(databaseSelector.selectDatabaseListIsLoading); this.databaseListIsLoaded = store.select(databaseSelector.selectDatabaseListIsLoaded); this.databaseList = store.select(databaseSelector.selectAllDatabases); this.surveyListIsLoading = store.select(surveySelector.selectSurveyListIsLoading); this.surveyListIsLoaded = store.select(surveySelector.selectSurveyListIsLoaded); this.surveyList = store.select(surveySelector.selectAllSurveys); } ngOnInit() { this.store.dispatch(databaseActions.loadDatabaseList()); this.store.dispatch(surveyActions.loadSurveyList()); } deleteDatabase(database: Database) { // this.store.dispatch(new databaseActions.DeleteDatabaseAction(database)); } }