Commit 8d593e39 authored by FORESTIER Fabien's avatar FORESTIER Fabien
Browse files

Merge branch 'feature-398-contribution' into development

parents 5a29d183 7626e137
Pipeline #1741 passed with stages
in 9 minutes and 39 seconds
<div class="page-container has-padding has-white-background">
<div class="page-container has-padding has-white-background is-fullwidth">
<app-page-header [pageInfo]="pageHeaderInfo"></app-page-header>
......
......@@ -72,6 +72,21 @@
<span i18n="@@menu.documentation" class="label-menu">Documentation</span>
</a>
</li>
<li>
<a [routerLink]="['/', AppRoutes.contribution.uri]" routerLinkActive="active-link">
<div class="icon-item">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 23">
<g id="picto_x5F_catalog">
<path d="M15.8 5.3L11.5.2 7 5.4l.8.6L11 2.4v7.9h1V2.4l3 3.5z" class="main" />
<path
d="M13 7v1.1l4.3 1.9-5.8 2.7L5.7 10 10 8.1V7L4.1 9.5v9.8l7.4 3.2 7.4-3.2V9.5L13 7zm-2 14.3l-5.9-2.6v-7.9l5.9 2.7v7.8zm6.9-2.6L12 21.3v-7.8l5.9-2.7v7.9z"
class="main" />
</g>
</svg>
</div>
<span i18n="@@menu.contribution" class="label-menu">Publish a dataset</span>
</a>
</li>
<li>
<a [routerLink]="['/', AppRoutes.beta.uri]" routerLinkActive="active-link">
<div class="icon-item">
......
......@@ -80,13 +80,13 @@
.icon-item {
margin-right: 0.7rem;
width: 1.2rem;
width: 1.45rem;
display: flex;
justify-content: center;
flex-shrink: 0;
svg {
height: 1.2rem;
height: 1.45rem;
.main {
fill: white;
......
<div class="page-container has-padding has-white-background">
<div class="page-container has-padding has-white-background is-fullwidth">
<div class="page-header-container">
<app-page-header [pageInfo]="pageHeaderInfo"></app-page-header>
......@@ -45,8 +45,8 @@
<div class="type-change" *ngIf="changelog.bugFixes && changelog.bugFixes.length > 0">
<p class="type-change-title" i18n="@@changelog.bugfixes">Bug fixes</p>
<ul>
<li *ngFor="let bugFixe of changelog.bugFixes">
{{ bugFixe }}
<li *ngFor="let bugFix of changelog.bugFixes">
{{ bugFix }}
</li>
</ul>
</div>
......
@import '../../../../../node_modules/bulma/sass/utilities/_all.sass';
section.page-container {
display: flex;
@media screen and (max-width: $desktop) {
flex-direction: column;
}
}
.post-section {
background-color: white;
max-width: 100%;
// margin: auto;
padding-left: 1.25rem;
padding-right: 1.25rem;
padding-bottom: 4rem;
// To remove the margin fusion with the h1
overflow: hidden;
flex-grow: 1;
// @media screen and (min-width: $tablet) {
// margin-top: 1rem;
// max-width: 680px;
// }
h1 {
font-size: 2rem;
font-weight: bold;
line-height: 1.2;
padding: 1rem;
}
.feature-image {
margin-right: -1.25rem;
margin-left: -1.25rem;
}
}
.link-section {
flex-shrink: 0;
margin-left: 1rem;
@media screen and (max-width: $desktop) {
margin-left: 0;
margin-top: 1rem;
width: unset;
max-width: 100%;
padding: 1rem 1rem 0 1rem;
}
@media screen and (min-width: $desktop) {
width: 33%;
}
@media screen and (min-width: $widescreen) {
width: 25%;
}
.page-link {
background-color: white;
padding: 0.625rem;
margin-bottom: 1rem;
display: flex;
align-items: center;
border-radius: 4px;
img {
margin-right: 1rem;
}
span {
font-weight: bold;
font-size: 1.125rem;
}
}
}
@import '../../../../../node_modules/bulma/sass/utilities/_all.sass';
@import './../../../../scss/variables.scss';
section.page-container {
display: flex;
justify-content: center;
@media screen and (max-width: $desktop) {
flex-direction: column;
}
}
.post-section {
background-color: white;
max-width: 680px;
padding-left: 1.25rem;
padding-right: 1.25rem;
padding-bottom: 4rem;
// To remove the margin fusion with the h1
overflow: hidden;
flex-grow: 1;
h1 {
font-size: 2rem;
font-weight: bold;
line-height: 1.2;
padding: 1rem;
}
.feature-image {
margin-right: -1.25rem;
margin-left: -1.25rem;
img {
min-width: 100%;
border-radius: 4px;
}
}
}
.relations-section {
flex-shrink: 0;
margin-left: 1rem;
@media screen and (max-width: $desktop) {
max-width: 680px;
margin-left: 0;
margin-top: 1rem;
padding: 0 1rem 0 1rem;
width: 100%;
max-width: 680px;
}
@media screen and (min-width: $desktop) {
width: 33%;
position: sticky;
top: 86px;
height: 100%;
}
@media screen and (min-width: $widescreen) {
......@@ -61,7 +27,7 @@ section.page-container {
font-size: 1.25rem;
font-weight: 600;
color: $grey-dark-color;
margin: 1rem 0;
margin: 1rem 0 1rem 1rem;
display: block;
}
......
<section class="page-container">
<div class="post-section">
<app-page-header [pageInfo]="pageHeaderInfo"></app-page-header>
<div class="feature-image">
<img src="./assets/img/illu-contributions.svg" alt="Illustrationde la contribution">
</div>
<p class="section-title" i18n="@@contribution.title">Do you want to contribute?</p>
<p i18n="@@contribution.mainText">We support you in the formalization of your datasets, in the attribution of his
license, until
its publication on the portal.</p>
<div class="contribution-btn-wrapper">
<button class="button button-gl" i18n="@@contribution.contactUs">Contactez-nous</button>
</div>
</div>
<div class="link-section" *ngIf="links">
<ng-container *ngFor="let link of links">
<a class="page-link" [routerLink]="link.url">
<img [src]="link.img" [alt]="link.imgAlt">
<span>{{ link.title }}</span>
</a>
</ng-container>
</div>
</section>
\ No newline at end of file
@import '../../../../../node_modules/bulma/sass/utilities/_all.sass';
p {
font-size: 1rem;
}
.section-title {
margin-top: 1rem;
margin-bottom: 0.5rem;
font-weight: bold;
font-size: 1.125rem;
}
.contribution-btn-wrapper {
text-align: center;
}
.button-gl {
width: 290px;
max-width: 100%;
margin-top: 2rem;
}
import { Component, OnInit } from '@angular/core';
import { IPageHeaderInfo } from '../../../shared/models';
import { ICMSPageLinks } from '../../../shared/models/cms-page.model';
import { ActivatedRoute } from '@angular/router';
import { pageTitles } from '../../../../i18n/traductions';
@Component({
selector: 'app-contribution',
templateUrl: './contribution.component.html',
styleUrls: ['./contribution.component.scss'],
})
export class ContributionComponent implements OnInit {
pageHeaderInfo: IPageHeaderInfo = {
title: '',
};
links: ICMSPageLinks;
constructor(
private _route: ActivatedRoute,
) {
}
ngOnInit() {
this._route.data.subscribe((data) => {
this.pageHeaderInfo.hasBetaStyle = data.hasBetaStyle;
this.links = data.links;
this.pageHeaderInfo.title = pageTitles.contribution;
});
}
}
......@@ -7,6 +7,7 @@ import { OrganizationsComponent } from './organizations/organizations.component'
import { CreditsComponent } from './credits/credits.component';
import { SiteMapComponent } from './site-map/site-map.component';
import { ChangelogComponent } from './changelog/changelog.component';
import { ContributionComponent } from './contribution/contribution.component';
export {
......@@ -18,6 +19,7 @@ export {
CreditsComponent,
SiteMapComponent,
ChangelogComponent,
ContributionComponent,
};
// tslint:disable-next-line:variable-name
......@@ -30,4 +32,5 @@ export const EditorialisationComponents = [
CreditsComponent,
SiteMapComponent,
ChangelogComponent,
ContributionComponent,
];
<div class="page-container">
<div class="page-container is-fullwidth">
<div class="page-header-container">
<app-page-header [pageInfo]="pageHeaderInfo"></app-page-header>
<p class="description">
<ng-container i18n="@@organizations.description">The Lyon Metropolitan Area has opened its portal to all stakeholders in the region who wish to distribute their data, in open data or restricted access. If you wish to make your data available on this shared platform, do not hesitate to </ng-container>
<a [routerLink]="['/', AppRoutes.contact.uri]" i18n="@@organizations.contactus">contact us</a>.
</p>
<app-page-header [pageInfo]="pageHeaderInfo"></app-page-header>
<p class="description">
<ng-container i18n="@@organizations.description">The Lyon Metropolitan Area has opened its portal to all
stakeholders in the region who wish to distribute their data, in open data or restricted access. If you wish to
make your data available on this shared platform, do not hesitate to </ng-container>
<a [routerLink]="['/', AppRoutes.contact.uri]" i18n="@@organizations.contactus">contact us</a>.
</p>
</div>
<div class="masonry">
......@@ -29,17 +31,17 @@
<div class="column is-12" *ngIf="organization.datasetsCount">
<button class="button btn-blue-text"
(click)="researchDatasetsWithOrganizationFilter(organization.elasticSearchName)">
<span class="count"> {{ organization.datasetsCount }} </span>
<span i18n="@@organizations.datasets.plural" *ngIf="organization.datasetsCount > 1">datasets</span>
<span i18n="@@organizations.datasets.singular" *ngIf="organization.datasetsCount < 2">dataset</span>
<span class="count"> {{ organization.datasetsCount }} </span>
<span i18n="@@organizations.datasets.plural" *ngIf="organization.datasetsCount > 1">datasets</span>
<span i18n="@@organizations.datasets.singular" *ngIf="organization.datasetsCount < 2">dataset</span>
</button>
</div>
<div class="column is-12" *ngIf="organization.servicesCount">
<button class="button btn-blue-text"
(click)="researchServicesWithOrganizationFilter(organization.elasticSearchName)">
<span class="count"> {{ organization.servicesCount }} </span>
<span i18n="@@organizations.services.plural" *ngIf="organization.datasetsCount > 1">services</span>
<span i18n="@@organizations.services.singular" *ngIf="organization.datasetsCount < 2">service</span>
<span class="count"> {{ organization.servicesCount }} </span>
<span i18n="@@organizations.services.plural" *ngIf="organization.datasetsCount > 1">services</span>
<span i18n="@@organizations.services.singular" *ngIf="organization.datasetsCount < 2">service</span>
</button>
</div>
</div>
......
<div class="page-container has-padding has-white-background">
<div class="page-container has-padding has-white-background is-fullwidth">
<app-page-header [pageInfo]="pageHeaderInfo"></app-page-header>
<div class="columns">
......
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import {
HomeComponent, OrganizationsComponent, CMSPageComponent, CMSDraftsListComponent, SiteMapComponent, ChangelogComponent,
HomeComponent, OrganizationsComponent, CMSPageComponent, CMSDraftsListComponent, SiteMapComponent, ChangelogComponent, ContributionComponent,
} from './components';
import { CMSPostDetailComponent } from './components/cms-post-detail/cms-post-detail.component';
import { PostDetailResolver } from './resolvers/post-detail.resolver';
......@@ -51,6 +51,26 @@ export const routes: Routes = [
data: {
title: AppRoutes.cgu.title,
uri: AppRoutes.cgu.uri,
links: [
{
title: cmsPageLink.providers.title,
url: `/${AppRoutes.dataProducers.uri}`,
img: './assets/img/picto-producteur.svg',
imgAlt: cmsPageLink.providers.imgAlt,
},
{
title: cmsPageLink.contact.title,
url: `/${AppRoutes.contact.uri}`,
img: './assets/img/picto-contact.svg',
imgAlt: cmsPageLink.contact.imgAlt,
},
{
title: cmsPageLink.documentation.title,
url: `/${AppRoutes.documentation.uri}`,
img: './assets/img/picto-doc.svg',
imgAlt: cmsPageLink.documentation.imgAlt,
},
],
},
},
{
......@@ -66,6 +86,26 @@ export const routes: Routes = [
data: {
title: AppRoutes.accessibility.title,
uri: AppRoutes.accessibility.uri,
links: [
{
title: cmsPageLink.providers.title,
url: `/${AppRoutes.dataProducers.uri}`,
img: './assets/img/picto-producteur.svg',
imgAlt: cmsPageLink.providers.imgAlt,
},
{
title: cmsPageLink.contact.title,
url: `/${AppRoutes.contact.uri}`,
img: './assets/img/picto-contact.svg',
imgAlt: cmsPageLink.contact.imgAlt,
},
{
title: cmsPageLink.documentation.title,
url: `/${AppRoutes.documentation.uri}`,
img: './assets/img/picto-doc.svg',
imgAlt: cmsPageLink.documentation.imgAlt,
},
],
},
},
{
......@@ -122,6 +162,26 @@ export const routes: Routes = [
data: {
title: AppRoutes.documentation.title,
uri: AppRoutes.documentation.uri,
links: [
{
title: cmsPageLink.providers.title,
url: `/${AppRoutes.dataProducers.uri}`,
img: './assets/img/picto-producteur.svg',
imgAlt: cmsPageLink.providers.imgAlt,
},
{
title: cmsPageLink.contact.title,
url: `/${AppRoutes.contact.uri}`,
img: './assets/img/picto-contact.svg',
imgAlt: cmsPageLink.contact.imgAlt,
},
{
title: cmsPageLink.approach.title,
url: `/${AppRoutes.approach.uri}`,
img: './assets/img/picto-approach.svg',
imgAlt: cmsPageLink.approach.imgAlt,
},
],
},
},
{
......@@ -188,6 +248,34 @@ export const routes: Routes = [
],
},
},
{
path: AppRoutes.contribution.uri,
component: ContributionComponent,
data: {
title: AppRoutes.contribution.title,
uri: AppRoutes.contribution.uri,
links: [
{
title: cmsPageLink.providers.title,
url: `/${AppRoutes.dataProducers.uri}`,
img: './assets/img/picto-producteur.svg',
imgAlt: cmsPageLink.providers.imgAlt,
},
{
title: cmsPageLink.contact.title,
url: `/${AppRoutes.contact.uri}`,
img: './assets/img/picto-contact.svg',
imgAlt: cmsPageLink.contact.imgAlt,
},
{
title: cmsPageLink.documentation.title,
url: `/${AppRoutes.documentation.uri}`,
img: './assets/img/picto-doc.svg',
imgAlt: cmsPageLink.documentation.imgAlt,
},
],
},
},
];
@NgModule({
......
<div class="page-details-background-image"></div>
<div class="page-container has-white-background" *ngIf="metadata" [ngClass]="{'blury' : isLoading}">
<div class="page-container has-white-background is-fullwidth" *ngIf="metadata" [ngClass]="{'blury' : isLoading}">
<div class="details-header">
<app-page-header [pageInfo]="pageHeaderInfo" [customGoToPreviousPage]="goToPreviousPage"></app-page-header>
</div>
......@@ -10,9 +10,11 @@
<a (click)="setPosition()" [routerLink]="[AppRoutes.info.uri]" class="tab-link">
<svg class="tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 37">
<g id="picto_x5F_info">
<path d="M19 15.6c.3 0 .5.2.5.6V25c0 .3-.2.6-.5.6s-.5-.2-.5-.6v-8.9c0-.3.2-.5.5-.5z" class="secondary"/>
<circle cx="19" cy="12" r=".5" class="secondary"/>
<path d="M19 2.5c8.5 0 15.5 7 15.5 15.5s-7 15.5-15.5 15.5S3.5 26.5 3.5 18 10.5 2.5 19 2.5m0-1C9.9 1.5 2.5 8.9 2.5 18S9.9 34.5 19 34.5 35.5 27.1 35.5 18 28.1 1.5 19 1.5z" class="primary"/>
<path d="M19 15.6c.3 0 .5.2.5.6V25c0 .3-.2.6-.5.6s-.5-.2-.5-.6v-8.9c0-.3.2-.5.5-.5z" class="secondary" />
<circle cx="19" cy="12" r=".5" class="secondary" />
<path
d="M19 2.5c8.5 0 15.5 7 15.5 15.5s-7 15.5-15.5 15.5S3.5 26.5 3.5 18 10.5 2.5 19 2.5m0-1C9.9 1.5 2.5 8.9 2.5 18S9.9 34.5 19 34.5 35.5 27.1 35.5 18 28.1 1.5 19 1.5z"
class="primary" />
</g>
</svg>
<div>
......@@ -32,7 +34,8 @@
<a (click)="setPosition()" [routerLink]="[AppRoutes.data.uri]" class="tab-link">
<svg class="tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36">
<g id="picto_x5F_tab">
<path d="M31 3H5C2.2 3 0 5.2 0 8v20c0 2.8 2.2 5 5 5h26c2.8 0 5-2.2 5-5V8c0-2.8-2.2-5-5-5zm4 25c0 2.2-1.8 4-4 4H21v-6h14v2zm0-3H21v-6h14v6zm0-14v7H21v-7h-1v7H8v1h12v6H8v1h12v6H5c-2.2 0-4-1.8-4-4v-2h6v-1H1v-6h6v-1H1V8c0-2.2 1.8-4 4-4h15v6h1V4h10c2.2 0 4 1.8 4 4v3z"
<path
d="M31 3H5C2.2 3 0 5.2 0 8v20c0 2.8 2.2 5 5 5h26c2.8 0 5-2.2 5-5V8c0-2.8-2.2-5-5-5zm4 25c0 2.2-1.8 4-4 4H21v-6h14v2zm0-3H21v-6h14v6zm0-14v7H21v-7h-1v7H8v1h12v6H8v1h12v6H5c-2.2 0-4-1.8-4-4v-2h6v-1H1v-6h6v-1H1V8c0-2.2 1.8-4 4-4h15v6h1V4h10c2.2 0 4 1.8 4 4v3z"
class="primary" />
<path d="M35 10H8V4H7v6H1v1h6v21h1V11h27z" class="secondary" />
</g>
......@@ -52,16 +55,28 @@
<a (click)="setPosition()" [routerLink]="[AppRoutes.map.uri]" class="tab-link">
<svg class="tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36">
<g id="picto_x5F_carte">
<path d="M18 16.1c-2.2 0-4-1.8-4-4.1s1.8-4.1 4-4.1 4 1.8 4 4.1-1.8 4.1-4 4.1zm0-7.2c-1.7 0-3 1.4-3 3.1s1.4 3.1 3 3.1 3-1.4 3-3.1-1.3-3.1-3-3.1z" class="secondary"/>
<path d="M18 16.1c-2.2 0-4-1.8-4-4.1s1.8-4.1 4-4.1 4 1.8 4 4.1-1.8 4.1-4 4.1zm0-7.2c-1.7 0-3 1.4-3 3.1s1.4 3.1 3 3.1 3-1.4 3-3.1-1.3-3.1-3-3.1z" class="secondary"/>
<path d="M21.6 23.3l-.6.9c4 .6 7 2.3 7 4.3 0 2.4-4.6 4.5-10 4.5S8 30.9 8 28.5c0-2 3-3.7 6.9-4.3l-.6-.9C10 24 7 26 7 28.5c0 3.1 4.8 5.5 11 5.5s11-2.4 11-5.5c0-2.5-3.1-4.5-7.4-5.2z" class="primary"/>
<path d="M21.6 23.3l-.6.9c4 .6 7 2.3 7 4.3 0 2.4-4.6 4.5-10 4.5S8 30.9 8 28.5c0-2 3-3.7 6.9-4.3l-.6-.9C10 24 7 26 7 28.5c0 3.1 4.8 5.5 11 5.5s11-2.4 11-5.5c0-2.5-3.1-4.5-7.4-5.2z" class="primary"/>
<path
d="M18 16.1c-2.2 0-4-1.8-4-4.1s1.8-4.1 4-4.1 4 1.8 4 4.1-1.8 4.1-4 4.1zm0-7.2c-1.7 0-3 1.4-3 3.1s1.4 3.1 3 3.1 3-1.4 3-3.1-1.3-3.1-3-3.1z"
class="secondary" />
<path
d="M18 16.1c-2.2 0-4-1.8-4-4.1s1.8-4.1 4-4.1 4 1.8 4 4.1-1.8 4.1-4 4.1zm0-7.2c-1.7 0-3 1.4-3 3.1s1.4 3.1 3 3.1 3-1.4 3-3.1-1.3-3.1-3-3.1z"
class="secondary" />
<path
d="M21.6 23.3l-.6.9c4 .6 7 2.3 7 4.3 0 2.4-4.6 4.5-10 4.5S8 30.9 8 28.5c0-2 3-3.7 6.9-4.3l-.6-.9C10 24 7 26 7 28.5c0 3.1 4.8 5.5 11 5.5s11-2.4 11-5.5c0-2.5-3.1-4.5-7.4-5.2z"
class="primary" />
<path
d="M21.6 23.3l-.6.9c4 .6 7 2.3 7 4.3 0 2.4-4.6 4.5-10 4.5S8 30.9 8 28.5c0-2 3-3.7 6.9-4.3l-.6-.9C10 24 7 26 7 28.5c0 3.1 4.8 5.5 11 5.5s11-2.4 11-5.5c0-2.5-3.1-4.5-7.4-5.2z"
class="primary" />
<g>
<path d="M18 28.6l-.8-1.2c-.8-1.1-1.8-2.6-2.8-4.1-1.9-2.8-4.3-6.4-4.8-7.4-1.2-2.2-1.4-4.8-.6-7.3.8-2.5 2.5-4.5 4.7-5.6 2.3-1.1 4.8-1.3 7.2-.5 2.4.8 4.4 2.5 5.5 4.8l-.4.2.4-.2c1.4 2.9 1.4 6 0 8.6-.6 1-2.9 4.6-4.8 7.4-1 1.5-2.1 3-2.8 4.1l-.8 1.2zM17.9 3c-1.3 0-2.6.3-3.8.9-2 1-3.5 2.8-4.2 5-.7 2.2-.5 4.5.5 6.5.4.8 2.1 3.4 4.8 7.3 1 1.5 2.1 3 2.8 4.1.8-1.2 1.8-2.6 2.8-4.1 2.7-4 4.4-6.6 4.8-7.3 1.3-2.3 1.3-5.1 0-7.7v-.1c-1-2-2.7-3.5-4.9-4.2-1-.3-1.9-.4-2.8-.4z" class="secondary"/>
<path d="M18 28.6l-.8-1.2c-.8-1.1-1.8-2.6-2.8-4.1-1.9-2.8-4.3-6.4-4.8-7.4-1.2-2.2-1.4-4.8-.6-7.3.8-2.5 2.5-4.5 4.7-5.6 2.3-1.1 4.8-1.3 7.2-.5 2.4.8 4.4 2.5 5.5 4.8l-.4.2.4-.2c1.4 2.9 1.4 6 0 8.6-.6 1-2.9 4.6-4.8 7.4-1 1.5-2.1 3-2.8 4.1l-.8 1.2zM17.9 3c-1.3 0-2.6.3-3.8.9-2 1-3.5 2.8-4.2 5-.7 2.2-.5 4.5.5 6.5.4.8 2.1 3.4 4.8 7.3 1 1.5 2.1 3 2.8 4.1.8-1.2 1.8-2.6 2.8-4.1 2.7-4 4.4-6.6 4.8-7.3 1.3-2.3 1.3-5.1 0-7.7v-.1c-1-2-2.7-3.5-4.9-4.2-1-.3-1.9-.4-2.8-.4z" class="secondary"/>
<path
d="M18 28.6l-.8-1.2c-.8-1.1-1.8-2.6-2.8-4.1-1.9-2.8-4.3-6.4-4.8-7.4-1.2-2.2-1.4-4.8-.6-7.3.8-2.5 2.5-4.5 4.7-5.6 2.3-1.1 4.8-1.3 7.2-.5 2.4.8 4.4 2.5 5.5 4.8l-.4.2.4-.2c1.4 2.9 1.4 6 0 8.6-.6 1-2.9 4.6-4.8 7.4-1 1.5-2.1 3-2.8 4.1l-.8 1.2zM17.9 3c-1.3 0-2.6.3-3.8.9-2 1-3.5 2.8-4.2 5-.7 2.2-.5 4.5.5 6.5.4.8 2.1 3.4 4.8 7.3 1 1.5 2.1 3 2.8 4.1.8-1.2 1.8-2.6 2.8-4.1 2.7-4 4.4-6.6 4.8-7.3 1.3-2.3 1.3-5.1 0-7.7v-.1c-1-2-2.7-3.5-4.9-4.2-1-.3-1.9-.4-2.8-.4z"
class="secondary" />
<path
d="M18 28.6l-.8-1.2c-.8-1.1-1.8-2.6-2.8-4.1-1.9-2.8-4.3-6.4-4.8-7.4-1.2-2.2-1.4-4.8-.6-7.3.8-2.5 2.5-4.5 4.7-5.6 2.3-1.1 4.8-1.3 7.2-.5 2.4.8 4.4 2.5 5.5 4.8l-.4.2.4-.2c1.4 2.9 1.4 6 0 8.6-.6 1-2.9 4.6-4.8 7.4-1 1.5-2.1 3-2.8 4.1l-.8 1.2zM17.9 3c-1.3 0-2.6.3-3.8.9-2 1-3.5 2.8-4.2 5-.7 2.2-.5 4.5.5 6.5.4.8 2.1 3.4 4.8 7.3 1 1.5 2.1 3 2.8 4.1.8-1.2 1.8-2.6 2.8-4.1 2.7-4 4.4-6.6 4.8-7.3 1.3-2.3 1.3-5.1 0-7.7v-.1c-1-2-2.7-3.5-4.9-4.2-1-.3-1.9-.4-2.8-.4z"
class="secondary" />
</g>
</g>
</svg>
</svg>
<div>
<div>
<span class="tab-title tab-title-long" i18n="@@dataset.detail.map">Map</span>
......@@ -77,10 +92,18 @@
<a (click)="setPosition()" [routerLink]="[AppRoutes.resources.uri]" class="tab-link">
<svg class="tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36">
<g id="picto_x5F_api">
<path d="M11.8 19.6c2.1 0 3.8 1.7 3.8 3.8s-1.7 3.8-3.8 3.8S8 25.5 8 23.4s1.7-3.8 3.8-3.8m0-1c-2.7 0-4.8 2.2-4.8 4.8 0 2.7 2.2 4.8 4.8 4.8s4.8-2.2 4.8-4.8c0-2.7-2.1-4.8-4.8-4.8z" class="secondary"/>
<path d="M13.1 13.6c.3 0 .5.2.5.5v1.6l.7.2c.4.1.7.3 1.1.5l.6.3.5-.5.6-.6c.1-.1.3-.1.4-.1s.2 0 .4.1l1.8 1.8c.2.2.2.5 0 .7l-.7.6-.5.5.3.6c.2.4.3.7.5 1.1l.2.7h1.6c.3 0 .5.2.5.5v2.5c0 .3-.2.5-.5.5h-1.6l-.2.7c-.1.4-.3.7-.5 1.1l-.3.6.5.5.6.6c.2.2.2.5 0 .7l-1.8 1.8c-.1.1-.3.1-.4.1s-.2 0-.4-.1l-.6-.6-.4-.4-.6.3c-.4.2-.7.3-1.1.5l-.7.2v1.6c0 .3-.2.5-.5.5h-2.5c-.3 0-.5-.2-.5-.5v-1.6l-.7-.2c-.4-.1-.7-.3-1.1-.5l-.6-.3-.5.5-.6.6c-.1.1-.3.1-.4.1s-.2 0-.4-.1L4 29.5c-.2-.2-.2-.5 0-.7l.6-.6.5-.5-.3-.7c-.2-.4-.3-.7-.5-1.1l-.2-.7H2.5c-.3 0-.5-.2-.5-.5v-2.5c0-.3.2-.5.5-.5h1.6l.2-.7c.1-.4.3-.7.5-1.1l.3-.6-.5-.5-.6-.7c-.2-.2-.2-.5 0-.7l1.8-1.8c.1-.1.3-.1.4-.1s.2 0 .4.1l.6.6.5.5.6-.3c.3-.2.7-.4 1.1-.5l.7-.2v-1.6c0-.3.2-.5.5-.5h2.5m0-1h-2.5c-.8 0-1.5.7-1.5 1.5v.9c-.4.1-.9.3-1.3.5l-.6-.6c-.3-.3-.7-.4-1.1-.4s-.8.1-1.1.4l-1.8 1.8c-.6.6-.6 1.5 0 2.1l.6.6c-.2.4-.4.8-.5 1.3h-.8c-.8 0-1.5.7-1.5 1.5v2.5c0 .8.7 1.5 1.5 1.5h.9c.1.4.3.9.5 1.3l-.6.5c-.6.6-.6 1.5 0 2.1l1.8 1.8c.3.3.7.4 1.1.4s.8-.1 1.1-.4l.6-.6c.4.2.8.4 1.3.5v.9c0 .8.7 1.5 1.5 1.5h2.5c.8 0 1.5-.7 1.5-1.5v-.9c.4-.1.9-.3 1.3-.5l.6.6c.3.3.7.4 1.1.4.4 0 .8-.1 1.1-.4l1.8-1.8c.6-.6.6-1.5 0-2.1l-.6-.6c.2-.4.4-.8.5-1.3h.9c.8 0 1.5-.7 1.5-1.5v-2.5c0-.8-.7-1.5-1.5-1.5h-.9c-.1-.4-.3-.9-.5-1.3l.6-.6c.6-.6.6-1.5 0-2.1l-1.8-1.8c-.3-.3-.7-.4-1.1-.4-.4 0-.8.1-1.1.4l-.6.6c-.4-.2-.8-.4-1.3-.5V14c-.1-.7-.8-1.4-1.6-1.4z" class="secondary"/>
<path d="M26.4 7.3c.4 0 .8.1 1.2.3.6.3 1.1.9 1.4 1.6.2.7.2 1.4-.1 2.1-.5.9-1.4 1.5-2.4 1.5-.4 0-.8-.1-1.2-.3-1.3-.7-1.9-2.3-1.2-3.6.3-1 1.2-1.6 2.3-1.6m0-1c-1.4 0-2.7.8-3.3 2.1-.9 1.8-.1 4.1 1.7 5 .5.3 1.1.4 1.6.4 1.4 0 2.7-.8 3.3-2.1.9-1.8.1-4.1-1.7-5-.5-.2-1.1-.4-1.6-.4z" class="primary"/>
<path d="M25 2.8c.1 0 .1 0 .1.1l.2.6.2.7H26.3c.3 0 .5 0 .8.1l.7.1.3-.7.3-.6c0-.1.1-.1.1-.1h.1l1.7.9.1.1v.1l-.3.6-.3.7.5.5c.2.2.4.4.6.7l.4.6.7-.2.7-.2c.1 0 .1 0 .1.1l.6 1.8v.1s0 .1-.1.1l-.5.1-.7.2v.7c0 .3 0 .6-.1.9v.8l.7.3.6.3c.1 0 .1.1.1.2l-.9 1.7c0 .1-.1.1-.1.1h-.1l-.6-.3-.7-.3-.5.5c-.2.2-.4.4-.7.6l-.6.4.2.7.2.6v.1s0 .1-.1.1l-1.9.6c-.1 0-.1 0-.1-.1l-.2-.6-.2-.7H26.3c-.3 0-.5 0-.8-.1l-.7-.1-.3.7-.3.7c0 .1-.1.1-.1.1H24l-1.7-.9c-.1 0-.1-.1-.1-.2l.3-.6.3-.7-.5-.5c-.2-.2-.4-.4-.6-.7l-.4-.5-.7.2-.7.2c-.1 0-.1 0-.1-.1l-.6-1.8v-.1s0-.1.1-.1l.6-.2.7-.2v-.7c0-.3 0-.6.1-.9l.1-.7-.8-.4-.6-.3-.1-.1v-.1l.9-1.7c0-.1.1-.1.1-.1h.1l.6.3.7.3.5-.5c.2-.2.4-.4.7-.6l.5-.4-.2-.7-.2-.7v-.1s0-.1.1-.1l1.9-.6c-.1 0-.1 0 0 0m0-1c-.1 0-.2 0-.4.1l-1.8.6c-.6.2-1 .9-.8 1.5l.2.6c-.2.2-.5.4-.7.7l-.6-.3c-.2-.1-.3-.1-.5-.1-.4 0-.8.2-1 .6l-.9 1.7c-.3.6 0 1.3.5 1.5l.6.3c0 .3-.1.7-.1 1l-.6.2c-.6.2-.9.9-.7 1.5l.6 1.8c.2.5.6.8 1.1.8.1 0 .2 0 .4-.1l.6-.2c.2.3.4.5.7.8l-.3.6c-.3.6 0 1.3.5 1.5l1.7.9c.2.1.3.1.5.1.4 0 .8-.2 1-.6l.3-.6c.3 0 .6.1.9.1h.1l.2.6c.2.5.6.8 1.1.8.1 0 .2 0 .4-.1l1.8-.6c.6-.2.9-.9.7-1.5l-.2-.6c.3-.2.5-.4.8-.7l.6.3c.2.1.3.1.5.1.4 0 .8-.2 1-.6l.9-1.7c.3-.6 0-1.3-.5-1.5l-.5-.3c0-.3.1-.7.1-1l.6-.2c.6-.2.9-.9.7-1.5l-.6-1.8c-.2-.5-.6-.8-1.1-.8-.1 0-.2 0-.4.1l-.6.2c-.2-.3-.4-.5-.7-.8l.3-.6c.3-.6 0-1.3-.5-1.5l-1.7-.9c-.2-.1-.3-.1-.5-.1-.4 0-.8.2-1 .6l-.3.6c-.3 0-.6-.1-.9-.1h-.1l-.4-.6c-.1-.5-.6-.8-1-.8z" class="primary"/>
<path
d=<