UNPKG

@gitlab/ui

Version:
31 lines (25 loc) 773 B
import ResizeObserver from 'resize-observer-polyfill'; import isFunction from 'lodash/isFunction'; // more information: https://github.com/WICG/ResizeObserver/issues/59 var observer = new ResizeObserver(function (entries) { entries.forEach(function (event) { event.target.glResizeHandler(event); }); }); var ResizeObserverDirective = { bind: function bind(el, _ref) { var resizeHandler = _ref.value; if (!isFunction(resizeHandler)) { throw TypeError('directive value must be a function'); } el.glResizeHandler = resizeHandler; observer.observe(el); }, unbind: function unbind(el) { if (el.glResizeHandler) { delete el.glResizeHandler; observer.unobserve(el); } } }; export default ResizeObserverDirective;