angular-user-idle is an Angular 6+-specific service for detecting and controlling user inactivity.
angular user idle example, user idle timeout angular 6, angular user idle not working, npm angular user idle, ng idle, angular user idle github
Logic
- The library waits for an inactive user for 1 minute (60 seconds).
- If an inactive is detected, then onTimerStart() is fired and counts back for 2 minutes (120 seconds).
- If the user does not stop the timer via stopTimer(), the timer expires after 2 minutes (120 seconds) and onTimeout() is firing.
How to Detect User Inactivity Using Javascript | Idle Tracker
How to make use of it:
Installation:
npm install angular-user-idle
1. In app.module.ts:
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { UserIdleModule } from 'angular-user-idle'; import { AppComponent } from './app.component'; @NgModule({ imports: [ BrowserModule, // Optionally you can set time for `idle`, `timeout` and `ping` in seconds. // Default values: `idle` is 600 (10 minutes), `timeout` is 300 (5 minutes) // and `ping` is 120 (2 minutes). UserIdleModule.forRoot({idle: 600, timeout: 300, ping: 120}) ], declarations: [AppComponent], bootstrap: [AppComponent] }) export class AppModule {}
2. You must start the user idle service in one of the core components or services of your application.
import { Component, OnInit } from '@angular/core'; import { UserIdleService } from 'angular-user-idle'; @Component({ templateUrl: './login.component.jade' }) export class LoginComponent implements OnInit { readonly googlePlayLink: string; readonly appStoreLink: string; constructor(private userIdle: UserIdleService) { } ngOnInit() { //Start watching for user inactivity. this.userIdle.startWatching(); // Start watching when user idle is starting. this.userIdle.onTimerStart().subscribe(count => console.log(count)); // Start watch when time is up. this.userIdle.onTimeout().subscribe(() => console.log('Time is up!')); } stop() { this.userIdle.stopTimer(); } stopWatching() { this.userIdle.stopWatching(); } startWatching() { this.userIdle.startWatching(); } restart() { this.userIdle.resetTimer(); } }
API
startWatching(): void;
Start user idle service and configure it.
onTimerStart(): Observable<number>
Fired when timer is starting and return observable (stream) of timer’s count.
onTimeout(): Observable<boolean>;
Fired when time is out and id user did not stop the timer.
stopTimer()
Stop timer.
resetTimer()
Reset timer after onTimeout() has been fired.
stopWatching()
Stop user idle service.
setConfigValues({idle, timeout, ping})
Set config values after module was initialized.
setCustomActivityEvents(customEvents: Observable<any>): void
Set custom activity events after module was initialized.
User’s Idle Service, angular-user-idle Plugin/Github
See Demo And Download
Official Website(rednez): Click Here
This superior jQuery/javascript plugin is developed by rednez. For extra advanced usage, please go to the official website.