eventMap.js 5.9 KB

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