diff --git a/docs/config_json.rst b/docs/config_json.rst
index 102d7a982..de434f2b5 100644
--- a/docs/config_json.rst
+++ b/docs/config_json.rst
@@ -167,11 +167,24 @@ Résumé
* - title
- String
- - Permet de définir le titre de l'application qu'on retrouve dans le menu d'accueil.
+ - .. line-block::
+ Permet de définir le titre de l'application qu'on retrouve dans le menu d'accueil.
+ Constante pouvant être réutilisée dans le welcomeWindow.
+ -
+ * - version
+ - {app: String, releaseDateApp: String}
+ - .. line-block::
+ Permet de définir une constante, pour la version du présent déploiement et de la
+ date de déploiement de l'application. releaseDateApp, doit être un format reconnu et
+ interprétable au format Date. Si le format n'est pas convertissable en date,
+ la valeur fournie sera utilisée directement.
+ Constante pouvant être réutilisée dans le welcomeWindow.
-
* - description
- String
- - Permet de définir ce qui sera affiché lors de la recherche dans les moteurs de recherche, comme par exemple Google.
+ - .. line-block::
+ Permet de définir ce qui sera affiché lors de la recherche dans les moteurs de recherche, comme par exemple Google.
+ Constante pouvant être réutilisée dans le welcomeWindow.
-
* - welcomeWindow
- `WelcomeWindow`_
@@ -183,6 +196,14 @@ Résumé
"title": "Fenêtre d'accueil",
"closeButton": "Fermer",
"notShowCheck": " ne plus afficher"}
+ Les propriétés title, description, version, releaseDate peuvent être utilisé dans le contenu html
+ pour ajouter du contenu statique non traduit.
+ ex: "html": "
Débutez en sélectionnant un contexte ★Version {{version}}"
+ - title provient de la propriété title ci haut.
+ - description provient de la propriété description ci haut.
+ - version provient de la propriété version.app ci haut OU de la version de la librairie associée (igo2-lib)
+ - releaseDate provient de la propriété version.releaseDateApp ci haut OU de la releaseDate de la librairie associée (igo2-lib)
+ });
-
diff --git a/src/app/pages/portal/welcome-window/welcome-window.component.html b/src/app/pages/portal/welcome-window/welcome-window.component.html
index 8de3d2bd8..8c2e028af 100644
--- a/src/app/pages/portal/welcome-window/welcome-window.component.html
+++ b/src/app/pages/portal/welcome-window/welcome-window.component.html
@@ -12,7 +12,7 @@ {{'welcomeWindow.title' | translate}}
+ [html]="html | translate:translationParameters">
diff --git a/src/app/pages/portal/welcome-window/welcome-window.component.ts b/src/app/pages/portal/welcome-window/welcome-window.component.ts
index e09b76834..12de155e8 100644
--- a/src/app/pages/portal/welcome-window/welcome-window.component.ts
+++ b/src/app/pages/portal/welcome-window/welcome-window.component.ts
@@ -1,6 +1,8 @@
import { Component } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
+import { ConfigService, LanguageService } from '@igo2/core';
import { WelcomeWindowService } from './welcome-window.service';
+import { map } from 'rxjs/operators';
@Component({
selector: 'app-welcome-window',
@@ -13,16 +15,62 @@ export class WelcomeWindowComponent {
constructor(
public dialog: MatDialog,
- private welcomeWindowService: WelcomeWindowService
- ) {}
+ private welcomeWindowService: WelcomeWindowService,
+ private configService: ConfigService,
+ protected languageService: LanguageService
+ ) { }
closeWelcomeWindow() {
this.dialog.closeAll();
}
+ get translationParameters() {
+ let deltaDay = 0;
+ let isDateParsable = true;
+ let releaseDate = new Date(this.configService.getConfig('version.releaseDate'));
+
+ const releaseDateAppConfig = this.configService.getConfig('version.releaseDateApp');
+
+
+ if (releaseDateAppConfig) {
+ const releaseDateApp = new Date(releaseDateAppConfig);
+ if (isNaN(releaseDateApp.getDate())) {
+ console.log('The releaseDateApp config is not a valid date format');
+ isDateParsable = false;
+ } else {
+ deltaDay = 1;
+ releaseDate = releaseDateApp;
+ }
+ }
+
+ let releaseDateString = '';
+
+ if (isDateParsable) {
+ let day: any = releaseDate.getDate() + deltaDay;
+ if (day < 10) {
+ day = '0' + day;
+ }
+ let month: any = releaseDate.getMonth() + 1;
+ if (month < 10) {
+ month = '0' + month;
+ }
+ const year = releaseDate.getFullYear();
+ releaseDateString = `${year}-${month}-${day}`;
+ } else {
+ releaseDateString = releaseDateAppConfig;
+ }
+
+ return {
+ title: this.configService.getConfig('title') || '',
+ description: this.configService.getConfig('description') || '',
+ version: this.configService.getConfig('version.app') || this.configService.getConfig('version.lib') || '',
+ releaseDate: releaseDateString || ''
+ };
+
+ }
+
get html() {
- const _html = 'welcomeWindow.html';
- return _html;
+ return 'welcomeWindow.html';
}
setShowAgain() {
diff --git a/src/locale/en.json b/src/locale/en.json
index 7cefbcab6..a476fc460 100644
--- a/src/locale/en.json
+++ b/src/locale/en.json
@@ -28,7 +28,7 @@
"googleMap": "Show in Google maps",
"googleStreetView": "Show in Google Street view",
"welcomeWindow": {
- "html": "Welcome to IGO the Québec goverment mapping application
",
+ "html": "Welcome to {{title}, the Québec goverment mapping application
Version {{version}}, build on {{releaseDate}}
",
"title": "",
"closeButton": "Close",
"notShowCheck": "Do not show again"
diff --git a/src/locale/fr.json b/src/locale/fr.json
index e9ed26be3..89f9882b3 100644
--- a/src/locale/fr.json
+++ b/src/locale/fr.json
@@ -27,7 +27,7 @@
"googleMap": "Afficher sur Google maps",
"googleStreetView": "Afficher sur Google Street view",
"welcomeWindow": {
- "html": "Bienvenue dans IGO, l'application cartographique du gouvernement du Québec
Débutez en sélectionnant un contexte ★
",
+ "html": "Bienvenue dans {{title}}, l'application cartographique du gouvernement du Québec
Débutez en sélectionnant un contexte ★
Version {{version}}, en date du {{releaseDate}}
",
"title": "Fenêtre d'accueil",
"closeButton": "Fermer",
"notShowCheck": "Ne plus afficher"