From 81b1a1699ac1fc3827a3bf0711430e435666b35d Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Tue, 3 Oct 2017 10:35:48 +0200
Subject: [PATCH] =?UTF-8?q?composant=20ParamFieldLineComponent=20:=20d?=
 =?UTF-8?q?=C3=A9sactivation=20du=20champ=20de=20saisie=20si=20le=20param?=
 =?UTF-8?q?=C3=A8tre=20est=20=C3=A0=20varier/calculer?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../param-field-line/param-field-line.component.ts    | 11 +++++++++--
 .../components/param-field-line/param-field-line.html |  2 +-
 .../components/param-input/param-input.component.html |  3 ++-
 .../components/param-input/param-input.component.ts   |  6 ++++++
 src/app/services/param/param.service.ts               |  2 +-
 5 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/src/app/components/param-field-line/param-field-line.component.ts b/src/app/components/param-field-line/param-field-line.component.ts
index a6b09030a..207ea46f1 100644
--- a/src/app/components/param-field-line/param-field-line.component.ts
+++ b/src/app/components/param-field-line/param-field-line.component.ts
@@ -158,9 +158,16 @@ export class ParamFieldLineComponent {
     }
 
     /**
-     * désactivation si paramètre par défaut à "CAL"
+     * désactivation de tous les boutons radio si paramètre par défaut à "CAL"
      */
-    private get isDisabled() {
+    private get isDisabled(): boolean {
         return this._param.isDefault && this._param.radioState == ParamRadioConfig.CAL;
     }
+
+    /**
+     * désactivation du champ de saisie
+     */
+    private get isInputDisabled(): boolean {
+        return this._param.radioState != ParamRadioConfig.FIX;
+    }
 }
diff --git a/src/app/components/param-field-line/param-field-line.html b/src/app/components/param-field-line/param-field-line.html
index c70baf871..02241c21c 100644
--- a/src/app/components/param-field-line/param-field-line.html
+++ b/src/app/components/param-field-line/param-field-line.html
@@ -5,7 +5,7 @@
         <!--
         <input id="champ_FT_rLargeurFond" type="text" value="2.5" maxlength="30" name="FT_rLargeurFond" />
         -->
-        <param-input [computeNodeType]="nodeType" [symbol]="symbol"></param-input>
+        <param-input [inputDisabled]="isInputDisabled" [computeNodeType]="nodeType" [symbol]="symbol"></param-input>
     </td>
     <td align="center" class="radio_param">
         <input *ngIf="hasRadioFix()" type="radio" name="radio_param_{{symbol}}" value="fix" (click)="onRadioClick(symbol, 'fix')"
diff --git a/src/app/components/param-input/param-input.component.html b/src/app/components/param-input/param-input.component.html
index b19228b74..bde3b4185 100644
--- a/src/app/components/param-input/param-input.component.html
+++ b/src/app/components/param-input/param-input.component.html
@@ -4,7 +4,8 @@ i18n="<meaning>|<description>@@<custom id>"
 <p i18n="titre saisie|Titre du contrôle de saisie de paramètre@@titre_saisie_param">Saisie de paramètre</p>
 -->
 <p *ngIf="displayTitle" i18n="@@titre_saisie_param">Saisie de paramètre</p>
-<input placeholder="{{_paramDef.symbol}}" [ngModel]="_uiValue.uncheckedValueString" (ngModelChange)="setValue($event)" />
+<input [disabled]="_inputDisabled" placeholder="{{_paramDef.symbol}}" [ngModel]="_uiValue.uncheckedValueString" (ngModelChange)="setValue($event)"
+/>
 <br/> {{_message}}
 <!--
 <p *ngIf="displayTitle" i18n="@@titre_saisie_param">Saisie de paramètre</p>
diff --git a/src/app/components/param-input/param-input.component.ts b/src/app/components/param-input/param-input.component.ts
index a83c81ba9..acf2d03f0 100644
--- a/src/app/components/param-input/param-input.component.ts
+++ b/src/app/components/param-input/param-input.component.ts
@@ -46,6 +46,12 @@ export class ParamInputComponent implements ControlValueAccessor, OnInit, DoChec
     @Input('symbol')
     private _paramSymbol: string;
 
+    /**
+     * enable/disable input field
+     */
+    @Input('inputDisabled')
+    private _inputDisabled: boolean;
+
     /**
      * managed parameter
      */
diff --git a/src/app/services/param/param.service.ts b/src/app/services/param/param.service.ts
index 37dd53df0..fce555e49 100644
--- a/src/app/services/param/param.service.ts
+++ b/src/app/services/param/param.service.ts
@@ -40,7 +40,7 @@ export class ParamService {
         p.calculability = ParamCalculability.FREE;
         this.addParameter(p);
 
-        logObject(this._params);
+        // logObject(this._params);
     }
 
     private hasParameter(prm: ParamDefinition): boolean {
-- 
GitLab