Skip to content
Snippets Groups Projects
Commit 8a097804 authored by mathias.chouet's avatar mathias.chouet
Browse files

Simplify calculator template data injection

parent 6957d104
No related branches found
No related tags found
2 merge requests!108Resolve "Simplifier les composants de résultats",!93Resolve "Ajout du module Prébarrage"
Pipeline #138393 passed
import { Component, Output, EventEmitter, AfterViewChecked, Inject, forwardRef } from "@angular/core";
import { Component, Output, EventEmitter, AfterViewChecked, Inject, forwardRef, Input } from "@angular/core";
import { FormulaireDefinition } from "../../formulaire/definition/form-definition";
import { CalculatorResults } from "../../results/calculator-results";
......@@ -20,7 +20,7 @@ export class CalculatorResultsComponent implements AfterViewChecked {
@Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent
) { }
// @TODO @Input() ?
@Input()
public set formulaire(f: FormulaireDefinition) {
this._formulaire = f;
}
......
import { Component } from "@angular/core";
import { Component, Input } from "@angular/core";
import { GenericInputComponentDirective } from "../generic-input/generic-input.component";
import { FormulaireDefinition } from "../../formulaire/definition/form-definition";
import { I18nService } from "../../services/internationalisation.service";
......@@ -20,6 +20,11 @@ export class CalculatorNameComponent extends GenericInputComponentDirective {
super(null, intlService, appSetupService);
}
@Input()
public set model(v: any) {
super.model = v;
}
/**
* formulaire géré
*/
......
......@@ -57,7 +57,7 @@
<mat-card-content>
<!-- nom du module de calcul -->
<calc-name id="calculator-name" [title]="uitextCalculatorName"></calc-name>
<calc-name id="calculator-name" [model]="formulaire" [title]="uitextCalculatorName"></calc-name>
<button mat-raised-button type="button" color="accent" id="load-predefined-espece" *ngIf="isEspece"
(click)="loadPredefinedEspece()" [title]="uitextLoadPredefinedEspece">
......@@ -192,7 +192,7 @@
</button>
<mat-card-content>
<calc-results id="resultsComp" (afterViewChecked)="onCalcResultsViewChecked()"></calc-results>
<calc-results id="resultsComp" [formulaire]="formulaire" (afterViewChecked)="onCalcResultsViewChecked()"></calc-results>
</mat-card-content>
</mat-card>
......
......@@ -31,10 +31,8 @@ import { ApplicationSetupService } from "../../services/app-setup.service";
import { I18nService } from "../../services/internationalisation.service";
import { FieldSet } from "../../formulaire/elements/fieldset";
import { FormulaireDefinition } from "../../formulaire/definition/form-definition";
import { CalculatorResultsComponent } from "../../components/calculator-results/calculator-results.component";
import { Subscription } from "rxjs";
import { FieldSetComponent } from "../field-set/field-set.component";
import { CalculatorNameComponent } from "./calc-name.component";
import { FormulaireElement } from "../../formulaire/elements/formulaire-element";
import { FieldsetContainer } from "../../formulaire/elements/fieldset-container";
import { FieldsetContainerComponent } from "../fieldset-container/fieldset-container.component";
......@@ -46,7 +44,6 @@ import { DialogGeneratePARSimulationComponent } from "../dialog-generate-par-sim
import { DialogLoadPredefinedEspeceComponent } from "../dialog-load-predefined-espece/dialog-load-predefined-espece.component";
import { PabTable } from "../../formulaire/elements/pab-table";
import { MultiDimensionResults } from "../../results/multidimension-results";
import { NgParameter } from "../../formulaire/elements/ngparam";
import { FormulaireFixedVar } from "../../formulaire/definition/form-fixedvar";
import { PbSchema } from "../../formulaire/elements/pb-schema";
import { PbSchemaComponent } from "../pb-schema/pb-schema.component";
......@@ -86,18 +83,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
@ViewChild(PbSchemaComponent)
private _pbSchemaComponent: PbSchemaComponent;
/**
* composant d'affichage des résultats
*/
@ViewChild(CalculatorResultsComponent, { static: true })
private resultsComponent: CalculatorResultsComponent;
/**
* composant "nom du module de calcul"
*/
@ViewChild(CalculatorNameComponent, { static: true })
private _calculatorNameComponent: CalculatorNameComponent;
/**
* formulaire affiché
*/
......@@ -179,6 +164,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
}, this)));
}
public get formulaire(): FormulaireDefinition {
return this._formulaire;
}
public get formElements(): FormulaireElement[] {
if (this._formulaire === undefined) {
return [];
......@@ -447,8 +436,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
case "currentFormChanged":
const uid: string = data["formId"];
this._formulaire = (this.formulaireService.getFormulaireFromId(uid));
this.resultsComponent.formulaire = this._formulaire;
this._calculatorNameComponent.model = this._formulaire;
// reload localisation in all cases (it does not eat bread)
this.formulaireService.updateFormulaireLocalisation(this._formulaire);
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment