calculator.component.html 5.74 KiB
<mat-card class="calculator-card" [id]="ID">
    <mat-card-header>
        <div class="hyd-window-btns">
            <!-- bouton d'aide -->
            <mat-icon *ngIf="enableHelpButton" (click)="openHelp()" color="accent" [title]="uitextOpenHelp">
                help
            </mat-icon>
            <!-- bouton de duplication -->
            <mat-icon id="clone-calc" (click)="cloneCalculator()" [title]="uitextCloneCalculator">
                content_copy
            </mat-icon>
            <!-- bouton de sauvegarde -->
            <mat-icon id="save-calc" (click)="saveCalculator()" [title]="uitextSaveCalculator">
                file_download
            </mat-icon>
            <!-- bouton de fermeture -->
            <mat-icon id="close-calc" (click)="closeCalculator()" [title]="uitextCloseCalculator">
                close
            </mat-icon>
        </div>
        <!-- titre -->
        <!-- on utilise [innerHTML] pour que les codes HTML comme &nbsp; soient interprétés correctement -->
        <mat-card-title>
            <h1 [innerHTML]="uitextTitre"></h1>
            <div id="calculator-used-by" *ngIf="calculatorsUsingThisOne.length > 0">
                {{ uitextUsedBy }}
                <span *ngFor="let c of calculatorsUsingThisOne; let i = index" >
                    <a class="used-by-item" (click)="toCalc(c.uid)">
                        {{ c.label }}
                    </a>
                    <span *ngIf="i < calculatorsUsingThisOne.length - 1">, </span>
                </span>
            </div>
        </mat-card-title>
    </mat-card-header>
    <quicknav [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'input'" [align]="'left'"></quicknav>
    <form>
        <mat-card-content>
            <!-- nom du module de calcul -->
            <calc-name id="calculator-name" [title]="uitextCalculatorName"></calc-name>
            <div id="calc-cards-container" class="container"
              [fxLayout]="isWide ? 'column' : 'row wrap'"
              [fxLayoutAlign]="isWide ? 'space-around stretch' : 'space-around start'">
                <!-- chapitres -->
                <mat-card id="calc-card-field-sets"
                  [class.pab-field-sets]="isWide"
                  [fxFlex.gt-sm]="isWide ? '1 0 auto' : '1 0 400px'"
                  [fxFlex.lt-md]="isWide ? '1 0 auto' : '1 0 500px'"
                  [fxFlex.lt-sm]="isWide ? '1 0 auto' : '1 0 300px'">
                    <ng-template ngFor let-fe [ngForOf]="formElements">
                        <field-set *ngIf="isFieldset(fe)" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe
                            (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
                            (tabPressed)="onTabPressed($event)">
                        </field-set>
                        <fieldset-container *ngIf="isFieldsetContainer(fe)" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe
                            (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
                            (tabPressed)="onTabPressed($event)">
                        </fieldset-container>
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
<pab-table *ngIf="isPabTable(fe)" [pabTable]=fe (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)> </pab-table> </ng-template> <mat-card-actions> <!-- bouton calculer --> <button type="submit" id="trigger-calculate" mat-raised-button color="accent" name="Calculer" (click)="doCompute()" [disabled]="isCalculateDisabled"> {{ uitextCalculer }} </button> </mat-card-actions> </mat-card> <!-- résultats --> <mat-card id="calc-card-results" [class.pab-results]="isWide" [fxFlex.gt-sm]="isWide ? '1 0 auto' : '1 0 400px'" [fxFlex.lt-md]="isWide ? '1 0 auto' : '1 0 500px'" [fxFlex.lt-sm]="isWide ? '1 0 auto' : '1 0 300px'"> <div id="fake-results-anchor"></div> <quicknav [ngClass.lt-xs]="'extraSmall'" [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'results'" [align]="'left'"></quicknav> <mat-card-header *ngIf="! isWide" [fxHide.lt-md]="! isWide"> <mat-card-title> <h1 [innerHTML]="uitextResultsTitle"></h1> </mat-card-title> </mat-card-header> <button mat-raised-button color="accent" id="generate-pab" *ngIf="isPABCloisons" (click)="generatePAB()" [disabled]="! generatePABEnabled" [title]="uitextGeneratePabTitle"> {{ uitextGeneratePAB }} </button> <div *ngIf="isBief" class="multi-buttons-container"> <button mat-raised-button color="accent" id="generate-sp-amont" (click)="generateSPAmont()"> {{ uitextGenerateSPAmont }} </button> <button mat-raised-button color="accent" id="generate-sp-aval" (click)="generateSPAval()"> {{ uitextGenerateSPAval }} </button> </div> <mat-card-content> <calc-results id="resultsComp" (afterViewChecked)="onCalcResultsViewChecked()"></calc-results> </mat-card-content> </mat-card> </div> </mat-card-content> </form> </mat-card>