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  56x   10053x   10053x 10081x       28x 10053x     10053x 10053x 10053x 10053x           20134x 28x   28x 20106x 20106x 28x   28x 1x       28x         28x     20106x 10081x 10053x       338x   28x 48x 98x 2x   28x 28x 28x 20106x     28x  
<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>