From 3d600c82e8b5b546ee2ab52c639d74dfc87eb38e Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Mon, 29 Jul 2019 14:23:59 +0200 Subject: [PATCH] Load session: open first *newly loaded* calculator --- src/app/app.component.ts | 4 +++- src/app/services/formulaire/formulaire.service.ts | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index d16c10fba..41b91040f 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -478,7 +478,9 @@ export class AppComponent implements OnInit, OnDestroy, Observer { if (data.hasErrors) { this.notificationsService.notify(this.intlService.localizeText("ERROR_PROBLEM_LOADING_SESSION"), 3500); } else { - this.toFirstCalc(); + if (data.loaded && data.loaded.length > 0) { + this.toCalc(data.loaded[0]); + } } }) .catch((err) => { diff --git a/src/app/services/formulaire/formulaire.service.ts b/src/app/services/formulaire/formulaire.service.ts index 97016de31..a9db2718d 100644 --- a/src/app/services/formulaire/formulaire.service.ts +++ b/src/app/services/formulaire/formulaire.service.ts @@ -558,7 +558,7 @@ export class FormulaireService extends Observable { * @param f fichier session * @param formInfos infos sur les modules de calcul @see DialogLoadSessionComponent.calculators */ - public async loadSession(f: File, formInfos: any[]): Promise<{ hasErrors: boolean }> { + public async loadSession(f: File, formInfos: any[]): Promise<{ hasErrors: boolean, loaded: string[] }> { try { const s = await this.readSingleFile(f); const uids: string[] = []; @@ -582,7 +582,8 @@ export class FormulaireService extends Observable { } // forward errors return { - hasErrors: res.hasErrors + hasErrors: res.hasErrors, + loaded: newNubs.map(n => n.nub.uid) }; } catch (err) { -- GitLab