All files / components/side-panel side-panel.component.ts

100% Statements 10/10
100% Branches 2/2
100% Functions 2/2
100% Lines 9/9

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 271x 1x                 1x 16x 16x 16x       2x 1x         3x      
import { IconButtonComponent } from '../icon-button/icon-button.component';
import { ChangeDetectionStrategy, Component, HostListener, input, output } from '@angular/core';
 
@Component({
    selector: 'ui-side-panel',
    imports: [IconButtonComponent],
    templateUrl: './side-panel.component.html',
    styleUrl: './side-panel.component.scss',
    changeDetection: ChangeDetectionStrategy.OnPush,
})
export class SidePanelComponent {
    readonly open = input(false);
    readonly header = input<string>();
    readonly closed = output<void>();
 
    @HostListener('document:keydown.escape')
    onEscapePress(): void {
        if (this.open()) {
            this.close();
        }
    }
 
    close(): void {
        this.closed.emit();
    }
}