diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 88491f10940562b8b2e468b752a27a9029f24cbf..794becbdae28340857498d66f7ee7f82a5332d62 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -90,6 +90,7 @@ import { QuicknavComponent } from "./components/quicknav/quicknav.component"; import { ModulesDiagramComponent } from "./components/modules-diagram/modules-diagram.component"; import { MacrorugoCompoundResultsTableComponent } from "./components/macrorugo-compound-results/macrorugo-compound-results-table.component"; import { MacrorugoCompoundResultsComponent } from "./components/macrorugo-compound-results/macrorugo-compound-results.component"; +import { JetResultsComponent } from "./components/jet-results/jet-results.component"; import { DialogConfirmEmptySessionComponent } from "./components/dialog-confirm-empty-session/dialog-confirm-empty-session.component"; import { DialogConfirmCloseCalcComponent } from "./components/dialog-confirm-close-calc/dialog-confirm-close-calc.component"; @@ -193,6 +194,7 @@ const appRoutes: Routes = [ JalhydModelValidationMinDirective, JalhydModelValidationMaxDirective, JalhydModelValidationStepDirective, + JetResultsComponent, LogComponent, LogEntryComponent, ModulesDiagramComponent, diff --git a/src/app/components/calculator-results/calculator-results.component.html b/src/app/components/calculator-results/calculator-results.component.html index 93748fe047535181136b937a26c71df1c2b1f8b8..e15f90423460d877543169dc7b5081eb4446e809 100644 --- a/src/app/components/calculator-results/calculator-results.component.html +++ b/src/app/components/calculator-results/calculator-results.component.html @@ -3,5 +3,6 @@ <remous-results></remous-results> <pab-results></pab-results> <macrorugo-compound-results></macrorugo-compound-results> + <jet-results></jet-results> <fixedvar-results></fixedvar-results> </div> diff --git a/src/app/components/calculator-results/calculator-results.component.ts b/src/app/components/calculator-results/calculator-results.component.ts index 9dd4576c506802ce8fd390a5168ae6068d550cb9..dcc7e97fb7bff94990d95bd7d1cf607e95278993 100644 --- a/src/app/components/calculator-results/calculator-results.component.ts +++ b/src/app/components/calculator-results/calculator-results.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild, Output, EventEmitter, AfterViewChecked } from "@angular/core"; +import { Component, ViewChild, Output, EventEmitter, AfterViewChecked, Inject, forwardRef } from "@angular/core"; import { FixedVarResultsComponent } from "../../components/fixedvar-results/fixedvar-results.component"; import { SectionResultsComponent } from "../../components/section-results/section-results.component"; @@ -6,12 +6,15 @@ import { RemousResultsComponent } from "../../components/remous-results/remous-r import { PabResultsComponent } from "../../components/pab-results/pab-results.component"; import { MacrorugoCompoundResultsComponent } from "../macrorugo-compound-results/macrorugo-compound-results.component"; import { FormulaireDefinition } from "../../formulaire/definition/form-definition"; +import { JetResultsComponent } from "../jet-results/jet-results.component"; +import { GenericCalculatorComponent } from "../generic-calculator/calculator.component"; @Component({ selector: "calc-results", templateUrl: "./calculator-results.component.html", }) export class CalculatorResultsComponent implements AfterViewChecked { + private _formulaire: FormulaireDefinition; /** @@ -42,7 +45,13 @@ export class CalculatorResultsComponent implements AfterViewChecked { * composant d'affichage des résultats des passes à macrorugosités complexes */ @ViewChild(MacrorugoCompoundResultsComponent, { static: true }) - private mrcResultsComponent: PabResultsComponent; + private mrcResultsComponent: MacrorugoCompoundResultsComponent; + + /** + * composant d'affichage des résultats des impacts de jet + */ + @ViewChild(JetResultsComponent, { static: true }) + private jetResultsComponent: JetResultsComponent; /** * événement émis à la fin du dessin de la vue @@ -50,6 +59,10 @@ export class CalculatorResultsComponent implements AfterViewChecked { @Output() private afterViewChecked = new EventEmitter(); + public constructor( + @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent + ) { } + public set formulaire(f: FormulaireDefinition) { this._formulaire = f; if (this._formulaire === undefined) { @@ -58,12 +71,18 @@ export class CalculatorResultsComponent implements AfterViewChecked { this.remousResultsComponent.results = undefined; this.pabResultsComponent.results = undefined; this.mrcResultsComponent.results = undefined; + this.jetResultsComponent.results = undefined; } else { - this.fixedVarResultsComponent.results = f.results; this.sectionResultsComponent.results = f.results; this.remousResultsComponent.results = f.results; this.pabResultsComponent.results = f.results; this.mrcResultsComponent.results = f.results; + // FixedVar and Jet are mutually incompatible (the 2nd extend the 1st) + if (this.isJet) { + this.jetResultsComponent.results = f.results; + } else { + this.fixedVarResultsComponent.results = f.results; + } } } @@ -73,9 +92,14 @@ export class CalculatorResultsComponent implements AfterViewChecked { this.remousResultsComponent.updateView(); this.pabResultsComponent.updateView(); this.mrcResultsComponent.updateView(); + this.jetResultsComponent.updateView(); } public ngAfterViewChecked() { this.afterViewChecked.emit(); } + + public get isJet() { + return this.calculatorComponent.isJet; + } } diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts index c68de58dbccf56b5b67933b82adb0f1913d7eee8..8ad2d41945d958d6f9554ef9c6066b6c5c414dc7 100644 --- a/src/app/components/generic-calculator/calculator.component.ts +++ b/src/app/components/generic-calculator/calculator.component.ts @@ -500,6 +500,15 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe ); } + // true if current Nub is Jet + public get isJet() { + return ( + this._formulaire + && this._formulaire.currentNub + && this._formulaire.currentNub.calcType === CalculatorType.Jet + ); + } + // for "generate PAB" button public get isPABCloisons() { return ( diff --git a/src/app/components/jet-results/jet-results.component.html b/src/app/components/jet-results/jet-results.component.html new file mode 100644 index 0000000000000000000000000000000000000000..ca214f920cfd71834ec5f8aca81925b90cd94624 --- /dev/null +++ b/src/app/components/jet-results/jet-results.component.html @@ -0,0 +1,18 @@ +<div class="container"> + <!-- journal --> + <log></log> + + <results-graph *ngIf="showVarResults"></results-graph> + + <trajectory-graph></trajectory-graph> + + <div> + <!-- table des résultats fixés --> + <fixed-results [results]=fixedResults></fixed-results> + + <!-- table des résultats variés --> + <div *ngIf="showVarResults"> + <var-results [results]=varResults></var-results> + </div> + </div> +</div> diff --git a/src/app/components/jet-results/jet-results.component.scss b/src/app/components/jet-results/jet-results.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..6f5eb10d525664ef64b09c7c5eda9a8a074218b1 --- /dev/null +++ b/src/app/components/jet-results/jet-results.component.scss @@ -0,0 +1,4 @@ +results-graph { + margin-left: 1em; + margin-right: 1em; +} diff --git a/src/app/components/jet-results/jet-results.component.ts b/src/app/components/jet-results/jet-results.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..4bbf4a2d08cdf6c3b8b4beca5d8aaaa969796828 --- /dev/null +++ b/src/app/components/jet-results/jet-results.component.ts @@ -0,0 +1,14 @@ +import { Component } from "@angular/core"; + +import { FixedVarResultsComponent } from "../fixedvar-results/fixedvar-results.component"; + +@Component({ + selector: "jet-results", + templateUrl: "./jet-results.component.html", + styleUrls: [ + "./jet-results.component.scss" + ] +}) +export class JetResultsComponent extends FixedVarResultsComponent { + +} diff --git a/src/app/formulaire/form-iterator/deep-node-iterator.ts b/src/app/formulaire/form-iterator/deep-node-iterator.ts deleted file mode 100644 index cca6046a1a48ef715c5685ab5b89f7710dbb1501..0000000000000000000000000000000000000000 --- a/src/app/formulaire/form-iterator/deep-node-iterator.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { AbstractFormulaireNodeIterator } from "./abstract-node-iterator"; -import { FormulaireNode } from "../formulaire-node"; - -export class DeepFormulaireNodeIterator extends AbstractFormulaireNodeIterator<FormulaireNode> implements IterableIterator<FormulaireNode> { - // interface IterableIterator - - [Symbol.iterator](): IterableIterator<FormulaireNode> { - return this; - } -} diff --git a/src/app/results/multidimension-results.ts b/src/app/results/multidimension-results.ts index 5475c6c603a43f15b974e5bffc10d5d9dc6193d2..b0ecbca0e0ac8e011740abbd1509cf810d7fe7a8 100644 --- a/src/app/results/multidimension-results.ts +++ b/src/app/results/multidimension-results.ts @@ -2,7 +2,7 @@ import { CalculatedParamResults } from "./param-calc-results"; import { NgParameter } from "../formulaire/ngparam"; -export class MultiDimensionResults extends CalculatedParamResults/* implements PlottableData */ { +export class MultiDimensionResults extends CalculatedParamResults { /** paramètres variés */ public variatedParameters: NgParameter[];