From d9a0000bb37edaf3f5f123fcc2bc0ebf38baec84 Mon Sep 17 00:00:00 2001 From: "francois.grand" <francois.grand@irstea.fr> Date: Mon, 28 May 2018 15:50:21 +0200 Subject: [PATCH] =?UTF-8?q?=20#45=20ajout=20de=20l'=C3=A9criture=20de=20la?= =?UTF-8?q?=20session=20dans=20un=20fichier=20(utilise=20la=20lib=20FileSa?= =?UTF-8?q?ver)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 ++ src/app/app.component.ts | 3 +-- src/app/services/formulaire/formulaire.service.ts | 6 ++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 4f2602358..f612aaad6 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "angular-bootstrap-md": "^5.0.5", "angular2-chartjs": "^0.4.1", "core-js": "^2.4.1", + "file-saver": "^1.3.8", "he": "^1.1.1", "jalhyd": "file:../jalhyd/jalhyd-1.0.0.tgz", "ngx-md": "^3.1.1", @@ -36,6 +37,7 @@ "@angular/cli": "1.5.4", "@angular/compiler-cli": "^5.0.0", "@angular/language-service": "^5.0.0", + "@types/file-saver": "^1.3.0", "@types/jasmine": "~2.5.53", "@types/jasminewd2": "~2.0.2", "@types/node": "~6.0.60", diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 2f6879d8a..ed45462d1 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -241,8 +241,7 @@ export class AppComponent implements OnInit, OnDestroy, Observer { elems.push(form.JSONserialise()); } let session = { "session": { "elements": elems } }; - console.log("---"); - console.log(JSON.stringify(session)); + this.formulaireService.saveSession(session); } private closeCalculator(form: FormulaireDefinition) { diff --git a/src/app/services/formulaire/formulaire.service.ts b/src/app/services/formulaire/formulaire.service.ts index b89e1baaa..ccf34e328 100644 --- a/src/app/services/formulaire/formulaire.service.ts +++ b/src/app/services/formulaire/formulaire.service.ts @@ -3,6 +3,7 @@ import { Response } from "@angular/http"; import { Observable as rxObservable } from "rxjs/Observable"; import "rxjs/add/operator/toPromise"; import { decode } from "he"; +import { saveAs } from "file-saver" import { CalculatorType, EnumEx, Observable } from "jalhyd"; @@ -388,6 +389,11 @@ export class FormulaireService extends Observable { }); } + public saveSession(session: {}) { + const blob = new Blob([JSON.stringify(session)], { type: "text/plain;charset=utf-8" }); + saveAs(blob); + } + /** * obtient des infos (nom, uid des calculettes) d'un fichier session * @param f fichier session -- GitLab