1 | import getWindow from "../dom-utils/getWindow.js";
|
2 |
|
3 | var passive = {
|
4 | passive: true
|
5 | };
|
6 |
|
7 | function effect(_ref) {
|
8 | var state = _ref.state,
|
9 | instance = _ref.instance,
|
10 | options = _ref.options;
|
11 | var _options$scroll = options.scroll,
|
12 | scroll = _options$scroll === void 0 ? true : _options$scroll,
|
13 | _options$resize = options.resize,
|
14 | resize = _options$resize === void 0 ? true : _options$resize;
|
15 | var window = getWindow(state.elements.popper);
|
16 | var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
|
17 |
|
18 | if (scroll) {
|
19 | scrollParents.forEach(function (scrollParent) {
|
20 | scrollParent.addEventListener('scroll', instance.update, passive);
|
21 | });
|
22 | }
|
23 |
|
24 | if (resize) {
|
25 | window.addEventListener('resize', instance.update, passive);
|
26 | }
|
27 |
|
28 | return function () {
|
29 | if (scroll) {
|
30 | scrollParents.forEach(function (scrollParent) {
|
31 | scrollParent.removeEventListener('scroll', instance.update, passive);
|
32 | });
|
33 | }
|
34 |
|
35 | if (resize) {
|
36 | window.removeEventListener('resize', instance.update, passive);
|
37 | }
|
38 | };
|
39 | }
|
40 |
|
41 |
|
42 | export default {
|
43 | name: 'eventListeners',
|
44 | enabled: true,
|
45 | phase: 'write',
|
46 | fn: function fn() {},
|
47 | effect: effect,
|
48 | data: {}
|
49 | }; |
\ | No newline at end of file |