github.com/emate/nomad@v0.8.2-wo-binpacking/ui/app/mixins/window-resizable.js (about) 1 import Mixin from '@ember/object/mixin'; 2 import { run } from '@ember/runloop'; 3 import { assert } from '@ember/debug'; 4 import $ from 'jquery'; 5 6 export default Mixin.create({ 7 windowResizeHandler() { 8 assert('windowResizeHandler needs to be overridden in the Component', false); 9 }, 10 11 setupWindowResize: function() { 12 run.scheduleOnce('afterRender', this, () => { 13 this.set('_windowResizeHandler', this.get('windowResizeHandler').bind(this)); 14 $(window).on('resize', this.get('_windowResizeHandler')); 15 }); 16 }.on('didInsertElement'), 17 18 removeWindowResize: function() { 19 $(window).off('resize', this.get('_windowResizeHandler')); 20 }.on('willDestroyElement'), 21 });