diff --git a/package-lock.json b/package-lock.json index f32b209fa64af723d99a0d70f31e726f0671234c..26641ad5228a31dc8fa5ce002c0b30c3818741cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5700,12 +5700,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5720,17 +5722,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -5847,7 +5852,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -5859,6 +5865,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -5873,6 +5880,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5880,12 +5888,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -5904,6 +5914,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -5984,7 +5995,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -5996,6 +6008,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -6117,6 +6130,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", diff --git a/src/app/editorialisation/services/organizations.service.ts b/src/app/editorialisation/services/organizations.service.ts index e49ff10a6021a4e717ddc757c601a60636ef6482..1074937e839c7452c47069e65d2b1d2d424bc622 100644 --- a/src/app/editorialisation/services/organizations.service.ts +++ b/src/app/editorialisation/services/organizations.service.ts @@ -13,7 +13,7 @@ export class OrganizationsService { ) { } getOrganizations() { - return this._httpClient.get<IOrganization[]>(environment.backend.url + '/organizations').pipe( + return this._httpClient.get<IOrganization[]>(environment.backendUrls.organizations + '/organizations').pipe( map((organizationsBack) => { const organizations = []; organizationsBack.forEach((organization) => { diff --git a/src/app/geosource/components/dataset-detail/dataset-detail.component.html b/src/app/geosource/components/dataset-detail/dataset-detail.component.html index d8cc5afb1b1882826235bba44987272928ed36da..673b66bb16b4038fcc9f81914c180ee1a912642a 100644 --- a/src/app/geosource/components/dataset-detail/dataset-detail.component.html +++ b/src/app/geosource/components/dataset-detail/dataset-detail.component.html @@ -30,7 +30,7 @@ </a> </li> <li [routerLinkActive]="'is-active'"> - <a (click)="setPosition()" [routerLink]="[AppRoutes.export.uri]"> + <a (click)="setPosition()" [routerLink]="[AppRoutes.resources.uri]"> <span i18n="@@dataset.detail.resources">Resources</span> </a> </li> diff --git a/src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.html b/src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.html deleted file mode 100644 index d75b6fa8dda7365e5e275667e3d04aab2ffad18d..0000000000000000000000000000000000000000 --- a/src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.html +++ /dev/null @@ -1,61 +0,0 @@ -<div class="columns is-centered"> - <div class="card column is-half licence"> - <header class="card-header"> - <p class="card-header-title" i18n="@@dataset.services.intro"> - Consume our services and access related data - </p> - </header> - <div class="card-content"> - <div class="unlock-icon has-text-centered"> - <span class="icon"> - <i class="fas fa-unlock"></i> - </span> - </div> - <div class="license-link"> - <p class="has-text-justified" > - <span i18n="@@dataset.services.license.pt1">This data set is subject to </span> - <a (click)="toggleLicenseModal()" i18n="@@dataset.services.license.pt2">Open license</a>, - <span i18n="@@dataset.services.license.pt3"> you can consume the associated services without prior authorization. For more details on the use of the services available on this portal, go to the documentation.</span> - </p> - </div> - </div> - </div> -</div> - -<div class="columns"> - <div class="column"> - <h4 i18n="@@dataset.services.queryableTitle"> - Queryable services - </h4> - <p i18n="@@dataset.services.queryableText">Utilisez nos services requêtables afin de composer le jeu de données qui vous intéresse</p> - </div> -</div> -<div class="columns services" *ngIf="services"> - <div class="column is-4" *ngIf="services.wms"> - <app-dataset-service-detail [service]="services.wms"></app-dataset-service-detail> - </div> - <div class="column is-4" *ngIf="services.wfs"> - <app-dataset-service-detail [service]="services.wfs"></app-dataset-service-detail> - </div> -</div> - -<div class="columns"> - <div class="column"> - <h4 i18n="@@dataset.services.downloadableTitle"> - Services de téléchargement - </h4> - <p i18n="@@dataset.services.downloadableText"> - Utilisez les services de téléchargement pour récupérer les données sur votre appareil - </p> - </div> -</div> -<div class="columns services" *ngIf="services"> - <div class="column is-4" *ngIf="services.pdf" gIf="services.pdf"> - <app-dataset-service-detail [service]="services.pdf"></app-dataset-service-detail> - </div> - <div class="column is-4" *ngIf="services.json"> - <app-dataset-service-detail [service]="services.json"></app-dataset-service-detail> - </div> -</div> - -<app-license-modal (close)="toggleLicenseModal()" [isOpen]="displayLicenseModal"></app-license-modal> diff --git a/src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.ts b/src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.ts deleted file mode 100644 index 88437390cdff384ff923c7b2933034a99f6b598a..0000000000000000000000000000000000000000 --- a/src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; -import { DatasetDetailService } from '../../../services'; -import { Metadata } from '../../../models'; -import { Subscription } from 'rxjs'; -import { linkFormats } from '../../../models/metadata.model'; -import { geosource } from '../../../../../i18n/geosource/geosource'; - -@Component({ - selector: 'app-dataset-export', - templateUrl: './dataset-export.component.html', - styleUrls: ['./dataset-export.component.scss'], -}) -export class DatasetExportComponent implements OnInit, OnDestroy { - - metadata: Metadata; - services: any; - displayLicenseModal = false; - sub: Subscription; - - constructor( - private _datasetDetailService: DatasetDetailService, - ) { } - - ngOnInit() { - this.initialize(); - this.sub = this._datasetDetailService.dataset$.subscribe(() => { - this.initialize(); - }); - } - - ngOnDestroy() { - this.sub.unsubscribe(); - } - - initialize() { - this.metadata = this._datasetDetailService.datasetMetadata; - if (this.metadata) { - this.services = {}; - this.metadata.link.forEach((link) => { - if (link.protocol === linkFormats.wfs) { - this.services['wfs'] = { - key: 'wfs', - title: geosource.datasetServices.wfsTitle, - subtitle: geosource.datasetServices.wfsSubtitle, - description: geosource.datasetServices.wfsDescription, - url: link.url, - }; - } else if (link.protocol === linkFormats.wms) { - this.services['wms'] = { - key: 'wms', - title: geosource.datasetServices.wmsTitle, - subtitle: geosource.datasetServices.wmsSubtitle, - description: geosource.datasetServices.wmsDescription, - url: link.url, - }; - } else if (link.protocol === linkFormats.pdf) { - this.services['pdf'] = { - key: 'pdf', - title: geosource.datasetServices.pdfTitle, - subtitle: geosource.datasetServices.pdfSubtitle, - description: link.description, - url: link.url, - }; - } else if (link.protocol === linkFormats.json) { - this.services['json'] = { - key: 'json', - title: geosource.datasetServices.jsonTitle, - subtitle: geosource.datasetServices.jsonSubtitle, - description: link.description, - url: link.url, - }; - } - }); - } - } - - toggleLicenseModal() { - this.displayLicenseModal = !this.displayLicenseModal; - } - -} diff --git a/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.html b/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.html new file mode 100644 index 0000000000000000000000000000000000000000..6d0de360af342f828586f4d1dc979e09f0d0b282 --- /dev/null +++ b/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.html @@ -0,0 +1,80 @@ +<ng-container *ngIf="metadata"> + + + <div class="columns is-centered"> + <div class="card column is-half licence"> + <header class="card-header"> + <p class="card-header-title" i18n="@@dataset.services.intro"> + Consume our services and access related data + </p> + </header> + <div class="card-content"> + <div class="unlock-icon has-text-centered"> + <span class="icon"> + <i class="fas fa-unlock"></i> + </span> + </div> + <div class="license-link"> + <p class="has-text-justified"> + <span i18n="@@dataset.services.license.pt1">This data set is subject to </span> + <a (click)="toggleLicenseModal()" i18n="@@dataset.services.license.pt2">Open license</a>, + <span i18n="@@dataset.services.license.pt3"> you can consume the associated services without prior + authorization. For more details on the use of the services available on this portal, go to the + documentation.</span> + </p> + </div> + </div> + </div> + </div> + + + <div class="columns is-multiline"> + <div class="column is-12 title-resource" (click)="queryablePanelOpen = !queryablePanelOpen"> + + <span class="icon"> + <i class="fas fa-wrench fa-lg"></i> + </span> + <div>Queryable Resources</div> + <div class="open-close"> + <span class="icon" *ngIf="queryablePanelOpen"> + <i class="fas fa-minus fa-lg"></i> + </span> + <span class="icon" *ngIf="!queryablePanelOpen"> + <i class="fas fa-plus fa-lg"></i> + </span></div> + + </div> + <ng-container *ngIf="queryablePanelOpen"> + <div class="column is-12 resource" *ngFor="let resource of queryableResources"> + <div><strong>{{ resource.name }}</strong> - {{ resource.description }}</div> + <div>{{ resource.metadataLink.url }}</div> + </div> + </ng-container> + </div> + + <div class="columns is-multiline"> + <div class="column is-12 title-resource" (click)="downloadablePanelOpen = !downloadablePanelOpen"> + <span class="icon"> + <i class="far fa-arrow-alt-circle-down fa-lg"></i> + </span> + Downloadable Resources + <div class="open-close"> + <span class="icon" *ngIf="downloadablePanelOpen"> + <i class="fas fa-minus fa-lg"></i> + </span> + <span class="icon" *ngIf="!downloadablePanelOpen"> + <i class="fas fa-plus fa-lg"></i> + </span> + </div> + </div> + <ng-container *ngIf="downloadablePanelOpen"> + <div class="column is-12 resource" *ngFor="let resource of downloadableResources"> + <div><strong>{{ resource.name }}</strong></div> + <div>{{ resource.metadataLink.url }}</div> + </div> + </ng-container> + </div> + + <app-license-modal (close)="toggleLicenseModal()" [isOpen]="displayLicenseModal"></app-license-modal> + +</ng-container> diff --git a/src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.scss b/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.scss similarity index 50% rename from src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.scss rename to src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.scss index 684d879a77d4b95ca82b50ec68813bbd7e7839d5..f64d4559153b919ffb651c71887db156fd763115 100644 --- a/src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.scss +++ b/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.scss @@ -1,3 +1,6 @@ +@import "../../../../../scss/variables"; +@import "../../../../../../node_modules/bulma/sass/utilities/_all"; + .licence { margin-top: 2rem; } @@ -36,3 +39,24 @@ h4 { color: 'black'; } } + +.title-resource { + background-color: white; + color: $red; +} + +div.title-resource { + cursor: pointer; + display: flex; + .icon:first-of-type { + padding-right: 10px; + } + .open-close { + margin-left: auto; + } +} + +.resource { + background-color: #f9f9f9; + border-bottom: 1px solid lightgrey; +} diff --git a/src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.spec.ts b/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.spec.ts similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-export/dataset-export.component.spec.ts rename to src/app/geosource/components/dataset-detail/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/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..79b53dd7b43bb599bb87551abbbc0afb29ab168b --- /dev/null +++ b/src/app/geosource/components/dataset-detail/dataset-resources/dataset-resources.component.ts @@ -0,0 +1,76 @@ +import { Component, OnInit, OnDestroy } from '@angular/core'; +import { DatasetDetailService, ResourcesService } from '../../../services'; +import { Metadata, Resource } from '../../../models'; +import { Subscription } from 'rxjs'; +import { linkFormats, IMetadataLink } from '../../../models/metadata.model'; +import { geosource } from '../../../../../i18n/geosource/geosource'; + +@Component({ + selector: 'app-dataset-resources', + templateUrl: './dataset-resources.component.html', + styleUrls: ['./dataset-resources.component.scss'], +}) +export class DatasetResourcesComponent implements OnInit, OnDestroy { + + metadata: Metadata; + resources: Resource[]; + displayLicenseModal = false; + sub: Subscription; + + // To display in the template + queryableResources: Resource[]; + downloadableResources: Resource[]; + + // Variables for open/use resources panels + queryablePanelOpen = true; + downloadablePanelOpen = true; + + constructor( + private _datasetDetailService: DatasetDetailService, + private _resourcesService: ResourcesService, + ) { } + + ngOnInit() { + this.queryableResources = []; + this.downloadableResources = []; + + console.log('ng on inits'); + this.initialize(); + this._resourcesService.getResources().subscribe((resources) => { + this.resources = resources; + this.initialize(); + this.sub = this._datasetDetailService.dataset$.subscribe(() => { + this.initialize(); + }); + }); + } + + ngOnDestroy() { + this.sub.unsubscribe(); + } + + initialize() { + // + console.log(this.resources); + this.metadata = this._datasetDetailService.datasetMetadata; + if (this.metadata !== undefined && this.resources !== undefined) { + this.metadata.link.forEach((link) => { + this.resources.forEach((resource) => { + if (link.protocol === resource.type) { + resource.metadataLink = link; + if (resource.queryable) { + this.queryableResources.push(resource); + } else { + this.downloadableResources.push(resource); + } + } + }); + }); + } + } + + toggleLicenseModal() { + this.displayLicenseModal = !this.displayLicenseModal; + } + +} diff --git a/src/app/geosource/components/dataset-detail/dataset-export/dataset-service-detail/dataset-service-detail.component.html b/src/app/geosource/components/dataset-detail/dataset-resources/dataset-service-detail/dataset-service-detail.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-export/dataset-service-detail/dataset-service-detail.component.html rename to src/app/geosource/components/dataset-detail/dataset-resources/dataset-service-detail/dataset-service-detail.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-export/dataset-service-detail/dataset-service-detail.component.scss b/src/app/geosource/components/dataset-detail/dataset-resources/dataset-service-detail/dataset-service-detail.component.scss similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-export/dataset-service-detail/dataset-service-detail.component.scss rename to src/app/geosource/components/dataset-detail/dataset-resources/dataset-service-detail/dataset-service-detail.component.scss diff --git a/src/app/geosource/components/dataset-detail/dataset-export/dataset-service-detail/dataset-service-detail.component.spec.ts b/src/app/geosource/components/dataset-detail/dataset-resources/dataset-service-detail/dataset-service-detail.component.spec.ts similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-export/dataset-service-detail/dataset-service-detail.component.spec.ts rename to src/app/geosource/components/dataset-detail/dataset-resources/dataset-service-detail/dataset-service-detail.component.spec.ts diff --git a/src/app/geosource/components/dataset-detail/dataset-export/dataset-service-detail/dataset-service-detail.component.ts b/src/app/geosource/components/dataset-detail/dataset-resources/dataset-service-detail/dataset-service-detail.component.ts similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-export/dataset-service-detail/dataset-service-detail.component.ts rename to src/app/geosource/components/dataset-detail/dataset-resources/dataset-service-detail/dataset-service-detail.component.ts diff --git a/src/app/geosource/components/dataset-detail/dataset-export/license-modal/license-modal.component.html b/src/app/geosource/components/dataset-detail/dataset-resources/license-modal/license-modal.component.html similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-export/license-modal/license-modal.component.html rename to src/app/geosource/components/dataset-detail/dataset-resources/license-modal/license-modal.component.html diff --git a/src/app/geosource/components/dataset-detail/dataset-export/license-modal/license-modal.component.scss b/src/app/geosource/components/dataset-detail/dataset-resources/license-modal/license-modal.component.scss similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-export/license-modal/license-modal.component.scss rename to src/app/geosource/components/dataset-detail/dataset-resources/license-modal/license-modal.component.scss diff --git a/src/app/geosource/components/dataset-detail/dataset-export/license-modal/license-modal.component.spec.ts b/src/app/geosource/components/dataset-detail/dataset-resources/license-modal/license-modal.component.spec.ts similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-export/license-modal/license-modal.component.spec.ts rename to src/app/geosource/components/dataset-detail/dataset-resources/license-modal/license-modal.component.spec.ts diff --git a/src/app/geosource/components/dataset-detail/dataset-export/license-modal/license-modal.component.ts b/src/app/geosource/components/dataset-detail/dataset-resources/license-modal/license-modal.component.ts similarity index 100% rename from src/app/geosource/components/dataset-detail/dataset-export/license-modal/license-modal.component.ts rename to src/app/geosource/components/dataset-detail/dataset-resources/license-modal/license-modal.component.ts diff --git a/src/app/geosource/components/index.ts b/src/app/geosource/components/index.ts index c17df9d42af14d770e303e1ffa64c12cf5ea5c79..cc4f073dfd952d78b4b542eff1e0f80a97c6ac91 100644 --- a/src/app/geosource/components/index.ts +++ b/src/app/geosource/components/index.ts @@ -1,10 +1,10 @@ import { DatasetListComponent } from './dataset-list/dataset-list.component'; import { DatasetDetailComponent } from './dataset-detail/dataset-detail.component'; -import { DatasetExportComponent } from './dataset-detail/dataset-export/dataset-export.component'; +import { DatasetResourcesComponent } from './dataset-detail/dataset-resources/dataset-resources.component'; // tslint:disable-next-line:max-line-length -import { DatasetServiceDetailComponent } from './dataset-detail/dataset-export/dataset-service-detail/dataset-service-detail.component'; -import { LicenseModalComponent } from './dataset-detail/dataset-export/license-modal/license-modal.component'; +import { DatasetServiceDetailComponent } from './dataset-detail/dataset-resources/dataset-service-detail/dataset-service-detail.component'; +import { LicenseModalComponent } from './dataset-detail/dataset-resources/license-modal/license-modal.component'; import { DatasetMapComponent } from './dataset-detail/dataset-map/dataset-map.component'; import { DatasetInfoComponent } from './dataset-detail/dataset-info/dataset-info.component'; import { DatasetDataComponent } from './dataset-detail/dataset-data/dataset-data.component'; @@ -20,7 +20,7 @@ import { FilterDetailComponent } from './filter-list/filter-detail/filter-detail export { DatasetDetailComponent, - DatasetExportComponent, + DatasetResourcesComponent, DatasetServiceDetailComponent, LicenseModalComponent, DatasetMapComponent, @@ -39,7 +39,7 @@ export { // tslint:disable-next-line:variable-name export const GeosourceComponents = [ DatasetDetailComponent, - DatasetExportComponent, + DatasetResourcesComponent, DatasetServiceDetailComponent, LicenseModalComponent, DatasetMapComponent, diff --git a/src/app/geosource/geosource-routing.module.ts b/src/app/geosource/geosource-routing.module.ts index d17b00236bc3147b151903bedc4a4d67e74e0fea..ce86eee771eec1741aaa46a51e3b9d908703789c 100644 --- a/src/app/geosource/geosource-routing.module.ts +++ b/src/app/geosource/geosource-routing.module.ts @@ -1,7 +1,7 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { DatasetListComponent, DatasetDetailComponent, ResearchComponent, DatasetInfoComponent, - DatasetMapComponent, DatasetExportComponent, DatasetDataComponent } from './components'; + DatasetMapComponent, DatasetResourcesComponent, DatasetDataComponent } from './components'; import { AppRoutes } from '../routes'; export const routes: Routes = [ @@ -55,10 +55,10 @@ export const routes: Routes = [ }, }, { - path: AppRoutes.export.uri, - component: DatasetExportComponent, + path: AppRoutes.resources.uri, + component: DatasetResourcesComponent, data: { - title: AppRoutes.export.title, + title: AppRoutes.resources.title, }, }, ], diff --git a/src/app/geosource/models/index.ts b/src/app/geosource/models/index.ts index 093078605c95d21fc2a1670432c5872aada6e218..66cb3119727fe6393f653ab4833602a5f2eed814 100644 --- a/src/app/geosource/models/index.ts +++ b/src/app/geosource/models/index.ts @@ -10,3 +10,4 @@ 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'; diff --git a/src/app/geosource/models/resource.model.ts b/src/app/geosource/models/resource.model.ts new file mode 100644 index 0000000000000000000000000000000000000000..e82870346c2cbe54ff2541ebf0aa5807aebfbf1b --- /dev/null +++ b/src/app/geosource/models/resource.model.ts @@ -0,0 +1,32 @@ +import { IMetadataLink } from '.'; + +export interface IResource { + id: number; + name: string; + type: string; + description: string; + queryable: boolean; + downloadable: boolean; + outputFormats: string[]; +} + +export class Resource implements IResource { + id: number; + name: string; + type: string; + description: string; + queryable: boolean; + downloadable: boolean; + outputFormats: string[]; + metadataLink: IMetadataLink; + + constructor(resource? : IResource) { + this.id = resource.id; + this.name = resource.name; + this.type = resource.type; + this.description = resource.description; + this.queryable = resource.queryable; + this.downloadable = resource.downloadable; + this.outputFormats = resource.outputFormats; + } +} diff --git a/src/app/geosource/services/index.ts b/src/app/geosource/services/index.ts index f144d495d9b72590942305db533be96d9632e3d2..83cf1b63254d9c8805e71908c973a25b66770985 100644 --- a/src/app/geosource/services/index.ts +++ b/src/app/geosource/services/index.ts @@ -1,12 +1,14 @@ 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 }; +export { DatasetResearchService, DatasetDetailService, ElasticsearchService, ResourcesService }; // tslint:disable-next-line:variable-name export const GeosourceServices = [ // DatasetResearchService, DatasetDetailService, ElasticsearchService, + ResourcesService, ]; diff --git a/src/app/geosource/services/resources.service.ts b/src/app/geosource/services/resources.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..fbd1897e5829e9e573aaa1a1cbc2d7f1ce81689c --- /dev/null +++ b/src/app/geosource/services/resources.service.ts @@ -0,0 +1,27 @@ +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { environment } from '../../../environments/environment'; +import { map } from 'rxjs/operators'; +import { Resource, IResource } from '../models'; + + +@Injectable() +export class ResourcesService { + + constructor( + private _httpClient: HttpClient, + ) { } + + getResources() { + return this._httpClient.get<IResource[]>(environment.backendUrls.resources + '/resources').pipe( + map((resourcesBack) => { + const resources = []; + resourcesBack.forEach((resource) => { + resources.push(new Resource(resource)); + }); + return resources; + })); + } + + +} \ No newline at end of file diff --git a/src/app/routes.ts b/src/app/routes.ts index 27db92a085df95479d39970f1394e216f8f7ed9b..172ec49a9583aaeeb9ef81eb340f72165493b8b9 100644 --- a/src/app/routes.ts +++ b/src/app/routes.ts @@ -91,11 +91,11 @@ export const AppRoutes = { en: 'Map', }, }, - export: { - uri: 'export', + resources: { + uri: 'resources', title: { - fr: 'Export', - en: 'Export', + fr: 'Ressources', + en: 'Resources', }, }, error: { diff --git a/src/environments/environment.ts b/src/environments/environment.ts index a5259414d400596e255d2fb252b08dd87513f173..54569393454dfdb6272f5f801fd4eb2f03f171bd 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -19,8 +19,9 @@ export const environment = { url: 'https://matomo-intothesky.alpha.grandlyon.com', }, - backend: { - url: 'http://localhost:3000', + backendUrls: { + organizations: 'http://localhost:3000', + resources: 'http://localhost:3001', }, emailService: {