diff --git a/angular.json b/angular.json
index 947b97b0..1f55a1ce 100644
--- a/angular.json
+++ b/angular.json
@@ -30,8 +30,7 @@
"src/assets",
"src/config",
"src/contexts",
- "src/locale",
- "src/particular/locale",
+ "src/locale"
{
"glob": "**/*",
"input": "./node_modules/@igo2/common/assets/",
@@ -253,6 +252,7 @@
"cache": {
"enabled": false,
"environment": "all"
- }
+ },
+ "analytics": false
}
}
diff --git a/package.json b/package.json
index 752dddd4..3a2605d2 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "igo2-quebec",
- "version": "1.0.2-beta",
+ "version": "1.1.0-beta",
"description": "Infrastructure géomatique ouverte - Québec.ca",
"author": "Communauté IGO",
"repository": {
diff --git a/src/app/app.component.scss b/src/app/app.component.scss
index 7cfe66b3..9e4cfe68 100644
--- a/src/app/app.component.scss
+++ b/src/app/app.component.scss
@@ -93,12 +93,10 @@ $footer-height: 29px;
}
-//* Spinner *//
-
igo-spinner {
position: absolute;
- top: calc(#{$header-height-mobile} + 4px) !important;
- right: 4px;
+ top: 50% !important;
+ right: 50% ;
z-index: 100;
}
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 562568ee..eb2322dd 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -23,7 +23,15 @@ import {
provideILayerSearchSource,
provideOptionsApi,
provideStyleListOptions,
- provideWorkspaceSearchSource
+ provideWorkspaceSearchSource,
+ SearchService,
+ provideOsrmDirectionsSource,
+ provideNominatimSearchSource,
+ CoordinatesSearchResultFormatter,
+ provideDefaultCoordinatesSearchResultFormatter,
+ provideDefaultIChercheSearchResultFormatter,
+ provideSearchSourceService,
+ IChercheSearchSource
} from '@igo2/geo';
@@ -86,13 +94,24 @@ export const defaultTooltipOptions: MatTooltipDefaultOptions = {
// path: './assets/config/config.json'
path: './config/config.json'
}),
- RouteService,
+ provideCoordinatesReverseSearchSource(),
provideIChercheSearchSource(),
- provideWorkspaceSearchSource(),
+ provideNominatimSearchSource(),
provideIChercheReverseSearchSource(),
- provideCoordinatesReverseSearchSource(),
provideILayerSearchSource(),
+ provideOsrmDirectionsSource(),
provideOptionsApi(),
+ CoordinatesSearchResultFormatter,
+ provideDefaultCoordinatesSearchResultFormatter(),
+ provideDefaultIChercheSearchResultFormatter(),
+ provideSearchSourceService(),
+ SearchService,
+ IChercheSearchSource,
+ provideStyleListOptions({
+ path: './assets/list-style.json'
+ }),
+ RouteService,
+ provideWorkspaceSearchSource(),
{
provide: APP_INITIALIZER,
useFactory: appInitializerFactory,
diff --git a/src/app/pages/header/header.component.scss b/src/app/pages/header/header.component.scss
index 8b913615..eebcc62b 100644
--- a/src/app/pages/header/header.component.scss
+++ b/src/app/pages/header/header.component.scss
@@ -67,7 +67,7 @@ display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
height: 100%;
-width: 98%;
+width: calc(100% - 32px);
align-content: center;
margin: auto;
}
diff --git a/src/app/pages/portal/legend-button/legend-button.component.html b/src/app/pages/portal/legend-button/legend-button.component.html
index 99e2fbab..3d5d2b45 100644
--- a/src/app/pages/portal/legend-button/legend-button.component.html
+++ b/src/app/pages/portal/legend-button/legend-button.component.html
@@ -1 +1,9 @@
-
+
diff --git a/src/app/pages/portal/legend-button/legend-button.component.scss b/src/app/pages/portal/legend-button/legend-button.component.scss
index 20852e8b..2f15950d 100644
--- a/src/app/pages/portal/legend-button/legend-button.component.scss
+++ b/src/app/pages/portal/legend-button/legend-button.component.scss
@@ -1,127 +1,15 @@
-@import '../portal.variables.scss';
-
- // button
-
-app-legend-button, ::ng-deep .mat-raised-button {
- font-size: 0.9rem !important;
- font-weight: 500 !important;
- margin: 0;
- min-width: 8px;
- border: 0px;
- border-radius: 0 !important;
-}
-
-::ng-deep .qcca-theme app-legend-button button, ::ng-deep .qcca-theme .mat-raised-button {
- color: #095797 !important;
- border-color: #095797 !important;
-}
-
-// DIALOG
-
-// FLEX
-
-::ng-deep #legend-button-dialog-container {
- width: fit-content !important;
- z-index: 10;
- position: fixed;
- right: 0.5%;
- max-width: 99% !important;
- padding: 16px !important;
- max-height: calc(100% - #{$header-height-mobile} - #{$footer-height} - 100px) !important;
- overflow: hidden;
- display: flex;
- flex-direction: column;
- height: 100%;
-
- igo-layer-legend-list {
- max-height: inherit;
- .layer-legend-list-container {
- overflow-y: auto;
- height: inherit;
- max-height: inherit;
- }
- }
-
- igo-layer-legend-item {
- flex-wrap: wrap;
- width: min-content;
- display: flex;
- flex-direction: column;
- margin-bottom: 16px;
- }
-
- igo-layer-legend-item:last-child {
- margin-bottom: 0;
- }
-
- .igo-layer-legend-container {
- padding-left: 0 !important;
- width: max-content !important;
- }
-
- @media (min-width: 768px){
- max-height: calc(100% - #{$header-height} - #{$footer-height} - 180px) !important; //TODO : Inject the dialog in the portal then add config hasHeader, hasMenu and hasFooter
- }
-
-}
-
-::ng-deep app-legend-button-dialog {
-
- max-height: calc(100% - 24px) !important;
- height: inherit;
-
- .mat-list-base .mat-list-item .mat-list-item-content {
- padding: 0 !important;
- }
-
- // TITLES
-
- .mat-dialog-title {
- margin: 0;
- display: block;
- }
-
- .mat-dialog-title:after {
- content: "";
- display: block;
- width: 2.8rem;
- border-bottom: 4px solid #f09686;
- margin-bottom: 0.8rem;
- }
-
- .mat-list-item:after {
- content: "";
- display: block;
- width: 1.8rem;
- border-bottom: 3px solid #DAE6F0;
- margin-bottom: 0.4rem;
- padding-top: 2px;
- }
-
- .igo-layer-list-item {
- height: fit-content !important;
- }
-}
-
-// CLOSE BUTTON
-
-::ng-deep app-legend-button-dialog {
- .mat-icon, mat-button-wrapper, .mat-icon-button .mat-icon, .mat-icon-button {
- line-height: 26px;
- height: 24px;
- width: 24px;
- }
- .mat-icon svg {
- height: 20px;
- width: 20px;
- }
- div.mat-dialog-content.legend > img {
- max-height: 100%;
- max-width: 100%;
- }
- div.mat-dialog-actions {
- float: right;
- padding: 0;
- min-height: auto;
- }
-}
+ // Legend button
+
+ #legend-button, ::ng-deep .mat-raised-button {
+ font-size: 0.9rem !important;
+ font-weight: 500 !important;
+ margin: 0;
+ min-width: 8px;
+ border: 0px;
+ border-radius: 0 !important;
+}
+
+::ng-deep .qcca-theme #legend-button { // if Qc desing theme is applied
+ color: #095797 !important;
+ border-color: #095797 !important;
+}
\ No newline at end of file
diff --git a/src/app/pages/portal/legend-button/legend-button.component.ts b/src/app/pages/portal/legend-button/legend-button.component.ts
index 21af636f..dc4d29b1 100644
--- a/src/app/pages/portal/legend-button/legend-button.component.ts
+++ b/src/app/pages/portal/legend-button/legend-button.component.ts
@@ -1,60 +1,44 @@
-import { Component, OnInit } from '@angular/core';
-import { MatDialog, MatDialogState } from '@angular/material/dialog';
-import { IgoMap, Layer } from '@igo2/geo';
-import { MapState } from '@igo2/integration';
-import { Observable } from 'rxjs';
+import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { MatDialog } from '@angular/material/dialog';
+import { LanguageService } from '@igo2/core';
+import { LegendDialogComponent } from '../legend-dialog/legend-dialog.component';
@Component({
selector: 'app-legend-button',
templateUrl: './legend-button.component.html',
styleUrls: ['./legend-button.component.scss']
})
-
export class LegendButtonComponent {
public dialogRef = null;
- constructor(public dialog: MatDialog) {}
+ public legendButtonTooltip = this.languageService.translate.instant('legend.open');
+
+ @Output() toggleLegend = new EventEmitter You can search for adresses, locations, businesses or coordinates. Address searches can be done combining :Légende
+{{"legend.title" | translate}}
{{ 'legend.title' | translate }}
+ {{ 'igo.integration.searchResultsTool.noResults' | translate }}
+ {{ 'igo.integration.searchResultsTool.doSearch' | translate }}
+
+ {{title}}
+
+
+
+
+
+
+ {{ 'legend.title' | translate }}
+ {{ 'igo.integration.searchResultsTool.noResults' | translate }}
+ {{ 'igo.integration.searchResultsTool.doSearch' | translate }}
+
+ {{ 'igo.integration.searchResultsTool.noResults' | translate }}
- {{ 'igo.integration.searchResultsTool.doSearch' | translate }}
-
-
Coordinates search example :
Permet de rechercher des adresses, des lieux, des entreprises ou des coordonnées.
Les recherches d'adresses peuvent être effectuées selon une combinaison :
Exemple de coordonnées :
Permet de rechercher des adresses, des lieux, des entreprises ou des coordonnées.
Les recherches d'adresses peuvent être effectuées selon une combinaison :
Exemple de coordonnées :
Permet de rechercher des adresses, des lieux, des entreprises ou des coordonnées.
Les recherches d'adresses peuvent être effectuées selon une combinaison :
Exemple de coordonnées :
+//
+// Title
+// Label
+//
+//