AlexAegis/loreplotter

View on GitHub
src/app/lore/component/element/hamburger.component.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';

@Component({
    selector: 'app-hamburger',
    templateUrl: './hamburger.component.html',
    styleUrls: ['./hamburger.component.scss'],
    changeDetection: ChangeDetectionStrategy.OnPush
})
export class HamburgerComponent implements OnInit {
    public constructor() {}

    @Output()
    public openChange = new EventEmitter<boolean>();

    private _open: boolean;

    public set open(open: boolean) {
        this._open = open;
        this.openChange.emit(this.open);
    }

    @Input()
    public get open(): boolean {
        return this._open;
    }

    public ngOnInit(): void {}

    @HostListener('click')
    public toggle(): void {
        this.open = !this.open;
    }
}