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  86x   17148x   17148x 17191x       48x 17148x     17148x 17148x 17148x 17148x           34339x 43x   43x 34296x 34296x 43x   43x 1x       43x         43x     34296x 17191x 17148x       374x   43x 44x 90x 2x   43x 43x 43x 34296x     43x  
<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>