eventMap.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. 'use strict';
  2. const eventMap = {
  3. auxclick: {
  4. EventType: 'PointerEvent',
  5. defaultInit: {
  6. bubbles: true,
  7. cancelable: true,
  8. composed: true
  9. }
  10. },
  11. beforeinput: {
  12. EventType: 'InputEvent',
  13. defaultInit: {
  14. bubbles: true,
  15. cancelable: true,
  16. composed: true
  17. }
  18. },
  19. blur: {
  20. EventType: 'FocusEvent',
  21. defaultInit: {
  22. bubbles: false,
  23. cancelable: false,
  24. composed: true
  25. }
  26. },
  27. click: {
  28. EventType: 'PointerEvent',
  29. defaultInit: {
  30. bubbles: true,
  31. cancelable: true,
  32. composed: true
  33. }
  34. },
  35. contextmenu: {
  36. EventType: 'PointerEvent',
  37. defaultInit: {
  38. bubbles: true,
  39. cancelable: true,
  40. composed: true
  41. }
  42. },
  43. copy: {
  44. EventType: 'ClipboardEvent',
  45. defaultInit: {
  46. bubbles: true,
  47. cancelable: true,
  48. composed: true
  49. }
  50. },
  51. change: {
  52. EventType: 'Event',
  53. defaultInit: {
  54. bubbles: true,
  55. cancelable: false
  56. }
  57. },
  58. cut: {
  59. EventType: 'ClipboardEvent',
  60. defaultInit: {
  61. bubbles: true,
  62. cancelable: true,
  63. composed: true
  64. }
  65. },
  66. dblclick: {
  67. EventType: 'MouseEvent',
  68. defaultInit: {
  69. bubbles: true,
  70. cancelable: true,
  71. composed: true
  72. }
  73. },
  74. focus: {
  75. EventType: 'FocusEvent',
  76. defaultInit: {
  77. bubbles: false,
  78. cancelable: false,
  79. composed: true
  80. }
  81. },
  82. focusin: {
  83. EventType: 'FocusEvent',
  84. defaultInit: {
  85. bubbles: true,
  86. cancelable: false,
  87. composed: true
  88. }
  89. },
  90. focusout: {
  91. EventType: 'FocusEvent',
  92. defaultInit: {
  93. bubbles: true,
  94. cancelable: false,
  95. composed: true
  96. }
  97. },
  98. keydown: {
  99. EventType: 'KeyboardEvent',
  100. defaultInit: {
  101. bubbles: true,
  102. cancelable: true,
  103. composed: true
  104. }
  105. },
  106. keypress: {
  107. EventType: 'KeyboardEvent',
  108. defaultInit: {
  109. bubbles: true,
  110. cancelable: true,
  111. composed: true
  112. }
  113. },
  114. keyup: {
  115. EventType: 'KeyboardEvent',
  116. defaultInit: {
  117. bubbles: true,
  118. cancelable: true,
  119. composed: true
  120. }
  121. },
  122. paste: {
  123. EventType: 'ClipboardEvent',
  124. defaultInit: {
  125. bubbles: true,
  126. cancelable: true,
  127. composed: true
  128. }
  129. },
  130. input: {
  131. EventType: 'InputEvent',
  132. defaultInit: {
  133. bubbles: true,
  134. cancelable: false,
  135. composed: true
  136. }
  137. },
  138. mousedown: {
  139. EventType: 'MouseEvent',
  140. defaultInit: {
  141. bubbles: true,
  142. cancelable: true,
  143. composed: true
  144. }
  145. },
  146. mouseenter: {
  147. EventType: 'MouseEvent',
  148. defaultInit: {
  149. bubbles: false,
  150. cancelable: false,
  151. composed: true
  152. }
  153. },
  154. mouseleave: {
  155. EventType: 'MouseEvent',
  156. defaultInit: {
  157. bubbles: false,
  158. cancelable: false,
  159. composed: true
  160. }
  161. },
  162. mousemove: {
  163. EventType: 'MouseEvent',
  164. defaultInit: {
  165. bubbles: true,
  166. cancelable: true,
  167. composed: true
  168. }
  169. },
  170. mouseout: {
  171. EventType: 'MouseEvent',
  172. defaultInit: {
  173. bubbles: true,
  174. cancelable: true,
  175. composed: true
  176. }
  177. },
  178. mouseover: {
  179. EventType: 'MouseEvent',
  180. defaultInit: {
  181. bubbles: true,
  182. cancelable: true,
  183. composed: true
  184. }
  185. },
  186. mouseup: {
  187. EventType: 'MouseEvent',
  188. defaultInit: {
  189. bubbles: true,
  190. cancelable: true,
  191. composed: true
  192. }
  193. },
  194. pointerover: {
  195. EventType: 'PointerEvent',
  196. defaultInit: {
  197. bubbles: true,
  198. cancelable: true,
  199. composed: true
  200. }
  201. },
  202. pointerenter: {
  203. EventType: 'PointerEvent',
  204. defaultInit: {
  205. bubbles: false,
  206. cancelable: false
  207. }
  208. },
  209. pointerdown: {
  210. EventType: 'PointerEvent',
  211. defaultInit: {
  212. bubbles: true,
  213. cancelable: true,
  214. composed: true
  215. }
  216. },
  217. pointermove: {
  218. EventType: 'PointerEvent',
  219. defaultInit: {
  220. bubbles: true,
  221. cancelable: true,
  222. composed: true
  223. }
  224. },
  225. pointerup: {
  226. EventType: 'PointerEvent',
  227. defaultInit: {
  228. bubbles: true,
  229. cancelable: true,
  230. composed: true
  231. }
  232. },
  233. pointercancel: {
  234. EventType: 'PointerEvent',
  235. defaultInit: {
  236. bubbles: true,
  237. cancelable: false,
  238. composed: true
  239. }
  240. },
  241. pointerout: {
  242. EventType: 'PointerEvent',
  243. defaultInit: {
  244. bubbles: true,
  245. cancelable: true,
  246. composed: true
  247. }
  248. },
  249. pointerleave: {
  250. EventType: 'PointerEvent',
  251. defaultInit: {
  252. bubbles: false,
  253. cancelable: false
  254. }
  255. },
  256. submit: {
  257. EventType: 'Event',
  258. defaultInit: {
  259. bubbles: true,
  260. cancelable: true
  261. }
  262. }
  263. };
  264. function getEventClass(type) {
  265. return eventMap[type].EventType;
  266. }
  267. const mouseEvents = [
  268. 'MouseEvent',
  269. 'PointerEvent'
  270. ];
  271. function isMouseEvent(type) {
  272. return mouseEvents.includes(getEventClass(type));
  273. }
  274. function isKeyboardEvent(type) {
  275. return getEventClass(type) === 'KeyboardEvent';
  276. }
  277. exports.eventMap = eventMap;
  278. exports.isKeyboardEvent = isKeyboardEvent;
  279. exports.isMouseEvent = isMouseEvent;