From df1962e9a5e9db36ce3c0f7f97cb8a61e8727b98 Mon Sep 17 00:00:00 2001 From: Tifenn Guillas <tifenn.guillas@gmail.com> Date: Thu, 22 Jul 2021 10:44:50 +0200 Subject: [PATCH] List datasets avaibable for doc => DONE --- .../dataset-by-family.component.html | 23 ++++++++----------- .../components/dataset-by-family.component.ts | 3 ++- ...t.html => dataset-card-doc.component.html} | 13 ++++------- ...onent.ts => dataset-card-doc.component.ts} | 13 +++++------ .../src/app/instance/doc/components/index.ts | 4 ++-- .../containers/dataset-list.component.html | 7 ++++-- .../doc/containers/dataset-list.component.ts | 9 +++++++- .../app/instance/doc/doc-routing.module.ts | 7 ++++-- 8 files changed, 42 insertions(+), 37 deletions(-) rename client/src/app/instance/doc/components/{dataset-card.component.html => dataset-card-doc.component.html} (66%) rename client/src/app/instance/doc/components/{dataset-card.component.ts => dataset-card-doc.component.ts} (69%) diff --git a/client/src/app/instance/doc/components/dataset-by-family.component.html b/client/src/app/instance/doc/components/dataset-by-family.component.html index 98b4513e..9ec4e190 100644 --- a/client/src/app/instance/doc/components/dataset-by-family.component.html +++ b/client/src/app/instance/doc/components/dataset-by-family.component.html @@ -11,12 +11,11 @@ <ul class="p-0"> <li *ngFor="let dataset of (datasetList | datasetListByFamily:datasetFamilyList[0].id); last as isLast" class="list-unstyled px-3 pt-3 pb-0"> -<!-- <app-dataset-card--> -<!-- [dataset]="dataset"--> -<!-- [survey]="surveyList | surveyByName:dataset.survey_name"--> -<!-- [instanceSelected]="instanceSelected"--> -<!-- [datasetSelected]="datasetSelected">--> -<!-- </app-dataset-card>--> + <app-dataset-card-doc + [dataset]="dataset" + [survey]="surveyList | surveyByName:dataset.survey_name" + [instanceSelected]="instanceSelected"> + </app-dataset-card-doc> <hr *ngIf="!isLast"> </li> </ul> @@ -40,13 +39,11 @@ </span> </button> <div *ngFor="let dataset of (datasetList | datasetListByFamily:family.id); last as isLast"> - {{ dataset.name }} -<!-- <app-dataset-card--> -<!-- [dataset]="dataset" --> -<!-- [survey]="surveyList | surveyByName:dataset.survey_name"--> -<!-- [instanceSelected]="instanceSelected"--> -<!-- [datasetSelected]="datasetSelected">--> -<!-- </app-dataset-card>--> + <app-dataset-card-doc + [dataset]="dataset" + [survey]="surveyList | surveyByName:dataset.survey_name" + [instanceSelected]="instanceSelected"> + </app-dataset-card-doc> <hr *ngIf="!isLast"> </div> </accordion-group> diff --git a/client/src/app/instance/doc/components/dataset-by-family.component.ts b/client/src/app/instance/doc/components/dataset-by-family.component.ts index 329cb29c..8f09f1df 100644 --- a/client/src/app/instance/doc/components/dataset-by-family.component.ts +++ b/client/src/app/instance/doc/components/dataset-by-family.component.ts @@ -9,7 +9,7 @@ import { Component, Input, ChangeDetectionStrategy } from '@angular/core'; -import { Dataset, DatasetFamily } from 'src/app/metamodel/models'; +import { Dataset, DatasetFamily, Survey } from 'src/app/metamodel/models'; @Component({ selector: 'app-dataset-by-family', @@ -24,5 +24,6 @@ import { Dataset, DatasetFamily } from 'src/app/metamodel/models'; export class DatasetByFamilyComponent { @Input() datasetList: Dataset[]; @Input() datasetFamilyList: DatasetFamily[]; + @Input() surveyList: Survey[]; @Input() instanceSelected: string; } diff --git a/client/src/app/instance/doc/components/dataset-card.component.html b/client/src/app/instance/doc/components/dataset-card-doc.component.html similarity index 66% rename from client/src/app/instance/doc/components/dataset-card.component.html rename to client/src/app/instance/doc/components/dataset-card-doc.component.html index 190c9bc9..ef6dda4c 100644 --- a/client/src/app/instance/doc/components/dataset-card.component.html +++ b/client/src/app/instance/doc/components/dataset-card-doc.component.html @@ -11,11 +11,10 @@ <p class="my-3">{{ dataset.description }}</p> </div> <div class="row"> - <button class="btn btn-link p-0" - popover="{{ survey.description }}" + <button class="btn btn-link p-0" + popover="{{ survey.description }}" popoverTitle="{{ survey.label }}" - placement="bottom" - [outsideClick]="true" + placement="bottom" triggers="mouseenter:mouseleave"> <small> More about {{ survey.label }} survey <span class="fas fa-question-circle"></span> @@ -24,14 +23,10 @@ </div> </div> <div class="col-auto"> - <button *ngIf="dataset.name !== datasetSelected" - (click)="selectDataset(dataset.name)" + <button (click)="selectDataset(dataset.name)" class="btn btn-outline-secondary"> Select </button> - <span *ngIf="dataset.name === datasetSelected"> - <span class="far fa-check-circle fa-2x text-success"></span> - </span> </div> </div> </div> diff --git a/client/src/app/instance/doc/components/dataset-card.component.ts b/client/src/app/instance/doc/components/dataset-card-doc.component.ts similarity index 69% rename from client/src/app/instance/doc/components/dataset-card.component.ts rename to client/src/app/instance/doc/components/dataset-card-doc.component.ts index ffeb52d4..e9f51428 100644 --- a/client/src/app/instance/doc/components/dataset-card.component.ts +++ b/client/src/app/instance/doc/components/dataset-card-doc.component.ts @@ -7,30 +7,29 @@ * file that was distributed with this source code. */ -import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core'; +import { Component, Input, ChangeDetectionStrategy } from '@angular/core'; import { Router } from '@angular/router'; import { Survey, Dataset } from 'src/app/metamodel/models'; @Component({ - selector: 'app-dataset-card', - templateUrl: 'dataset-card.component.html', + selector: 'app-dataset-card-doc', + templateUrl: 'dataset-card-doc.component.html', changeDetection: ChangeDetectionStrategy.OnPush }) /** * @class - * @classdesc Search dataset card component. + * @classdesc Documentation dataset card component. */ -export class DatasetCardComponent { +export class DatasetCardDocComponent { @Input() survey: Survey; @Input() dataset: Dataset; @Input() instanceSelected: string; - @Input() datasetSelected: string; constructor(private router: Router) { } selectDataset(datasetName: string) { this.router.routeReuseStrategy.shouldReuseRoute = () => false; - this.router.navigate([`/instance/${this.instanceSelected}/search/dataset/${datasetName}`]); + this.router.navigate([`/instance/${this.instanceSelected}/doc/${datasetName}`]); } } diff --git a/client/src/app/instance/doc/components/index.ts b/client/src/app/instance/doc/components/index.ts index 55f50b8b..3da0e084 100644 --- a/client/src/app/instance/doc/components/index.ts +++ b/client/src/app/instance/doc/components/index.ts @@ -1,7 +1,7 @@ import { DatasetByFamilyComponent } from './dataset-by-family.component'; -import { DatasetCardComponent } from './dataset-card.component'; +import { DatasetCardDocComponent } from './dataset-card-doc.component'; export const dummiesComponents = [ DatasetByFamilyComponent, - DatasetCardComponent + DatasetCardDocComponent ]; diff --git a/client/src/app/instance/doc/containers/dataset-list.component.html b/client/src/app/instance/doc/containers/dataset-list.component.html index 8c69e6de..91d2e149 100644 --- a/client/src/app/instance/doc/containers/dataset-list.component.html +++ b/client/src/app/instance/doc/containers/dataset-list.component.html @@ -1,9 +1,11 @@ <app-spinner *ngIf="(datasetFamilyListIsLoading | async) - || (datasetListIsLoading | async)"> + || (datasetListIsLoading | async) + || (surveyListIsLoading | async)"> </app-spinner> <div *ngIf="(datasetFamilyListIsLoaded | async) - && (datasetListIsLoaded | async)" class="container"> + && (datasetListIsLoaded | async) + && (surveyListIsLoaded | async)" class="container"> <div class="row mt-4"> <ng-container *ngIf="(datasetList | async).length === 0"> <div class="col-12 lead text-center"> @@ -18,6 +20,7 @@ <app-dataset-by-family [datasetList]="datasetList | async" [datasetFamilyList]="datasetFamilyList | async" + [surveyList]="surveyList | async" [instanceSelected]="instanceSelected | async"> </app-dataset-by-family> </div> diff --git a/client/src/app/instance/doc/containers/dataset-list.component.ts b/client/src/app/instance/doc/containers/dataset-list.component.ts index b47b7b64..17edd30f 100644 --- a/client/src/app/instance/doc/containers/dataset-list.component.ts +++ b/client/src/app/instance/doc/containers/dataset-list.component.ts @@ -15,10 +15,11 @@ 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 } from 'src/app/metamodel/models'; +import {Dataset, DatasetFamily, Survey} from 'src/app/metamodel/models'; import { environment } from 'src/environments/environment'; import * as authSelector from "../../../auth/auth.selector"; import * as instanceSelector from "../../../metamodel/selectors/instance.selector"; +import * as surveySelector from "../../../metamodel/selectors/survey.selector"; @Component({ selector: 'app-dataset-list', @@ -37,6 +38,9 @@ export class DatasetListComponent implements OnInit { 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[]>; @@ -47,6 +51,9 @@ export class DatasetListComponent implements OnInit { 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); diff --git a/client/src/app/instance/doc/doc-routing.module.ts b/client/src/app/instance/doc/doc-routing.module.ts index 69ac131b..4e27a9b1 100644 --- a/client/src/app/instance/doc/doc-routing.module.ts +++ b/client/src/app/instance/doc/doc-routing.module.ts @@ -11,9 +11,11 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { DatasetListComponent } from "./containers/dataset-list.component"; +import { DocComponent } from "./containers/doc.component"; const routes: Routes = [ - { path: '', component: DatasetListComponent } + { path: '', component: DatasetListComponent }, + { path: ':dname', component: DocComponent }, ]; @NgModule({ @@ -23,5 +25,6 @@ const routes: Routes = [ export class DocRoutingModule { } export const routedComponents = [ - DatasetListComponent + DatasetListComponent, + DocComponent ]; -- GitLab