keeweb/app/scripts/comp/browser/idle-tracker.js

24 lines
682 B
JavaScript
Raw Normal View History

2019-09-15 14:16:32 +02:00
import Backbone from 'backbone';
import { AppSettingsModel } from 'models/app-settings-model';
2015-11-17 22:49:12 +01:00
2017-01-31 07:50:28 +01:00
const IdleTracker = {
2016-08-20 09:04:30 +02:00
actionTime: Date.now(),
2019-08-18 10:17:09 +02:00
init() {
2016-08-20 09:04:30 +02:00
setInterval(this.checkIdle.bind(this), 1000 * 60);
2015-11-17 22:49:12 +01:00
},
2019-08-18 10:17:09 +02:00
checkIdle() {
2017-01-31 07:50:28 +01:00
const idleMinutes = (Date.now() - this.actionTime) / 1000 / 60;
const maxIdleMinutes = AppSettingsModel.instance.get('idleMinutes');
2016-08-20 09:04:30 +02:00
if (maxIdleMinutes && idleMinutes > maxIdleMinutes) {
Backbone.trigger('user-idle');
2015-11-17 22:49:12 +01:00
}
},
2019-08-18 10:17:09 +02:00
regUserAction() {
2016-08-20 09:04:30 +02:00
this.actionTime = Date.now();
2015-11-17 22:49:12 +01:00
}
};
2016-08-20 09:04:30 +02:00
Backbone.on('power-monitor-resume', IdleTracker.checkIdle, IdleTracker);
2019-09-15 14:16:32 +02:00
export { IdleTracker };