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