An error occurred while loading the file. Please try again.
-
Youcef Aouad authored6f3e1e31
import { Component, Output, EventEmitter } from "@angular/core";
import { PabResults } from "../../results/pab-results";
import { I18nService } from "../../services/internationalisation/internationalisation.service";
import { ApplicationSetupService } from "../../services/app-setup/app-setup.service";
@Component({
selector: "pab-variable-results-selector",
templateUrl: "./pab-variable-results-selector.component.html",
styleUrls: [
"./pab-variable-results-selector.component.scss"
]
})
export class PabVariableResultsSelectorComponent {
/** résultats non mis en forme */
private _pabResults: PabResults;
private _selectedValue: number;
/** size of the longest variable value */
private size = 0;
/** inferred extended values list for each variating parameter */
private varValues = [];
@Output()
protected indexChange = new EventEmitter();
constructor(
protected intlService: I18nService,
protected appSetupService: ApplicationSetupService
) {
this._selectedValue = 0;
}
public set results(r: PabResults) {
this._pabResults = r;
if (this._pabResults) {
// pre-extract variable parameters values
this.varValues = [];
const nDigits = this.appSetupService.displayDigits;
// find longest list
this.size = 0;
for (let i = 0; i < this._pabResults.variatedParameters.length; i++) {
const vs = this._pabResults.variatedParameters[i].valuesIterator.count();
if (vs > this.size) {
this.size = vs;
}
}
// get extended values lists for each variable parameter
for (const v of this._pabResults.variatedParameters) {
const vv = [];
const iter = v.getExtendedValuesIterator(this.size);
while (iter.hasNext) {
const nv = iter.next();
vv.push(nv.value.toFixed(nDigits));
}
this.varValues.push(vv);
}
}
}
public get hasVariableResults(): boolean {
return (
this._pabResults
&& this._pabResults.hasResults
&& this._pabResults.variatedParameters.length > 0
);
7172737475767778798081828384858687888990919293949596979899100101102103104105
}
public get entries(): number[] {
let i = 0;
const entries: number[] = this._pabResults.variatedParameters[0].inferredValuesList.map((v) => {
return i++;
});
return entries;
}
protected entryLabel(index: number): string {
let i = 0;
return this.varValues.map((vv) => {
const vp = this._pabResults.variatedParameters[i];
i++;
let value = "0";
value = vv[index];
return `${vp.symbol} = ${value}`;
}).join(", ");
}
public get selectedValue(): number {
return this._selectedValue;
}
public set selectedValue(v: number) {
this._pabResults.variableIndex = v;
this.indexChange.emit();
}
public get label() {
return this.intlService.localizeText("INFO_PARAMFIELD_BOUNDARY_CONDITIONS");
}
}