Fixed a circular reference. Touched up long press on card items for mobile devices to now be so sensitive for triggering selection code. (#609)

This commit is contained in:
Joseph Milazzo 2021-09-30 07:11:18 -07:00 committed by GitHub
parent 4c536bade6
commit 04e1051ec9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 25 additions and 16 deletions

View file

@ -120,14 +120,31 @@ export class CardItemComponent implements OnInit, OnDestroy {
prevTouchTime: number = 0;
prevOffset: number = 0;
@HostListener('touchstart', ['$event'])
onTouchStart(event: TouchEvent) {
const verticalOffset = (window.pageYOffset
|| document.documentElement.scrollTop
|| document.body.scrollTop || 0);
this.prevTouchTime = event.timeStamp;
this.prevOffset = verticalOffset;
}
@HostListener('touchend', ['$event'])
onTouchEnd(event: TouchEvent) {
if (event.timeStamp - this.prevTouchTime >= 200) {
const delta = event.timeStamp - this.prevTouchTime;
const verticalOffset = (window.pageYOffset
|| document.documentElement.scrollTop
|| document.body.scrollTop || 0);
if (verticalOffset != this.prevOffset) {
this.prevTouchTime = 0;
return;
}
if (delta >= 300 && delta <= 1000) {
this.handleSelection();
event.stopPropagation();
event.preventDefault();