From 18dd06a9bb3229dce3b87bd845a80401b2e83a07 Mon Sep 17 00:00:00 2001 From: FORESTIER Fabien <fabien.forestier@soprasteria.com> Date: Wed, 20 Nov 2019 14:18:44 +0100 Subject: [PATCH] Reorganize modules --- .gitlab-ci.yml | 4 +- src/app/app-routing.module.ts | 6 +- src/app/app.routing.spec.ts | 151 ------------------ .../main/header/header.component.ts | 13 +- .../core/components/main/main.component.ts | 8 +- .../main/side-menu/side-menu.component.html | 5 +- .../main/side-menu/side-menu.component.ts | 10 +- src/app/core/core-routing.module.ts | 4 +- src/app/core/core.module.ts | 20 +-- .../http-error-response-interceptor.ts | 9 +- src/app/core/services/error.service.spec.ts | 55 ------- .../{file-service.ts => file.service.ts} | 4 +- src/app/core/services/index.ts | 16 +- .../services/notification.service.spec.ts | 37 ----- ...aset-data-detail-properties.component.html | 0 ...aset-data-detail-properties.component.scss | 2 +- ...ataset-data-detail-properties.component.ts | 0 .../dataset-data-details.component.html | 0 .../dataset-data-details.component.scss | 2 +- .../dataset-data-details.component.ts | 4 +- .../dataset-detail.component.html | 0 .../dataset-detail.component.scss | 0 .../dataset-detail.component.ts | 22 ++- .../dataset-info/dataset-info.component.html | 0 .../dataset-info/dataset-info.component.scss | 4 +- .../dataset-info.component.spec.ts | 0 .../dataset-info/dataset-info.component.ts | 16 +- .../dataset-map/dataset-map.component.html | 0 .../dataset-map/dataset-map.component.scss | 2 +- .../dataset-map/dataset-map.component.ts | 15 +- .../dataset-resources.component.html | 0 .../dataset-resources.component.scss | 4 +- .../dataset-resources.component.spec.ts | 0 .../dataset-resources.component.ts | 16 +- .../icon-format/icon-format.component.html | 0 .../icon-format/icon-format.component.scss | 0 .../icon-format/icon-format.component.ts | 0 .../resource-downloadable.component.html | 0 .../resource-downloadable.component.scss | 2 +- .../resource-downloadable.component.ts | 6 +- .../resource-queryable.component.html | 0 .../resource-queryable.component.scss | 2 +- .../resource-queryable.component.ts | 18 +-- .../resources-queryable.component.html | 0 .../resources-queryable.component.scss | 2 +- .../resources-queryable.component.ts | 10 +- .../dataset-table-map.component.html | 0 .../dataset-table-map.component.scss | 10 +- .../dataset-table-map.component.ts | 8 +- .../dataset-table.component.html | 0 .../dataset-table.component.scss | 4 +- .../dataset-table/dataset-table.component.ts | 16 +- src/app/dataset-detail/components/index.ts | 33 ++++ .../dataset-detail-routing.module.ts} | 34 +--- .../dataset-detail/dataset-detail.module.ts | 29 ++++ .../models/dataset-child.model.ts | 0 src/app/dataset-detail/models/index.ts | 4 + .../models/projection.model.ts | 0 .../models/resource.model.ts | 2 +- .../resolvers/dataset-detail.resolver.ts | 6 +- .../resolvers/index.ts | 6 +- .../services/dataset-detail.service.ts | 16 +- src/app/dataset-detail/services/index.ts | 10 ++ .../services/resources.service.ts | 0 .../filter-detail.component.html | 0 .../filter-detail.component.scss | 0 .../filter-detail.component.spec.ts | 0 .../filter-detail/filter-detail.component.ts | 5 +- .../filter-list/filter-list.component.html | 0 .../filter-list/filter-list.component.scss | 0 .../filter-list/filter-list.component.spec.ts | 0 .../filter-list/filter-list.component.ts | 12 +- src/app/datasets/components/index.ts | 23 +++ .../result-dataset.component.html | 0 .../result-dataset.component.scss | 0 .../result-dataset.component.spec.ts | 0 .../result-dataset.component.ts | 7 +- .../result-post/result-post.component.html | 0 .../result-post/result-post.component.scss | 0 .../result-post/result-post.component.ts | 0 .../results-tab-scope.component.html | 0 .../results-tab-scope.component.scss | 0 .../results-tab-scope.component.spec.ts | 0 .../results-tab-scope.component.ts | 5 +- .../components/results/results.component.html | 0 .../components/results/results.component.scss | 0 .../results/results.component.spec.ts | 0 .../components/results/results.component.ts | 16 +- .../search-bar/search-bar.component.html | 0 .../search-bar/search-bar.component.scss | 0 .../search-bar/search-bar.component.spec.ts | 5 +- .../search-bar/search-bar.component.ts | 11 +- .../components/sort/sort.component.html | 0 .../components/sort/sort.component.scss | 0 .../components/sort/sort.component.spec.ts | 0 .../components/sort/sort.component.ts | 0 src/app/datasets/datasets-routing.module.ts | 28 ++++ src/app/datasets/datasets.module.ts | 24 +++ .../services/dataset-research.service.ts | 25 ++- src/app/datasets/services/index.ts | 8 + .../cms-post-detail.component.ts | 13 +- .../cms-drafts-list.component.ts | 2 +- .../components/home/home.component.html | 2 +- .../components/home/home.component.ts | 19 +-- .../organizations/organizations.component.ts | 18 +-- .../reuse-detail/reuse-detail.component.ts | 15 +- .../site-map/site-map.component.html | 2 +- .../editorialisation.module.ts | 16 +- .../services/editorialisation.service.ts | 3 +- src/app/elasticsearch/elasticsearch.module.ts | 14 ++ .../models/data.model.ts | 0 .../models/dataset.model.ts | 6 +- .../models/editorial-metadata.model.ts | 0 .../models/elasticsearch-options.model.ts | 46 +++--- .../models/elasticsearch-response.model.ts} | 20 ++- .../models/filter.model.ts | 0 .../models/highlights.model.ts | 0 src/app/elasticsearch/models/index.ts | 15 ++ .../models/metadata.model.ts | 2 +- .../models/scopes-research.ts | 0 .../models/search-completion.model.ts | 0 .../models/sort-option.model.ts | 0 .../models/suggestion.model.ts | 0 .../services/elasticsearch.service.ts | 17 +- src/app/geosource/components/index.ts | 74 --------- .../research/research.component.html | 1 - .../research/research.component.scss | 9 -- .../research/research.component.spec.ts | 45 ------ .../components/research/research.component.ts | 27 ---- src/app/geosource/geosource.module.ts | 40 ----- .../geosource/models/dataset-service.model.ts | 7 - .../models/elasticsearch-response.model.ts | 12 -- src/app/geosource/models/index.ts | 14 -- .../services/dataset-detail.service.spec.ts | 3 - .../services/dataset-research.service.spec.ts | 3 - .../services/elasticsearch-response-mock.json | 40 ----- .../services/elasticsearch.service.spec.ts | 111 ------------- src/app/geosource/services/index.ts | 14 -- src/app/map/components/map.component.ts | 10 +- src/app/routes.ts | 7 - .../available-data.component.ts | 4 +- .../user-services/user-services.component.ts | 4 +- src/assets/config/config.json | 2 +- src/tsconfig.app.json | 2 +- 144 files changed, 463 insertions(+), 992 deletions(-) delete mode 100644 src/app/app.routing.spec.ts delete mode 100644 src/app/core/services/error.service.spec.ts rename src/app/core/services/{file-service.ts => file.service.ts} (93%) delete mode 100644 src/app/core/services/notification.service.spec.ts rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.scss (95%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.ts (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-data-details/dataset-data-details.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-data-details/dataset-data-details.component.scss (93%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-data-details/dataset-data-details.component.ts (90%) rename src/app/{geosource => dataset-detail}/components/dataset-detail/dataset-detail.component.html (100%) rename src/app/{geosource => dataset-detail}/components/dataset-detail/dataset-detail.component.scss (100%) rename src/app/{geosource => dataset-detail}/components/dataset-detail/dataset-detail.component.ts (93%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-info/dataset-info.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-info/dataset-info.component.scss (94%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-info/dataset-info.component.spec.ts (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-info/dataset-info.component.ts (87%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-map/dataset-map.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-map/dataset-map.component.scss (95%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-map/dataset-map.component.ts (91%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/dataset-resources.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/dataset-resources.component.scss (94%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/dataset-resources.component.spec.ts (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/dataset-resources.component.ts (88%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/icon-format/icon-format.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/icon-format/icon-format.component.scss (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/icon-format/icon-format.component.ts (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/resource-downloadable/resource-downloadable.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/resource-downloadable/resource-downloadable.component.scss (95%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/resource-downloadable/resource-downloadable.component.ts (89%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.scss (98%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.ts (96%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/resources-queryable/resources-queryable.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/resources-queryable/resources-queryable.component.scss (93%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-resources/resources-queryable/resources-queryable.component.ts (74%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-table-map/dataset-table-map.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-table-map/dataset-table-map.component.scss (96%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-table-map/dataset-table-map.component.ts (97%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-table/dataset-table.component.html (100%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-table/dataset-table.component.scss (95%) rename src/app/{geosource/components/dataset-detail => dataset-detail/components}/dataset-table/dataset-table.component.ts (92%) create mode 100644 src/app/dataset-detail/components/index.ts rename src/app/{geosource/geosource-routing.module.ts => dataset-detail/dataset-detail-routing.module.ts} (59%) create mode 100644 src/app/dataset-detail/dataset-detail.module.ts rename src/app/{geosource => dataset-detail}/models/dataset-child.model.ts (100%) create mode 100644 src/app/dataset-detail/models/index.ts rename src/app/{geosource => dataset-detail}/models/projection.model.ts (100%) rename src/app/{geosource => dataset-detail}/models/resource.model.ts (97%) rename src/app/{geosource => dataset-detail}/resolvers/dataset-detail.resolver.ts (80%) rename src/app/{geosource => dataset-detail}/resolvers/index.ts (65%) rename src/app/{geosource => dataset-detail}/services/dataset-detail.service.ts (96%) create mode 100644 src/app/dataset-detail/services/index.ts rename src/app/{geosource => dataset-detail}/services/resources.service.ts (100%) rename src/app/{geosource => datasets}/components/filter-list/filter-detail/filter-detail.component.html (100%) rename src/app/{geosource => datasets}/components/filter-list/filter-detail/filter-detail.component.scss (100%) rename src/app/{geosource => datasets}/components/filter-list/filter-detail/filter-detail.component.spec.ts (100%) rename src/app/{geosource => datasets}/components/filter-list/filter-detail/filter-detail.component.ts (93%) rename src/app/{geosource => datasets}/components/filter-list/filter-list.component.html (100%) rename src/app/{geosource => datasets}/components/filter-list/filter-list.component.scss (100%) rename src/app/{geosource => datasets}/components/filter-list/filter-list.component.spec.ts (100%) rename src/app/{geosource => datasets}/components/filter-list/filter-list.component.ts (88%) create mode 100644 src/app/datasets/components/index.ts rename src/app/{geosource => datasets}/components/results/result-dataset/result-dataset.component.html (100%) rename src/app/{geosource => datasets}/components/results/result-dataset/result-dataset.component.scss (100%) rename src/app/{geosource => datasets}/components/results/result-dataset/result-dataset.component.spec.ts (100%) rename src/app/{geosource => datasets}/components/results/result-dataset/result-dataset.component.ts (90%) rename src/app/{geosource => datasets}/components/results/result-post/result-post.component.html (100%) rename src/app/{geosource => datasets}/components/results/result-post/result-post.component.scss (100%) rename src/app/{geosource => datasets}/components/results/result-post/result-post.component.ts (100%) rename src/app/{geosource => datasets}/components/results/results-tab-scope/results-tab-scope.component.html (100%) rename src/app/{geosource => datasets}/components/results/results-tab-scope/results-tab-scope.component.scss (100%) rename src/app/{geosource => datasets}/components/results/results-tab-scope/results-tab-scope.component.spec.ts (100%) rename src/app/{geosource => datasets}/components/results/results-tab-scope/results-tab-scope.component.ts (71%) rename src/app/{geosource => datasets}/components/results/results.component.html (100%) rename src/app/{geosource => datasets}/components/results/results.component.scss (100%) rename src/app/{geosource => datasets}/components/results/results.component.spec.ts (100%) rename src/app/{geosource => datasets}/components/results/results.component.ts (94%) rename src/app/{geosource => datasets}/components/search-bar/search-bar.component.html (100%) rename src/app/{geosource => datasets}/components/search-bar/search-bar.component.scss (100%) rename src/app/{geosource => datasets}/components/search-bar/search-bar.component.spec.ts (91%) rename src/app/{geosource => datasets}/components/search-bar/search-bar.component.ts (95%) rename src/app/{geosource => datasets}/components/sort/sort.component.html (100%) rename src/app/{geosource => datasets}/components/sort/sort.component.scss (100%) rename src/app/{geosource => datasets}/components/sort/sort.component.spec.ts (100%) rename src/app/{geosource => datasets}/components/sort/sort.component.ts (100%) create mode 100644 src/app/datasets/datasets-routing.module.ts create mode 100644 src/app/datasets/datasets.module.ts rename src/app/{geosource => datasets}/services/dataset-research.service.ts (96%) create mode 100644 src/app/datasets/services/index.ts create mode 100644 src/app/elasticsearch/elasticsearch.module.ts rename src/app/{geosource => elasticsearch}/models/data.model.ts (100%) rename src/app/{geosource => elasticsearch}/models/dataset.model.ts (93%) rename src/app/{geosource => elasticsearch}/models/editorial-metadata.model.ts (100%) rename src/app/{geosource => elasticsearch}/models/elasticsearch-options.model.ts (87%) rename src/app/{geosource/models/elasticsearch-hit.model.ts => elasticsearch/models/elasticsearch-response.model.ts} (51%) rename src/app/{geosource => elasticsearch}/models/filter.model.ts (100%) rename src/app/{geosource => elasticsearch}/models/highlights.model.ts (100%) create mode 100644 src/app/elasticsearch/models/index.ts rename src/app/{geosource => elasticsearch}/models/metadata.model.ts (99%) rename src/app/{geosource => elasticsearch}/models/scopes-research.ts (100%) rename src/app/{geosource => elasticsearch}/models/search-completion.model.ts (100%) rename src/app/{geosource => elasticsearch}/models/sort-option.model.ts (100%) rename src/app/{geosource => elasticsearch}/models/suggestion.model.ts (100%) rename src/app/{geosource => elasticsearch}/services/elasticsearch.service.ts (98%) delete mode 100644 src/app/geosource/components/index.ts delete mode 100644 src/app/geosource/components/research/research.component.html delete mode 100644 src/app/geosource/components/research/research.component.scss delete mode 100644 src/app/geosource/components/research/research.component.spec.ts delete mode 100644 src/app/geosource/components/research/research.component.ts delete mode 100644 src/app/geosource/geosource.module.ts delete mode 100644 src/app/geosource/models/dataset-service.model.ts delete mode 100644 src/app/geosource/models/elasticsearch-response.model.ts delete mode 100644 src/app/geosource/models/index.ts delete mode 100644 src/app/geosource/services/dataset-detail.service.spec.ts delete mode 100644 src/app/geosource/services/dataset-research.service.spec.ts delete mode 100644 src/app/geosource/services/elasticsearch-response-mock.json delete mode 100644 src/app/geosource/services/elasticsearch.service.spec.ts delete mode 100644 src/app/geosource/services/index.ts diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 01fe9672..5c12447e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,7 +17,7 @@ build_development: - build only: - development - - fusion-table-map-universe + - refacto script: - export TAG=dev - export NGINX_PORT=8081 @@ -46,7 +46,7 @@ deploy_development: stage: deploy only: - development - - fusion-table-map-universe + - refacto script: - export TAG=dev - export NGINX_PORT=8081 diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 7c4461b1..d818dfc9 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,12 +1,8 @@ import { NgModule } from '@angular/core'; -import { Routes, RouterModule, PreloadAllModules } from '@angular/router'; +import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; import { AppRoutes } from './routes'; export const routes: Routes = [ - // { - // path: AppRoutes.research.uri, - // loadChildren: './geosource/geosource.module#GeosourceModule', - // }, { path: '**', redirectTo: AppRoutes.page404.uri, diff --git a/src/app/app.routing.spec.ts b/src/app/app.routing.spec.ts deleted file mode 100644 index af5765e1..00000000 --- a/src/app/app.routing.spec.ts +++ /dev/null @@ -1,151 +0,0 @@ -// import { TestBed, async } from '@angular/core/testing'; -// import { Router, Routes } from '@angular/router'; -// import { RouterTestingModule } from '@angular/router/testing'; -// import { AppComponent } from './app.component'; -// import { FormsModule } from '@angular/forms'; - -// // importing routes from the different routing files -// import { routes as AppRoutes } from './app-routing.module'; -// import { routes as GeosourceRoutes } from './geosource/geosource-routing.module'; -// import { routes as CoreRoutes } from './core/core-routing.module'; -// import { routes as EditorialisationRoutes } from './editorialisation/editorialisation-routing.module'; - -// import { AppRoutes as RouteNames } from './routes'; - -// // importing components -// import { CoreComponents } from './core/components'; -// import { GeosourceComponents } from './geosource/components'; -// import { EditorialisationComponents } from './editorialisation/components'; -// import { SharedModule } from './shared/shared.module'; -// import { EditorialisationService, EditorialisationServices } from './editorialisation/services'; -// import { HttpClientModule } from '@angular/common/http'; -// import { GeosourceServices } from './geosource/services'; -// import { PostDetailResolver, PostsListResolver, PostVideoResolver } from './editorialisation/resolvers'; -// import { EditorialisationServiceMock } from './editorialisation/services/editorialisation.service.mock'; -// import { PageResolver } from './editorialisation/resolvers/page.resolver'; - -// describe('App routing', () => { -// const routeNames = RouteNames; -// let router: Router; -// const routes: Routes = [ -// ...AppRoutes, -// ...GeosourceRoutes, -// ...CoreRoutes, -// ...EditorialisationRoutes, -// ]; - -// beforeEach(async(() => { -// TestBed.configureTestingModule({ -// imports: [ -// FormsModule, -// SharedModule, -// HttpClientModule, -// RouterTestingModule.withRoutes(routes), -// ], -// declarations: [ -// AppComponent, -// ...CoreComponents, -// ...GeosourceComponents, -// ...EditorialisationComponents, -// ], -// providers: [ -// { -// provide: EditorialisationService, -// useValue: EditorialisationServiceMock, -// }, -// { -// provide: PageResolver, -// useValue: { resolve() { } }, -// }, -// { -// provide: PostDetailResolver, -// useValue: { resolve() { } }, -// }, -// { -// provide: PostsListResolver, -// useValue: { resolve() { } }, -// }, -// { -// provide: PostVideoResolver, -// useValue: { resolve() { } }, -// }, -// ...GeosourceServices, -// ], -// }).compileComponents(); -// })); - -// beforeEach(() => { -// router = TestBed.get(Router); -// router.initialNavigation(); -// }); - -// // ********* From geosource module ********* // - -// it('navigate to "/recherche" redirects you to /recherche/datasets', (done) => { -// router.navigateByUrl('/' + routeNames.research).then(() => { -// expect(router.routerState.snapshot.url).toBe('/' + routeNames.research + '/' + routeNames.datasets); -// done(); -// }); -// }); - -// it('navigate to "/recherche/datasets" takes you to /datasets', (done) => { -// router.navigateByUrl('/' + routeNames.research + '/' + routeNames.datasets).then(() => { -// expect(router.routerState.snapshot.url).toBe('/' + routeNames.research + '/' + routeNames.datasets); -// done(); -// }); -// }); - -// it('navigate to "/recherche/datasets/abcdef" takes you to /recherche/datasets/abcdef', (done) => { -// router.navigateByUrl('/' + routeNames.research + '/' + routeNames.datasets + '/abcdef').then(() => { -// expect(router.routerState.snapshot.url).toBe( -// '/' + routeNames.research + '/' + routeNames.datasets + '/abcdef/' + routeNames.info); -// done(); -// }); -// }); - -// // ********* From core module ********* // - -// it('navigate to "" redirects you to /accueil', (done) => { -// router.navigateByUrl('/').then(() => { -// expect(router.routerState.snapshot.url).toBe('/' + routeNames.home); -// done(); -// }); -// }); - -// // ********* From editorialisation module ********* // - -// it('navigate to "/accueil" takes you to /accueil', (done) => { -// router.navigateByUrl('/' + routeNames.home).then(() => { -// expect(router.routerState.snapshot.url).toBe('/' + routeNames.home); -// done(); -// }); -// }); - -// it('navigate to "/demarche" takes you to /demarche', (done) => { -// router.navigateByUrl('/' + routeNames.approach).then(() => { -// expect(router.routerState.snapshot.url).toBe('/' + routeNames.approach); -// done(); -// }); -// }); - -// it('navigate to "/accessibilite" takes you to /accessibilite', (done) => { -// router.navigateByUrl('/' + routeNames.accessibility).then(() => { -// expect(router.routerState.snapshot.url).toBe('/' + routeNames.accessibility); -// done(); -// }); -// }); - -// it('navigate to "/plan-du-site" takes you to /plan-du-site', (done) => { -// router.navigateByUrl('/' + routeNames.siteMap).then(() => { -// expect(router.routerState.snapshot.url).toBe('/' + routeNames.siteMap); -// done(); -// }); -// }); - -// it('navigate to "/mentions-legales" takes you to /mentions-legales', (done) => { -// router.navigateByUrl('/' + routeNames.legalNotices).then(() => { -// expect(router.routerState.snapshot.url).toBe('/' + routeNames.legalNotices); -// done(); -// }); -// }); -// }); diff --git a/src/app/core/components/main/header/header.component.ts b/src/app/core/components/main/header/header.component.ts index aadc9987..8793e17a 100644 --- a/src/app/core/components/main/header/header.component.ts +++ b/src/app/core/components/main/header/header.component.ts @@ -1,10 +1,9 @@ import { Component, OnInit } from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; +import { Angulartics2Piwik } from 'angulartics2/piwik'; import { AppRoutes } from '../../../../routes'; -import { DatasetResearchService } from '../../../../geosource/services'; -import { Router, NavigationEnd } from '@angular/router'; import { UserService } from '../../../../user/services'; import { AppStateService } from '../../../services'; -import { Angulartics2Piwik } from 'angulartics2/piwik'; @Component({ selector: 'app-header', @@ -20,7 +19,6 @@ export class HeaderComponent implements OnInit { AppRoutes = AppRoutes; constructor( - private _datasetResearchService: DatasetResearchService, private _router: Router, private _userService: UserService, private _appStateService: AppStateService, @@ -28,13 +26,6 @@ export class HeaderComponent implements OnInit { ) { } ngOnInit() { - this._datasetResearchService.searchChange$.subscribe(() => { - // Redirect to results page if this is not the current page - if (this._router.url.split('/').pop() !== AppRoutes.research.uri) { - this._router.navigate(['/', AppRoutes.research.uri]); - } - }); - this._router.events.subscribe((event) => { if (event instanceof NavigationEnd) { diff --git a/src/app/core/components/main/main.component.ts b/src/app/core/components/main/main.component.ts index 4b4281a0..5a037155 100644 --- a/src/app/core/components/main/main.component.ts +++ b/src/app/core/components/main/main.component.ts @@ -1,8 +1,8 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { Router, NavigationEnd } from '@angular/router'; -import { AppRoutes } from '../../../routes'; -import { EmailService, AppStateService } from '../../services'; +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; import { Subscription } from 'rxjs'; +import { AppRoutes } from '../../../routes'; +import { AppStateService } from '../../services'; @Component({ selector: 'app-main', diff --git a/src/app/core/components/main/side-menu/side-menu.component.html b/src/app/core/components/main/side-menu/side-menu.component.html index a6758b40..01b343ce 100644 --- a/src/app/core/components/main/side-menu/side-menu.component.html +++ b/src/app/core/components/main/side-menu/side-menu.component.html @@ -20,7 +20,7 @@ </a> </li> <li> - <a [routerLink]="['/', AppRoutes.research.uri]" routerLinkActive="active-link" [tabIndex]="isOpened ? 0 : -1"> + <a [routerLink]="['/', AppRoutes.datasets.uri]" routerLinkActive="active-link" [tabIndex]="isOpened ? 0 : -1"> <div class="icon-item"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 23"> <path class="main" fill-rule="evenodd" @@ -31,8 +31,7 @@ </a> </li> <li *ngIf="APP_CONFIG.theFunctionalitiesInterruptor.partners"> - <a [routerLink]="['/', AppRoutes.partners.uri]" routerLinkActive="active-link" - [tabIndex]="isOpened ? 0 : -1"> + <a [routerLink]="['/', AppRoutes.partners.uri]" routerLinkActive="active-link" [tabIndex]="isOpened ? 0 : -1"> <div class="icon-item"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 23"> <g id="picto_x5F_acteur"> diff --git a/src/app/core/components/main/side-menu/side-menu.component.ts b/src/app/core/components/main/side-menu/side-menu.component.ts index 5e95051f..2a5c28c6 100644 --- a/src/app/core/components/main/side-menu/side-menu.component.ts +++ b/src/app/core/components/main/side-menu/side-menu.component.ts @@ -1,11 +1,11 @@ -import { Component, OnInit, Input, EventEmitter, Output, OnDestroy } from '@angular/core'; -import { AppRoutes } from '../../../../routes'; -import { Router, NavigationEnd, ActivatedRoute, NavigationStart } from '@angular/router'; +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { NavigationEnd, NavigationStart, Router } from '@angular/router'; +import { Subscription } from 'rxjs'; import { environment } from '../../../../../environments/environment'; +import { ElasticsearchService } from '../../../../elasticsearch/services/elasticsearch.service'; +import { AppRoutes } from '../../../../routes'; import { UserService } from '../../../../user/services'; -import { ElasticsearchService } from '../../../../geosource/services'; import { AppStateService } from '../../../services'; -import { Subscription } from 'rxjs'; import { APP_CONFIG } from '../../../services/app-config.service'; @Component({ diff --git a/src/app/core/core-routing.module.ts b/src/app/core/core-routing.module.ts index 8d7648c4..7374399a 100644 --- a/src/app/core/core-routing.module.ts +++ b/src/app/core/core-routing.module.ts @@ -1,5 +1,5 @@ import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; +import { RouterModule, Routes } from '@angular/router'; import { AppRoutes } from '../routes'; import { ContactComponent } from './components'; import { PageNotFoundComponent } from './components/page-not-found/page-not-found.component'; @@ -28,6 +28,6 @@ export const routes: Routes = [ @NgModule({ imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + exports: [RouterModule], }) export class CoreRoutingModule { } diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts index 5fd7cc81..a717641c 100644 --- a/src/app/core/core.module.ts +++ b/src/app/core/core.module.ts @@ -1,17 +1,17 @@ -import { NgModule, ErrorHandler } from '@angular/core'; import { CommonModule } from '@angular/common'; - -import { CoreRoutingModule } from './core-routing.module'; -import { CoreComponents, MainComponent, FeedbackComponent } from './components'; +import { HTTP_INTERCEPTORS } from '@angular/common/http'; +import { ErrorHandler, NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { CookieService } from 'ngx-cookie-service'; +import { DatasetsModule } from '../datasets/datasets.module'; import { SharedModule } from '../shared/shared.module'; +import { CoreComponents, MainComponent } from './components'; +import { CloseMenuDirective } from './components/main/close-menu-directive'; +import { CoreRoutingModule } from './core-routing.module'; import { ErrorsHandler } from './handlers/errors-handler'; import { HttpErrorResponseInterceptor } from './interceptors/http-error-response-interceptor'; -import { HTTP_INTERCEPTORS } from '@angular/common/http'; import { CoreServices } from './services'; -import { ReactiveFormsModule, FormsModule } from '@angular/forms'; -import { GeosourceModule } from '../geosource/geosource.module'; -import { CookieService } from 'ngx-cookie-service'; -import { CloseMenuDirective } from './components/main/close-menu-directive'; + @NgModule({ imports: [ @@ -20,7 +20,7 @@ import { CloseMenuDirective } from './components/main/close-menu-directive'; SharedModule, ReactiveFormsModule, FormsModule, - GeosourceModule.forRoot(), + DatasetsModule, ], declarations: [...CoreComponents, CloseMenuDirective], providers: [ diff --git a/src/app/core/interceptors/http-error-response-interceptor.ts b/src/app/core/interceptors/http-error-response-interceptor.ts index 184be714..e97d4dad 100644 --- a/src/app/core/interceptors/http-error-response-interceptor.ts +++ b/src/app/core/interceptors/http-error-response-interceptor.ts @@ -1,13 +1,10 @@ // http-service-interceptor.ts +// tslint:disable-next-line: max-line-length +import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http'; import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; import { Observable } from 'rxjs'; -import { - HttpInterceptor, HttpRequest, HttpHandler, - HttpEvent, HttpResponse, HttpErrorResponse, -} from '@angular/common/http'; import { tap } from 'rxjs/operators'; -import { Router } from '@angular/router'; -import { AppRoutes } from '../../routes'; import { UserService } from '../../user/services'; @Injectable() diff --git a/src/app/core/services/error.service.spec.ts b/src/app/core/services/error.service.spec.ts deleted file mode 100644 index 49c1840e..00000000 --- a/src/app/core/services/error.service.spec.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { HttpErrorResponse } from '@angular/common/http'; -import { ErrorService, NotificationService } from '../../core/services'; -import { BehaviorSubject } from 'rxjs'; -import { Notification } from '../models'; - -describe('ErrorService', () => { - - let errorService: ErrorService; - let notificationServiceMock: NotificationService; - - beforeEach(() => { - const subject = new BehaviorSubject(null); - notificationServiceMock = { - get notification$(): BehaviorSubject<Notification> { - return subject; - }, - notify(notification: Notification) { - subject.next(notification); - }, - } as NotificationService; - errorService = new ErrorService(notificationServiceMock); - }); - - describe('handleError(err, opt)', () => { - - // it('should return the same HTTPERROR', () => { - // // given - // const error = new HttpErrorResponse({ - // error: 'User unauthenticated', - // status: 401, - // url: 'https://data.reloaded-dev.alpha.grandlyon.com/fr', - // }); - // // when - // const result = errorService.handleError(error, { message: 'Custom message' }); - - // // then - // expect(result).toBe(error); - // expect(result instanceof HttpErrorResponse).toBeTruthy(); - // }); - - it('should transform the error with an friendly error message', () => { - // given - const friendlyMessage = 'Friendly message'; - const stack = 'ugly stack'; - const error = new Error('ugly error message'); - error.stack = stack; - - // when - const result = errorService.handleError(error, { message: friendlyMessage }); - // then - expect(result.message).toBe(friendlyMessage); - expect(result['stack']).toBe(stack); - }); - }); -}); diff --git a/src/app/core/services/file-service.ts b/src/app/core/services/file.service.ts similarity index 93% rename from src/app/core/services/file-service.ts rename to src/app/core/services/file.service.ts index cd4ff1e3..e76b10ff 100644 --- a/src/app/core/services/file-service.ts +++ b/src/app/core/services/file.service.ts @@ -1,7 +1,7 @@ -import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { map, catchError } from 'rxjs/operators'; +import { catchError } from 'rxjs/operators'; import { notificationMessages } from '../../../i18n/traductions'; import { ErrorService } from './error.service'; diff --git a/src/app/core/services/index.ts b/src/app/core/services/index.ts index 020738bf..eef3ec75 100644 --- a/src/app/core/services/index.ts +++ b/src/app/core/services/index.ts @@ -1,17 +1,15 @@ +import { AppConfigService } from './app-config.service'; +import { AppStateService } from './app-state.service'; +import { EmailService } from './email.service'; import { ErrorService } from './error.service'; -import { NotificationService } from './notification.service'; +import { FileService } from './file.service'; import { MatomoService } from './matomo.service'; import { NavigationHistoryService } from './navigation-history.service'; +import { NotificationService } from './notification.service'; import { StorageService } from './storage.service'; -import { EmailService } from './email.service'; -import { FileService } from './file-service'; -import { AppConfigService } from './app-config.service'; -import { AppStateService } from './app-state.service'; -export { - ErrorService, NotificationService, MatomoService, NavigationHistoryService, EmailService, FileService, - AppConfigService, AppStateService, -}; +// tslint:disable-next-line: max-line-length +export { ErrorService, NotificationService, MatomoService, NavigationHistoryService, EmailService, FileService, AppConfigService, AppStateService, }; // tslint:disable-next-line:variable-name export const CoreServices = [ diff --git a/src/app/core/services/notification.service.spec.ts b/src/app/core/services/notification.service.spec.ts deleted file mode 100644 index 8161d862..00000000 --- a/src/app/core/services/notification.service.spec.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { NotificationService } from '../../core/services'; -import { BehaviorSubject } from 'rxjs'; -import { Notification } from '../models'; - -describe('NotificationService', () => { - - let notificationService: NotificationService; - - beforeEach(() => { - notificationService = new NotificationService(); - }); - - describe('get notification$()', () => { - - it('should return a behaviorSubject<Notification>', () => { - // given - - // when - const result = notificationService.notification$; - - // then - expect(result instanceof BehaviorSubject).toBeTruthy(); - }); - - it('should call next function of the _notification BehaviorSubject', () => { - // Given - const nextSpy = spyOn(notificationService.notification$, 'next').and.callThrough(); - const notification = new Notification({ message: 'Error', type: 'error' }); - - // When - notificationService.notify(notification); - - // Then - expect(nextSpy).toHaveBeenCalledWith(notification); - }); - }); -}); diff --git a/src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.html b/src/app/dataset-detail/components/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.html rename to src/app/dataset-detail/components/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.scss b/src/app/dataset-detail/components/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.scss similarity index 95% rename from src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.scss rename to src/app/dataset-detail/components/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.scss index 04acad21..e8589c4b 100644 --- a/src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.scss +++ b/src/app/dataset-detail/components/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.scss @@ -1,4 +1,4 @@ -@import "../../../../../../scss/variables"; +@import "../../../../../scss/variables"; .property-value { font-size: 0.875rem; diff --git a/src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.ts b/src/app/dataset-detail/components/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.ts similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.ts rename to src/app/dataset-detail/components/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component.ts diff --git a/src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-details.component.html b/src/app/dataset-detail/components/dataset-data-details/dataset-data-details.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-details.component.html rename to src/app/dataset-detail/components/dataset-data-details/dataset-data-details.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-details.component.scss b/src/app/dataset-detail/components/dataset-data-details/dataset-data-details.component.scss similarity index 93% rename from src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-details.component.scss rename to src/app/dataset-detail/components/dataset-data-details/dataset-data-details.component.scss index 619e851a..4840767e 100644 --- a/src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-details.component.scss +++ b/src/app/dataset-detail/components/dataset-data-details/dataset-data-details.component.scss @@ -1,4 +1,4 @@ -@import "../../../../../scss/variables"; +@import "../../../../scss/variables"; $details-header-height: 36px; diff --git a/src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-details.component.ts b/src/app/dataset-detail/components/dataset-data-details/dataset-data-details.component.ts similarity index 90% rename from src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-details.component.ts rename to src/app/dataset-detail/components/dataset-data-details/dataset-data-details.component.ts index d12bf86d..9420f99b 100644 --- a/src/app/geosource/components/dataset-detail/dataset-data-details/dataset-data-details.component.ts +++ b/src/app/dataset-detail/components/dataset-data-details/dataset-data-details.component.ts @@ -1,5 +1,5 @@ -import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; -import { DatasetDetailService } from '../../../services'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { DatasetDetailService } from '../../services'; @Component({ selector: 'app-dataset-data-details', diff --git a/src/app/geosource/components/dataset-detail/dataset-detail.component.html b/src/app/dataset-detail/components/dataset-detail/dataset-detail.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-detail.component.html rename to src/app/dataset-detail/components/dataset-detail/dataset-detail.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-detail.component.scss b/src/app/dataset-detail/components/dataset-detail/dataset-detail.component.scss similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-detail.component.scss rename to src/app/dataset-detail/components/dataset-detail/dataset-detail.component.scss diff --git a/src/app/geosource/components/dataset-detail/dataset-detail.component.ts b/src/app/dataset-detail/components/dataset-detail/dataset-detail.component.ts similarity index 93% rename from src/app/geosource/components/dataset-detail/dataset-detail.component.ts rename to src/app/dataset-detail/components/dataset-detail/dataset-detail.component.ts index c4066637..6c91207b 100644 --- a/src/app/geosource/components/dataset-detail/dataset-detail.component.ts +++ b/src/app/dataset-detail/components/dataset-detail/dataset-detail.component.ts @@ -1,15 +1,14 @@ -import { filter } from 'rxjs/operators'; -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { Metadata } from '../../models'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { ActivatedRoute, Router, Scroll } from '@angular/router'; -import { DatasetDetailService } from '../../services'; -import { typesMetadata } from '../../models/metadata.model'; -import { AppRoutes } from '../../../routes'; -import { NotificationService, NavigationHistoryService } from '../../../core/services'; -import { ViewportScroller } from '../../../../../node_modules/@angular/common'; import { Subscription } from 'rxjs'; -import { IPageHeaderInfo } from '../../../shared/models'; +import { filter } from 'rxjs/operators'; +import { ViewportScroller } from '../../../../../node_modules/@angular/common'; import { datatsetDataRepresentationType, geosource } from '../../../../i18n/traductions'; +import { NavigationHistoryService } from '../../../core/services'; +import { Metadata, typesMetadata } from '../../../elasticsearch/models'; +import { AppRoutes } from '../../../routes'; +import { IPageHeaderInfo } from '../../../shared/models'; +import { DatasetDetailService } from '../../services'; @Component({ selector: 'app-dataset-detail', @@ -31,7 +30,6 @@ export class DatasetDetailComponent implements OnInit, OnDestroy { private _route: ActivatedRoute, private _datasetDetailService: DatasetDetailService, private _router: Router, - private _notificationService: NotificationService, private _scroller: ViewportScroller, private _navigationHistoryService: NavigationHistoryService, ) { } @@ -125,7 +123,7 @@ export class DatasetDetailComponent implements OnInit, OnDestroy { if (this.hasTable || this.hasMap) { this._router.navigate([ `/${AppRoutes.datasets.uri}/${this._datasetDetailService.dataset.slug}/${AppRoutes.data.uri}`, - // tslint:disable-next-line: align + // tslint:disable-next-line: align ], { queryParamsHandling: 'preserve' }); } else { this._router.navigate([ @@ -164,7 +162,7 @@ export class DatasetDetailComponent implements OnInit, OnDestroy { // If url is null then redirect to research page if (url == null) { - url = `/${AppRoutes.research.uri}`; + url = `/${AppRoutes.datasets.uri}`; } this._router.navigateByUrl(url); diff --git a/src/app/geosource/components/dataset-detail/dataset-info/dataset-info.component.html b/src/app/dataset-detail/components/dataset-info/dataset-info.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-info/dataset-info.component.html rename to src/app/dataset-detail/components/dataset-info/dataset-info.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-info/dataset-info.component.scss b/src/app/dataset-detail/components/dataset-info/dataset-info.component.scss similarity index 94% rename from src/app/geosource/components/dataset-detail/dataset-info/dataset-info.component.scss rename to src/app/dataset-detail/components/dataset-info/dataset-info.component.scss index 1a66f88e..2845766f 100644 --- a/src/app/geosource/components/dataset-detail/dataset-info/dataset-info.component.scss +++ b/src/app/dataset-detail/components/dataset-info/dataset-info.component.scss @@ -1,5 +1,5 @@ -@import "../../../../../scss/variables"; -@import "../../../../../../node_modules/bulma/sass/utilities/_all"; +@import "../../../../scss/variables"; +@import "../../../../../node_modules/bulma/sass/utilities/_all"; span, p { diff --git a/src/app/geosource/components/dataset-detail/dataset-info/dataset-info.component.spec.ts b/src/app/dataset-detail/components/dataset-info/dataset-info.component.spec.ts similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-info/dataset-info.component.spec.ts rename to src/app/dataset-detail/components/dataset-info/dataset-info.component.spec.ts diff --git a/src/app/geosource/components/dataset-detail/dataset-info/dataset-info.component.ts b/src/app/dataset-detail/components/dataset-info/dataset-info.component.ts similarity index 87% rename from src/app/geosource/components/dataset-detail/dataset-info/dataset-info.component.ts rename to src/app/dataset-detail/components/dataset-info/dataset-info.component.ts index cb6cce62..4bede400 100644 --- a/src/app/geosource/components/dataset-detail/dataset-info/dataset-info.component.ts +++ b/src/app/dataset-detail/components/dataset-info/dataset-info.component.ts @@ -1,13 +1,9 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { geosource, datatsetDataRepresentationType, notificationMessages } from '../../../../../i18n/traductions'; -import { Metadata, IMetadataLink } from '../../../models'; -import { typesMetadata, IResponsibleParty } from '../../../models/metadata.model'; - -import { DatasetDetailService } from '../../../services'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { Subscription } from 'rxjs'; -import { AppRoutes } from '../../../../routes'; -import { CMSContent } from '../../../../editorialisation/models'; -import { EditorialisationService } from '../../../../editorialisation/services'; +import { datatsetDataRepresentationType, geosource } from '../../../../i18n/traductions'; +import { IResponsibleParty, Metadata, typesMetadata } from '../../../elasticsearch/models'; +import { AppRoutes } from '../../../routes'; +import { DatasetDetailService } from '../../services'; @Component({ selector: 'app-dataset-info', @@ -66,7 +62,7 @@ export class DatasetInfoComponent implements OnInit, OnDestroy { maxNorth: `${this.metadata.max_north} nord,`, maxWest: `${this.metadata.max_west} ouest`, }, - coordinatesSystem: this.metadata.crs , + coordinatesSystem: this.metadata.crs, }; } diff --git a/src/app/geosource/components/dataset-detail/dataset-map/dataset-map.component.html b/src/app/dataset-detail/components/dataset-map/dataset-map.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-map/dataset-map.component.html rename to src/app/dataset-detail/components/dataset-map/dataset-map.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-map/dataset-map.component.scss b/src/app/dataset-detail/components/dataset-map/dataset-map.component.scss similarity index 95% rename from src/app/geosource/components/dataset-detail/dataset-map/dataset-map.component.scss rename to src/app/dataset-detail/components/dataset-map/dataset-map.component.scss index 6390d536..c488234d 100644 --- a/src/app/geosource/components/dataset-detail/dataset-map/dataset-map.component.scss +++ b/src/app/dataset-detail/components/dataset-map/dataset-map.component.scss @@ -1,4 +1,4 @@ -@import "../../../../../scss/variables"; +@import "../../../../scss/variables"; div { height: 100%; diff --git a/src/app/geosource/components/dataset-detail/dataset-map/dataset-map.component.ts b/src/app/dataset-detail/components/dataset-map/dataset-map.component.ts similarity index 91% rename from src/app/geosource/components/dataset-detail/dataset-map/dataset-map.component.ts rename to src/app/dataset-detail/components/dataset-map/dataset-map.component.ts index e7270a1b..811ca820 100644 --- a/src/app/geosource/components/dataset-detail/dataset-map/dataset-map.component.ts +++ b/src/app/dataset-detail/components/dataset-map/dataset-map.component.ts @@ -1,12 +1,11 @@ -import { Component, OnInit, ViewChild, Input, Output, EventEmitter, OnDestroy, ElementRef } from '@angular/core'; -import { MapService } from '../../../../map/services/map.service'; -import { DatasetDetailService } from '../../../services'; +import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; import { Subscription } from 'rxjs'; -import { Metadata, Data } from '../../../models'; -import { MapComponent } from '../../../../map/components'; -import { MapOptions } from '../../../../map/models/map-options'; -import { linkFormats } from '../../../models/metadata.model'; -import { APP_CONFIG } from '../../../../core/services/app-config.service'; +import { APP_CONFIG } from '../../../core/services/app-config.service'; +import { Data, linkFormats, Metadata } from '../../../elasticsearch/models'; +import { MapComponent } from '../../../map/components'; +import { MapOptions } from '../../../map/models/map-options'; +import { MapService } from '../../../map/services/map.service'; +import { DatasetDetailService } from '../../services'; @Component({ selector: 'app-dataset-map', diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.html b/src/app/dataset-detail/components/dataset-resources/dataset-resources.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.html rename to src/app/dataset-detail/components/dataset-resources/dataset-resources.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.scss b/src/app/dataset-detail/components/dataset-resources/dataset-resources.component.scss similarity index 94% rename from src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.scss rename to src/app/dataset-detail/components/dataset-resources/dataset-resources.component.scss index 8e8591eb..63ae774f 100644 --- a/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.scss +++ b/src/app/dataset-detail/components/dataset-resources/dataset-resources.component.scss @@ -1,5 +1,5 @@ -@import "../../../../../scss/variables"; -@import "../../../../../../node_modules/bulma/sass/utilities/_all"; +@import "../../../../scss/variables"; +@import "../../../../../node_modules/bulma/sass/utilities/_all"; .resource-container { padding: 2rem 1.25rem 1.25rem 1.25rem; diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.spec.ts b/src/app/dataset-detail/components/dataset-resources/dataset-resources.component.spec.ts similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.spec.ts rename to src/app/dataset-detail/components/dataset-resources/dataset-resources.component.spec.ts diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.ts b/src/app/dataset-detail/components/dataset-resources/dataset-resources.component.ts similarity index 88% rename from src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.ts rename to src/app/dataset-detail/components/dataset-resources/dataset-resources.component.ts index 9dda24ea..b697c2e8 100644 --- a/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.ts +++ b/src/app/dataset-detail/components/dataset-resources/dataset-resources.component.ts @@ -1,11 +1,11 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { DatasetDetailService, ResourcesService } from '../../../services'; -import { Metadata, Resource } from '../../../models'; -import { Subscription, forkJoin } from 'rxjs'; -import { IMetadataLink } from '../../../models/metadata.model'; -import { NotificationService } from '../../../../core/services'; -import { notificationMessages } from '../../../../../i18n/traductions'; -import { Notification } from '../../../../core/models'; +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { Subscription } from 'rxjs'; +import { notificationMessages } from '../../../../i18n/traductions'; +import { Notification } from '../../../core/models'; +import { NotificationService } from '../../../core/services'; +import { IMetadataLink, Metadata } from '../../../elasticsearch/models'; +import { Resource } from '../../models'; +import { DatasetDetailService, ResourcesService } from '../../services'; @Component({ selector: 'app-dataset-resources', diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/icon-format/icon-format.component.html b/src/app/dataset-detail/components/dataset-resources/icon-format/icon-format.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-resources/icon-format/icon-format.component.html rename to src/app/dataset-detail/components/dataset-resources/icon-format/icon-format.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/icon-format/icon-format.component.scss b/src/app/dataset-detail/components/dataset-resources/icon-format/icon-format.component.scss similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-resources/icon-format/icon-format.component.scss rename to src/app/dataset-detail/components/dataset-resources/icon-format/icon-format.component.scss diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/icon-format/icon-format.component.ts b/src/app/dataset-detail/components/dataset-resources/icon-format/icon-format.component.ts similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-resources/icon-format/icon-format.component.ts rename to src/app/dataset-detail/components/dataset-resources/icon-format/icon-format.component.ts diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/resource-downloadable/resource-downloadable.component.html b/src/app/dataset-detail/components/dataset-resources/resource-downloadable/resource-downloadable.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-resources/resource-downloadable/resource-downloadable.component.html rename to src/app/dataset-detail/components/dataset-resources/resource-downloadable/resource-downloadable.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/resource-downloadable/resource-downloadable.component.scss b/src/app/dataset-detail/components/dataset-resources/resource-downloadable/resource-downloadable.component.scss similarity index 95% rename from src/app/geosource/components/dataset-detail/dataset-resources/resource-downloadable/resource-downloadable.component.scss rename to src/app/dataset-detail/components/dataset-resources/resource-downloadable/resource-downloadable.component.scss index 0e2b726c..60fc8792 100644 --- a/src/app/geosource/components/dataset-detail/dataset-resources/resource-downloadable/resource-downloadable.component.scss +++ b/src/app/dataset-detail/components/dataset-resources/resource-downloadable/resource-downloadable.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../scss/variables.scss'; +@import '../../../../../scss/variables.scss'; .resource { background-color: white; diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/resource-downloadable/resource-downloadable.component.ts b/src/app/dataset-detail/components/dataset-resources/resource-downloadable/resource-downloadable.component.ts similarity index 89% rename from src/app/geosource/components/dataset-detail/dataset-resources/resource-downloadable/resource-downloadable.component.ts rename to src/app/dataset-detail/components/dataset-resources/resource-downloadable/resource-downloadable.component.ts index fa58db23..0db15fc4 100644 --- a/src/app/geosource/components/dataset-detail/dataset-resources/resource-downloadable/resource-downloadable.component.ts +++ b/src/app/dataset-detail/components/dataset-resources/resource-downloadable/resource-downloadable.component.ts @@ -1,6 +1,6 @@ -import { Component, OnInit, Input } from '@angular/core'; -import { IMetadataLink } from '../../../../models'; -import { NotificationService, FileService } from '../../../../../core/services'; +import { Component, Input, OnInit } from '@angular/core'; +import { FileService, NotificationService } from '../../../../core/services'; +import { IMetadataLink } from '../../../../elasticsearch/models'; @Component({ selector: 'app-resource-downloadable', diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.html b/src/app/dataset-detail/components/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.html rename to src/app/dataset-detail/components/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.scss b/src/app/dataset-detail/components/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.scss similarity index 98% rename from src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.scss rename to src/app/dataset-detail/components/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.scss index 1c9d6847..c721abd3 100644 --- a/src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.scss +++ b/src/app/dataset-detail/components/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../../scss/variables.scss'; +@import '../../../../../../scss/variables.scss'; .resource-item { display: grid; diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.ts b/src/app/dataset-detail/components/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.ts similarity index 96% rename from src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.ts rename to src/app/dataset-detail/components/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.ts index 75d3923c..c68be847 100644 --- a/src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.ts +++ b/src/app/dataset-detail/components/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component.ts @@ -1,14 +1,12 @@ -import { Component, OnInit, Input } from '@angular/core'; -import { SafeHtml, DomSanitizer } from '@angular/platform-browser'; -import { Resource, Metadata } from '../../../../../models'; -import { Format } from '../../../../../models/resource.model'; -import { communeInsee } from '../../../../../../../assets/resources/commune-insee'; -import { DatasetDetailService } from '../../../../../services'; -import { linkFormats } from '../../../../../models/metadata.model'; -import { geosource, notificationMessages } from '../../../../../../../i18n/traductions'; +import { Component, Input, OnInit } from '@angular/core'; +import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; import { saveAs } from 'file-saver'; -import { NotificationService } from '../../../../../../core/services'; -import { Projection } from '../../../../../models/projection.model'; +import { communeInsee } from '../../../../../../assets/resources/commune-insee'; +import { geosource, notificationMessages } from '../../../../../../i18n/traductions'; +import { NotificationService } from '../../../../../core/services'; +import { linkFormats, Metadata } from '../../../../../elasticsearch/models'; +import { Format, Projection, Resource } from '../../../../models'; +import { DatasetDetailService } from '../../../../services'; @Component({ selector: 'app-resource-queryable', diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resources-queryable.component.html b/src/app/dataset-detail/components/dataset-resources/resources-queryable/resources-queryable.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resources-queryable.component.html rename to src/app/dataset-detail/components/dataset-resources/resources-queryable/resources-queryable.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resources-queryable.component.scss b/src/app/dataset-detail/components/dataset-resources/resources-queryable/resources-queryable.component.scss similarity index 93% rename from src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resources-queryable.component.scss rename to src/app/dataset-detail/components/dataset-resources/resources-queryable/resources-queryable.component.scss index b6e32fcc..c10f4a94 100644 --- a/src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resources-queryable.component.scss +++ b/src/app/dataset-detail/components/dataset-resources/resources-queryable/resources-queryable.component.scss @@ -1,4 +1,4 @@ -@import '../../../../../../scss/variables.scss'; +@import '../../../../../scss/variables.scss'; .resources { margin: 0; diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resources-queryable.component.ts b/src/app/dataset-detail/components/dataset-resources/resources-queryable/resources-queryable.component.ts similarity index 74% rename from src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resources-queryable.component.ts rename to src/app/dataset-detail/components/dataset-resources/resources-queryable/resources-queryable.component.ts index cf82a39b..65f88233 100644 --- a/src/app/geosource/components/dataset-detail/dataset-resources/resources-queryable/resources-queryable.component.ts +++ b/src/app/dataset-detail/components/dataset-resources/resources-queryable/resources-queryable.component.ts @@ -1,8 +1,8 @@ -import { Component, OnInit, Input } from '@angular/core'; -import { Resource, Metadata } from '../../../../models'; -import { ResourcesService } from '../../../../services'; -import { Projection } from '../../../../models/projection.model'; -import { environment } from '../../../../../../environments/environment'; +import { Component, Input, OnInit } from '@angular/core'; +import { environment } from '../../../../../environments/environment'; +import { Metadata } from '../../../../elasticsearch/models'; +import { Projection, Resource } from '../../../models'; +import { ResourcesService } from '../../../services'; @Component({ selector: 'app-resources-queryable', diff --git a/src/app/geosource/components/dataset-detail/dataset-table-map/dataset-table-map.component.html b/src/app/dataset-detail/components/dataset-table-map/dataset-table-map.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-table-map/dataset-table-map.component.html rename to src/app/dataset-detail/components/dataset-table-map/dataset-table-map.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-table-map/dataset-table-map.component.scss b/src/app/dataset-detail/components/dataset-table-map/dataset-table-map.component.scss similarity index 96% rename from src/app/geosource/components/dataset-detail/dataset-table-map/dataset-table-map.component.scss rename to src/app/dataset-detail/components/dataset-table-map/dataset-table-map.component.scss index 784feda7..2193eabd 100644 --- a/src/app/geosource/components/dataset-detail/dataset-table-map/dataset-table-map.component.scss +++ b/src/app/dataset-detail/components/dataset-table-map/dataset-table-map.component.scss @@ -1,5 +1,5 @@ -@import "../../../../../scss/variables"; -@import "../../../../../../node_modules/bulma/sass/utilities/_all"; +@import "../../../../scss/variables.scss"; +@import "../../../../../node_modules/bulma/sass/utilities/_all"; .component-wrapper { max-width: 100vw; @@ -76,7 +76,7 @@ } .properties-dropdown button { - background-image: url('../../../../../assets/img/picto_colonnes.svg'); + background-image: url('../../../../assets/img/picto_colonnes.svg'); background-size: 36px 36px; background-repeat: no-repeat; background-position: center; @@ -294,14 +294,14 @@ } .btn-exit-fullscreen { - background-image: url('../../../../../assets/img/picto_fullscreen_off.svg'); + background-image: url('../../../../assets/img/picto_fullscreen_off.svg'); background-size: 36px 36px; background-repeat: no-repeat; background-position: center; } .btn-fullscreen { - background-image: url('../../../../../assets/img/picto_fullscreen_on.svg'); + background-image: url('../../../../assets/img/picto_fullscreen_on.svg'); background-size: 36px 36px; background-repeat: no-repeat; background-position: center; diff --git a/src/app/geosource/components/dataset-detail/dataset-table-map/dataset-table-map.component.ts b/src/app/dataset-detail/components/dataset-table-map/dataset-table-map.component.ts similarity index 97% rename from src/app/geosource/components/dataset-detail/dataset-table-map/dataset-table-map.component.ts rename to src/app/dataset-detail/components/dataset-table-map/dataset-table-map.component.ts index 0b91d5b5..d33a0de1 100644 --- a/src/app/geosource/components/dataset-detail/dataset-table-map/dataset-table-map.component.ts +++ b/src/app/dataset-detail/components/dataset-table-map/dataset-table-map.component.ts @@ -1,9 +1,9 @@ -import { Component, OnInit, ViewChild, OnDestroy, ElementRef, AfterViewInit } from '@angular/core'; -import { DatasetDetailService } from '../../../services'; -import { DatasetMapComponent } from '../dataset-map/dataset-map.component'; +import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { FormControl } from '@angular/forms'; -import { Data } from '../../../models'; import { Subscription } from 'rxjs'; +import { Data } from '../../../elasticsearch/models'; +import { DatasetDetailService } from '../../services'; +import { DatasetMapComponent } from '../dataset-map/dataset-map.component'; @Component({ selector: 'app-dataset-table-map', diff --git a/src/app/geosource/components/dataset-detail/dataset-table/dataset-table.component.html b/src/app/dataset-detail/components/dataset-table/dataset-table.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-table/dataset-table.component.html rename to src/app/dataset-detail/components/dataset-table/dataset-table.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-table/dataset-table.component.scss b/src/app/dataset-detail/components/dataset-table/dataset-table.component.scss similarity index 95% rename from src/app/geosource/components/dataset-detail/dataset-table/dataset-table.component.scss rename to src/app/dataset-detail/components/dataset-table/dataset-table.component.scss index e72c230c..e4d11fe3 100644 --- a/src/app/geosource/components/dataset-detail/dataset-table/dataset-table.component.scss +++ b/src/app/dataset-detail/components/dataset-table/dataset-table.component.scss @@ -1,5 +1,5 @@ -@import "../../../../../scss/variables"; -@import "../../../../../../node_modules/bulma/sass/utilities/_all"; +@import "../../../../scss/variables"; +@import "../../../../../node_modules/bulma/sass/utilities/_all"; .data-table { display: grid; diff --git a/src/app/geosource/components/dataset-detail/dataset-table/dataset-table.component.ts b/src/app/dataset-detail/components/dataset-table/dataset-table.component.ts similarity index 92% rename from src/app/geosource/components/dataset-detail/dataset-table/dataset-table.component.ts rename to src/app/dataset-detail/components/dataset-table/dataset-table.component.ts index a59f4ea3..9fb3bd1c 100644 --- a/src/app/geosource/components/dataset-detail/dataset-table/dataset-table.component.ts +++ b/src/app/dataset-detail/components/dataset-table/dataset-table.component.ts @@ -1,12 +1,10 @@ -import { - Component, OnInit, ElementRef, QueryList, ViewChildren, - OnDestroy, Input, Output, EventEmitter -} from '@angular/core'; -import { DatasetDetailService } from '../../../services'; -import { Data } from '../../../models'; -import { Subscription } from '../../../../../../node_modules/rxjs'; -import { geosource } from '../../../../../i18n/traductions'; -import { AppRoutes } from '../../../../routes'; +// tslint:disable-next-line: max-line-length +import { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, QueryList, ViewChildren } from '@angular/core'; +import { Subscription } from 'rxjs'; +import { geosource } from '../../../../i18n/traductions'; +import { Data } from '../../../elasticsearch/models'; +import { AppRoutes } from '../../../routes'; +import { DatasetDetailService } from '../../services'; @Component({ selector: 'app-dataset-table', diff --git a/src/app/dataset-detail/components/index.ts b/src/app/dataset-detail/components/index.ts new file mode 100644 index 00000000..f4b4a10c --- /dev/null +++ b/src/app/dataset-detail/components/index.ts @@ -0,0 +1,33 @@ +// tslint:disable-next-line: max-line-length +import { DatasetDataDetailPropertiesComponent } from './dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component'; +import { DatasetDataDetailsComponent } from './dataset-data-details/dataset-data-details.component'; +import { DatasetDetailComponent } from './dataset-detail/dataset-detail.component'; +import { DatasetInfoComponent } from './dataset-info/dataset-info.component'; +import { DatasetMapComponent } from './dataset-map/dataset-map.component'; +import { DatasetResourcesComponent } from './dataset-resources/dataset-resources.component'; +import { IconFormatComponent } from './dataset-resources/icon-format/icon-format.component'; +// tslint:disable-next-line:max-line-length +import { ResourceDownloadableComponent } from './dataset-resources/resource-downloadable/resource-downloadable.component'; +// tslint:disable-next-line:max-line-length +import { ResourceQueryableComponent } from './dataset-resources/resources-queryable/resource-queryable/resource-queryable.component'; +import { ResourcesQueryableComponent } from './dataset-resources/resources-queryable/resources-queryable.component'; +import { DatasetTableMapComponent } from './dataset-table-map/dataset-table-map.component'; +import { DatasetTableComponent } from './dataset-table/dataset-table.component'; + +export { DatasetDetailComponent, DatasetResourcesComponent, ResourceQueryableComponent, ResourceDownloadableComponent, DatasetMapComponent, DatasetInfoComponent, DatasetTableMapComponent, DatasetTableComponent, ResourcesQueryableComponent, IconFormatComponent, DatasetDataDetailsComponent, DatasetDataDetailPropertiesComponent }; + +// tslint:disable-next-line:variable-name +export const DatasetDetailComponents = [ + DatasetDetailComponent, + DatasetResourcesComponent, + ResourceQueryableComponent, + ResourceDownloadableComponent, + DatasetMapComponent, + DatasetInfoComponent, + DatasetTableMapComponent, + DatasetTableComponent, + ResourcesQueryableComponent, + IconFormatComponent, + DatasetDataDetailsComponent, + DatasetDataDetailPropertiesComponent, +]; diff --git a/src/app/geosource/geosource-routing.module.ts b/src/app/dataset-detail/dataset-detail-routing.module.ts similarity index 59% rename from src/app/geosource/geosource-routing.module.ts rename to src/app/dataset-detail/dataset-detail-routing.module.ts index b195df07..0485df6d 100644 --- a/src/app/geosource/geosource-routing.module.ts +++ b/src/app/dataset-detail/dataset-detail-routing.module.ts @@ -1,39 +1,15 @@ import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; -import { - ResultsComponent, DatasetDetailComponent, ResearchComponent, DatasetInfoComponent, - DatasetResourcesComponent, - DatasetTableMapComponent, -} from './components'; +import { RouterModule, Routes } from '@angular/router'; import { AppRoutes } from '../routes'; +// tslint:disable-next-line: max-line-length +import { DatasetDetailComponent, DatasetInfoComponent, DatasetResourcesComponent, DatasetTableMapComponent } from './components'; import { DatasetDetailResolver } from './resolvers'; export const routes: Routes = [ - { - path: AppRoutes.research.uri, - component: ResearchComponent, - data: { - title: AppRoutes.research.title, - }, - children: [ - { - path: '', - component: ResultsComponent, - data: { - title: AppRoutes.datasets.title, - }, - pathMatch: 'full', - }, - ], - }, // Some of the parteners already used the english version of this routing so in order to not break again there link // we implemented a fallback routes that redirects to the new routing { - path: 'datasets/:id', - redirectTo: `${AppRoutes.datasets.uri}/:id`, - }, - { - path: `${AppRoutes.datasets.uri}/:id`, + path: '', component: DatasetDetailComponent, resolve: { dataset: DatasetDetailResolver, @@ -68,4 +44,4 @@ export const routes: Routes = [ exports: [RouterModule], imports: [RouterModule.forChild(routes)], }) -export class GeosourceRoutingModule { } +export class DatasetDetailRoutingModule { } diff --git a/src/app/dataset-detail/dataset-detail.module.ts b/src/app/dataset-detail/dataset-detail.module.ts new file mode 100644 index 00000000..d635bbee --- /dev/null +++ b/src/app/dataset-detail/dataset-detail.module.ts @@ -0,0 +1,29 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { InlineSVGModule } from 'ng-inline-svg'; +import { InfiniteScrollModule } from 'ngx-infinite-scroll'; +import { ElasticsearchModule } from '../elasticsearch/elasticsearch.module'; +import { MapModule } from '../map/map.module'; +import { SharedModule } from '../shared/shared.module'; +import { DatasetDetailComponents } from './components'; +import { DatasetDetailRoutingModule } from './dataset-detail-routing.module'; +import { DatasetDetailResolvers } from './resolvers'; +import { DatasetDetailServices } from './services'; + +@NgModule({ + declarations: [...DatasetDetailComponents], + imports: [ + CommonModule, + DatasetDetailRoutingModule, + ElasticsearchModule, + FormsModule, + ReactiveFormsModule, + MapModule, + SharedModule, + InlineSVGModule.forRoot(), + InfiniteScrollModule, + ], + providers: [...DatasetDetailServices, ...DatasetDetailResolvers], +}) +export class DatasetDetailModule { } diff --git a/src/app/geosource/models/dataset-child.model.ts b/src/app/dataset-detail/models/dataset-child.model.ts similarity index 100% rename from src/app/geosource/models/dataset-child.model.ts rename to src/app/dataset-detail/models/dataset-child.model.ts diff --git a/src/app/dataset-detail/models/index.ts b/src/app/dataset-detail/models/index.ts new file mode 100644 index 00000000..60f20910 --- /dev/null +++ b/src/app/dataset-detail/models/index.ts @@ -0,0 +1,4 @@ +export { DatasetChild, IDatasetRawChild } from './dataset-child.model'; +export { IProjection, Projection } from './projection.model'; +export { Format, IFormat, IResource, IResourceFormat, Resource } from './resource.model'; + diff --git a/src/app/geosource/models/projection.model.ts b/src/app/dataset-detail/models/projection.model.ts similarity index 100% rename from src/app/geosource/models/projection.model.ts rename to src/app/dataset-detail/models/projection.model.ts diff --git a/src/app/geosource/models/resource.model.ts b/src/app/dataset-detail/models/resource.model.ts similarity index 97% rename from src/app/geosource/models/resource.model.ts rename to src/app/dataset-detail/models/resource.model.ts index 644ca166..4455d79d 100644 --- a/src/app/geosource/models/resource.model.ts +++ b/src/app/dataset-detail/models/resource.model.ts @@ -1,4 +1,4 @@ -import { IMetadataLink } from '.'; +import { IMetadataLink } from "../../elasticsearch/models"; export interface IFormat { id: number; diff --git a/src/app/geosource/resolvers/dataset-detail.resolver.ts b/src/app/dataset-detail/resolvers/dataset-detail.resolver.ts similarity index 80% rename from src/app/geosource/resolvers/dataset-detail.resolver.ts rename to src/app/dataset-detail/resolvers/dataset-detail.resolver.ts index f372e944..00be768c 100644 --- a/src/app/geosource/resolvers/dataset-detail.resolver.ts +++ b/src/app/dataset-detail/resolvers/dataset-detail.resolver.ts @@ -1,9 +1,9 @@ -import { Resolve, ActivatedRouteSnapshot } from '@angular/router'; import { Injectable } from '@angular/core'; -import { catchError, map } from 'rxjs/operators'; +import { ActivatedRouteSnapshot, Resolve } from '@angular/router'; import { of } from 'rxjs'; +import { catchError } from 'rxjs/operators'; +import { Dataset } from '../../elasticsearch/models'; import { DatasetDetailService } from '../services'; -import { Dataset, Metadata, IMetadata } from '../models'; @Injectable() export class DatasetDetailResolver implements Resolve<Dataset> { diff --git a/src/app/geosource/resolvers/index.ts b/src/app/dataset-detail/resolvers/index.ts similarity index 65% rename from src/app/geosource/resolvers/index.ts rename to src/app/dataset-detail/resolvers/index.ts index af5791ad..c60a08bb 100644 --- a/src/app/geosource/resolvers/index.ts +++ b/src/app/dataset-detail/resolvers/index.ts @@ -1,10 +1,8 @@ import { DatasetDetailResolver } from './dataset-detail.resolver'; -export { - DatasetDetailResolver, -}; +export { DatasetDetailResolver }; // tslint:disable-next-line:variable-name -export const GeosourceResolvers = [ +export const DatasetDetailResolvers = [ DatasetDetailResolver, ]; diff --git a/src/app/geosource/services/dataset-detail.service.ts b/src/app/dataset-detail/services/dataset-detail.service.ts similarity index 96% rename from src/app/geosource/services/dataset-detail.service.ts rename to src/app/dataset-detail/services/dataset-detail.service.ts index ba06147f..56aafcad 100644 --- a/src/app/geosource/services/dataset-detail.service.ts +++ b/src/app/dataset-detail/services/dataset-detail.service.ts @@ -1,14 +1,12 @@ import { Injectable } from '@angular/core'; -import { ElasticsearchService } from './elasticsearch.service'; -import { - Metadata, Dataset, DatasetChild, Data, IElasticsearchResponse, ElasticsearchOptions, - EditorialMetadata, -} from '../models'; -import { Observable, Subject, of, forkJoin } from 'rxjs'; -import { map, catchError, flatMap, tap, finalize } from 'rxjs/operators'; -import { ErrorService, MatomoService } from '../../core/services'; +import { Observable, of, Subject } from 'rxjs'; +import { catchError, finalize, flatMap, map, tap } from 'rxjs/operators'; import { notificationMessages } from '../../../i18n/traductions'; -import { IDatasetRawChild } from '../models/dataset-child.model'; +import { ErrorService, MatomoService } from '../../core/services'; +// tslint:disable-next-line: max-line-length +import { Data, Dataset, EditorialMetadata, ElasticsearchOptions, IElasticsearchResponse, Metadata } from '../../elasticsearch/models'; +import { ElasticsearchService } from '../../elasticsearch/services/elasticsearch.service'; +import { DatasetChild, IDatasetRawChild } from '../models'; @Injectable() export class DatasetDetailService { diff --git a/src/app/dataset-detail/services/index.ts b/src/app/dataset-detail/services/index.ts new file mode 100644 index 00000000..d72f59e5 --- /dev/null +++ b/src/app/dataset-detail/services/index.ts @@ -0,0 +1,10 @@ +import { DatasetDetailService } from './dataset-detail.service'; +import { ResourcesService } from './resources.service'; + +export { DatasetDetailService, ResourcesService }; + +// tslint:disable-next-line:variable-name +export const DatasetDetailServices = [ + DatasetDetailService, + ResourcesService, +]; diff --git a/src/app/geosource/services/resources.service.ts b/src/app/dataset-detail/services/resources.service.ts similarity index 100% rename from src/app/geosource/services/resources.service.ts rename to src/app/dataset-detail/services/resources.service.ts diff --git a/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.html b/src/app/datasets/components/filter-list/filter-detail/filter-detail.component.html similarity index 100% rename from src/app/geosource/components/filter-list/filter-detail/filter-detail.component.html rename to src/app/datasets/components/filter-list/filter-detail/filter-detail.component.html diff --git a/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.scss b/src/app/datasets/components/filter-list/filter-detail/filter-detail.component.scss similarity index 100% rename from src/app/geosource/components/filter-list/filter-detail/filter-detail.component.scss rename to src/app/datasets/components/filter-list/filter-detail/filter-detail.component.scss diff --git a/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.spec.ts b/src/app/datasets/components/filter-list/filter-detail/filter-detail.component.spec.ts similarity index 100% rename from src/app/geosource/components/filter-list/filter-detail/filter-detail.component.spec.ts rename to src/app/datasets/components/filter-list/filter-detail/filter-detail.component.spec.ts diff --git a/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.ts b/src/app/datasets/components/filter-list/filter-detail/filter-detail.component.ts similarity index 93% rename from src/app/geosource/components/filter-list/filter-detail/filter-detail.component.ts rename to src/app/datasets/components/filter-list/filter-detail/filter-detail.component.ts index a714cddb..5005ff01 100644 --- a/src/app/geosource/components/filter-list/filter-detail/filter-detail.component.ts +++ b/src/app/datasets/components/filter-list/filter-detail/filter-detail.component.ts @@ -1,7 +1,6 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { Aggregation, Filter } from '../../../../elasticsearch/models'; import { DatasetResearchService } from '../../../services'; -import { Component, OnInit, Input } from '@angular/core'; -import { Filter } from '../../../models'; -import { Aggregation } from '../../../models/filter.model'; @Component({ selector: 'app-filter-detail', diff --git a/src/app/geosource/components/filter-list/filter-list.component.html b/src/app/datasets/components/filter-list/filter-list.component.html similarity index 100% rename from src/app/geosource/components/filter-list/filter-list.component.html rename to src/app/datasets/components/filter-list/filter-list.component.html diff --git a/src/app/geosource/components/filter-list/filter-list.component.scss b/src/app/datasets/components/filter-list/filter-list.component.scss similarity index 100% rename from src/app/geosource/components/filter-list/filter-list.component.scss rename to src/app/datasets/components/filter-list/filter-list.component.scss diff --git a/src/app/geosource/components/filter-list/filter-list.component.spec.ts b/src/app/datasets/components/filter-list/filter-list.component.spec.ts similarity index 100% rename from src/app/geosource/components/filter-list/filter-list.component.spec.ts rename to src/app/datasets/components/filter-list/filter-list.component.spec.ts diff --git a/src/app/geosource/components/filter-list/filter-list.component.ts b/src/app/datasets/components/filter-list/filter-list.component.ts similarity index 88% rename from src/app/geosource/components/filter-list/filter-list.component.ts rename to src/app/datasets/components/filter-list/filter-list.component.ts index c40913b5..702bdfdf 100644 --- a/src/app/geosource/components/filter-list/filter-list.component.ts +++ b/src/app/datasets/components/filter-list/filter-list.component.ts @@ -1,10 +1,8 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { DatasetResearchService } from '../../services'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { Subscription } from 'rxjs'; -import { Filter } from '../../models'; -import { Aggregation, IActiveFiltersTemplate } from '../../models/filter.model'; -import { scopesResearch } from '../../models/scopes-research'; import { geosource } from '../../../../i18n/traductions'; +import { Aggregation, Filter, IActiveFiltersTemplate, scopesResearch } from '../../../elasticsearch/models'; +import { DatasetResearchService } from '../../services'; @Component({ selector: 'app-filter-list', @@ -91,8 +89,8 @@ export class FilterListComponent implements OnInit, OnDestroy { const parentKey = (aggregationToRemove.aggregation.parentAggregation) ? aggregationToRemove.aggregation.parentAggregation.key : ''; this._datasetResearchService.updateAggregation(aggregationToRemove.filter.field, - aggregationToRemove.aggregation.key, false, - parentKey); + aggregationToRemove.aggregation.key, false, + parentKey); this._datasetResearchService.triggerSearchChange(); } diff --git a/src/app/datasets/components/index.ts b/src/app/datasets/components/index.ts new file mode 100644 index 00000000..0c4188fe --- /dev/null +++ b/src/app/datasets/components/index.ts @@ -0,0 +1,23 @@ +import { FilterDetailComponent } from './filter-list/filter-detail/filter-detail.component'; +import { FilterListComponent } from './filter-list/filter-list.component'; +import { ResultDatasetComponent } from './results/result-dataset/result-dataset.component'; +import { ResultPostComponent } from './results/result-post/result-post.component'; +import { ResultsTabScopeComponent } from './results/results-tab-scope/results-tab-scope.component'; +import { ResultsComponent } from './results/results.component'; +// tslint:disable-next-line:max-line-length +import { SearchBarComponent } from './search-bar/search-bar.component'; +import { SortComponent } from './sort/sort.component'; + +export { ResultsComponent, SearchBarComponent, SortComponent, FilterListComponent, FilterDetailComponent, ResultDatasetComponent, ResultsTabScopeComponent, ResultPostComponent }; + +// tslint:disable-next-line:variable-name +export const DatasetsComponents = [ + ResultsComponent, + SearchBarComponent, + SortComponent, + FilterListComponent, + FilterDetailComponent, + ResultDatasetComponent, + ResultsTabScopeComponent, + ResultPostComponent, +]; diff --git a/src/app/geosource/components/results/result-dataset/result-dataset.component.html b/src/app/datasets/components/results/result-dataset/result-dataset.component.html similarity index 100% rename from src/app/geosource/components/results/result-dataset/result-dataset.component.html rename to src/app/datasets/components/results/result-dataset/result-dataset.component.html diff --git a/src/app/geosource/components/results/result-dataset/result-dataset.component.scss b/src/app/datasets/components/results/result-dataset/result-dataset.component.scss similarity index 100% rename from src/app/geosource/components/results/result-dataset/result-dataset.component.scss rename to src/app/datasets/components/results/result-dataset/result-dataset.component.scss diff --git a/src/app/geosource/components/results/result-dataset/result-dataset.component.spec.ts b/src/app/datasets/components/results/result-dataset/result-dataset.component.spec.ts similarity index 100% rename from src/app/geosource/components/results/result-dataset/result-dataset.component.spec.ts rename to src/app/datasets/components/results/result-dataset/result-dataset.component.spec.ts diff --git a/src/app/geosource/components/results/result-dataset/result-dataset.component.ts b/src/app/datasets/components/results/result-dataset/result-dataset.component.ts similarity index 90% rename from src/app/geosource/components/results/result-dataset/result-dataset.component.ts rename to src/app/datasets/components/results/result-dataset/result-dataset.component.ts index 14f9cb60..411f518d 100644 --- a/src/app/geosource/components/results/result-dataset/result-dataset.component.ts +++ b/src/app/datasets/components/results/result-dataset/result-dataset.component.ts @@ -1,8 +1,7 @@ -import { Component, OnInit, Input } from '@angular/core'; -import { Dataset } from '../../../models'; -import { AppRoutes } from '../../../../routes'; +import { Component, Input, OnInit } from '@angular/core'; import { geosource } from '../../../../../i18n/traductions'; -import { typesMetadata } from '../../../models/metadata.model'; +import { Dataset, typesMetadata } from '../../../../elasticsearch/models'; +import { AppRoutes } from '../../../../routes'; @Component({ selector: 'app-result-dataset', diff --git a/src/app/geosource/components/results/result-post/result-post.component.html b/src/app/datasets/components/results/result-post/result-post.component.html similarity index 100% rename from src/app/geosource/components/results/result-post/result-post.component.html rename to src/app/datasets/components/results/result-post/result-post.component.html diff --git a/src/app/geosource/components/results/result-post/result-post.component.scss b/src/app/datasets/components/results/result-post/result-post.component.scss similarity index 100% rename from src/app/geosource/components/results/result-post/result-post.component.scss rename to src/app/datasets/components/results/result-post/result-post.component.scss diff --git a/src/app/geosource/components/results/result-post/result-post.component.ts b/src/app/datasets/components/results/result-post/result-post.component.ts similarity index 100% rename from src/app/geosource/components/results/result-post/result-post.component.ts rename to src/app/datasets/components/results/result-post/result-post.component.ts diff --git a/src/app/geosource/components/results/results-tab-scope/results-tab-scope.component.html b/src/app/datasets/components/results/results-tab-scope/results-tab-scope.component.html similarity index 100% rename from src/app/geosource/components/results/results-tab-scope/results-tab-scope.component.html rename to src/app/datasets/components/results/results-tab-scope/results-tab-scope.component.html diff --git a/src/app/geosource/components/results/results-tab-scope/results-tab-scope.component.scss b/src/app/datasets/components/results/results-tab-scope/results-tab-scope.component.scss similarity index 100% rename from src/app/geosource/components/results/results-tab-scope/results-tab-scope.component.scss rename to src/app/datasets/components/results/results-tab-scope/results-tab-scope.component.scss diff --git a/src/app/geosource/components/results/results-tab-scope/results-tab-scope.component.spec.ts b/src/app/datasets/components/results/results-tab-scope/results-tab-scope.component.spec.ts similarity index 100% rename from src/app/geosource/components/results/results-tab-scope/results-tab-scope.component.spec.ts rename to src/app/datasets/components/results/results-tab-scope/results-tab-scope.component.spec.ts diff --git a/src/app/geosource/components/results/results-tab-scope/results-tab-scope.component.ts b/src/app/datasets/components/results/results-tab-scope/results-tab-scope.component.ts similarity index 71% rename from src/app/geosource/components/results/results-tab-scope/results-tab-scope.component.ts rename to src/app/datasets/components/results/results-tab-scope/results-tab-scope.component.ts index a5582a56..9505a8d2 100644 --- a/src/app/geosource/components/results/results-tab-scope/results-tab-scope.component.ts +++ b/src/app/datasets/components/results/results-tab-scope/results-tab-scope.component.ts @@ -1,6 +1,5 @@ -import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core'; -import { scopesResearch } from '../../../models/scopes-research'; -import { IScope } from '../../../models/elasticsearch-options.model'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { IScope, scopesResearch } from '../../../../elasticsearch/models'; @Component({ selector: 'app-results-tab-scope', diff --git a/src/app/geosource/components/results/results.component.html b/src/app/datasets/components/results/results.component.html similarity index 100% rename from src/app/geosource/components/results/results.component.html rename to src/app/datasets/components/results/results.component.html diff --git a/src/app/geosource/components/results/results.component.scss b/src/app/datasets/components/results/results.component.scss similarity index 100% rename from src/app/geosource/components/results/results.component.scss rename to src/app/datasets/components/results/results.component.scss diff --git a/src/app/geosource/components/results/results.component.spec.ts b/src/app/datasets/components/results/results.component.spec.ts similarity index 100% rename from src/app/geosource/components/results/results.component.spec.ts rename to src/app/datasets/components/results/results.component.spec.ts diff --git a/src/app/geosource/components/results/results.component.ts b/src/app/datasets/components/results/results.component.ts similarity index 94% rename from src/app/geosource/components/results/results.component.ts rename to src/app/datasets/components/results/results.component.ts index bf783d22..2cf9ee24 100644 --- a/src/app/geosource/components/results/results.component.ts +++ b/src/app/datasets/components/results/results.component.ts @@ -1,16 +1,14 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { DatasetResearchService } from '../../services'; -import { Dataset, IMetadataLink, SearchSuggestion } from '../../models'; +import { DatePipe, ViewportScroller } from '@angular/common'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { Subscription } from 'rxjs'; -import { PaginatorOptions } from '../../../shared/models'; -import { AppRoutes } from '../../../routes'; -import { NotificationService } from '../../../core/services'; import { Notification } from '../../../core/models'; -import { DatePipe, ViewportScroller } from '@angular/common'; +import { NotificationService } from '../../../core/services'; import { MatomoService } from '../../../core/services/matomo.service'; import { CMSContent } from '../../../editorialisation/models'; -import { scopesResearch } from '../../models/scopes-research'; -import { IScope, ICountScope } from '../../models/elasticsearch-options.model'; +import { Dataset, IMetadataLink, IScope, SearchSuggestion } from '../../../elasticsearch/models'; +import { AppRoutes } from '../../../routes'; +import { PaginatorOptions } from '../../../shared/models'; +import { DatasetResearchService } from '../../services'; @Component({ selector: 'app-results', diff --git a/src/app/geosource/components/search-bar/search-bar.component.html b/src/app/datasets/components/search-bar/search-bar.component.html similarity index 100% rename from src/app/geosource/components/search-bar/search-bar.component.html rename to src/app/datasets/components/search-bar/search-bar.component.html diff --git a/src/app/geosource/components/search-bar/search-bar.component.scss b/src/app/datasets/components/search-bar/search-bar.component.scss similarity index 100% rename from src/app/geosource/components/search-bar/search-bar.component.scss rename to src/app/datasets/components/search-bar/search-bar.component.scss diff --git a/src/app/geosource/components/search-bar/search-bar.component.spec.ts b/src/app/datasets/components/search-bar/search-bar.component.spec.ts similarity index 91% rename from src/app/geosource/components/search-bar/search-bar.component.spec.ts rename to src/app/datasets/components/search-bar/search-bar.component.spec.ts index 57189c13..d0cd5e28 100644 --- a/src/app/geosource/components/search-bar/search-bar.component.spec.ts +++ b/src/app/datasets/components/search-bar/search-bar.component.spec.ts @@ -1,4 +1,4 @@ -import { ElasticsearchService } from '../../services/elasticsearch.service'; + import { DatasetResearchService } from '../../services'; import { async, ComponentFixture, TestBed } from '@angular/core/testing'; @@ -8,6 +8,7 @@ import { FormsModule } from '@angular/forms'; import { HttpClientModule } from '@angular/common/http'; import { ErrorService, NotificationService } from '../../../core/services'; import { StorageService } from '../../../core/services/storage.service'; +import { ElasticsearchService } from '../../../elasticsearch/services/elasticsearch.service'; describe('SearchBarComponent', () => { let component: SearchBarComponent; @@ -31,7 +32,7 @@ describe('SearchBarComponent', () => { NotificationService, ], }) - .compileComponents(); + .compileComponents(); })); beforeEach(() => { diff --git a/src/app/geosource/components/search-bar/search-bar.component.ts b/src/app/datasets/components/search-bar/search-bar.component.ts similarity index 95% rename from src/app/geosource/components/search-bar/search-bar.component.ts rename to src/app/datasets/components/search-bar/search-bar.component.ts index d6e6348d..a9d425b4 100644 --- a/src/app/geosource/components/search-bar/search-bar.component.ts +++ b/src/app/datasets/components/search-bar/search-bar.component.ts @@ -1,11 +1,10 @@ -import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core'; -import { DatasetResearchService } from '../../services'; -import { SearchCompletion } from '../../models'; -import { debounceTime } from 'rxjs/operators'; -import { Subject } from 'rxjs'; import { ViewportScroller } from '@angular/common'; -import { IScope } from '../../models/elasticsearch-options.model'; +import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'; +import { Subject } from 'rxjs'; +import { debounceTime } from 'rxjs/operators'; import { geosource } from '../../../../i18n/traductions'; +import { IScope, SearchCompletion } from '../../../elasticsearch/models'; +import { DatasetResearchService } from '../../services'; @Component({ selector: 'app-search-bar', diff --git a/src/app/geosource/components/sort/sort.component.html b/src/app/datasets/components/sort/sort.component.html similarity index 100% rename from src/app/geosource/components/sort/sort.component.html rename to src/app/datasets/components/sort/sort.component.html diff --git a/src/app/geosource/components/sort/sort.component.scss b/src/app/datasets/components/sort/sort.component.scss similarity index 100% rename from src/app/geosource/components/sort/sort.component.scss rename to src/app/datasets/components/sort/sort.component.scss diff --git a/src/app/geosource/components/sort/sort.component.spec.ts b/src/app/datasets/components/sort/sort.component.spec.ts similarity index 100% rename from src/app/geosource/components/sort/sort.component.spec.ts rename to src/app/datasets/components/sort/sort.component.spec.ts diff --git a/src/app/geosource/components/sort/sort.component.ts b/src/app/datasets/components/sort/sort.component.ts similarity index 100% rename from src/app/geosource/components/sort/sort.component.ts rename to src/app/datasets/components/sort/sort.component.ts diff --git a/src/app/datasets/datasets-routing.module.ts b/src/app/datasets/datasets-routing.module.ts new file mode 100644 index 00000000..f464b059 --- /dev/null +++ b/src/app/datasets/datasets-routing.module.ts @@ -0,0 +1,28 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { AppRoutes } from '../routes'; +import { ResultsComponent } from './components'; + +export const routes: Routes = [ + { + path: AppRoutes.datasets.uri, + component: ResultsComponent, + data: { + title: AppRoutes.datasets.title, + }, + }, + { + path: 'datasets/:id', + redirectTo: `${AppRoutes.datasets.uri}/:id`, + }, + { + path: `${AppRoutes.datasets.uri}/:id`, + loadChildren: '../dataset-detail/dataset-detail.module#DatasetDetailModule', + }, +]; + +@NgModule({ + exports: [RouterModule], + imports: [RouterModule.forChild(routes)], +}) +export class DatasetsRoutingModule { } diff --git a/src/app/datasets/datasets.module.ts b/src/app/datasets/datasets.module.ts new file mode 100644 index 00000000..bbfa95e0 --- /dev/null +++ b/src/app/datasets/datasets.module.ts @@ -0,0 +1,24 @@ +import { CommonModule, DatePipe } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { ElasticsearchModule } from '../elasticsearch/elasticsearch.module'; +import { SharedModule } from '../shared/shared.module'; +import { DatasetsComponents, SearchBarComponent } from './components'; +import { DatasetsRoutingModule } from './datasets-routing.module'; +import { DatasetsServices } from './services'; + +@NgModule({ + declarations: [...DatasetsComponents], + exports: [ + SearchBarComponent, + ], + imports: [ + CommonModule, + DatasetsRoutingModule, + ElasticsearchModule, + SharedModule, + FormsModule, + ], + providers: [...DatasetsServices, DatePipe], +}) +export class DatasetsModule { } diff --git a/src/app/geosource/services/dataset-research.service.ts b/src/app/datasets/services/dataset-research.service.ts similarity index 96% rename from src/app/geosource/services/dataset-research.service.ts rename to src/app/datasets/services/dataset-research.service.ts index 31b8e934..2ed96e99 100644 --- a/src/app/geosource/services/dataset-research.service.ts +++ b/src/app/datasets/services/dataset-research.service.ts @@ -1,21 +1,16 @@ import { Injectable } from '@angular/core'; - +import { Router } from '@angular/router'; +import { Angulartics2Piwik } from 'angulartics2/piwik'; import { Observable, Subject } from 'rxjs'; - -import { - ISortOption, ElasticsearchOptions, IElasticsearchHit, Dataset, Highlights, - SearchCompletion, SearchSuggestion, -} from '../models'; -import { ElasticsearchService } from './elasticsearch.service'; -import { map, catchError, tap } from 'rxjs/operators'; -import { notificationMessages, geosource } from '../../../i18n/traductions'; +import { catchError, map, tap } from 'rxjs/operators'; +import { geosource, notificationMessages } from '../../../i18n/traductions'; import { ErrorService } from '../../core/services'; -import { Aggregation, Filter } from '../models/filter.model'; import { CMSContent } from '../../editorialisation/models'; -import { IScope, ICountScope } from '../models/elasticsearch-options.model'; -import { scopesResearch } from '../models/scopes-research'; import { IESCMSResponse } from '../../editorialisation/models/cms-content.model'; -import { Angulartics2Piwik } from 'angulartics2/piwik'; +// tslint:disable-next-line: max-line-length +import { Aggregation, Dataset, ElasticsearchOptions, Filter, Highlights, ICountScope, IElasticsearchHit, IScope, ISortOption, scopesResearch, SearchCompletion, SearchSuggestion } from '../../elasticsearch/models'; +import { ElasticsearchService } from '../../elasticsearch/services/elasticsearch.service'; +import { AppRoutes } from '../../routes'; @Injectable() export class DatasetResearchService { @@ -32,6 +27,7 @@ export class DatasetResearchService { private _errorService: ErrorService, private _elasticsearchService: ElasticsearchService, private angulartics2Piwik: Angulartics2Piwik, + private _router: Router, ) { this._searchChangeSubject = new Subject<any>(); this._datasetsReloadedSubject = new Subject<any>(); @@ -430,6 +426,9 @@ export class DatasetResearchService { this._elasticsearchOptions.searchString = value; this._elasticsearchOptions.pageIndex = 0; this._elasticsearchOptions.shouldAggregateResultCount = true; + if (this._router.url.split('/').pop() !== AppRoutes.datasets.uri) { + this._router.navigate(['/', AppRoutes.datasets.uri]); + } this._searchChangeSubject.next(); } diff --git a/src/app/datasets/services/index.ts b/src/app/datasets/services/index.ts new file mode 100644 index 00000000..181021dc --- /dev/null +++ b/src/app/datasets/services/index.ts @@ -0,0 +1,8 @@ +import { DatasetResearchService } from './dataset-research.service'; + +export { DatasetResearchService }; + +// tslint:disable-next-line:variable-name +export const DatasetsServices = [ + DatasetResearchService, +]; diff --git a/src/app/editorialisation/components/cms-post-detail/cms-post-detail.component.ts b/src/app/editorialisation/components/cms-post-detail/cms-post-detail.component.ts index c04ec94d..d06fbe21 100644 --- a/src/app/editorialisation/components/cms-post-detail/cms-post-detail.component.ts +++ b/src/app/editorialisation/components/cms-post-detail/cms-post-detail.component.ts @@ -1,14 +1,13 @@ +import { DatePipe } from '@angular/common'; import { Component, OnInit } from '@angular/core'; +import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; import { ActivatedRoute, Router } from '@angular/router'; -import { SafeHtml, DomSanitizer } from '@angular/platform-browser'; -import { CMSContent } from '../../models/cms-content.model'; -import { IPageHeaderInfo } from '../../../shared/models'; -import { DatePipe } from '@angular/common'; import { notificationMessages } from '../../../../i18n/traductions'; +import { Metadata, typesMetadata } from '../../../elasticsearch/models'; +import { ElasticsearchService } from '../../../elasticsearch/services/elasticsearch.service'; import { AppRoutes } from '../../../routes'; -import { ElasticsearchService } from '../../../geosource/services'; -import { Metadata } from '../../../geosource/models'; -import { typesMetadata } from '../../../geosource/models/metadata.model'; +import { IPageHeaderInfo } from '../../../shared/models'; +import { CMSContent } from '../../models/cms-content.model'; @Component({ selector: 'app-cms-post-detail', diff --git a/src/app/editorialisation/components/cms-posts-list/cms-drafts-list.component.ts b/src/app/editorialisation/components/cms-posts-list/cms-drafts-list.component.ts index 9ebb6703..d18fc6a3 100644 --- a/src/app/editorialisation/components/cms-posts-list/cms-drafts-list.component.ts +++ b/src/app/editorialisation/components/cms-posts-list/cms-drafts-list.component.ts @@ -1,7 +1,7 @@ import { Component, OnInit } from '@angular/core'; -import { ElasticsearchService } from '../../../geosource/services'; import { AppRoutes } from '../../../routes'; import { CMSContent, IESCMSResponse } from '../../models/cms-content.model'; +import { ElasticsearchService } from '../../../elasticsearch/services/elasticsearch.service'; @Component({ selector: 'app-cms-drafts-list', diff --git a/src/app/editorialisation/components/home/home.component.html b/src/app/editorialisation/components/home/home.component.html index bdb35223..b249bb81 100644 --- a/src/app/editorialisation/components/home/home.component.html +++ b/src/app/editorialisation/components/home/home.component.html @@ -15,7 +15,7 @@ </div> <div class="search column is-7-desktop is-8-tablet "> <app-search-bar class="app-search-bar"></app-search-bar> - <a class="explore-link" [routerLink]="['/', AppRoutes.research.uri]" (click)="trackExploreButtonEvent()"> + <a class="explore-link" [routerLink]="['/', AppRoutes.datasets.uri]" (click)="trackExploreButtonEvent()"> <button class="button explore-button" i18n="@@home.explore">Explore</button> </a> </div> diff --git a/src/app/editorialisation/components/home/home.component.ts b/src/app/editorialisation/components/home/home.component.ts index 8991a565..b6fd0a3b 100644 --- a/src/app/editorialisation/components/home/home.component.ts +++ b/src/app/editorialisation/components/home/home.component.ts @@ -1,15 +1,16 @@ import { Component, OnInit } from '@angular/core'; -import { CMSContent, IESCMSResponse } from '../../models/cms-content.model'; import { Router } from '@angular/router'; -import { ElasticsearchService, DatasetResearchService } from '../../../geosource/services'; -import { AppRoutes } from '../../../routes'; -import { scopesResearch } from '../../../geosource/models/scopes-research'; -import { environment } from '../../../../environments/environment'; +import { Angulartics2Piwik } from 'angulartics2/piwik'; import { forkJoin } from 'rxjs/internal/observable/forkJoin'; -import { NotificationService } from '../../../core/services'; -import { Notification } from '../../../core/models'; +import { environment } from '../../../../environments/environment'; import { notificationMessages } from '../../../../i18n/traductions'; -import { Angulartics2Piwik } from 'angulartics2/piwik'; +import { Notification } from '../../../core/models'; +import { NotificationService } from '../../../core/services'; +import { DatasetResearchService } from '../../../datasets/services'; +import { scopesResearch } from '../../../elasticsearch/models'; +import { ElasticsearchService } from '../../../elasticsearch/services/elasticsearch.service'; +import { AppRoutes } from '../../../routes'; +import { CMSContent, IESCMSResponse } from '../../models/cms-content.model'; @Component({ selector: 'app-home', @@ -99,7 +100,7 @@ export class HomeComponent implements OnInit { goToPostsResearch() { this._datasetResearchService.resetResearch(); this._datasetResearchService.scopeReasearch = scopesResearch.post; - this._router.navigate(['/', AppRoutes.research.uri]); + this._router.navigate(['/', AppRoutes.datasets.uri]); } trackExploreButtonEvent() { diff --git a/src/app/editorialisation/components/organizations/organizations.component.ts b/src/app/editorialisation/components/organizations/organizations.component.ts index 793a8fe2..536202a1 100644 --- a/src/app/editorialisation/components/organizations/organizations.component.ts +++ b/src/app/editorialisation/components/organizations/organizations.component.ts @@ -1,14 +1,14 @@ import { Component, OnInit } from '@angular/core'; -import { OrganizationsService } from '../../services/organizations.service'; -import { Organization } from '../../models'; -import { ElasticsearchService, DatasetResearchService } from '../../../geosource/services'; import { Router } from '@angular/router'; +import { notificationMessages, pageTitles } from '../../../../i18n/traductions'; +import { NotificationService } from '../../../core/services'; +import { DatasetResearchService } from '../../../datasets/services'; +import { Aggregation, scopesResearch } from '../../../elasticsearch/models'; +import { ElasticsearchService } from '../../../elasticsearch/services/elasticsearch.service'; import { AppRoutes } from '../../../routes'; -import { Aggregation } from '../../../geosource/models/filter.model'; -import { scopesResearch } from '../../../geosource/models/scopes-research'; import { IPageHeaderInfo } from '../../../shared/models'; -import { pageTitles, notificationMessages } from '../../../../i18n/traductions'; -import { NotificationService } from '../../../core/services'; +import { Organization } from '../../models'; +import { OrganizationsService } from '../../services/organizations.service'; @Component({ selector: 'app-organizations', @@ -70,7 +70,7 @@ export class OrganizationsComponent implements OnInit { this._datasetResearchService.getResults().subscribe(() => { this._datasetResearchService.updateAggregation('metadata-fr.responsibleParty.organisationName', name, true); this._datasetResearchService.scopeReasearch = scopesResearch.datasets; - this._router.navigate(['/', AppRoutes.research.uri]); + this._router.navigate(['/', AppRoutes.datasets.uri]); }); } @@ -80,7 +80,7 @@ export class OrganizationsComponent implements OnInit { this._datasetResearchService.getResults().subscribe(() => { this._datasetResearchService.updateAggregation('metadata-fr.responsibleParty.organisationName', name, true); this._datasetResearchService.scopeReasearch = scopesResearch.services; - this._router.navigate(['/', AppRoutes.research.uri]); + this._router.navigate(['/', AppRoutes.datasets.uri]); }); } diff --git a/src/app/editorialisation/components/reuse-detail/reuse-detail.component.ts b/src/app/editorialisation/components/reuse-detail/reuse-detail.component.ts index e6da59e0..5ec7ecf3 100644 --- a/src/app/editorialisation/components/reuse-detail/reuse-detail.component.ts +++ b/src/app/editorialisation/components/reuse-detail/reuse-detail.component.ts @@ -1,14 +1,13 @@ import { Component, OnInit } from '@angular/core'; -import { IPageHeaderInfo } from '../../../shared/models'; -import { ReusesService } from '../../services'; -import { filter, switchMap, map } from 'rxjs/operators'; -import { ParamMap, ActivatedRoute } from '@angular/router'; -import { IReuse, Reuse } from '../../models'; -import { ElasticsearchService } from '../../../geosource/services'; -import { Metadata, IElasticsearchResponse } from '../../../geosource/models'; -import { typesMetadata } from '../../../geosource/models/metadata.model'; +import { ActivatedRoute, ParamMap } from '@angular/router'; import { forkJoin } from 'rxjs'; +import { filter, map, switchMap } from 'rxjs/operators'; +import { Metadata, typesMetadata } from '../../../elasticsearch/models'; +import { ElasticsearchService } from '../../../elasticsearch/services/elasticsearch.service'; import { AppRoutes } from '../../../routes'; +import { IPageHeaderInfo } from '../../../shared/models'; +import { Reuse } from '../../models'; +import { ReusesService } from '../../services'; @Component({ selector: 'app-reuse-detail', diff --git a/src/app/editorialisation/components/site-map/site-map.component.html b/src/app/editorialisation/components/site-map/site-map.component.html index 88414fc4..25442c32 100644 --- a/src/app/editorialisation/components/site-map/site-map.component.html +++ b/src/app/editorialisation/components/site-map/site-map.component.html @@ -6,7 +6,7 @@ <p class="pages-group-title" i18n="@@sitemap.mainPages">Main pages</p> <ul class="pages-list"> <li><a class="link-1" [routerLink]="['/', AppRoutes.home.uri]" i18n="@@sitemap.home">Home</a></li> - <li><a class="link-1" [routerLink]="['/', AppRoutes.research.uri]" i18n="@@sitemap.research">Research</a></li> + <li><a class="link-1" [routerLink]="['/', AppRoutes.datasets.uri]" i18n="@@sitemap.research">Research</a></li> <li><a class="link-1" [routerLink]="['/', AppRoutes.partners.uri]" i18n="@@sitemap.partners">Partners</a></li> <li><a class="link-1" [routerLink]="['/', AppRoutes.approach.uri]" i18n="@@sitemap.approach">Approach</a></li> <li><a class="link-1" [routerLink]="['/', AppRoutes.documentation.uri]">Documentation</a></li> diff --git a/src/app/editorialisation/editorialisation.module.ts b/src/app/editorialisation/editorialisation.module.ts index e8be70b5..08d16c15 100644 --- a/src/app/editorialisation/editorialisation.module.ts +++ b/src/app/editorialisation/editorialisation.module.ts @@ -1,18 +1,20 @@ -import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { EditorialisationRoutingModule } from './editorialisation-routing.module'; +import { NgModule } from '@angular/core'; +import { intersectionObserverPreset, LazyLoadImageModule } from 'ng-lazyload-image'; +import { DatasetsModule } from '../datasets/datasets.module'; +import { ElasticsearchModule } from '../elasticsearch/elasticsearch.module'; +import { SharedModule } from '../shared/shared.module'; import { EditorialisationComponents } from './components'; -import { EditorialisationServices } from './services'; +import { EditorialisationRoutingModule } from './editorialisation-routing.module'; import { EditorialisationResolvers } from './resolvers'; -import { SharedModule } from '../shared/shared.module'; -import { GeosourceModule } from '../geosource/geosource.module'; -import { LazyLoadImageModule, intersectionObserverPreset } from 'ng-lazyload-image'; +import { EditorialisationServices } from './services'; @NgModule({ imports: [ CommonModule, + ElasticsearchModule, + DatasetsModule, EditorialisationRoutingModule, - GeosourceModule.forRoot(), SharedModule, LazyLoadImageModule.forRoot({ preset: intersectionObserverPreset, diff --git a/src/app/editorialisation/services/editorialisation.service.ts b/src/app/editorialisation/services/editorialisation.service.ts index 18397755..2326009f 100644 --- a/src/app/editorialisation/services/editorialisation.service.ts +++ b/src/app/editorialisation/services/editorialisation.service.ts @@ -3,13 +3,12 @@ import { Observable } from 'rxjs'; import { map, catchError } from 'rxjs/operators'; import { Injectable } from '@angular/core'; import { environment } from '../../../environments/environment'; -import { HttpClient } from '@angular/common/http'; import { CMSContent, IGhostContentResponse, IESCMSResponse, } from '../models/cms-content.model'; import { ErrorService } from '../../core/services'; import { notificationMessages } from '../../../i18n/traductions'; -import { ElasticsearchService } from '../../geosource/services'; +import { ElasticsearchService } from '../../elasticsearch/services/elasticsearch.service'; @Injectable() export class EditorialisationService { diff --git a/src/app/elasticsearch/elasticsearch.module.ts b/src/app/elasticsearch/elasticsearch.module.ts new file mode 100644 index 00000000..4a0e6329 --- /dev/null +++ b/src/app/elasticsearch/elasticsearch.module.ts @@ -0,0 +1,14 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { ElasticsearchService } from './services/elasticsearch.service'; + +@NgModule({ + declarations: [], + imports: [ + CommonModule, + ], + providers: [ + ElasticsearchService, + ], +}) +export class ElasticsearchModule { } diff --git a/src/app/geosource/models/data.model.ts b/src/app/elasticsearch/models/data.model.ts similarity index 100% rename from src/app/geosource/models/data.model.ts rename to src/app/elasticsearch/models/data.model.ts diff --git a/src/app/geosource/models/dataset.model.ts b/src/app/elasticsearch/models/dataset.model.ts similarity index 93% rename from src/app/geosource/models/dataset.model.ts rename to src/app/elasticsearch/models/dataset.model.ts index 62ab5bee..e5ca390b 100644 --- a/src/app/geosource/models/dataset.model.ts +++ b/src/app/elasticsearch/models/dataset.model.ts @@ -1,7 +1,7 @@ -import { IMetadata, Metadata, linkFormats } from './metadata.model'; +import { Data } from './data.model'; +import { EditorialMetadata, IEditorialMetadata } from './editorial-metadata.model'; import { Highlights } from './highlights.model'; -import { Data, IData } from './data.model'; -import { IEditorialMetadata, EditorialMetadata } from './editorial-metadata.model'; +import { IMetadata, linkFormats, Metadata } from './metadata.model'; export interface IDataset { _index?: string; diff --git a/src/app/geosource/models/editorial-metadata.model.ts b/src/app/elasticsearch/models/editorial-metadata.model.ts similarity index 100% rename from src/app/geosource/models/editorial-metadata.model.ts rename to src/app/elasticsearch/models/editorial-metadata.model.ts diff --git a/src/app/geosource/models/elasticsearch-options.model.ts b/src/app/elasticsearch/models/elasticsearch-options.model.ts similarity index 87% rename from src/app/geosource/models/elasticsearch-options.model.ts rename to src/app/elasticsearch/models/elasticsearch-options.model.ts index 6f39e433..10973ddb 100644 --- a/src/app/geosource/models/elasticsearch-options.model.ts +++ b/src/app/elasticsearch/models/elasticsearch-options.model.ts @@ -1,7 +1,7 @@ import { geosource } from '../../../i18n/traductions'; +import { Filter } from './filter.model'; import { scopesResearch } from './scopes-research'; import { ISortOption } from './sort-option.model'; -import { Filter } from './filter.model'; export interface IPostsESOptions { type?: string; @@ -25,31 +25,31 @@ export interface IScope { } export interface IElasticsearchOptions { - 'pageIndex'?: number; - 'from'?: number; - 'pageSize'?: number; - 'sortOptions'?: ISortOption; - 'searchString'?: string; - 'filters'?: Filter[]; - 'shouldAggregateResultCount': boolean; - 'shouldAggregateFilters': boolean; - 'scope': IScope; - 'useCache': boolean; + pageIndex?: number; + from?: number; + pageSize?: number; + sortOptions?: ISortOption; + searchString?: string; + filters?: Filter[]; + shouldAggregateResultCount: boolean; + shouldAggregateFilters: boolean; + scope: IScope; + useCache: boolean; } export class ElasticsearchOptions { - '_pageIndex': number; - 'from'?: number; - '_pageSize': number; - '_sortOptions': ISortOption; - '_searchString': string; - '_filters': Filter[]; - 'shouldAggregateResultCount': boolean; - 'shouldAggregateFilters': boolean; - 'fromAutocompletion': boolean; - 'scope': IScope; - 'useCache': boolean; - 'otherLicenceAggregations': string[]; + _pageIndex: number; + from?: number; + _pageSize: number; + _sortOptions: ISortOption; + _searchString: string; + _filters: Filter[]; + shouldAggregateResultCount: boolean; + shouldAggregateFilters: boolean; + fromAutocompletion: boolean; + scope: IScope; + useCache: boolean; + otherLicenceAggregations: string[]; constructor(data?) { this.from = (data && data.from != null) ? data.from : 0; diff --git a/src/app/geosource/models/elasticsearch-hit.model.ts b/src/app/elasticsearch/models/elasticsearch-response.model.ts similarity index 51% rename from src/app/geosource/models/elasticsearch-hit.model.ts rename to src/app/elasticsearch/models/elasticsearch-response.model.ts index 43863044..52411101 100644 --- a/src/app/geosource/models/elasticsearch-hit.model.ts +++ b/src/app/elasticsearch/models/elasticsearch-response.model.ts @@ -1,15 +1,8 @@ -import { IMetadata } from '.'; -import { IData } from './data.model'; -import { IESCMSResponse } from '../../editorialisation/models/cms-content.model'; - export interface IElasticsearchHit { '_id': string; '_index': string; '_score': number; - '_source': { - 'metadata-fr': IMetadata; - 'data-fr': IData; - } | IESCMSResponse; + '_source': any; 'uuid': string; 'slug': string; 'inner_hits': { @@ -21,3 +14,14 @@ export interface IElasticsearchHit { }, }; } + +export interface IElasticsearchResponse { + 'took': number; + 'hits': { + 'total': number, + 'max_score': number, + 'hits': IElasticsearchHit[], + }; + 'suggest': any; + 'aggregations': any; +} diff --git a/src/app/geosource/models/filter.model.ts b/src/app/elasticsearch/models/filter.model.ts similarity index 100% rename from src/app/geosource/models/filter.model.ts rename to src/app/elasticsearch/models/filter.model.ts diff --git a/src/app/geosource/models/highlights.model.ts b/src/app/elasticsearch/models/highlights.model.ts similarity index 100% rename from src/app/geosource/models/highlights.model.ts rename to src/app/elasticsearch/models/highlights.model.ts diff --git a/src/app/elasticsearch/models/index.ts b/src/app/elasticsearch/models/index.ts new file mode 100644 index 00000000..d6e7e55c --- /dev/null +++ b/src/app/elasticsearch/models/index.ts @@ -0,0 +1,15 @@ +export { Data, IData } from './data.model'; +export { Dataset, IDataset, IDatasetFields } from './dataset.model'; +export { EditorialMetadata, IEditorialMetadata } from './editorial-metadata.model'; +// tslint:disable-next-line: max-line-length +export { ElasticsearchOptions, ICountScope, IElasticsearchOptions, IPostsESOptions, IScope } from './elasticsearch-options.model'; +export { IElasticsearchHit, IElasticsearchResponse } from './elasticsearch-response.model'; +export { Aggregation, Filter, IActiveFiltersTemplate, IFilter } from './filter.model'; +export { Highlights, IHighlights } from './highlights.model'; +// tslint:disable-next-line: max-line-length +export { IMetadata, IMetadataLink, IParentDataset, IResponsibleParty, linkFormats, Metadata, typesMetadata } from './metadata.model'; +export { scopesResearch } from './scopes-research'; // This is not really a model +export { SearchCompletion } from './search-completion.model'; +export { ISortOption } from './sort-option.model'; +export { SearchSuggestion } from './suggestion.model'; + diff --git a/src/app/geosource/models/metadata.model.ts b/src/app/elasticsearch/models/metadata.model.ts similarity index 99% rename from src/app/geosource/models/metadata.model.ts rename to src/app/elasticsearch/models/metadata.model.ts index a8e68a17..908463a9 100644 --- a/src/app/geosource/models/metadata.model.ts +++ b/src/app/elasticsearch/models/metadata.model.ts @@ -173,7 +173,7 @@ export class Metadata { } this.keyword = data.keyword; - const providersToAdd = new Set(); + const providersToAdd = new Set<string>(); this.contacts = []; if (data.responsibleParty) { data.responsibleParty.forEach((party) => { diff --git a/src/app/geosource/models/scopes-research.ts b/src/app/elasticsearch/models/scopes-research.ts similarity index 100% rename from src/app/geosource/models/scopes-research.ts rename to src/app/elasticsearch/models/scopes-research.ts diff --git a/src/app/geosource/models/search-completion.model.ts b/src/app/elasticsearch/models/search-completion.model.ts similarity index 100% rename from src/app/geosource/models/search-completion.model.ts rename to src/app/elasticsearch/models/search-completion.model.ts diff --git a/src/app/geosource/models/sort-option.model.ts b/src/app/elasticsearch/models/sort-option.model.ts similarity index 100% rename from src/app/geosource/models/sort-option.model.ts rename to src/app/elasticsearch/models/sort-option.model.ts diff --git a/src/app/geosource/models/suggestion.model.ts b/src/app/elasticsearch/models/suggestion.model.ts similarity index 100% rename from src/app/geosource/models/suggestion.model.ts rename to src/app/elasticsearch/models/suggestion.model.ts diff --git a/src/app/geosource/services/elasticsearch.service.ts b/src/app/elasticsearch/services/elasticsearch.service.ts similarity index 98% rename from src/app/geosource/services/elasticsearch.service.ts rename to src/app/elasticsearch/services/elasticsearch.service.ts index ff0b2b11..b79be4f1 100644 --- a/src/app/geosource/services/elasticsearch.service.ts +++ b/src/app/elasticsearch/services/elasticsearch.service.ts @@ -1,17 +1,12 @@ -import { Injectable } from '@angular/core'; -import { - ElasticsearchOptions, IElasticsearchResponse, - SearchSuggestion, SearchCompletion, Filter, -} from '../models'; import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { map, catchError } from 'rxjs/operators'; +import { catchError, map } from 'rxjs/operators'; +import { geosource, notificationMessages } from '../../../i18n/traductions'; import { ErrorService } from '../../core/services'; -import { notificationMessages, geosource } from '../../../i18n/traductions'; -import { IPostsESOptions } from '../models/elasticsearch-options.model'; -import { Aggregation } from '../models/filter.model'; -import { scopesResearch } from '../models/scopes-research'; import { APP_CONFIG } from '../../core/services/app-config.service'; +// tslint:disable-next-line: max-line-length +import { Aggregation, ElasticsearchOptions, Filter, IElasticsearchResponse, IPostsESOptions, scopesResearch, SearchCompletion, SearchSuggestion } from '../models'; @Injectable() export class ElasticsearchService { @@ -94,7 +89,7 @@ export class ElasticsearchService { }, collapse: { field: 'metadata-fr.geonet:info.uuid.keyword', - } + }, }, }).pipe( map((response) => { diff --git a/src/app/geosource/components/index.ts b/src/app/geosource/components/index.ts deleted file mode 100644 index d4fb2370..00000000 --- a/src/app/geosource/components/index.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { ResultsComponent } from './results/results.component'; -import { DatasetDetailComponent } from './dataset-detail/dataset-detail.component'; - -import { DatasetResourcesComponent } from './dataset-detail/dataset-resources/dataset-resources.component'; -// tslint:disable-next-line:max-line-length -import { ResourceQueryableComponent } from './dataset-detail/dataset-resources/resources-queryable/resource-queryable/resource-queryable.component'; -// tslint:disable-next-line:max-line-length -import { ResourcesQueryableComponent } from './dataset-detail/dataset-resources/resources-queryable/resources-queryable.component'; -// tslint:disable-next-line:max-line-length -import { ResourceDownloadableComponent } from './dataset-detail/dataset-resources/resource-downloadable/resource-downloadable.component'; -import { DatasetMapComponent } from './dataset-detail/dataset-map/dataset-map.component'; -import { DatasetInfoComponent } from './dataset-detail/dataset-info/dataset-info.component'; -import { DatasetTableComponent } from './dataset-detail/dataset-table/dataset-table.component'; -import { IconFormatComponent } from './dataset-detail/dataset-resources/icon-format/icon-format.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'; -import { ResultDatasetComponent } from './results/result-dataset/result-dataset.component'; -import { ResultsTabScopeComponent } from './results/results-tab-scope/results-tab-scope.component'; -import { ResultPostComponent } from './results/result-post/result-post.component'; -import { DatasetTableMapComponent } from './dataset-detail/dataset-table-map/dataset-table-map.component'; -import { DatasetDataDetailsComponent } from './dataset-detail/dataset-data-details/dataset-data-details.component'; -import { DatasetDataDetailPropertiesComponent } from './dataset-detail/dataset-data-details/dataset-data-detail-properties/dataset-data-detail-properties.component'; - -export { - DatasetDetailComponent, - DatasetResourcesComponent, - ResourceQueryableComponent, - ResourceDownloadableComponent, - DatasetMapComponent, - DatasetInfoComponent, - DatasetTableMapComponent, - DatasetTableComponent, - ResultsComponent, - SearchBarComponent, - ResearchComponent, - SortComponent, - FilterListComponent, - FilterDetailComponent, - ResultDatasetComponent, - ResultsTabScopeComponent, - ResultPostComponent, - ResourcesQueryableComponent, - IconFormatComponent, - DatasetDataDetailsComponent, - DatasetDataDetailPropertiesComponent, -}; - -// tslint:disable-next-line:variable-name -export const GeosourceComponents = [ - DatasetDetailComponent, - DatasetResourcesComponent, - ResourceQueryableComponent, - ResourceDownloadableComponent, - DatasetMapComponent, - DatasetInfoComponent, - DatasetTableMapComponent, - DatasetTableComponent, - ResultsComponent, - SearchBarComponent, - ResearchComponent, - SortComponent, - FilterListComponent, - FilterDetailComponent, - ResultDatasetComponent, - ResultsTabScopeComponent, - ResultPostComponent, - ResourcesQueryableComponent, - IconFormatComponent, - DatasetDataDetailsComponent, - DatasetDataDetailPropertiesComponent, -]; diff --git a/src/app/geosource/components/research/research.component.html b/src/app/geosource/components/research/research.component.html deleted file mode 100644 index 0680b43f..00000000 --- a/src/app/geosource/components/research/research.component.html +++ /dev/null @@ -1 +0,0 @@ -<router-outlet></router-outlet> diff --git a/src/app/geosource/components/research/research.component.scss b/src/app/geosource/components/research/research.component.scss deleted file mode 100644 index 01e4ffbe..00000000 --- a/src/app/geosource/components/research/research.component.scss +++ /dev/null @@ -1,9 +0,0 @@ - -@import "../../../../../node_modules/bulma/sass/utilities/_all"; - -@media screen and (max-width: $desktop - 1px) { - .research-container { - margin-left: 1.5rem; - margin-right: 1.5rem; - } -} diff --git a/src/app/geosource/components/research/research.component.spec.ts b/src/app/geosource/components/research/research.component.spec.ts deleted file mode 100644 index c4ea8abd..00000000 --- a/src/app/geosource/components/research/research.component.spec.ts +++ /dev/null @@ -1,45 +0,0 @@ -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 { DatasetResearchService, ElasticsearchService } from '../../services'; -import { HttpClientModule } from '@angular/common/http'; -import { ErrorService, NotificationService } from '../../../core/services'; -import { StorageService } from '../../../core/services/storage.service'; - -describe('ResearchComponent', () => { - let component: ResearchComponent; - let fixture: ComponentFixture<ResearchComponent>; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [ - RouterTestingModule.withRoutes([]), - HttpClientModule, - ], - declarations: [ - ResearchComponent, - MockComponent({ selector: 'app-results' }), - ], - providers: [ - DatasetResearchService, - ElasticsearchService, - ErrorService, - StorageService, - NotificationService, - ], - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(ResearchComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/geosource/components/research/research.component.ts b/src/app/geosource/components/research/research.component.ts deleted file mode 100644 index f0da7a24..00000000 --- a/src/app/geosource/components/research/research.component.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { DatasetResearchService } from '../../services'; -import { Router } from '@angular/router'; -import { AppRoutes } from '../../../routes'; - -@Component({ - selector: 'app-research', - templateUrl: './research.component.html', - styleUrls: ['./research.component.scss'], -}) -export class ResearchComponent implements OnInit { - - constructor( - private _datasetResearchService: DatasetResearchService, - private _router: Router, - ) { } - - ngOnInit() { - this._datasetResearchService.searchChange$.subscribe(() => { - // Redirect to Dataset list if this is not the current page - if (this._router.url.split('/').pop() !== AppRoutes.research.uri) { - this._router.navigate(['/', AppRoutes.research.uri]); - } - }); - } - -} diff --git a/src/app/geosource/geosource.module.ts b/src/app/geosource/geosource.module.ts deleted file mode 100644 index 56960311..00000000 --- a/src/app/geosource/geosource.module.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { NgModule, ModuleWithProviders } from '@angular/core'; -import { CommonModule, DatePipe } from '@angular/common'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { GeosourceRoutingModule } from './geosource-routing.module'; -import { GeosourceComponents, SearchBarComponent } from './components'; -import { GeosourceServices, DatasetResearchService } from './services'; -import { SharedModule } from '../shared/shared.module'; -import { MapModule } from '../map/map.module'; -import { InlineSVGModule } from 'ng-inline-svg'; -import { InfiniteScrollModule } from 'ngx-infinite-scroll'; -import { GeosourceResolvers } from './resolvers'; - -@NgModule({ - imports: [ - CommonModule, - GeosourceRoutingModule, - FormsModule, - SharedModule, - ReactiveFormsModule, - InfiniteScrollModule, - MapModule, - InlineSVGModule.forRoot(), - ], - declarations: [...GeosourceComponents], - providers: [ - ...GeosourceServices, - DatePipe, - ], - exports: [ - SearchBarComponent, - ], -}) -export class GeosourceModule { - static forRoot(): ModuleWithProviders { - return { - ngModule: GeosourceModule, - providers: [DatasetResearchService, GeosourceResolvers], - }; - } -} diff --git a/src/app/geosource/models/dataset-service.model.ts b/src/app/geosource/models/dataset-service.model.ts deleted file mode 100644 index dcda6a32..00000000 --- a/src/app/geosource/models/dataset-service.model.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface DatasetService { - key: string; - title: string; - subtitle: string; - description: string; - url: string; -} diff --git a/src/app/geosource/models/elasticsearch-response.model.ts b/src/app/geosource/models/elasticsearch-response.model.ts deleted file mode 100644 index b109cd09..00000000 --- a/src/app/geosource/models/elasticsearch-response.model.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { IElasticsearchHit } from '.'; - -export interface IElasticsearchResponse { - 'took': number; - 'hits': { - 'total': number, - 'max_score': number, - 'hits': IElasticsearchHit[], - }; - 'suggest': any; - 'aggregations': any; -} diff --git a/src/app/geosource/models/index.ts b/src/app/geosource/models/index.ts deleted file mode 100644 index 82b7f940..00000000 --- a/src/app/geosource/models/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export { IMetadata, IMetadataLink, Metadata, IResponsibleParty } from './metadata.model'; -export { IElasticsearchResponse } from './elasticsearch-response.model'; -export { IDataset, Dataset } from './dataset.model'; -export { IElasticsearchHit } from './elasticsearch-hit.model'; -export { ISortOption } from './sort-option.model'; -export { ElasticsearchOptions, IElasticsearchOptions } from './elasticsearch-options.model'; -export { Filter } from './filter.model'; -export { IHighlights, Highlights } from './highlights.model'; -export { SearchCompletion } from './search-completion.model'; -export { SearchSuggestion } from './suggestion.model'; -export { Data } from './data.model'; -export { DatasetChild } from './dataset-child.model'; -export { Resource, IResource } from './resource.model'; -export { IEditorialMetadata, EditorialMetadata } from './editorial-metadata.model'; diff --git a/src/app/geosource/services/dataset-detail.service.spec.ts b/src/app/geosource/services/dataset-detail.service.spec.ts deleted file mode 100644 index 7c59c1d5..00000000 --- a/src/app/geosource/services/dataset-detail.service.spec.ts +++ /dev/null @@ -1,3 +0,0 @@ -describe('DatasetDetailService', () => { - -}); diff --git a/src/app/geosource/services/dataset-research.service.spec.ts b/src/app/geosource/services/dataset-research.service.spec.ts deleted file mode 100644 index b9e9930e..00000000 --- a/src/app/geosource/services/dataset-research.service.spec.ts +++ /dev/null @@ -1,3 +0,0 @@ -describe('DatasetResearchService', () => { - -}); diff --git a/src/app/geosource/services/elasticsearch-response-mock.json b/src/app/geosource/services/elasticsearch-response-mock.json deleted file mode 100644 index 890ce005..00000000 --- a/src/app/geosource/services/elasticsearch-response-mock.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "took": 2, - "timed_out": false, - "_shards": { - "total": 12, - "successful": 12, - "skipped": 0, - "failed": 0 - }, - "hits": { - "total": 0, - "max_score": 0.0, - "hits": [] - }, - "suggest": { - "title": [ - { - "text": "a", - "offset": 0, - "length": 1, - "options": [ - { - "text": "Aire d'accueil des gens du voyage (Métropole de Ly", - "_index": "00d2adf.full.v3", - "_type": "_doc", - "id": "74243c0", - "_score": 1.0 - }, - { - "text": "Altitude d'une courbe de niveau maîtresse (Altimét", - "_index": "07504f8.full.v3", - "_type": "_doc", - "id": "113ca3b", - "_score": 1.0 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/src/app/geosource/services/elasticsearch.service.spec.ts b/src/app/geosource/services/elasticsearch.service.spec.ts deleted file mode 100644 index ec818a41..00000000 --- a/src/app/geosource/services/elasticsearch.service.spec.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { ElasticsearchService } from './elasticsearch.service'; -import { HttpClient } from '@angular/common/http'; -import { ErrorService } from '../../core/services'; -import { of, throwError } from 'rxjs'; -import * as json from './elasticsearch-response-mock.json'; -import { SearchCompletion } from '../models'; -import { StorageService } from '../../core/services/storage.service'; - -function buildAutoCompleteRequest(text) { - return { - body: { - _source: false, - suggest: { - title: { - prefix: text, - completion: { - field: 'metadata-fr.title.suggest', - size: 3, - fuzzy: { - fuzziness: 2, - }, - skip_: true, - }, - }, - }, - }, - }; -} - -const options: SearchCompletion[] = [ - { - text: 'Aire d\'accueil des gens du voyage (Métropole de Ly', - _index: '00d2adf.full.v3', - id: '74243c0', - _score: 1.0, - }, - { - text: 'Altitude d\'une courbe de niveau maîtresse (Altimét', - _index: '07504f8.full.v3', - id: '113ca3b', - _score: 1.0, - }, -]; - -describe('ElasticsearchService', () => { - - let service: ElasticsearchService; - let httpClientMock: HttpClient; - let errorServiceMock: ErrorService; - let storageServiceMock: StorageService; - - beforeEach(() => { - - httpClientMock = jasmine.createSpyObj('HttpClient', { - request: of(json), - }); - - storageServiceMock = jasmine.createSpyObj('StorageService', { - request: of(json), - }); - - errorServiceMock = jasmine.createSpyObj('ErrorService', { - handleError: (err, options) => { return new Error(options.message); }, - }); - - service = new ElasticsearchService(errorServiceMock, storageServiceMock, httpClientMock); - }); - - // describe('getAutoComplete(string)', () => { - - // it('should return an array of SearchCompletion', () => { - // // given - // const text = 'arbre'; - - // // when - // const observable = service.getAutoComplete(text); - - // // then - // expect(observable).toBeTruthy(); // not oundefined or null - // observable.subscribe((result) => { - // expect(result.length).toBe(2); - // expect(result).toContain(jasmine.objectContaining(options[0])); - // expect(result).toContain(jasmine.objectContaining(options[1])); - // }); - // expect(httpClientMock.request).toHaveBeenCalledWith( - // 'POST', - // jasmine.any(String), - // buildAutoCompleteRequest(text), - // ); - // }); - - // it('should return an error when httpClient return an error', () => { - // // given - // const text = 'arbre'; - // const expectedError = new Error('error'); - // httpClientMock.request = jasmine.createSpy('request').and.returnValue(throwError(expectedError)); - // // when - // const observable = service.getAutoComplete(text); - - // // then - // observable.subscribe( - // (result) => { - // fail('Should have returned an error'); - // }, - // (err) => { - // expect(err).toBeTruthy(); - // }, - // ); - // }); - // }); -}); diff --git a/src/app/geosource/services/index.ts b/src/app/geosource/services/index.ts deleted file mode 100644 index 83cf1b63..00000000 --- a/src/app/geosource/services/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { DatasetResearchService } from './dataset-research.service'; -import { DatasetDetailService } from './dataset-detail.service'; -import { ElasticsearchService } from './elasticsearch.service'; -import { ResourcesService } from './resources.service'; - -export { DatasetResearchService, DatasetDetailService, ElasticsearchService, ResourcesService }; - -// tslint:disable-next-line:variable-name -export const GeosourceServices = [ - // DatasetResearchService, - DatasetDetailService, - ElasticsearchService, - ResourcesService, -]; diff --git a/src/app/map/components/map.component.ts b/src/app/map/components/map.component.ts index 2d318b99..24631886 100644 --- a/src/app/map/components/map.component.ts +++ b/src/app/map/components/map.component.ts @@ -1,12 +1,12 @@ -import { Component, OnInit, OnDestroy, Input } from '@angular/core'; +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; import * as mapboxgl from 'mapbox-gl'; import { Subscription } from 'rxjs'; -import { MapService } from '../services/map.service'; -import { settings } from '../settings'; import { geosource } from '../../../i18n/traductions'; -import { linkFormats } from '../../geosource/models/metadata.model'; -import { GeocoderService } from '../services/geocoder.service'; +import { linkFormats } from '../../elasticsearch/models'; import { MapOptions } from '../models/map-options'; +import { GeocoderService } from '../services/geocoder.service'; +import { MapService } from '../services/map.service'; +import { settings } from '../settings'; @Component({ selector: 'app-map', diff --git a/src/app/routes.ts b/src/app/routes.ts index 762fe762..b67ad37a 100644 --- a/src/app/routes.ts +++ b/src/app/routes.ts @@ -182,13 +182,6 @@ export const AppRoutes = { en: 'Drafts', }, }, - research: { - uri: 'recherche', - title: { - fr: 'Recherche', - en: 'Research', - }, - }, datasets: { uri: 'jeux-de-donnees', title: { diff --git a/src/app/user/components/access-management/available-data/available-data.component.ts b/src/app/user/components/access-management/available-data/available-data.component.ts index 6c0c1db3..1e44d174 100644 --- a/src/app/user/components/access-management/available-data/available-data.component.ts +++ b/src/app/user/components/access-management/available-data/available-data.component.ts @@ -5,9 +5,9 @@ import { IService, IRestrictedAccessDataset, ServiceAccess, Resource, IResource import { Notification } from '../../../../core/models'; import { forkJoin } from 'rxjs'; import { notificationMessages } from '../../../../../i18n/traductions'; -import { ElasticsearchService } from '../../../../geosource/services'; import { AppRoutes } from '../../../../routes'; import { Router } from '@angular/router'; +import { ElasticsearchService } from '../../../../elasticsearch/services/elasticsearch.service'; @Component({ selector: 'app-available-data', @@ -296,7 +296,7 @@ export class AvailableDataComponent implements OnInit { // because only authenticated users are supposed to access this component handle401(err) { if (err && err.status === 401) { - this._router.navigate(['/', AppRoutes.signin.uri]); + this._router.navigate(['/', AppRoutes.signin.uri]); } } diff --git a/src/app/user/components/access-management/user-services/user-services.component.ts b/src/app/user/components/access-management/user-services/user-services.component.ts index 6f457472..1c5d0e56 100644 --- a/src/app/user/components/access-management/user-services/user-services.component.ts +++ b/src/app/user/components/access-management/user-services/user-services.component.ts @@ -5,9 +5,9 @@ import { forkJoin } from 'rxjs'; import { Notification } from '../../../../core/models'; import { notificationMessages, userServicesStatuses } from '../../../../../i18n/traductions'; import { UserServicesService } from '../../../services/user-services.service'; -import { ElasticsearchService } from '../../../../geosource/services'; import { AppRoutes } from '../../../../routes'; import { Router } from '@angular/router'; +import { ElasticsearchService } from '../../../../elasticsearch/services/elasticsearch.service'; @Component({ selector: 'app-user-services', @@ -327,7 +327,7 @@ export class UserServicesComponent implements OnInit { // because only authenticated users are supposed to access this component handle401(err) { if (err && err.status === 401) { - this._router.navigate(['/', AppRoutes.signin.uri]); + this._router.navigate(['/', AppRoutes.signin.uri]); } } } diff --git a/src/assets/config/config.json b/src/assets/config/config.json index 39d00c9b..8de45706 100644 --- a/src/assets/config/config.json +++ b/src/assets/config/config.json @@ -1,6 +1,6 @@ { "backendUrls": { - "organizations": "http://localhost:3000/organizations", + "organizations": "https://kong-dev.alpha.grandlyon.com/organizations", "resources": "http://localhost:3003", "changelog": "http://localhost:3007", "credits": "https://kong-dev.alpha.grandlyon.com/credits/credits", diff --git a/src/tsconfig.app.json b/src/tsconfig.app.json index 39ba8dba..213ce42a 100644 --- a/src/tsconfig.app.json +++ b/src/tsconfig.app.json @@ -10,4 +10,4 @@ "test.ts", "**/*.spec.ts" ] -} +} \ No newline at end of file -- GitLab