From 9c398df6c26c6bffed5272bffcd4c61f601fd5c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr> Date: Tue, 14 Jun 2022 15:50:11 +0200 Subject: [PATCH] feat: add application setup option to fold result messages log by default refs #519 --- .../components/app-setup/app-setup.component.html | 6 ++++++ src/app/components/app-setup/app-setup.component.ts | 13 +++++++++++++ src/app/components/log/log.component.html | 2 +- src/app/components/log/log.component.ts | 9 ++++++++- src/app/services/app-setup.service.ts | 9 +++++++++ src/locale/messages.en.json | 1 + src/locale/messages.fr.json | 1 + 7 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/app/components/app-setup/app-setup.component.html b/src/app/components/app-setup/app-setup.component.html index bcd394688..4c3bb5d35 100644 --- a/src/app/components/app-setup/app-setup.component.html +++ b/src/app/components/app-setup/app-setup.component.html @@ -88,6 +88,12 @@ {{ uitextEnableEmptyFieldsOnFormInit }} </mat-checkbox> + <!-- display result messages log folded by default --> + <mat-checkbox id="cb_foldedMessageLog" class="wrapped-checkbox" name="foldedMessageLog" [(ngModel)]="foldedMessageLog" + [ngModelOptions]="{standalone: true}"> + {{ uitextEnableFoldedMessageLog }} + </mat-checkbox> + <!-- langue --> <mat-form-field> <mat-select [placeholder]="uitextLanguage" [(value)]="currentLanguageCode" diff --git a/src/app/components/app-setup/app-setup.component.ts b/src/app/components/app-setup/app-setup.component.ts index 1b3c52d15..7010813af 100644 --- a/src/app/components/app-setup/app-setup.component.ts +++ b/src/app/components/app-setup/app-setup.component.ts @@ -84,6 +84,15 @@ export class ApplicationSetupComponent implements Observer, OnInit { this.appSetupService.enableEmptyFieldsOnFormInit = v; } + /** fold result messages log by default */ + public get foldedMessageLog(): boolean { + return this.appSetupService.foldedMessageLog; + } + + public set foldedMessageLog(v: boolean) { + this.appSetupService.foldedMessageLog = v; + } + public get uitextTitle(): string { return this.intlService.localizeText("INFO_SETUP_TITLE"); } @@ -116,6 +125,10 @@ export class ApplicationSetupComponent implements Observer, OnInit { return this.intlService.localizeText("INFO_SETUP_ENABLE_EMPTY_FIELDS"); } + public get uitextEnableFoldedMessageLog(): string { + return this.intlService.localizeText("INFO_SETUP_FOLDED_RESULT_MESSAGES_LOG"); + } + public get uitextMustBeANumber(): string { return this.intlService.localizeText("ERROR_PARAM_MUST_BE_A_NUMBER"); } diff --git a/src/app/components/log/log.component.html b/src/app/components/log/log.component.html index 1dff77174..a92eb6287 100644 --- a/src/app/components/log/log.component.html +++ b/src/app/components/log/log.component.html @@ -1,4 +1,4 @@ -<mat-expansion-panel *ngIf="hasEntries" expanded> +<mat-expansion-panel *ngIf="hasEntries" [expanded]="expandedStatus"> <mat-expansion-panel-header> <mat-panel-title> {{ uitextTitreJournal }} diff --git a/src/app/components/log/log.component.ts b/src/app/components/log/log.component.ts index b3d9c2f71..6bbead2ab 100644 --- a/src/app/components/log/log.component.ts +++ b/src/app/components/log/log.component.ts @@ -1,4 +1,5 @@ import { Component, Input } from "@angular/core"; +import { ApplicationSetupService } from "app/services/app-setup.service"; import { cLog, Message } from "jalhyd"; @@ -21,9 +22,15 @@ export class LogComponent { @Input() public logTitle: string; + // expanded/folded panel state + public expandedStatus: boolean; + constructor( private intlService: I18nService, - ) { } + private appSetupService: ApplicationSetupService + ) { + this.expandedStatus = !this.appSetupService.foldedMessageLog; + } public get uitextTitreJournal() { if (this.logTitle) { diff --git a/src/app/services/app-setup.service.ts b/src/app/services/app-setup.service.ts index 32b9f517d..16e3cf00e 100644 --- a/src/app/services/app-setup.service.ts +++ b/src/app/services/app-setup.service.ts @@ -25,6 +25,7 @@ export class ApplicationSetupService extends Observable { public enableNotifications = true; public enableHotkeys = false; private _enableEmptyFieldsOnFormInit = true; + private _foldedMessageLog = false; public set computePrecision(p: number) { this._computePrecision = p; @@ -54,6 +55,14 @@ export class ApplicationSetupService extends Observable { this._enableEmptyFieldsOnFormInit = b; } + public get foldedMessageLog() { + return this._foldedMessageLog; + } + + public set foldedMessageLog(b: boolean) { + this._foldedMessageLog = b; + } + /** * just stores the current language preference, does not transmit it to I18nService, that is * not available here. diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index 649e9e7c1..b095f44db 100755 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -586,6 +586,7 @@ "INFO_SETUP_ENABLE_HOTKEYS": "Enable keyboard shortcuts", "INFO_SETUP_ENABLE_EMPTY_FIELDS": "Create new calculators with empty fields (no default values)", "INFO_SETUP_ENABLE_NOTIFICATIONS": "Enable on-screen notifications", + "INFO_SETUP_FOLDED_RESULT_MESSAGES_LOG": "Fold result messages log by default", "INFO_SETUP_LANGUAGE": "Language", "INFO_SETUP_NEWTON_MAX_ITER": "Solver iteration limit", "INFO_SETUP_PRECISION_AFFICHAGE": "Number of displayed decimals", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index cb3e769e6..ac3d94292 100755 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -587,6 +587,7 @@ "INFO_SETUP_ENABLE_HOTKEYS": "Activer les raccourcis clavier", "INFO_SETUP_ENABLE_EMPTY_FIELDS": "Créer les nouveaux modules avec des champs vides (aucune valeur par défaut)", "INFO_SETUP_ENABLE_NOTIFICATIONS": "Activer les notifications à l'écran", + "INFO_SETUP_FOLDED_RESULT_MESSAGES_LOG": "Replier le journal de calcul par défaut", "INFO_SETUP_LANGUAGE": "Langue", "INFO_SETUP_NEWTON_MAX_ITER": "Solveur : nombre d'itérations maximum", "INFO_SETUP_PRECISION_AFFICHAGE": "Nombre de décimales affichées", -- GitLab