github.com/anuvu/nomad@v0.8.7-atom1/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 5 export default Mixin.create({ 6 visibilityHandler() { 7 assert('visibilityHandler needs to be overridden in the Component', false); 8 }, 9 10 setupDocumentVisibility: function() { 11 if (!Ember.testing) { 12 this.set('_visibilityHandler', this.get('visibilityHandler').bind(this)); 13 document.addEventListener('visibilitychange', this.get('_visibilityHandler')); 14 } 15 }.on('init'), 16 17 removeDocumentVisibility: function() { 18 if (!Ember.testing) { 19 document.removeEventListener('visibilitychange', this.get('_visibilityHandler')); 20 } 21 }.on('willDestroy'), 22 });