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   16902x   16902x 16945x       48x 16902x     16902x 16902x 16902x 16902x           33847x 43x   43x 33804x 33804x 43x   43x 1x       43x         43x     33804x 16945x 16902x       370x   43x 44x 90x 2x   43x 43x 43x 33804x     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>