intercepting keyboard events

This commit is contained in:
Nicolas Constant 2019-07-23 00:45:52 -04:00
parent b23888fbfa
commit 6d4beceb32
No known key found for this signature in database
GPG Key ID: 1E9F677FB01A5688
2 changed files with 17 additions and 1 deletions

View File

@ -8,7 +8,9 @@
<textarea #reply [(ngModel)]="status" name="status"
class="form-control form-control-sm status-form__status flexcroll" rows="5" required title="content"
placeholder="What's in your mind?" (keydown.control.enter)="onCtrlEnter()"></textarea>
placeholder="What's in your mind?"
(keydown.control.enter)="onCtrlEnter()"
(keydown)="handleKeyDown($event)"></textarea>
<app-autosuggest class="status-form__autosuggest" *ngIf="autosuggestData"
[pattern]="autosuggestData"

View File

@ -2,6 +2,7 @@ import { Component, OnInit, OnDestroy, Input, Output, EventEmitter, ElementRef,
import { HttpErrorResponse } from '@angular/common/http';
import { Store } from '@ngxs/store';
import { Subscription, Observable } from 'rxjs';
import { UP_ARROW, DOWN_ARROW, ENTER } from '@angular/cdk/keycodes';
import { MastodonService, VisibilityEnum } from '../../services/mastodon.service';
import { Status, Attachment } from '../../services/models/mastodon.interfaces';
@ -473,4 +474,17 @@ export class CreateStatusComponent implements OnInit, OnDestroy {
this.focus();
}
}
handleKeyDown(event: KeyboardEvent): boolean {
if(this.autosuggestData){
if (event.keyCode === DOWN_ARROW || event.keyCode === UP_ARROW || event.keyCode === ENTER) {
event.stopImmediatePropagation();
event.preventDefault();
event.stopPropagation();
console.warn(event.keyCode);
return false;
}
}
}
}