Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

welcomeWindow - provide parameters to the welcome message. #522

Merged
merged 3 commits into from
Oct 7, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 23 additions & 2 deletions docs/config_json.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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`_
Expand All @@ -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": "<h1>Débutez en sélectionnant un contexte &#x2605;</h2>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)
});
-


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ <h2>{{'welcomeWindow.title' | translate}}</h2>

<div mat-dialog-content class="text">
<igo-custom-html class="mat-typography"
[html]="html |  translate">
[html]="html | translate:translationParameters">
</igo-custom-html>
</div>

Expand Down
56 changes: 52 additions & 4 deletions src/app/pages/portal/welcome-window/welcome-window.component.ts
Original file line number Diff line number Diff line change
@@ -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',
Expand All @@ -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() {
Expand Down
2 changes: 1 addition & 1 deletion src/locale/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"googleMap": "Show in Google maps",
"googleStreetView": "Show in Google Street view",
"welcomeWindow": {
"html": "<h1>Welcome to IGO the Québec goverment mapping application </h1>",
"html": "<h1>Welcome to {{title}, the Québec goverment mapping application </h1><h2>Version {{version}}, build on {{releaseDate}}</h2>",
"title": "",
"closeButton": "Close",
"notShowCheck": "Do not show again"
Expand Down
2 changes: 1 addition & 1 deletion src/locale/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"googleMap": "Afficher sur Google maps",
"googleStreetView": "Afficher sur Google Street view",
"welcomeWindow": {
"html": "<h1>Bienvenue dans IGO, l'application cartographique du gouvernement du Québec</h1><h2>Débutez en sélectionnant un contexte &#x2605;</h2>",
"html": "<h1>Bienvenue dans {{title}}, l'application cartographique du gouvernement du Québec</h1><h2>Débutez en sélectionnant un contexte &#x2605;</h2><h2>Version {{version}}, en date du {{releaseDate}}</h2>",
"title": "Fenêtre d'accueil",
"closeButton": "Fermer",
"notShowCheck": "Ne plus afficher"
Expand Down