Commit 6cfd1047 authored by Grand Francois's avatar Grand Francois
Browse files

#77 effacement des résultats quand on modifie un input

Showing with 49 additions and 6 deletions
+49 -6
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
--> -->
<ng-template ngFor let-p [ngForOf]="fields"> <ng-template ngFor let-p [ngForOf]="fields">
<param-field-line *ngIf="isInputField(p)" [param]=p (onRadio)=onRadioClick($event) (onValid)=onParamLineValid()> <param-field-line *ngIf="isInputField(p)" [param]=p (onRadio)=onRadioClick($event) (onValid)=onParamLineValid() (inputChange)=onInputChange()>
</param-field-line> </param-field-line>
<select-field-line *ngIf="isSelectField(p)" [param]=p> <select-field-line *ngIf="isSelectField(p)" [param]=p>
......
...@@ -45,6 +45,12 @@ export class FieldSetComponent implements DoCheck { ...@@ -45,6 +45,12 @@ export class FieldSetComponent implements DoCheck {
@Output() @Output()
private validChange = new EventEmitter(); private validChange = new EventEmitter();
/**
* événément de changement de valeur d'un input
*/
@Output()
private inputChange = new EventEmitter();
/** /**
* flag de validité de la saisie * flag de validité de la saisie
*/ */
...@@ -177,4 +183,11 @@ export class FieldSetComponent implements DoCheck { ...@@ -177,4 +183,11 @@ export class FieldSetComponent implements DoCheck {
private onParamLineValid(event: boolean) { private onParamLineValid(event: boolean) {
this.updateValidity(); this.updateValidity();
} }
/**
* réception d'un événement de changement de valeur d'un input
*/
private onInputChange(event: boolean) {
this.inputChange.emit();
}
} }
...@@ -6,6 +6,6 @@ ...@@ -6,6 +6,6 @@
<!-- bouton d'ajout d'un ouvrage --> <!-- bouton d'ajout d'un ouvrage -->
<button type="button" class="btn btn-grey waves-light" mdbRippleRadius (click)="addStructure()">Ajouter un ouvrage</button> <button type="button" class="btn btn-grey waves-light" mdbRippleRadius (click)="addStructure()">Ajouter un ouvrage</button>
</div> </div>
<field-set *ngFor="let fs of fieldsets" [fieldSet]=fs (onRadio)=onRadioClick($event) (onValid)=onFieldsetValid()> <field-set *ngFor="let fs of fieldsets" [fieldSet]=fs (onRadio)=onRadioClick($event) (onValid)=onFieldsetValid() (inputChange)=onInputChange()>
</field-set> </field-set>
</div> </div>
\ No newline at end of file
...@@ -101,4 +101,17 @@ export class FieldsetContainerComponent implements DoCheck { ...@@ -101,4 +101,17 @@ export class FieldsetContainerComponent implements DoCheck {
private onFieldsetValid() { private onFieldsetValid() {
this.updateValidity(); this.updateValidity();
} }
/**
* événément de changement de valeur d'un input
*/
@Output()
private inputChange = new EventEmitter();
/**
* réception d'un événement de changement de valeur d'un input
*/
private onInputChange(event: boolean) {
this.inputChange.emit();
}
} }
\ No newline at end of file
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<!-- chapitres --> <!-- chapitres -->
<ng-template ngFor let-fe [ngForOf]="formElements"> <ng-template ngFor let-fe [ngForOf]="formElements">
<field-set *ngIf="isFieldset(fe)" [style.display]="getFieldsetStyleDisplay(fe.id)" [fieldSet]=fe (onRadio)=onRadioClick($event) <field-set *ngIf="isFieldset(fe)" [style.display]="getFieldsetStyleDisplay(fe.id)" [fieldSet]=fe (onRadio)=onRadioClick($event)
(validChange)=OnFieldsetValid()></field-set> (validChange)=OnFieldsetValid() (inputChange)=onInputChange()></field-set>
<fieldset-container *ngIf="isFieldsetContainer(fe)" [container]=fe (onRadio)=onRadioClick($event) (validChange)=onFieldsetContainerValid()></fieldset-container> <fieldset-container *ngIf="isFieldsetContainer(fe)" [container]=fe (onRadio)=onRadioClick($event) (validChange)=onFieldsetContainerValid()></fieldset-container>
</ng-template> </ng-template>
......
...@@ -332,4 +332,11 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit, ...@@ -332,4 +332,11 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit,
private onFieldsetContainerValid() { private onFieldsetContainerValid() {
this.updateUIValidity(); this.updateUIValidity();
} }
/**
* réception d'un événement de changement de valeur d'un input
*/
private onInputChange() {
this._formulaire.reset();
}
} }
...@@ -36,6 +36,9 @@ export class ParamFieldLineComponent implements OnChanges { ...@@ -36,6 +36,9 @@ export class ParamFieldLineComponent implements OnChanges {
@Output() @Output()
private onValid: EventEmitter<void>; private onValid: EventEmitter<void>;
@Output()
private inputChange: EventEmitter<void>;
/** /**
* true si la valeur saisie est valide * true si la valeur saisie est valide
*/ */
...@@ -50,6 +53,7 @@ export class ParamFieldLineComponent implements OnChanges { ...@@ -50,6 +53,7 @@ export class ParamFieldLineComponent implements OnChanges {
private formulaireService: FormulaireService private formulaireService: FormulaireService
) { ) {
this.onValid = new EventEmitter(); this.onValid = new EventEmitter();
this.inputChange = new EventEmitter();
} }
private get title(): string { private get title(): string {
...@@ -261,9 +265,15 @@ export class ParamFieldLineComponent implements OnChanges { ...@@ -261,9 +265,15 @@ export class ParamFieldLineComponent implements OnChanges {
* réception d'un événement de NgParamInputComponent * réception d'un événement de NgParamInputComponent
*/ */
private onInputChange(event: any) { private onInputChange(event: any) {
if (event.action == "valid") { switch (event.action) {
this._isInputValid = event.value; case "valid":
this.emitValidity(); this._isInputValid = event.value;
this.emitValidity();
break;
case "model":
this.inputChange.emit();
break;
} }
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment