All files / src/app/components/multi-select-signals multi-select-signals.component.html

100% Statements 71/71
100% Branches 10/10
100% Functions 9/9
100% Lines 33/33

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65  66x   13013x   13013x 13046x       34x 13013x     13013x 13013x 13013x 13013x           26059x 33x   33x 26026x 26026x 33x   33x 1x       33x         33x     26026x 13046x 13013x       370x   33x 44x 90x 2x   33x 33x 33x 26026x     33x  
<div class="toolbar-element signal-selector">
    <p-multiSelect
    class="signal-select"
    [virtualScroll]="true"
    [virtualScrollItemSize]="virtualScrollItemSize"
    [options]="signalIdsToDisplay"
    [(ngModel)]="signalIdsToPlot"
    [filter]="true"
    [filterMatchMode]="'contains'"
    placeholder="Select Signals"
    (onChange)="onChangeSelection($event.value)"
    [selectionLimit]="selectionLimit"
    />
 
    <p-button id="savePresetButton" (click)="exportPreset.toggle($event)" icon="pi pi-file-export" [rounded]="true" size="small" [outlined]="true" [disabled]="signalIdsToPlot.length === 0" title="Save signals preset"></p-button>
    <p-button id="loadPresetButton" (click)="importPreset.toggle($event)" icon="pi pi-file-import" [rounded]="true" size="small" [outlined]="true" title="Load signals preset"></p-button>
    <p-button id="deletePresetButton" (click)="deletePreset()" icon="pi pi-times" [rounded]="true" size="small" [outlined]="true" [disabled]="selectedSignalsPreset === undefined"
        [title]="`Delete preset ${this.selectedSignalsPreset?.name}`"></p-button>
 
    <p-popover #exportPreset>
        <div class="signals-preset-popover">
            <div>
                <p-floatlabel>
                    <input pInputText class="input" id="preset_name" [(ngModel)]="newSignalsPresetName">
                    <label for="preset_name">Preset name</label>
                </p-floatlabel>
            </div>
            <p-button id="createPresetButton" (click)="saveSignalsPreset()" [disabled]="!isPresetNameValid">
                @if(this.isSignalsPresetNew) {
                    Create preset
                }
                @else {
                    Update preset
                }
            </p-button>
        </div>
    </p-popover>
 
    <p-popover #importPreset>
        <div class="signals-preset-popover">
            <p-floatlabel>
                <p-select
                    id="presetSelector"
                    class="preset-selector"
                    [options]="signalsPresets"
                    [(ngModel)]="selectedSignalsPreset"
                    [filter]="true"
                    optionLabel="name"
                    inputId="presetName">
                    <ng-template let-selectedPreset #selectedItem>
                        <div [title]="selectedPreset.signal_ids.join('\n')">{{ selectedPreset.name }}</div>
                    </ng-template>
                    <ng-template let-preset #item>
                        <div class="preset-item" [title]="preset.signal_ids.join('\n')">
                            <div>{{ preset.name }}</div>
                        </div>
                    </ng-template>
                </p-select>
                <label for="presetName">Preset name</label>
            </p-floatlabel>
            <p-button id="activatePreset" (click)="loadSignalsPreset()" [disabled]="selectedSignalsPreset === undefined">Load preset</p-button>
        </div>
    </p-popover>
</div>