import { Component, Input } from "@angular/core"; import { MatDialog } from "@angular/material"; import { NgParameter } from "../../formulaire/ngparam"; import { ParamCalculability, Structure } from "jalhyd"; import { DialogEditParamComputedComponent } from "../dialog-edit-param-computed/dialog-edit-param-computed.component"; @Component({ selector: "param-computed", templateUrl: "./param-computed.component.html", styleUrls: [ "./param-computed.component.scss" ] }) export class ParamComputedComponent { @Input() public param: NgParameter; @Input() public title: string; /** * id de l'input, utilisé notamment pour les tests */ public get inputId() { let id = "calc_" + this.param.symbol; // if inside a nested Structure, prefix with Structure position // to disambiguate const nub = this.param.paramDefinition.parentNub; if (nub && nub instanceof Structure) { id = nub.findPositionInParent() + "_" + id; } return id; } constructor( private editInitialValueDialog: MatDialog ) { } public get isDicho() { return this.param.paramDefinition.calculability === ParamCalculability.DICHO; } public get infoText() { return NgParameter.preview(this.param.paramDefinition); } public openDialog() { // modification de la valeur initiale, sans avoir à remettre le mode de // paramètre sur "fixé" this.editInitialValueDialog.open( DialogEditParamComputedComponent, { data: { param: this.param } } ); } }