github.com/iqoqo/nomad@v0.11.3-0.20200911112621-d7021c74d101/ui/app/mixins/with-component-visibility-detection.js (about) 1 import Ember from 'ember'; 2 import Mixin from '@ember/object/mixin'; 3 import { assert } from '@ember/debug'; 4 import { on } from '@ember/object/evented'; 5 6 export default Mixin.create({ 7 visibilityHandler() { 8 assert('visibilityHandler needs to be overridden in the Component', false); 9 }, 10 11 setupDocumentVisibility: on('init', function() { 12 if (!Ember.testing) { 13 this.set('_visibilityHandler', this.visibilityHandler.bind(this)); 14 document.addEventListener('visibilitychange', this._visibilityHandler); 15 } 16 }), 17 18 removeDocumentVisibility: on('init', function() { 19 if (!Ember.testing) { 20 document.removeEventListener('visibilitychange', this._visibilityHandler); 21 } 22 }), 23 });