Skip to content

Backbone component to track idle website usage (across tabs), and to fire events after certain idleness

License

Notifications You must be signed in to change notification settings

stevewillard/idle-monitor

Repository files navigation

IdleMonitor

A simple AMD component which fires Backbone Events if the user is idle.

Features

  • Very small
  • Works across tabs using localStorage
  • Unopinionated events

Dependencies

Backbone (and Underscore)

Install

bower install idle-monitor

Usage

This is an AMD component, and it is designed to be loaded with things like RequireJS or Almond. This code simply fires events -- it's up to the consumer to react to these events.

// An example AMD module
define(function(require) {
    // Pull in the idle-monitor
    var IdleMonitor = require("idle-monitor");
    
    // Initialize a new one
    idleMonitor = new IdleMonitor();
    
    // Starting will poll for idleness
    idleMonitor.start({
        checkIntervalSecs : 10,
        events : {
            document : "click keyup"
        },
        warningSecs : 60 * 14,
        timeoutSecs : 60 * 15
    });
    
    // Do something when the user has been idle for awhile
    idleMonitor.on("warning", function() {
        console.log("Wow -- you're not doing anything.");
    });
    
    // Fires when user fires a non-idle event
    idleMonitor.on("action", function() {
        console.log("Oh hi. You're here.");
    });
    
    // You've had your warning, you're TOO idle
    idleMonitor.on("timeout", function() {
        console.log("Ok... we're going to log you out");
    });
    
    // Stop will stop polling
    idleMonitor.stop();
});

Options

checkIntervalSecs

How often the idle-monitor should poll. default: 10

events

A mapping of jQuery selectors and events which "reset" the idleness.

default:

events : {
    document : "click keyup"
}
warningSecs

Number of seconds before trigger a warning event. default: 60 * 14

timeoutSecs

Number of seconds before triggering a timeout event. default: 60 * 15

About

Backbone component to track idle website usage (across tabs), and to fire events after certain idleness

Resources

License

Stars

Watchers

Forks

Packages

No packages published