open-nomad/ui/app/mixins/window-resizable.js

22 lines
688 B
JavaScript

import Mixin from '@ember/object/mixin';
import { run } from '@ember/runloop';
import { assert } from '@ember/debug';
import $ from 'jquery';
export default Mixin.create({
windowResizeHandler() {
assert('windowResizeHandler needs to be overridden in the Component', false);
},
setupWindowResize: function() {
run.scheduleOnce('afterRender', this, () => {
this.set('_windowResizeHandler', this.get('windowResizeHandler').bind(this));
$(window).on('resize', this.get('_windowResizeHandler'));
});
}.on('didInsertElement'),
removeWindowResize: function() {
$(window).off('resize', this.get('_windowResizeHandler'));
}.on('willDestroyElement'),
});