1
0
mirror of https://github.com/keeweb/keeweb.git synced 2024-06-27 07:45:08 +02:00
keeweb/app/scripts/comp/focus-detector.js

35 lines
999 B
JavaScript
Raw Normal View History

const Backbone = require('backbone');
2019-01-14 19:05:16 +01:00
const FeatureDetector = require('../util/feature-detector');
const Launcher = require('../comp/launcher');
2019-01-21 20:52:40 +01:00
const FocusDetector = {
init() {
this.isFocused = true;
this.detectsFocusWithEvents = !FeatureDetector.isDesktop && !FeatureDetector.isMobile;
2019-02-06 20:36:50 +01:00
window.addEventListener('focus', () => {
if (!FocusDetector.isFocused) {
FocusDetector.isFocused = true;
Backbone.trigger('focus');
}
});
window.addEventListener('blur', () => {
if (FocusDetector.isFocused) {
FocusDetector.isFocused = false;
Backbone.trigger('blur');
}
});
2019-01-21 20:52:40 +01:00
},
2019-01-21 20:52:40 +01:00
hasFocus() {
if (this.detectsFocusWithEvents) {
return this.isFocused;
} else if (Launcher) {
return Launcher.isAppFocused();
} else {
return true;
}
}
};
module.exports = FocusDetector;