/** * This file is part of Anis Client. * * @copyright Laboratoire d'Astrophysique de Marseille / CNRS * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ import { Component, OnInit } from '@angular/core'; import { Store } from '@ngrx/store'; import { Observable } from 'rxjs'; import * as datasetActions from 'src/app/metamodel/actions/dataset.actions'; import * as datasetFamilySelector from 'src/app/metamodel/selectors/dataset-family.selector'; import * as datasetSelector from 'src/app/metamodel/selectors/dataset.selector'; import { Dataset, DatasetFamily, Survey } from 'src/app/metamodel/models'; import * as authSelector from '../../../auth/auth.selector'; import * as instanceSelector from '../../../metamodel/selectors/instance.selector'; import * as surveySelector from '../../../metamodel/selectors/survey.selector'; /** * @class * @classdesc Documentation dataset list container. * * @implements OnInit */ @Component({ selector: 'app-dataset-list', templateUrl: 'dataset-list.component.html', styleUrls: ['../documentation.component.scss'] }) export class DatasetListComponent implements OnInit { public instanceSelected: Observable<string>; public isAuthenticated: Observable<boolean>; public datasetFamilyListIsLoading: Observable<boolean>; public datasetFamilyListIsLoaded: Observable<boolean>; public datasetFamilyList: Observable<DatasetFamily[]>; public surveyListIsLoading: Observable<boolean>; public surveyListIsLoaded: Observable<boolean>; public surveyList: Observable<Survey[]>; public datasetListIsLoading: Observable<boolean>; public datasetListIsLoaded: Observable<boolean>; public datasetList: Observable<Dataset[]>; constructor(private store: Store<{ }>) { this.instanceSelected = store.select(instanceSelector.selectInstanceNameByRoute); this.isAuthenticated = store.select(authSelector.selectIsAuthenticated); this.datasetFamilyListIsLoading = store.select(datasetFamilySelector.selectDatasetFamilyListIsLoading); this.datasetFamilyListIsLoaded = store.select(datasetFamilySelector.selectDatasetFamilyListIsLoaded); this.datasetFamilyList = store.select(datasetFamilySelector.selectAllDatasetFamilies); this.surveyListIsLoading = store.select(surveySelector.selectSurveyListIsLoading); this.surveyListIsLoaded = store.select(surveySelector.selectSurveyListIsLoaded); this.surveyList = store.select(surveySelector.selectAllSurveys); this.datasetListIsLoading = store.select(datasetSelector.selectDatasetListIsLoading); this.datasetListIsLoaded = store.select(datasetSelector.selectDatasetListIsLoaded); this.datasetList = store.select(datasetSelector.selectAllDatasets); } ngOnInit(): void { this.store.dispatch(datasetActions.loadDatasetList()); } }