| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- /**
- * Ideal Timer (jquery)
- */
-
- 'use strict';
-
- $(function () {
- var timerDoc = $('#document-Status'),
- btnPause = $('#document-Pause'),
- btnResume = $('#document-Resume'),
- btnElapsed = $('#document-Elapsed'),
- btnDestroy = $('#document-Destroy'),
- btnInit = $('#document-Init');
-
- // Document 5 Sec Timeout
- // --------------------------------------------------------------------
- if (timerDoc.length) {
- var docTimeout = 5000;
- // idle/active events
- $(document).on('idle.idleTimer', function (event, elem, obj) {
- timerDoc
- .val(function (i, value) {
- return value + 'Idle @ ' + moment().format() + ' \n';
- })
- .removeClass('alert-success')
- .addClass('alert-warning');
- });
- $(document).on('active.idleTimer', function (event, elem, obj, e) {
- timerDoc
- .val(function (i, value) {
- return value + 'Active [' + e.type + '] [' + e.target.nodeName + '] @ ' + moment().format() + ' \n';
- })
- .addClass('alert-success')
- .removeClass('alert-warning');
- });
-
- // button events
- btnPause.on('click', function () {
- // Pause
- $(document).idleTimer('pause');
- timerDoc.val(function (i, value) {
- return value + 'Paused @ ' + moment().format() + ' \n';
- });
- $(this).blur();
- return false;
- });
- btnResume.on('click', function () {
- // Resume
- $(document).idleTimer('resume');
- timerDoc.val(function (i, value) {
- return value + 'Resumed @ ' + moment().format() + ' \n';
- });
- $(this).blur();
- return false;
- });
- btnElapsed.on('click', function () {
- // Elapsed
- timerDoc.val(function (i, value) {
- return value + 'Elapsed (since becoming active): ' + $(document).idleTimer('getElapsedTime') + ' \n';
- });
- $(this).blur();
- return false;
- });
- btnDestroy.on('click', function () {
- // Destroy
- $(document).idleTimer('destroy');
- timerDoc
- .val(function (i, value) {
- return value + 'Destroyed: @ ' + moment().format() + ' \n';
- })
- .removeClass('alert-success')
- .removeClass('alert-warning');
- $(this).blur();
- return false;
- });
- btnInit.on('click', function () {
- // Initialize
- // show init with object
- $(document).idleTimer({
- timeout: docTimeout
- });
- timerDoc.val(function (i, value) {
- return value + 'Init: @ ' + moment().format() + ' \n';
- });
-
- // Apply classes for default state
- if ($(document).idleTimer('isIdle')) {
- timerDoc.removeClass('alert-success').addClass('alert-warning');
- } else {
- timerDoc.addClass('alert-success').removeClass('alert-warning');
- }
- $(this).blur();
- return false;
- });
-
- // Clear old statuses
- timerDoc.val('');
-
- // Start timeout, passing no options
- $(document).idleTimer(docTimeout);
-
- // style based on state
- if ($(document).idleTimer('isIdle')) {
- timerDoc
- .val(function (i, value) {
- return value + 'Initial Idle State @ ' + moment().format() + ' \n';
- })
- .removeClass('alert-success')
- .addClass('alert-warning');
- } else {
- timerDoc
- .val(function (i, value) {
- return value + 'Initial Active State @ ' + moment().format() + ' \n';
- })
- .addClass('alert-success')
- .removeClass('alert-warning');
- }
- }
-
- // Element 3 Sec Timeout
- // --------------------------------------------------------------------
- var elementTimer = $('#element-Status'),
- btnReset = $('#element-Reset'),
- btnRemaining = $('#element-Remaining'),
- btnLastActive = $('#element-LastActive'),
- btnState = $('#element-State');
- if (elementTimer.length) {
- var elTimeout = 3000;
- // idle/active events
- elementTimer.on('idle.idleTimer', function (event, elem, obj) {
- event.stopPropagation();
-
- elementTimer
- .val(function (i, value) {
- return value + 'Idle @ ' + moment().format() + ' \n';
- })
- .removeClass('alert-success')
- .addClass('alert-warning');
- });
- elementTimer.on('active.idleTimer', function (event) {
- event.stopPropagation();
-
- elementTimer
- .val(function (i, value) {
- return value + 'Active @ ' + moment().format() + ' \n';
- })
- .addClass('alert-success')
- .removeClass('alert-warning');
- });
-
- // button events
- btnReset.on('click', function () {
- // Reset
- elementTimer.idleTimer('reset').val(function (i, value) {
- return value + 'Reset @ ' + moment().format() + ' \n';
- });
-
- // classes for default state
- if ($('#element-Status').idleTimer('isIdle')) {
- elementTimer.removeClass('alert-success').addClass('alert-warning');
- } else {
- elementTimer.addClass('alert-success').removeClass('alert-warning');
- }
- $(this).blur();
- return false;
- });
- btnRemaining.on('click', function () {
- // Remaining
- elementTimer.val(function (i, value) {
- return value + 'Remaining: ' + elementTimer.idleTimer('getRemainingTime') + ' \n';
- });
- $(this).blur();
- return false;
- });
- btnLastActive.on('click', function () {
- // Last Active
- elementTimer.val(function (i, value) {
- return value + 'LastActive: ' + elementTimer.idleTimer('getLastActiveTime') + ' \n';
- });
- $(this).blur();
- return false;
- });
- btnState.on('click', function () {
- // State
- elementTimer.val(function (i, value) {
- return value + 'State: ' + ($('#element-Status').idleTimer('isIdle') ? 'idle' : 'active') + ' \n';
- });
- $(this).blur();
- return false;
- });
-
- // Clear value if cached & start time
- elementTimer.val('').idleTimer(elTimeout);
-
- // show initial state
- if (elementTimer.idleTimer('isIdle')) {
- elementTimer
- .val(function (i, value) {
- return value + 'Initial Idle @ ' + moment().format() + ' \n';
- })
- .removeClass('alert-success')
- .addClass('alert-warning');
- } else {
- elementTimer
- .val(function (i, value) {
- return value + 'Initial Active @ ' + moment().format() + ' \n';
- })
- .addClass('alert-success')
- .removeClass('alert-warning');
- }
- }
- });
|