mouse.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * DevExtreme (events/pointer/mouse.js)
  3. * Version: 19.1.16
  4. * Build date: Tue Oct 18 2022
  5. *
  6. * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
  7. * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
  8. */
  9. "use strict";
  10. var extend = require("../../core/utils/extend").extend;
  11. var BaseStrategy = require("./base");
  12. var Observer = require("./observer");
  13. var eventMap = {
  14. dxpointerdown: "mousedown",
  15. dxpointermove: "mousemove",
  16. dxpointerup: "mouseup",
  17. dxpointercancel: "",
  18. dxpointerover: "mouseover",
  19. dxpointerout: "mouseout",
  20. dxpointerenter: "mouseenter",
  21. dxpointerleave: "mouseleave"
  22. };
  23. var normalizeMouseEvent = function(e) {
  24. e.pointerId = 1;
  25. return {
  26. pointers: observer.pointers(),
  27. pointerId: 1
  28. }
  29. };
  30. var observer;
  31. var activated = false;
  32. var activateStrategy = function() {
  33. if (activated) {
  34. return
  35. }
  36. observer = new Observer(eventMap, function() {
  37. return true
  38. });
  39. activated = true
  40. };
  41. var MouseStrategy = BaseStrategy.inherit({
  42. ctor: function() {
  43. this.callBase.apply(this, arguments);
  44. activateStrategy()
  45. },
  46. _fireEvent: function(args) {
  47. return this.callBase(extend(normalizeMouseEvent(args.originalEvent), args))
  48. }
  49. });
  50. MouseStrategy.map = eventMap;
  51. MouseStrategy.normalize = normalizeMouseEvent;
  52. MouseStrategy.activate = activateStrategy;
  53. MouseStrategy.resetObserver = function() {
  54. observer.reset()
  55. };
  56. module.exports = MouseStrategy;