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 };
|