Files
spring-flo/src/lib/editor/paper.component.ts
2019-12-05 23:03:02 +01:00

50 lines
936 B
TypeScript

import {
Component,
ElementRef, EventEmitter,
HostListener,
Output,
ViewChild,
ViewEncapsulation
} from '@angular/core';
@Component({
selector: 'flo-editor-paper',
template: `
<div #paper tabindex="0" id="paper-container">
<ng-content></ng-content>
</div>`,
styleUrls: ['./editor.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class PaperComponent {
@ViewChild('paper', { static: true }) paperElement: ElementRef;
@Output()
onDelete = new EventEmitter<number>();
@Output()
onProperties = new EventEmitter<number>();
@HostListener('click')
click() {
this.paperElement.nativeElement.focus();
}
@HostListener('mousedown')
mousedown() {
this.paperElement.nativeElement.focus();
}
@HostListener('keydown.backspace')
backspaceHandle() {
this.onDelete.emit();
}
@HostListener('keydown.o')
oHandle() {
this.onProperties.emit();
}
}