From a84ac119c92322e61e8b7fc1dc8b42a4691fd559 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 7 May 2019 09:24:46 +0200
Subject: [PATCH] =?UTF-8?q?Ajout=20bouton=20pour=20cr=C3=A9er=20un=20modul?=
 =?UTF-8?q?e=20Cloisons=20depuis=20une=20PAB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../select-cloisons-field-line.component.html |  2 +-
 .../select-cloisons-field-line.component.ts   | 22 ++++++++++++++++---
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/app/components/select-cloisons-field-line/select-cloisons-field-line.component.html b/src/app/components/select-cloisons-field-line/select-cloisons-field-line.component.html
index 5f8e91036..5e2938657 100644
--- a/src/app/components/select-cloisons-field-line/select-cloisons-field-line.component.html
+++ b/src/app/components/select-cloisons-field-line/select-cloisons-field-line.component.html
@@ -14,7 +14,7 @@
 
     <div class="button-container" fxFlex="0 0 auto">
         <button mat-icon-button *ngIf="selectedValue" [routerLink]="['/calculator/', cloisonsUid]">
-            <mat-icon>settings</mat-icon>
+            <mat-icon>edit</mat-icon>
         </button>
         <button mat-icon-button *ngIf="entries.length === 0" (click)="createCloisons()">
             <mat-icon>add_circle_outline</mat-icon>
diff --git a/src/app/components/select-cloisons-field-line/select-cloisons-field-line.component.ts b/src/app/components/select-cloisons-field-line/select-cloisons-field-line.component.ts
index 80612a8bf..652f36fbe 100644
--- a/src/app/components/select-cloisons-field-line/select-cloisons-field-line.component.ts
+++ b/src/app/components/select-cloisons-field-line/select-cloisons-field-line.component.ts
@@ -1,9 +1,12 @@
 import { Component, Input, OnInit } from "@angular/core";
+import { Router } from "@angular/router";
 
 import { SelectField } from "../../formulaire/select-field";
 import { SelectEntry } from "../../formulaire/select-entry";
 import { FormulaireService } from "../../services/formulaire/formulaire.service";
-import { Session } from "jalhyd";
+import { Session, CalculatorType } from "jalhyd";
+import { FormulaireDefinition } from "../../formulaire/definition/form-definition";
+import { FieldsetContainer } from "../../formulaire/fieldset-container";
 
 @Component({
     selector: "select-cloisons-field-line",
@@ -17,7 +20,8 @@ export class SelectCloisonsFieldLineComponent implements OnInit {
     private _select: SelectField;
 
     public constructor(
-        private _formService: FormulaireService
+        private _formService: FormulaireService,
+        private router: Router
     ) {}
 
     public get selectId() {
@@ -88,6 +92,18 @@ export class SelectCloisonsFieldLineComponent implements OnInit {
     }
 
     public createCloisons() {
-        console.log("CREATE CLOISONS !!");
+        const p: Promise<FormulaireDefinition> = this._formService.createFormulaire(CalculatorType.Cloisons);
+        p.then(f => {
+            this.router.navigate(["/calculator", f.uid]);
+            return f;
+        }).then(f => {
+            // on ajoute un ouvrage au module "cloisons"
+            for (const e of f.allFormElements) {
+                if (e instanceof FieldsetContainer) {
+                    e.addFromTemplate(0);
+                    break;
+                }
+            }
+        });
     }
 }
-- 
GitLab