Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* jQuery idleTimer plugin
* version 0.6.080605
* by Paul irish.
* http://github.com/paulirish/yui-misc/tree/
* MIT license
* adapted from YUI idle timer by nzakas:
* http://github.com/nzakas/yui-misc/
* Copyright (c) 2009 Nicholas C. Zakas
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
(function($){
$.idleTimer = function(newTimeout){
//$.idleTimer.tId = -1 //timeout ID
var idle = false, //indicates if the user is idle
enabled = false, //indicates if the idle timer is enabled
timeout = 30000, //the amount of time (ms) before the user is considered idle
events = 'mousemove keydown DOMMouseScroll mousewheel click', // activity is one of these events
/* (intentionally not documented)
* Toggles the idle state and fires an appropriate event.
* @return {void}
*/
toggleIdleState = function(){
//toggle the state
idle = !idle;
//fire appropriate event
$(document).trigger((idle ? "idle" : "active") + '.idleTimer');
},
/**
* Indicates if the idle timer is running or not.
* @return {Boolean} True if the idle timer is running, false if not.
* @method isRunning
* @static
*/
isRunning = function(){
return enabled;
},
/**
* Indicates if the user is idle or not.
* @return {Boolean} True if the user is idle, false if not.
* @method isIdle
* @static
*/
isIdle = function(){
return idle;
},
/**
* Stops the idle timer. This removes appropriate event handlers
* and cancels any pending timeouts.
* @return {void}
* @method stop
* @static
*/
stop = function(){
//set to disabled
enabled = false;
//clear any pending timeouts
clearTimeout($.idleTimer.tId);
//detach the event handlers
$(document).unbind('.idleTimer');
},
/* (intentionally not documented)
* Handles a user event indicating that the user isn't idle.
* @param {Event} event A DOM2-normalized event object.
* @return {void}
*/
handleUserEvent = function(){
//clear any existing timeout
clearTimeout($.idleTimer.tId);
//if the idle timer is enabled
if (enabled){
//if it's idle, that means the user is no longer idle
if (idle){
toggleIdleState();
} else {
//set a new timeout
$.idleTimer.tId = setTimeout(toggleIdleState, timeout);
}
}
};
/**
* Starts the idle timer. This adds appropriate event handlers
* and starts the first timeout.
* @param {int} newTimeout (Optional) A new value for the timeout period in ms.
* @return {void}
* @method $.idleTimer
* @static
*/
//set to enabled
enabled = true;
//set idle to false to begin with
idle = false;
//assign a new timeout if necessary
if (typeof newTimeout == "number"){
timeout = newTimeout;
} else if (newTimeout === 'destroy') {
stop();
return;
}
//assign appropriate event handlers
$(document).bind($.trim((events+' ').split(' ').join('.idleTimer ')),handleUserEvent);
//set a timeout to toggle state
$.idleTimer.tId = setTimeout(toggleIdleState, timeout);
}; // end of $.idleTimer()
})(jQuery);
/**
* PrimeFaces IdleMonitor Widget
*/
PrimeFaces.widget.IdleMonitor = PrimeFaces.widget.BaseWidget.extend({
init: function(cfg) {
this._super(cfg);
var _self = this;
$(document).bind("idle.idleTimer", function(){
if(_self.cfg.onidle) {
_self.cfg.onidle.call(_self);
}
if(_self.cfg.behaviors) {
var idleBehavior = _self.cfg.behaviors['idle'];
if(idleBehavior) {
idleBehavior.call(_self);
}
}
});
$(document).bind("active.idleTimer", function(){
if(_self.cfg.onactive) {
_self.cfg.onactive.call(this);
}
if(_self.cfg.behaviors) {
var activeBehavior = _self.cfg.behaviors['active'];
if(activeBehavior) {
activeBehavior.call(_self);
}
}
});
$.idleTimer(this.cfg.timeout);
}
});