diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts index f369c26d649f7dc2a62e68267e8873edee5d7018..d1cfd454e31f91dadc6c225e3414b8d5c9936fe9 100644 --- a/src/app/components/fixedvar-results/fixed-results.component.ts +++ b/src/app/components/fixedvar-results/fixed-results.component.ts @@ -7,7 +7,7 @@ import { ResultsComponentDirective } from "./results.component"; import { AppComponent } from "../../app.component"; import { NgParameter } from "../../formulaire/elements/ngparam"; -import { capitalize } from "jalhyd"; +import { capitalize, Result, ResultElement } from "jalhyd"; import { sprintf } from "sprintf-js"; @@ -114,17 +114,17 @@ export class FixedResultsComponent extends ResultsComponentDirective { if ( res && res.resultElements.length > 0 - && res.resultElement - && res.resultElement.count() > 0 + && this.getResultElement(res) + && this.getResultElement(res).count() > 0 ) { const sn = this._fixedResults.result.sourceNub; let found = false; // 2.1 all results - for (const k of res.resultElement.keys) { + for (const k of this.getResultElement(res).keys) { if (k === symbol) { found = true; - const er: number = res.resultElement.getValue(k); + const er: number = this.getResultElement(res).getValue(k); // calculator type for translation let ct = sn.calcType; if (sn.parent) { @@ -152,9 +152,9 @@ export class FixedResultsComponent extends ResultsComponentDirective { if (! found) { for (const c of sn.getChildren()) { if (c.result) { - for (const k of c.result.resultElement.keys) { + for (const k of this.getResultElement(c.result).keys) { if (k === symbol) { - const er: number = c.result.resultElement.getValue(k); + const er: number = this.getResultElement(c.result).getValue(k); // calculator type for translation let ct = sn.calcType; if (sn.parent) { @@ -209,14 +209,14 @@ export class FixedResultsComponent extends ResultsComponentDirective { if ( res && res.resultElements.length > 0 - && res.resultElement - && res.resultElement.count() > 0 + && this.getResultElement(res) + && this.getResultElement(res).count() > 0 ) { const sn = this._fixedResults.result.sourceNub; // 2.1 all results - for (const k of res.resultElement.keys) { - const er: number = res.resultElement.getValue(k); + for (const k of this.getResultElement(res).keys) { + const er: number = this.getResultElement(res).getValue(k); // calculator type for translation let ct = sn.calcType; if (sn.parent) { @@ -242,8 +242,8 @@ export class FixedResultsComponent extends ResultsComponentDirective { // 2.2. children results for (const c of sn.getChildren()) { if (c.result) { - for (const k of c.result.resultElement.keys) { - const er: number = c.result.resultElement.getValue(k); + for (const k of this.getResultElement(c.result).keys) { + const er: number = this.getResultElement(c.result).getValue(k); // calculator type for translation let ct = sn.calcType; if (sn.parent) { @@ -274,6 +274,14 @@ export class FixedResultsComponent extends ResultsComponentDirective { return this.formattedValue(fp); } + /** + * Retourne l'élément de résultat en cours pour le résultat donné; + * redéfini dans PbCloisonResultsComponent notamment + */ + protected getResultElement(r: Result): ResultElement { + return r.resultElement; + } + public exportAsSpreadsheet() { AppComponent.exportAsSpreadsheet(this.table.nativeElement, true); } diff --git a/src/app/components/pb-results/pb-cloison-results.component.ts b/src/app/components/pb-results/pb-cloison-results.component.ts index 4046808653836e277fd8f5d3d07ae2a9550ad3b2..0d2fe30ccdcec69911373b90fce555d92c52862f 100644 --- a/src/app/components/pb-results/pb-cloison-results.component.ts +++ b/src/app/components/pb-results/pb-cloison-results.component.ts @@ -5,6 +5,8 @@ import { NgParameter } from "../../formulaire/elements/ngparam"; import { getIthValue } from "../../util"; import { PbCloisonResults } from "../../results/pb-cloison-results"; +import { Result, ResultElement } from "jalhyd"; + @Component({ selector: "pb-cloison-results", templateUrl: "../fixedvar-results/fixed-results.component.html", @@ -32,4 +34,9 @@ export class PbCloisonResultsComponent extends FixedResultsComponent { } return val; } + + /** Retourne l'élément de résultat en cours, en fonction de l'index variable */ + protected getResultElement(r: Result): ResultElement { + return r.resultElements[this.results.variableIndex]; + } } diff --git a/src/app/results/prebarrage-results.ts b/src/app/results/prebarrage-results.ts index 301b8248c11445aaac713c5273938c216cd929f0..36ad3f1898dc11eb78c7d9cc1925311bb587ced6 100644 --- a/src/app/results/prebarrage-results.ts +++ b/src/app/results/prebarrage-results.ts @@ -19,7 +19,7 @@ export class PrebarrageResults extends MultiDimensionResults { public size: number; /** Stores appropriate number suffix for a given wall uid (copied from PbSchema) */ - public wallsSuffixes: { [key: string]: number }; + public wallsSuffixes: { [key: string]: number } = {}; public constructor() { super();