Ghost/ghost/admin/app/services/resize-detector.js

28 lines
763 B
JavaScript
Raw Normal View History

import Service from '@ember/service';
import erd from 'npm:element-resize-detector';
export default Service.extend({
init() {
this._super(...arguments);
this.detector = erd({
strategy: 'scroll'
});
},
setup(selector, callback) {
let element = document.querySelector(selector);
if (!element) {
// eslint-disable-next-line
console.error(`service:resize-detector - could not find element matching ${selector}`);
}
this.detector.listenTo(element, callback);
},
teardown(selector, callback) {
let element = document.querySelector(selector);
if (element) {
this.detector.removeListener(element, callback);
}
}
});