I have the following directive.
@Directive(selector: '[longpress]')
class LongPress {
@Output() EventEmitter<KeyboardEvent> longpress =
new EventEmitter<KeyboardEvent>();
KeyboardEvent _startEvent;
@Input() Duration longpressDelay = new Duration(milliseconds: 600);
Timer timer;
@HostListener("keydown", const [r"$event"])
@HostListener("keyup", const [r"$event"])
void keyEventHandler(KeyboardEvent event) {
if (_startEvent == null ||
_startEvent.type != event.type ||
_startEvent.keyCode != event.keyCode) {
if (timer != null) {
timer.cancel();
}
_startEvent = event;
timer = new Timer(longpressDelay, () {
longpress.add(_startEvent);
timer = null;
});
}
}
}
I want it to use like:
<textarea (longpress)="onLongPress($event)">
But it seems angular forces me to use it like this:
<textarea longpress (longpress)="onLongPress($event)">
Which seems a bit awkward to me. Is there any selector for events?
I have the following directive.
I want it to use like:
But it seems angular forces me to use it like this:
Which seems a bit awkward to me. Is there any selector for events?