diff --git a/webapp/src/app/app.routing.spec.ts b/webapp/src/app/app.routing.spec.ts index 8debd10f408a42ecc5a2946b509cc8ec3a69f16e..fce834c7342a543dec9d394c2c8c11c226d8f212 100644 --- a/webapp/src/app/app.routing.spec.ts +++ b/webapp/src/app/app.routing.spec.ts @@ -17,7 +17,7 @@ import { EditorialisationComponents } from './editorialisation/components'; import { SharedModule } from './shared/shared.module'; import { EditorialisationService, EditorialisationServices } from './editorialisation/services'; import { HttpClientModule } from '@angular/common/http'; -import { MetadataService, GeosourceServices } from './geosource/services'; +import { DatasetService, GeosourceServices } from './geosource/services'; import { EditorialisationResolvers, PostDetailResolver, PostsListResolver, PostVideoResolver } from './editorialisation/resolvers'; import { EditorialisationServiceMock } from './editorialisation/services/editorialisation.service.mock'; import { PageResolver } from './editorialisation/resolvers/page.resolver'; @@ -78,23 +78,23 @@ describe('App routing', () => { // ********* From geosource module ********* // - it('navigate to "/recherche" redirects you to /recherche/metadata', done => { + it('navigate to "/recherche" redirects you to /recherche/datasets', done => { router.navigateByUrl('/recherche').then(() => { - expect(router.routerState.snapshot.url).toBe('/recherche/metadata'); + expect(router.routerState.snapshot.url).toBe('/recherche/datasets'); done(); }); }); - it('navigate to "/recherche/metadata" takes you to /metadata', done => { - router.navigateByUrl('/recherche/metadata').then(() => { - expect(router.routerState.snapshot.url).toBe('/recherche/metadata'); + it('navigate to "/recherche/datasets" takes you to /datasets', done => { + router.navigateByUrl('/recherche/datasets').then(() => { + expect(router.routerState.snapshot.url).toBe('/recherche/datasets'); done(); }); }); - it('navigate to "/recherche/metadata/abcdef" takes you to /recherche/metadata/abcdef', done => { - router.navigateByUrl('/recherche/metadata/abcdef').then(() => { - expect(router.routerState.snapshot.url).toBe('/recherche/metadata/abcdef'); + it('navigate to "/recherche/datasets/abcdef" takes you to /recherche/datasets/abcdef', done => { + router.navigateByUrl('/recherche/datasets/abcdef').then(() => { + expect(router.routerState.snapshot.url).toBe('/recherche/datasets/abcdef'); done(); }); }); diff --git a/webapp/src/app/core/components/header/header.component.spec.ts b/webapp/src/app/core/components/header/header.component.spec.ts index eebdc9fc0a1645cf0c27dc9156716a13070c5717..b4e3f4d2efd0f472619833a5f8e6944d42e44ecb 100644 --- a/webapp/src/app/core/components/header/header.component.spec.ts +++ b/webapp/src/app/core/components/header/header.component.spec.ts @@ -92,10 +92,10 @@ describe('HeaderComponent', () => { expect(location.path()).toBe('/accueil'); })); - it('should redirect to recherche/metadata route when clicking the \'Les Données\' link', fakeAsync(() => { + it('should redirect to recherche/datasets route when clicking the \'Les Données\' link', fakeAsync(() => { debugElement.query(By.css('.research-link')).nativeElement.click(); tick(); - expect(location.path()).toBe('/recherche/metadata'); + expect(location.path()).toBe('/recherche/datasets'); })); it('should redirect to /demarche when clicking the Démarche link', fakeAsync(() => { diff --git a/webapp/src/app/core/components/main/main.component.spec.ts b/webapp/src/app/core/components/main/main.component.spec.ts index d9c7b9e1a7174b790ae509f538f6a0a64e720f5f..9b9f9bf7add429724b1b292cdc45a95d96676c64 100644 --- a/webapp/src/app/core/components/main/main.component.spec.ts +++ b/webapp/src/app/core/components/main/main.component.spec.ts @@ -9,9 +9,9 @@ import { Router } from '@angular/router'; import { Component } from '@angular/core'; @Component({ - template: `metadata` + template: `app-dataset-list` }) -export class MetadataListComponent { +export class DatasetListComponent { } @@ -24,7 +24,7 @@ describe('MainComponent', () => { TestBed.configureTestingModule({ declarations: [ MainComponent, - MetadataListComponent, + DatasetListComponent, MockComponent({ selector: 'app-header' }), MockComponent({ selector: 'app-footer' }), ], @@ -32,11 +32,11 @@ describe('MainComponent', () => { RouterTestingModule.withRoutes([ { path: '', - redirectTo: 'metadata', + redirectTo: 'datasets', pathMatch: 'full' }, - { path: 'metadata', - component: MetadataListComponent + { path: 'datasets', + component: DatasetListComponent }, ]), ] @@ -54,11 +54,11 @@ describe('MainComponent', () => { expect(component).toBeTruthy(); }); - it('navigate to "" redirects you to /metadata', fakeAsync(() => { + it('navigate to "" redirects you to /datasets', fakeAsync(() => { const router: Router = TestBed.get(Router); location = TestBed.get(Location); router.navigate(['']); tick(50); - expect(location.path()).toBe('/metadata'); + expect(location.path()).toBe('/datasets'); })); }); diff --git a/webapp/src/app/geosource/components/metadata-detail/metadata-detail.component.html b/webapp/src/app/geosource/components/dataset-detail/dataset-detail.component.html similarity index 100% rename from webapp/src/app/geosource/components/metadata-detail/metadata-detail.component.html rename to webapp/src/app/geosource/components/dataset-detail/dataset-detail.component.html diff --git a/webapp/src/app/geosource/components/metadata-detail/metadata-detail.component.scss b/webapp/src/app/geosource/components/dataset-detail/dataset-detail.component.scss similarity index 100% rename from webapp/src/app/geosource/components/metadata-detail/metadata-detail.component.scss rename to webapp/src/app/geosource/components/dataset-detail/dataset-detail.component.scss diff --git a/webapp/src/app/geosource/components/metadata-detail/metadata-detail.component.spec.ts b/webapp/src/app/geosource/components/dataset-detail/dataset-detail.component.spec.ts similarity index 71% rename from webapp/src/app/geosource/components/metadata-detail/metadata-detail.component.spec.ts rename to webapp/src/app/geosource/components/dataset-detail/dataset-detail.component.spec.ts index 719c5a09de44affe2fae94855d2856575cf2664e..1a16ca4c26a59524da30d05e95db28078986a2a8 100644 --- a/webapp/src/app/geosource/components/metadata-detail/metadata-detail.component.spec.ts +++ b/webapp/src/app/geosource/components/dataset-detail/dataset-detail.component.spec.ts @@ -2,13 +2,13 @@ import { async, ComponentFixture, TestBed, fakeAsync } from '@angular/core/testi import { DebugElement, Directive, Input, NO_ERRORS_SCHEMA } from '@angular/core'; import { ActivatedRoute, convertToParamMap, ParamMap } from '@angular/router'; import { Observable } from 'rxjs/Observable'; -import { MetadataDetailComponent } from './metadata-detail.component'; -import { MetadataService} from '../../services/metadata.service'; +import { DatasetDetailComponent } from './dataset-detail.component'; +import { DatasetService} from '../../services/dataset.service'; import { Metadata } from '../../models'; import { RouterTestingModule } from '@angular/router/testing'; import 'rxjs/add/observable/of'; -describe('MetadataDetailComponent', () => { +describe('DatasetDetailComponent', () => { const metadata = { title: 'Metadata Title', @@ -21,9 +21,9 @@ describe('MetadataDetailComponent', () => { const metadataId = 1; - let component: MetadataDetailComponent; + let component: DatasetDetailComponent; let activatedRouteMock: ActivatedRoute; - let metadataServiceMock: MetadataService; + let datasetServiceMock: DatasetService; beforeEach(() => { activatedRouteMock = { @@ -31,13 +31,13 @@ describe('MetadataDetailComponent', () => { return null; }, } as ActivatedRoute; - metadataServiceMock = jasmine.createSpyObj('metadataService', { + datasetServiceMock = jasmine.createSpyObj('datasetService', { getMetadataById: Observable.of(metadata), }); - component = new MetadataDetailComponent(activatedRouteMock, metadataServiceMock); + component = new DatasetDetailComponent(activatedRouteMock, datasetServiceMock); }); - it('should get metadata ID in path and get metadata details from service', () => { + it('should get dataset ID in path and get metadata details from service', () => { // Given const paramMapSpy = spyOnProperty(activatedRouteMock, 'paramMap', 'get').and .returnValue(Observable.of(convertToParamMap({ id: metadataId }))); @@ -47,7 +47,7 @@ describe('MetadataDetailComponent', () => { // Then expect(paramMapSpy).toHaveBeenCalled(); - expect(metadataServiceMock.getMetadataById).toHaveBeenCalledWith(metadataId); + expect(datasetServiceMock.getMetadataById).toHaveBeenCalledWith(metadataId); expect(component.metadata).toBe(metadata); }); @@ -55,14 +55,14 @@ describe('MetadataDetailComponent', () => { describe('template', () => { - let fixture: ComponentFixture<MetadataDetailComponent>; - let comp: MetadataDetailComponent; + let fixture: ComponentFixture<DatasetDetailComponent>; + let comp: DatasetDetailComponent; let de: DebugElement; beforeEach(() => { TestBed.configureTestingModule({ declarations: [ - MetadataDetailComponent + DatasetDetailComponent ], imports: [ RouterTestingModule, @@ -72,7 +72,7 @@ describe('MetadataDetailComponent', () => { ], providers: [ { - provide: MetadataService, + provide: DatasetService, useValue: { getMetadataById(): Observable<Metadata> { return Observable.of(metadata); @@ -84,7 +84,7 @@ describe('MetadataDetailComponent', () => { }); beforeEach(fakeAsync(() => { - fixture = TestBed.createComponent(MetadataDetailComponent); + fixture = TestBed.createComponent(DatasetDetailComponent); de = fixture.debugElement; comp = fixture.componentInstance; fixture.detectChanges(); diff --git a/webapp/src/app/geosource/components/metadata-detail/metadata-detail.component.ts b/webapp/src/app/geosource/components/dataset-detail/dataset-detail.component.ts similarity index 55% rename from webapp/src/app/geosource/components/metadata-detail/metadata-detail.component.ts rename to webapp/src/app/geosource/components/dataset-detail/dataset-detail.component.ts index ebb42745e15de644bf71ccde4e2210bdb5708f1a..31221b74f144a2dacf31b5a4dd0bbe8087ffecdd 100644 --- a/webapp/src/app/geosource/components/metadata-detail/metadata-detail.component.ts +++ b/webapp/src/app/geosource/components/dataset-detail/dataset-detail.component.ts @@ -2,26 +2,26 @@ import { Component, OnInit } from '@angular/core'; import { Metadata } from '../../models'; import { Observable } from 'rxjs/Observable'; import { Router, ActivatedRoute, ParamMap } from '@angular/router'; -import { MetadataService } from '../../services'; +import { DatasetService } from '../../services'; import 'rxjs/add/operator/switchMap'; @Component({ - selector: 'app-metadata-detail', - templateUrl: './metadata-detail.component.html', - styleUrls: ['./metadata-detail.component.scss'] + selector: 'app-dataset-detail', + templateUrl: './dataset-detail.component.html', + styleUrls: ['./dataset-detail.component.scss'] }) -export class MetadataDetailComponent implements OnInit { +export class DatasetDetailComponent implements OnInit { metadata: Metadata; constructor( private _route: ActivatedRoute, - private _metadataService: MetadataService + private _datasetService: DatasetService ) {} ngOnInit() { this._route.paramMap - .switchMap((params: ParamMap) => this._metadataService.getMetadataById(params.get('id'))) + .switchMap((params: ParamMap) => this._datasetService.getMetadataById(params.get('id'))) .subscribe((metadata: Metadata) => { this.metadata = metadata; }); diff --git a/webapp/src/app/geosource/components/metadata-list/metadata-list.component.html b/webapp/src/app/geosource/components/dataset-list/dataset-list.component.html similarity index 100% rename from webapp/src/app/geosource/components/metadata-list/metadata-list.component.html rename to webapp/src/app/geosource/components/dataset-list/dataset-list.component.html diff --git a/webapp/src/app/geosource/components/metadata-list/metadata-list.component.scss b/webapp/src/app/geosource/components/dataset-list/dataset-list.component.scss similarity index 100% rename from webapp/src/app/geosource/components/metadata-list/metadata-list.component.scss rename to webapp/src/app/geosource/components/dataset-list/dataset-list.component.scss diff --git a/webapp/src/app/geosource/components/metadata-list/metadata-list.component.spec.ts b/webapp/src/app/geosource/components/dataset-list/dataset-list.component.spec.ts similarity index 88% rename from webapp/src/app/geosource/components/metadata-list/metadata-list.component.spec.ts rename to webapp/src/app/geosource/components/dataset-list/dataset-list.component.spec.ts index c097e24177c27ac25f9627e6a57719f2e8d79175..3a2ad8dbcbe66a0552d0d03235869778711aa075 100644 --- a/webapp/src/app/geosource/components/metadata-list/metadata-list.component.spec.ts +++ b/webapp/src/app/geosource/components/dataset-list/dataset-list.component.spec.ts @@ -1,7 +1,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { MetadataListComponent } from './metadata-list.component'; +import { DatasetListComponent } from './dataset-list.component'; import { ActivatedRoute } from '@angular/router'; -import { MetadataService, ElasticsearchService } from '../../services'; +import { DatasetService, ElasticsearchService } from '../../services'; import { Observable } from 'rxjs/Observable'; import { IMetadata, Dataset, SearchSuggestion } from '../../models'; import { RouterTestingModule } from '@angular/router/testing'; @@ -15,7 +15,7 @@ import { FilterDetailComponent } from '../filter-list/filter-detail/filter-detai import { PaginatorComponent } from '../../../shared/components/paginator/paginator.component'; import { FormsModule } from '@angular/forms'; -describe('MetadataListComponent', () => { +describe('DatasetListComponent', () => { const datasetList = [{ dataset_id: 'abcesr', highlights: { @@ -58,9 +58,9 @@ describe('MetadataListComponent', () => { } }] as Dataset[]; - let component: MetadataListComponent; - let fixture: ComponentFixture<MetadataListComponent>; - let service: MetadataService; + let component: DatasetListComponent; + let fixture: ComponentFixture<DatasetListComponent>; + let service: DatasetService; let elasticsearchService: ElasticsearchService; const searchSubject = new Subject<string>(); @@ -68,7 +68,7 @@ describe('MetadataListComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ - MetadataListComponent, + DatasetListComponent, MockComponent({ selector: 'app-sort' }), FilterListComponent, FilterDetailComponent, @@ -81,7 +81,7 @@ describe('MetadataListComponent', () => { FormsModule ], providers: [ - MetadataService, + DatasetService, ElasticsearchService ], }) @@ -89,9 +89,9 @@ describe('MetadataListComponent', () => { })); beforeEach(() => { - fixture = TestBed.createComponent(MetadataListComponent); + fixture = TestBed.createComponent(DatasetListComponent); component = fixture.componentInstance; - service = TestBed.get(MetadataService); + service = TestBed.get(DatasetService); elasticsearchService = TestBed.get(ElasticsearchService); spyOn(elasticsearchService, 'getSuggestion').and.returnValue(Observable.of(new SearchSuggestion())); fixture.detectChanges(); @@ -152,13 +152,13 @@ describe('MetadataListComponent', () => { expect(component.paginator.pageSize).toEqual(5); }); - it('should get count of metadata from service', () => { + it('should get count of dataset from service', () => { // When component.search(); expect(component.paginator.length).toBe(10); }); - it('should get the list of metadata from service', () => { + it('should get the list of dataset from service', () => { component.search(); expect(component.datasetList).toBe(datasetList); }); diff --git a/webapp/src/app/geosource/components/metadata-list/metadata-list.component.ts b/webapp/src/app/geosource/components/dataset-list/dataset-list.component.ts similarity index 60% rename from webapp/src/app/geosource/components/metadata-list/metadata-list.component.ts rename to webapp/src/app/geosource/components/dataset-list/dataset-list.component.ts index c22e4ed2c15e8bceacb3ee1178a0446b93c6ad0f..6cd414b8b9bbe0f3ac903cbcff7d485e9f21c999 100644 --- a/webapp/src/app/geosource/components/metadata-list/metadata-list.component.ts +++ b/webapp/src/app/geosource/components/dataset-list/dataset-list.component.ts @@ -1,22 +1,16 @@ import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; -import { MetadataService } from '../../services/metadata.service'; +import { DatasetService } from '../../services/dataset.service'; import { Dataset, IMetadataUri, SearchSuggestion } from '../../models'; import { Subscription } from 'rxjs/Subscription'; import { ElasticsearchService } from '../../services'; - -interface PaginatorOptions { - pageIndex: number; - length: number; - pageSize: number; - pageSizeOptions: number[]; -} +import { PaginatorOptions } from '../../../shared/models'; @Component({ - selector: 'app-metadata-list', - templateUrl: './metadata-list.component.html', - styleUrls: ['./metadata-list.component.scss'] + selector: 'app-dataset-list', + templateUrl: './dataset-list.component.html', + styleUrls: ['./dataset-list.component.scss'] }) -export class MetadataListComponent implements OnInit, OnDestroy { +export class DatasetListComponent implements OnInit, OnDestroy { datasetList: Dataset[]; searchChangeSub: Subscription; @@ -34,17 +28,17 @@ export class MetadataListComponent implements OnInit, OnDestroy { suggestion = new SearchSuggestion({}); constructor( - private metadataService: MetadataService, + private datasetService: DatasetService, private elasticsearchService: ElasticsearchService ) { } ngOnInit() { this.loading = true; - this.paginator.pageIndex = this.metadataService.pageIndex + 1; - this.paginator.pageSize = this.metadataService.pageSize; + this.paginator.pageIndex = this.datasetService.pageIndex + 1; + this.paginator.pageSize = this.datasetService.pageSize; this.search(); this.getSuggestion(); - this.searchChangeSub = this.metadataService.searchChange$.subscribe( + this.searchChangeSub = this.datasetService.searchChange$.subscribe( (value) => { this.showProgressBar = true; this.search(); @@ -59,12 +53,12 @@ export class MetadataListComponent implements OnInit, OnDestroy { search() { this.loading = true; - this.metadataService.getDatasetList().subscribe( + this.datasetService.getDatasetList().subscribe( (res) => { this.datasetList = res; - this.paginator.pageSize = this.metadataService.pageSize; - this.paginator.pageIndex = this.metadataService.pageIndex + 1; - this.paginator.length = this.metadataService.resultsCount; + this.paginator.pageSize = this.datasetService.pageSize; + this.paginator.pageIndex = this.datasetService.pageIndex + 1; + this.paginator.length = this.datasetService.resultsCount; this.showProgressBar = false; this.loading = false; }, (err) => { @@ -73,13 +67,13 @@ export class MetadataListComponent implements OnInit, OnDestroy { ); } - // When pagination is changed by user, we update metadata with new pagination options + // When pagination is changed by user, we update datasetList with new pagination options changePagination(pageIndex) { - this.metadataService.paginationChanged(this.paginator.pageSize, pageIndex - 1 ); + this.datasetService.paginationChanged(this.paginator.pageSize, pageIndex - 1 ); } changePageSize(pageSize) { - this.metadataService.paginationChanged(pageSize, 0 ); + this.datasetService.paginationChanged(pageSize, 0 ); } formatFoundItem(e) { @@ -97,7 +91,7 @@ export class MetadataListComponent implements OnInit, OnDestroy { } getSuggestion() { - this.elasticsearchService.getSuggestion(this.metadataService.searchString).subscribe( + this.elasticsearchService.getSuggestion(this.datasetService.searchString).subscribe( (suggestion) => { this.suggestion = suggestion; if (this.suggestion.text !== '' && this.suggestion.text !== null && this.suggestion.text !== undefined) { @@ -110,7 +104,7 @@ export class MetadataListComponent implements OnInit, OnDestroy { } useSuggestion() { - this.metadataService.searchChanged(this.suggestion.text); + this.datasetService.searchChanged(this.suggestion.text); } } diff --git a/webapp/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.spec.ts b/webapp/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.spec.ts index a197127da8edd707b603ecbedbfcbfb43b9e5667..120dee2590706ae3b17789884908f0f3e7f47f7f 100644 --- a/webapp/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.spec.ts +++ b/webapp/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.spec.ts @@ -1,7 +1,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { FilterDetailComponent } from './filter-detail.component'; -import { MetadataService, ElasticsearchService } from '../../../services'; +import { DatasetService, ElasticsearchService } from '../../../services'; import { HttpClientModule } from '@angular/common/http'; import { FilterListComponent } from '../..'; import { Component } from '@angular/core'; @@ -20,7 +20,7 @@ describe('FilterDetailComponent', () => { HttpClientModule ], providers: [ - MetadataService, + DatasetService, ElasticsearchService ] }) diff --git a/webapp/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.ts b/webapp/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.ts index 94b4222006bf8551d667a4d9a9ac1e5a88b84903..b26d7c2d5c70698bef7fab04498afb4cf1e839b5 100644 --- a/webapp/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.ts +++ b/webapp/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.ts @@ -1,4 +1,4 @@ -import {MetadataService} from '../../../services/metadata.service'; +import { DatasetService } from '../../../services/dataset.service'; import { Component, OnInit, Input } from '@angular/core'; import { IFilter } from '../../../models'; @@ -11,7 +11,7 @@ export class FilterDetailComponent implements OnInit { @Input() filter: IFilter; showList = false; constructor( - private _metadataService: MetadataService + private _datasetService: DatasetService ) {} ngOnInit() { @@ -45,14 +45,14 @@ export class FilterDetailComponent implements OnInit { } addFilter(field, value) { - this._metadataService.addFilter(field, value); + this._datasetService.addFilter(field, value); } changeFilter(field, aggregation) { if (aggregation.isActive) { - this._metadataService.removeFilter(field, aggregation); + this._datasetService.removeFilter(field, aggregation); } else { - this._metadataService.addFilter(field, aggregation); + this._datasetService.addFilter(field, aggregation); } } diff --git a/webapp/src/app/geosource/components/filter-list/filter-list.component.spec.ts b/webapp/src/app/geosource/components/filter-list/filter-list.component.spec.ts index 25548b73065cbddf6b0cb08fb018c1ac6b2cb648..465193ef44fe2528dbfa4124e5cde9f8f4fa813b 100644 --- a/webapp/src/app/geosource/components/filter-list/filter-list.component.spec.ts +++ b/webapp/src/app/geosource/components/filter-list/filter-list.component.spec.ts @@ -2,7 +2,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { FilterListComponent } from './filter-list.component'; import { FilterDetailComponent } from './filter-detail/filter-detail.component'; -import { MetadataService, ElasticsearchService } from '../../services'; +import { DatasetService, ElasticsearchService } from '../../services'; import { HttpClientModule } from '@angular/common/http'; describe('FilterListComponent', () => { @@ -19,7 +19,7 @@ describe('FilterListComponent', () => { HttpClientModule ], providers: [ - MetadataService, + DatasetService, ElasticsearchService ] }) diff --git a/webapp/src/app/geosource/components/filter-list/filter-list.component.ts b/webapp/src/app/geosource/components/filter-list/filter-list.component.ts index b5044a9221536881cf670ec86d642be883a438ec..21fd7129e7677bff243bd3e8cd560bf2b0477fed 100644 --- a/webapp/src/app/geosource/components/filter-list/filter-list.component.ts +++ b/webapp/src/app/geosource/components/filter-list/filter-list.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, OnDestroy } from '@angular/core'; -import { MetadataService } from '../../services'; +import { DatasetService } from '../../services'; import { Subscription } from 'rxjs/Subscription'; import { IFilter } from '../../models'; @@ -10,17 +10,17 @@ import { IFilter } from '../../models'; }) export class FilterListComponent implements OnInit, OnDestroy { - private _metadataReloaded: Subscription; + private _datasetsReloaded: Subscription; filters: Array<IFilter>; constructor( - private _metadataService: MetadataService + private _datasetService: DatasetService ) {} ngOnInit() { - this._metadataReloaded = this._metadataService.metadataReloaded$.subscribe( + this._datasetsReloaded = this._datasetService.datasetsReloaded$.subscribe( (value) => { - const filters = this._metadataService.filters; + const filters = this._datasetService.filters; // If one filter is used as an active filter, we remove it of 'aggregations' property // that are used to display the filters categories filters.forEach(filter => { @@ -38,11 +38,11 @@ export class FilterListComponent implements OnInit, OnDestroy { } removeFilter(field, value) { - this._metadataService.removeFilter(field, value); + this._datasetService.removeFilter(field, value); } ngOnDestroy() { - this._metadataReloaded.unsubscribe(); + this._datasetsReloaded.unsubscribe(); } } diff --git a/webapp/src/app/geosource/components/index.ts b/webapp/src/app/geosource/components/index.ts index ac6b444dca57c051503d04c81d8627622d997dee..ad0621fdea9d5352a29d2ff38bc18a7c0524c668 100644 --- a/webapp/src/app/geosource/components/index.ts +++ b/webapp/src/app/geosource/components/index.ts @@ -1,21 +1,21 @@ -import { MetadataListComponent } from './metadata-list/metadata-list.component'; -import { MetadataDetailComponent } from './metadata-detail/metadata-detail.component'; +import { DatasetListComponent } from './dataset-list/dataset-list.component'; +import { DatasetDetailComponent } from './dataset-detail/dataset-detail.component'; import { SearchBarComponent } from './search-bar/search-bar.component'; import { ResearchComponent } from './research/research.component'; import { SortComponent } from './sort/sort.component'; import { FilterListComponent } from './filter-list/filter-list.component'; import { FilterDetailComponent } from './filter-list/filter-detail/filter-detail.component'; -export * from './metadata-detail/metadata-detail.component'; -export * from './metadata-list/metadata-list.component'; +export * from './dataset-detail/dataset-detail.component'; +export * from './dataset-list/dataset-list.component'; export * from './filter-list/filter-list.component'; export * from './search-bar/search-bar.component'; export * from './research/research.component'; export * from './sort/sort.component'; export const GeosourceComponents = [ - MetadataDetailComponent, - MetadataListComponent, + DatasetDetailComponent, + DatasetListComponent, SearchBarComponent, ResearchComponent, SortComponent, diff --git a/webapp/src/app/geosource/components/research/research.component.spec.ts b/webapp/src/app/geosource/components/research/research.component.spec.ts index 1797f8343cac5ababbb5b4149d13a44478181d20..0e5771dd8289ee41b727fb540a665b6e5ba83089 100644 --- a/webapp/src/app/geosource/components/research/research.component.spec.ts +++ b/webapp/src/app/geosource/components/research/research.component.spec.ts @@ -3,7 +3,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ResearchComponent } from './research.component'; import { MockComponent } from 'ng2-mock-component'; import { RouterTestingModule } from '@angular/router/testing'; -import { MetadataService, ElasticsearchService } from '../../services'; +import { DatasetService, ElasticsearchService } from '../../services'; import { HttpClientModule } from '@angular/common/http'; describe('ResearchComponent', () => { @@ -19,10 +19,10 @@ describe('ResearchComponent', () => { declarations: [ ResearchComponent, MockComponent({ selector: 'app-search-bar' }), - MockComponent({ selector: 'app-metadata-list' }), + MockComponent({ selector: 'app-dataset-list' }), ], providers: [ - MetadataService, + DatasetService, ElasticsearchService ] }) diff --git a/webapp/src/app/geosource/components/research/research.component.ts b/webapp/src/app/geosource/components/research/research.component.ts index f19402bec090c3137a0e57637f60251bd5aba6a3..8c8d95c72005842054917ae02e159e36b10f3abf 100644 --- a/webapp/src/app/geosource/components/research/research.component.ts +++ b/webapp/src/app/geosource/components/research/research.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit } from '@angular/core'; -import { MetadataService } from '../../services'; +import { DatasetService } from '../../services'; import { Router, ActivatedRoute } from '@angular/router'; @Component({ @@ -10,15 +10,15 @@ import { Router, ActivatedRoute } from '@angular/router'; export class ResearchComponent implements OnInit { constructor( - private _metadataService: MetadataService, + private _datasetService: DatasetService, private _router: Router, private _route: ActivatedRoute ) { } ngOnInit() { - this._metadataService.searchChange$.subscribe(() => { - if ( this._route.snapshot.url[this._route.snapshot.url.length - 1].path !== 'metadata' ) { - this._router.navigate(['metadata'], { relativeTo: this._route}); + this._datasetService.searchChange$.subscribe(() => { + if ( this._route.snapshot.url[this._route.snapshot.url.length - 1].path !== 'datasets' ) { + this._router.navigate(['datasets'], { relativeTo: this._route}); } }); } diff --git a/webapp/src/app/geosource/components/search-bar/search-bar.component.spec.ts b/webapp/src/app/geosource/components/search-bar/search-bar.component.spec.ts index 5ca35422d579e2014ac90115bed420678bfaa81d..b507e74025045026c5c74d8f0eda39b0e2c85a5f 100644 --- a/webapp/src/app/geosource/components/search-bar/search-bar.component.spec.ts +++ b/webapp/src/app/geosource/components/search-bar/search-bar.component.spec.ts @@ -1,5 +1,5 @@ -import {ElasticsearchService} from '../../services/elasticsearch.service'; -import {MetadataService} from '../../services/metadata.service'; +import { ElasticsearchService } from '../../services/elasticsearch.service'; +import { DatasetService } from '../../services/dataset.service'; import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { SearchBarComponent } from './search-bar.component'; @@ -22,7 +22,7 @@ describe('SearchBarComponent', () => { MockComponent({ selector: 'app-search-input' }), ], providers: [ - MetadataService, + DatasetService, ElasticsearchService ] }) diff --git a/webapp/src/app/geosource/components/search-bar/search-bar.component.ts b/webapp/src/app/geosource/components/search-bar/search-bar.component.ts index 808c831885562ed8e54e676029f88f7c1a5a43dd..7bc410a273f6aff3086129a704948da61ace75d0 100644 --- a/webapp/src/app/geosource/components/search-bar/search-bar.component.ts +++ b/webapp/src/app/geosource/components/search-bar/search-bar.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit } from '@angular/core'; -import { MetadataService, ElasticsearchService } from '../../services'; +import { DatasetService, ElasticsearchService } from '../../services'; import { SearchCompletion } from '../../models'; @Component({ @@ -16,7 +16,7 @@ export class SearchBarComponent implements OnInit { displayAutocomplete: boolean; constructor( - private _metadataService: MetadataService, + private _datasetService: DatasetService, private _elasticSearchService: ElasticsearchService, ) { this.options_autocomplete = []; @@ -25,17 +25,17 @@ export class SearchBarComponent implements OnInit { } ngOnInit() { - this.searchValue = this._metadataService.searchString; + this.searchValue = this._datasetService.searchString; // When the search value has changed, we reset the autocomplete list and focus element - this._metadataService.searchChange$.subscribe( + this._datasetService.searchChange$.subscribe( () => { - this.searchValue = this._metadataService.searchString; + this.searchValue = this._datasetService.searchString; this.options_autocomplete = []; this.currentAutocompleteFocus = -1; } ); // Used to display the loading icon - this._metadataService.isLoading$.subscribe((value) => { + this._datasetService.isLoading$.subscribe((value) => { this.isLoading = value; }); } @@ -64,12 +64,12 @@ export class SearchBarComponent implements OnInit { this.searchValue = this.options_autocomplete[this.currentAutocompleteFocus].text; this.currentAutocompleteFocus = -1; } - this._metadataService.searchChanged(this.searchValue); + this._datasetService.searchChanged(this.searchValue); this.options_autocomplete = []; break; case 'optionSelected': case 'reset': - this._metadataService.searchChanged(this.searchValue); + this._datasetService.searchChanged(this.searchValue); this.options_autocomplete = []; break; default: diff --git a/webapp/src/app/geosource/components/sort/sort.component.spec.ts b/webapp/src/app/geosource/components/sort/sort.component.spec.ts index 901114fa56a565bda93e761e9002f3515aeeafc1..9fc1c660b94a6a052e59c9e4c2e60f228338bc12 100644 --- a/webapp/src/app/geosource/components/sort/sort.component.spec.ts +++ b/webapp/src/app/geosource/components/sort/sort.component.spec.ts @@ -1,7 +1,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { SortComponent } from './sort.component'; -import { MetadataService, ElasticsearchService } from '../../services'; +import { DatasetService, ElasticsearchService } from '../../services'; import { HttpClientModule } from '@angular/common/http'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -17,7 +17,7 @@ describe('SortComponent', () => { ], declarations: [ SortComponent ], providers: [ - MetadataService, + DatasetService, ElasticsearchService ], }) diff --git a/webapp/src/app/geosource/components/sort/sort.component.ts b/webapp/src/app/geosource/components/sort/sort.component.ts index f03918a7ace3184ba15937fa96b07cab69f04e23..7da9c02712700e8dee15ec44bee366c4271b5cfb 100644 --- a/webapp/src/app/geosource/components/sort/sort.component.ts +++ b/webapp/src/app/geosource/components/sort/sort.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit } from '@angular/core'; -import { MetadataService } from '../../services'; +import { DatasetService } from '../../services'; import { ISortOption } from '../../models'; interface IDropdownOptions { @@ -20,7 +20,7 @@ export class SortComponent implements OnInit { selectedOption: ISortOption; constructor( - private _metadataService: MetadataService + private _datasetService: DatasetService ) { this.options = [ { @@ -39,17 +39,17 @@ export class SortComponent implements OnInit { } ngOnInit() { - this.selectedOption = this._metadataService.sortOptions; + this.selectedOption = this._datasetService.sortOptions; } sortValueChanged(value) { this.selectedOption.value = value; - this._metadataService.sortChanged(value); + this._datasetService.sortChanged(value); } toggleOrder() { this.selectedOption.order = this.selectedOption.order === 'asc' ? 'desc' : 'asc'; - this._metadataService.orderChanged(this.selectedOption.order); + this._datasetService.orderChanged(this.selectedOption.order); } } diff --git a/webapp/src/app/geosource/geosource-routing.module.ts b/webapp/src/app/geosource/geosource-routing.module.ts index d41296c770fff4095dc11d54c94c95a19a924ae5..ef446d5d6ad011e5a0148f900d928f41d6989224 100644 --- a/webapp/src/app/geosource/geosource-routing.module.ts +++ b/webapp/src/app/geosource/geosource-routing.module.ts @@ -1,6 +1,6 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; -import { MetadataListComponent, MetadataDetailComponent, ResearchComponent } from './components'; +import { DatasetListComponent, DatasetDetailComponent, ResearchComponent } from './components'; export const routes: Routes = [ { @@ -9,16 +9,19 @@ export const routes: Routes = [ children: [ { path: '', - redirectTo: 'metadata', + redirectTo: 'datasets', pathMatch: 'full' }, { - path: 'metadata/:id', - component: MetadataDetailComponent + path: 'datasets/:id', + component: DatasetDetailComponent, + children: [ + + ] }, { - path: 'metadata', - component: MetadataListComponent + path: 'datasets', + component: DatasetListComponent }, ] }, diff --git a/webapp/src/app/geosource/services/metadata.service.spec.ts b/webapp/src/app/geosource/services/dataset.service.spec.ts similarity index 68% rename from webapp/src/app/geosource/services/metadata.service.spec.ts rename to webapp/src/app/geosource/services/dataset.service.spec.ts index 2947059c1fe1f7215e5dd2fc4083d73ce8c211f9..b232c64828819bea2fa185e3f8155f349d30d053 100644 --- a/webapp/src/app/geosource/services/metadata.service.spec.ts +++ b/webapp/src/app/geosource/services/dataset.service.spec.ts @@ -1,8 +1,8 @@ import { TestBed, inject } from '@angular/core/testing'; import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; -import { MetadataService } from './metadata.service'; +import { DatasetService } from './dataset.service'; import { IMetadata } from '../models'; -describe('MetadataService', () => { +describe('DatasetService', () => { }); diff --git a/webapp/src/app/geosource/services/metadata.service.ts b/webapp/src/app/geosource/services/dataset.service.ts similarity index 95% rename from webapp/src/app/geosource/services/metadata.service.ts rename to webapp/src/app/geosource/services/dataset.service.ts index c2f55ea41c4a7ac9f06516e99f3e68f0c443acee..85a1338cb0ea3c19bd248f77635f55fd402f3719 100644 --- a/webapp/src/app/geosource/services/metadata.service.ts +++ b/webapp/src/app/geosource/services/dataset.service.ts @@ -14,10 +14,10 @@ import { import { ElasticsearchService } from './elasticsearch.service'; @Injectable() -export class MetadataService { +export class DatasetService { private _searchChangeSubject: Subject<any>; - private _metadataReloadedSubject: Subject<any>; + private _datasetsReloadedSubject: Subject<any>; private _elasticsearchOptions: ElasticsearchOptions; private _resultsCount: number; private _isLoading: Subject<boolean>; @@ -26,13 +26,13 @@ export class MetadataService { private _elasticsearchService: ElasticsearchService ) { this._searchChangeSubject = new Subject<any>(); - this._metadataReloadedSubject = new Subject<any>(); + this._datasetsReloadedSubject = new Subject<any>(); this._elasticsearchOptions = new ElasticsearchOptions(); this._isLoading = new Subject(); } - // Get metadata from elasticsearch. + // Get datasets from elasticsearch. // Options: filter by query string and pagination getDatasetList(): Observable<Dataset[]> { this._isLoading.next(true); @@ -52,7 +52,7 @@ export class MetadataService { } }); // NOtify that data have been reloaded - this._metadataReloadedSubject.next(); + this._datasetsReloadedSubject.next(); this._isLoading.next(false); return this.initilizeDatasetList(e.hits.hits); @@ -175,8 +175,8 @@ export class MetadataService { return this._isLoading.asObservable(); } - get metadataReloaded$(): Observable<string> { - return this._metadataReloadedSubject.asObservable(); + get datasetsReloaded$(): Observable<string> { + return this._datasetsReloadedSubject.asObservable(); } get searchString(): string { diff --git a/webapp/src/app/geosource/services/index.ts b/webapp/src/app/geosource/services/index.ts index c1207247a7395c299d7dbf64b2e6ec745bfd8151..764bd841b5ae461c542b5633b1b4451d1363e222 100644 --- a/webapp/src/app/geosource/services/index.ts +++ b/webapp/src/app/geosource/services/index.ts @@ -1,10 +1,10 @@ -import { MetadataService } from './metadata.service'; +import { DatasetService } from './dataset.service'; import { ElasticsearchService } from './elasticsearch.service'; -export * from './metadata.service'; +export * from './dataset.service'; export * from './elasticsearch.service'; export const GeosourceServices = [ - MetadataService, + DatasetService, ElasticsearchService ]; diff --git a/webapp/src/app/shared/models/index.ts b/webapp/src/app/shared/models/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..a02661fab012267fa9158f9d2156f89e6676c125 --- /dev/null +++ b/webapp/src/app/shared/models/index.ts @@ -0,0 +1 @@ +export * from './paginator-options.model'; diff --git a/webapp/src/app/shared/models/paginator-options.model.ts b/webapp/src/app/shared/models/paginator-options.model.ts new file mode 100644 index 0000000000000000000000000000000000000000..d5818ff4a472b5b5da9605428f76339e725e5b0e --- /dev/null +++ b/webapp/src/app/shared/models/paginator-options.model.ts @@ -0,0 +1,6 @@ +export interface PaginatorOptions { + pageIndex: number; + length: number; + pageSize: number; + pageSizeOptions: number[]; +}