Cannot find namespace NodeJS when using NodeJS.Timer in Ionic 2

Discussão em 'Angular' iniciado por Chris, Outubro 23, 2024.

  1. Chris

    Chris Guest

    I am attempting to use some code I found on https://github.com/bevacqua/dragula/issues/289#issuecomment-277143172 to my Ionic project.

    When I run the code I get an error Cannot find namespace 'NodeJS' and the error refers to touchTimeout: NodeJS.Timer;

    How can I adapt the code below to make the NodeJS.Timer line work?

    import { Directive, ElementRef, HostListener } from '@angular/core';

    @Directive({ selector: '[delayDragLift]' })
    export class DelayDragLiftDirective {

    dragDelay: number = 200; // milliseconds
    draggable: boolean = false;
    touchTimeout: NodeJS.Timer;

    @HostListener('touchmove', ['$event'])
    // @HostListener('mousemove', ['$event'])
    onMove(e: Event) {
    if (!this.draggable) {
    e.stopPropagation();
    clearTimeout(this.touchTimeout);
    }
    }

    @HostListener('touchstart', ['$event'])
    // @HostListener('mousedown', ['$event'])
    onDown(e: Event) {
    this.touchTimeout = setTimeout(() => {
    this.draggable = true;
    }, this.dragDelay);
    }

    @HostListener('touchend', ['$event'])
    // @HostListener('mouseup', ['$event'])
    onUp(e: Event) {
    clearTimeout(this.touchTimeout);
    this.draggable = false;
    }

    constructor(private el: ElementRef) {
    }
    }

    Continue reading...

Compartilhe esta Página