npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ngx-idle-timeout

v1.0.0

Published

A Self-contained, timeout that provides integrated countdown timer for angular applications

Downloads

253

Readme

NgxIdleTimeout

A Self-contained, timeout that provides integrated countdown timer for angular applications

Dependencies

  • Angular 11+

Installation

To add idle-timeout to your Angular project:

npm i ngx-idle-timeout

Once installed, add the slider to your app.module.ts:

import { NgxIdleTimeoutModule } from 'ngx-idle-timeout';

...

@NgModule({
   ...
   imports: [
     ...
     NgxIdleTimeoutModule,
    ...
   ],
   ...
})
export class AppModule {}

Sample usage

Now you can use the idle-timeout component in your app components, for example in app.component.ts:

import { IdleService, IdleWarningStates } from 'node_modules/ngx-idle-timeout';
...

@Component({...})
export class AppComponent {
  title = 'test-area';
  idleTimer = true;

  constructor(private _idleService: IdleService) { }

  ngOnInit(): void {
    this.timerSubscribe();
  }

  resubscribe(): void {
    this.idleTimer = true;
    this.timerSubscribe();
  }

  private timerSubscribe(): void {
    this._idleService
      .idleStateChanged()
      .subscribe(
        val => {
          if (val === IdleWarningStates.SecondaryTimerExpired) {
            this._idleService.stopTimer();
            this.idleTimer = false;
          }
        }
      );
  }
}

And in template file app.component.html:

<ngx-idle-timeout *ngIf="idleTimer"
                 [allowedIdleTimeInSeconds]="120" 
                 [message]="'This is a test message'"
                 [warningTimeInSeconds]="10"></ngx-idle-timeout>

IdleWarningStates

In addition IdleWarningStates.SecondaryTimerExpired you can also watch for any of the following

PrimaryTimerStarted
PrimaryTimerExpired
SecondaryTimerStarted
SecondaryTimerExpired
SecondaryTimerCancelled

Default values

All ngx-idle-timeout parameters are optional. When no value is provided then the default values will be used:

allowedIdleTimeInSeconds = 60;
warningTimeInSeconds = 10;
message = '';

Known Issues

Before reporting a new bug, please look at KNOWN_ISSUES.md for a list of known problems and their workarounds. New bugs reports for these problems will not be accepted.

Bugs

You can report any bugs as Github issues.

Please describe the issue in detail pasting any relevant code, or preferrably a StackBlitz with reproduction of the problem. Please also provide the version of NPM package you are using.

Changelog

For list of changes and bugfixes, see CHANGELOG.md.