Blame view

lib/jsdom/living/events/MouseEvent-impl.js 1.05 KB
858f2bdf5   Boyan Georgiev   fixes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  "use strict";
  
  const { mixin } = require("../../utils");
  const EventModifierMixinImpl = require("./EventModifierMixin-impl").implementation;
  const UIEventImpl = require("./UIEvent-impl").implementation;
  
  const MouseEventInit = require("../generated/MouseEventInit");
  
  class MouseEventImpl extends UIEventImpl {
    initMouseEvent(
      type, bubbles, cancelable, view, detail, screenX, screenY, clientX, clientY,
      ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget
    ) {
      if (this._dispatchFlag) {
        return;
      }
  
      this.initUIEvent(type, bubbles, cancelable, view, detail);
      this.screenX = screenX;
      this.screenY = screenY;
      this.clientX = clientX;
      this.clientY = clientY;
      this.ctrlKey = ctrlKey;
      this.altKey = altKey;
      this.shiftKey = shiftKey;
      this.metaKey = metaKey;
      this.button = button;
      this.relatedTarget = relatedTarget;
    }
  }
  mixin(MouseEventImpl.prototype, EventModifierMixinImpl.prototype);
  MouseEventImpl.defaultInit = MouseEventInit.convert(undefined);
  
  module.exports = {
    implementation: MouseEventImpl
  };