index.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var normalizeWheel = require('normalize-wheel-es');
  4. function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
  5. var normalizeWheel__default = /*#__PURE__*/_interopDefaultLegacy(normalizeWheel);
  6. const SCOPE = "_Mousewheel";
  7. const mousewheel = function(element, callback) {
  8. if (element && element.addEventListener) {
  9. removeWheelHandler(element);
  10. const fn = function(event) {
  11. const normalized = normalizeWheel__default["default"](event);
  12. callback && Reflect.apply(callback, this, [event, normalized]);
  13. };
  14. element[SCOPE] = { wheelHandler: fn };
  15. element.addEventListener("wheel", fn, { passive: true });
  16. }
  17. };
  18. const removeWheelHandler = (element) => {
  19. var _a;
  20. if ((_a = element[SCOPE]) == null ? void 0 : _a.wheelHandler) {
  21. element.removeEventListener("wheel", element[SCOPE].wheelHandler);
  22. element[SCOPE] = null;
  23. }
  24. };
  25. const Mousewheel = {
  26. beforeMount(el, binding) {
  27. mousewheel(el, binding.value);
  28. },
  29. unmounted(el) {
  30. removeWheelHandler(el);
  31. },
  32. updated(el, binding) {
  33. if (binding.value !== binding.oldValue) {
  34. mousewheel(el, binding.value);
  35. }
  36. }
  37. };
  38. exports.SCOPE = SCOPE;
  39. exports["default"] = Mousewheel;
  40. //# sourceMappingURL=index.js.map