import {
Component,
ElementRef, EventEmitter,
HostListener, OnInit,
Output,
ViewChild,
ViewEncapsulation
} from '@angular/core';
@Component({
selector: 'flo-editor-paper',
template: `
`,
styleUrls: ['./editor.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class PaperComponent implements OnInit {
@ViewChild('paper', { static: true }) paperElement: ElementRef;
@Output()
onDelete = new EventEmitter();
@Output()
onProperties = new EventEmitter();
@Output()
onBlur = new EventEmitter();
@HostListener('click')
click() {
this.paperElement.nativeElement.focus();
}
@HostListener('mousedown')
mousedown() {
this.paperElement.nativeElement.focus();
}
@HostListener('keydown.backspace')
backspaceHandle() {
this.onDelete.emit();
}
@HostListener('keydown.delete')
deleteHandle() {
this.onDelete.emit();
}
@HostListener('keydown.o')
oHandle() {
this.onProperties.emit();
}
ngOnInit(): void {
const onBlur = this.onBlur;
this.paperElement.nativeElement.addEventListener('blur', () => {
onBlur.emit();
});
}
}