event.min.js 2.1 KB

1
  1. "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.hasEventKey=exports.GlobalEvent=exports.EVENT_KEYS=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("./dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var EVENT_KEYS={F2:"F2",ESCAPE:"Escape",ENTER:"Enter",TAB:"Tab",DELETE:"Delete",BACKSPACE:"Backspace",SPACEBAR:" ",CONTEXT_MENU:"ContextMenu",ARROW_UP:"ArrowUp",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown"},convertEventKeys={" ":"Spacebar",Apps:(exports.EVENT_KEYS=EVENT_KEYS).CONTEXT_MENU,Del:EVENT_KEYS.DELETE,Up:EVENT_KEYS.ARROW_UP,Down:EVENT_KEYS.ARROW_DOWN,Left:EVENT_KEYS.ARROW_LEFT,Right:EVENT_KEYS.ARROW_RIGHT},wheelName=_dom.browse.firefox?"DOMMouseScroll":"mousewheel",eventStore=[],hasEventKey=function(e,t){e=e.key;return t=t.toLowerCase(),!!e&&(t===e.toLowerCase()||!(!convertEventKeys[e]||convertEventKeys[e].toLowerCase()!==t))};exports.hasEventKey=hasEventKey;var GlobalEvent={on:function(e,t,o){o&&eventStore.push({comp:e,type:t,cb:o})},off:function(t,o){_xeUtils.default.remove(eventStore,function(e){return e.comp===t&&e.type===o})},trigger:function(r){var n=r.type===wheelName;eventStore.forEach(function(e){var t=e.comp,o=e.type,e=e.cb;r.cancelBubble||(o===r.type||n&&"mousewheel"===o)&&e.call(t,r)})},eqKeypad:function(e,t){e=e.key;return t.toLowerCase()===e.toLowerCase()}};exports.GlobalEvent=GlobalEvent,_dom.browse.isDoc&&(_dom.browse.msie||(document.addEventListener("copy",GlobalEvent.trigger,!1),document.addEventListener("cut",GlobalEvent.trigger,!1),document.addEventListener("paste",GlobalEvent.trigger,!1)),document.addEventListener("keydown",GlobalEvent.trigger,!1),document.addEventListener("contextmenu",GlobalEvent.trigger,!1),window.addEventListener("mousedown",GlobalEvent.trigger,!1),window.addEventListener("blur",GlobalEvent.trigger,!1),window.addEventListener("resize",GlobalEvent.trigger,!1),window.addEventListener(wheelName,_xeUtils.default.throttle(GlobalEvent.trigger,100,{leading:!0,trailing:!1}),!1));