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