UNPKG

dynamic-display-shared

Version:

A library for dynamic view

70 lines 9.79 kB
import { APP_INITIALIZER, Injectable } from '@angular/core'; import { fromEvent, merge, Observable, Subject, Subscription, timer } from 'rxjs'; import { OAuthService } from 'angular-oauth2-oidc'; import * as i0 from "@angular/core"; import * as i1 from "angular-oauth2-oidc"; export class IdleService { constructor(authService) { this.authService = authService; this.idle = new Observable(); this.timer = new Subscription(); this.timeOutMilliSeconds = 1000; this.idleSubscription = new Subscription(); this.expired = new Subject(); } startWatching(timeOutMinutes) { this.idle = merge(fromEvent(document, 'mousemove'), fromEvent(document, 'click'), fromEvent(document, 'mousedown'), fromEvent(document, 'keypress'), fromEvent(document, 'DOMMouseScroll'), fromEvent(document, 'mousewheel'), fromEvent(document, 'touchmove'), fromEvent(document, 'MSPointerMove'), fromEvent(window, 'mousemove'), fromEvent(window, 'resize')); this.timeOutMilliSeconds = timeOutMinutes * 60 * 1000; this.idleSubscription = this.idle.subscribe((res) => { this.resetTimer(); }); this.startTimer(); return this.expired; } startTimer() { this.timer = timer(this.timeOutMilliSeconds, this.timeOutMilliSeconds).subscribe((res) => { this.expired.next(true); }); } resetTimer() { this.timer.unsubscribe(); this.startTimer(); } stopTimer() { this.timer.unsubscribe(); this.idleSubscription.unsubscribe(); } initialIdleSettings(idleTimeInMinutes, message) { this.startWatching(idleTimeInMinutes).subscribe((isTimeOut) => { if (isTimeOut) { //this.notificationService.showInfo(message,""); alert(message); this.authService.logOut(); } }); } } IdleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: IdleService, deps: [{ token: i1.OAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); IdleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: IdleService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: IdleService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.OAuthService }]; } }); export function initIdle() { return { provide: APP_INITIALIZER, useFactory: appInitIdleFactory, deps: [IdleService], multi: true }; } export function appInitIdleFactory(idle) { // return async () => idle.initialIdleSettings(environment.idleTimeInMinutes, MessagesConfig.RECONNECTED_ALERT); return true; } export const IdleModule = { init: initIdle }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1kaXNwbGF5LXNoYXJlZC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9pZGxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBTW5ELE1BQU0sT0FBTyxXQUFXO0lBT3RCLFlBQXFCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTHJDLFNBQUksR0FBb0IsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUN6QyxVQUFLLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDekMsd0JBQW1CLEdBQVcsSUFBSSxDQUFDO1FBQ25DLHFCQUFnQixHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELFlBQU8sR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQUNULENBQUM7SUFDM0MsYUFBYSxDQUFDLGNBQXVCO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUNmLFNBQVMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQ2hDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQzVCLFNBQVMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQ2hDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQy9CLFNBQVMsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsRUFDckMsU0FBUyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsRUFDakMsU0FBUyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFDaEMsU0FBUyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsRUFDcEMsU0FBUyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFDOUIsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FDNUIsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxjQUFjLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUN0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDTyxVQUFVO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN0RixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNNLFNBQVM7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQ00sbUJBQW1CLENBQUMsaUJBQXdCLEVBQUMsT0FBYztRQUNoRSxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBa0IsRUFBRSxFQUFFO1lBQ3JFLElBQUksU0FBUyxFQUFFO2dCQUNiLGdEQUFnRDtnQkFDaEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3dHQWpEWSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQXVERCxNQUFNLFVBQVUsUUFBUTtJQUN0QixPQUFPO1FBQ0gsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLGtCQUFrQjtRQUM5QixJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7UUFDbkIsS0FBSyxFQUFFLElBQUk7S0FDZCxDQUFBO0FBQ0gsQ0FBQztBQUNELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUFpQjtJQUNsRCxnSEFBZ0g7SUFDaEgsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBQ0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxRQUFRO0NBQ2YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlc0NvbmZpZyB9IGZyb20gJy4uL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIElkbGVTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBpZGxlOiBPYnNlcnZhYmxlPGFueT4gPSBuZXcgT2JzZXJ2YWJsZSgpO1xyXG4gIHByaXZhdGUgdGltZXIgOlN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBwcml2YXRlIHRpbWVPdXRNaWxsaVNlY29uZHM6IG51bWJlciA9IDEwMDA7XHJcbiAgcHJpdmF0ZSBpZGxlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgcHVibGljIGV4cGlyZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIGF1dGhTZXJ2aWNlOk9BdXRoU2VydmljZSkgeyB9XHJcbiAgcHVibGljIHN0YXJ0V2F0Y2hpbmcodGltZU91dE1pbnV0ZXMgOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pZGxlID0gbWVyZ2UoXHJcbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNlbW92ZScpLFxyXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpLFxyXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZWRvd24nKSxcclxuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAna2V5cHJlc3MnKSxcclxuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnRE9NTW91c2VTY3JvbGwnKSxcclxuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V3aGVlbCcpLFxyXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICd0b3VjaG1vdmUnKSxcclxuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnTVNQb2ludGVyTW92ZScpLFxyXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAnbW91c2Vtb3ZlJyksXHJcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKSxcclxuICAgICk7XHJcbiAgICB0aGlzLnRpbWVPdXRNaWxsaVNlY29uZHMgPSB0aW1lT3V0TWludXRlcyAqIDYwICogMTAwMDtcclxuICAgIHRoaXMuaWRsZVN1YnNjcmlwdGlvbiA9IHRoaXMuaWRsZS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLnJlc2V0VGltZXIoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdGFydFRpbWVyKCk7XHJcbiAgICByZXR1cm4gdGhpcy5leHBpcmVkO1xyXG4gIH1cclxuICBwcml2YXRlIHN0YXJ0VGltZXIoKSB7XHJcbiAgIHRoaXMudGltZXIgPSB0aW1lcih0aGlzLnRpbWVPdXRNaWxsaVNlY29uZHMsIHRoaXMudGltZU91dE1pbGxpU2Vjb25kcykuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgdGhpcy5leHBpcmVkLm5leHQodHJ1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHVibGljIHJlc2V0VGltZXIoKSB7XHJcbiAgICB0aGlzLnRpbWVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnN0YXJ0VGltZXIoKTtcclxuICB9XHJcbiAgcHVibGljIHN0b3BUaW1lcigpIHtcclxuICAgIHRoaXMudGltZXIudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuaWRsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuICBwdWJsaWMgaW5pdGlhbElkbGVTZXR0aW5ncyhpZGxlVGltZUluTWludXRlczpudW1iZXIsbWVzc2FnZTpzdHJpbmcpIHtcclxuICAgIHRoaXMuc3RhcnRXYXRjaGluZyhpZGxlVGltZUluTWludXRlcykuc3Vic2NyaWJlKChpc1RpbWVPdXQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKGlzVGltZU91dCkge1xyXG4gICAgICAgIC8vdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnNob3dJbmZvKG1lc3NhZ2UsXCJcIik7XHJcbiAgICAgICAgYWxlcnQobWVzc2FnZSk7XHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dPdXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7ICAgXHJcbn1cclxuXHJcbn1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5pdElkbGUoKSB7XHJcbiAgcmV0dXJuIHtcclxuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICB1c2VGYWN0b3J5OiBhcHBJbml0SWRsZUZhY3RvcnksXHJcbiAgICAgIGRlcHM6IFtJZGxlU2VydmljZV0sXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgfVxyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBhcHBJbml0SWRsZUZhY3RvcnkoaWRsZTogSWRsZVNlcnZpY2UpOiBib29sZWFuIHsvLygpID0+IFByb21pc2U8YW55PiB7XHJcbiAgLy8gcmV0dXJuIGFzeW5jICgpID0+IGlkbGUuaW5pdGlhbElkbGVTZXR0aW5ncyhlbnZpcm9ubWVudC5pZGxlVGltZUluTWludXRlcywgTWVzc2FnZXNDb25maWcuUkVDT05ORUNURURfQUxFUlQpO1xyXG4gIHJldHVybiB0cnVlO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJZGxlTW9kdWxlID0ge1xyXG4gIGluaXQ6IGluaXRJZGxlXHJcbn0iXX0=