UNPKG

idle-detector

Version:

[Description:] This library is created to detect the Inactivity of the User. You can specify the Inactivity [timeout] in [milliseconds].

34 lines 3.76 kB
import { Directive, EventEmitter, Output, Input } from '@angular/core'; import * as i0 from "@angular/core"; export class IdleDetectorDirective { constructor() { this.timedOut = new EventEmitter(); } ngOnInit() { this.inactivityTime(); } inactivityTime() { window.onload = this.resetTimer; document.onmousemove = this.resetTimer.bind(this); document.onkeypress = this.resetTimer.bind(this); } resetTimer() { clearTimeout(this.timer); this.timer = setTimeout(() => { this.timedOut.emit('true'); }, this.timeout); } } IdleDetectorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IdleDetectorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); IdleDetectorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: IdleDetectorDirective, selector: "[libIdleDetector]", inputs: { timeout: "timeout" }, outputs: { timedOut: "timedOut" }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IdleDetectorDirective, decorators: [{ type: Directive, args: [{ selector: '[libIdleDetector]' }] }], ctorParameters: function () { return []; }, propDecorators: { timeout: [{ type: Input }], timedOut: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS1kZXRlY3Rvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pZGxlLWRldGVjdG9yL3NyYy9saWIvaWRsZS1kZXRlY3Rvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxZQUFZLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQzs7QUFLM0UsTUFBTSxPQUFPLHFCQUFxQjtJQW1CaEM7UUFqQlUsYUFBUSxHQUFPLElBQUksWUFBWSxFQUFFLENBQUM7SUFpQjVCLENBQUM7SUFmakIsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBQ0QsY0FBYztRQUNSLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNoQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFVBQVU7UUFDUixZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM1QixDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2xCLENBQUM7O21IQWxCVSxxQkFBcUI7dUdBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOzBFQUVVLE9BQU87c0JBQWYsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLEV2ZW50RW1pdHRlcixPdXRwdXQsSW5wdXQsT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tsaWJJZGxlRGV0ZWN0b3JdJ1xufSlcbmV4cG9ydCBjbGFzcyBJZGxlRGV0ZWN0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0aW1lb3V0OmFueTtcbiAgQE91dHB1dCgpIHRpbWVkT3V0OmFueSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgdGltZXI6YW55O1xuICBuZ09uSW5pdCgpe1xuICAgIHRoaXMuaW5hY3Rpdml0eVRpbWUoKTtcbiAgfVxuICBpbmFjdGl2aXR5VGltZSgpe1xuICAgICAgICB3aW5kb3cub25sb2FkID0gdGhpcy5yZXNldFRpbWVyO1xuICAgICAgICBkb2N1bWVudC5vbm1vdXNlbW92ZSA9IHRoaXMucmVzZXRUaW1lci5iaW5kKHRoaXMpO1xuICAgICAgICBkb2N1bWVudC5vbmtleXByZXNzID0gdGhpcy5yZXNldFRpbWVyLmJpbmQodGhpcyk7XG4gIH1cbiAgICAgICAgXG4gIHJlc2V0VGltZXIoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICAgIHRoaXMudGltZXIgPSBzZXRUaW1lb3V0KCgpPT57XG4gICAgICB0aGlzLnRpbWVkT3V0LmVtaXQoJ3RydWUnKVxuICAgIH0sIHRoaXMudGltZW91dClcbiAgfVxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG59XG4iXX0=