vxe-table-demonic
Version:
一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...
1 lines • 2.06 kB
JavaScript
;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))};function triggerEvent(r){var n=r.type===wheelName;eventStore.forEach(function(e){var t=e.type,e=e.cb;r.cancelBubble||(t===r.type||n&&"mousewheel"===t)&&e(r)})}exports.hasEventKey=hasEventKey;var GlobalEvent={on:function(e,t,r){eventStore.push({comp:e,type:t,cb:r})},off:function(t,r){_xeUtils.default.remove(eventStore,function(e){return e.comp===t&&e.type===r})},trigger:triggerEvent,eqKeypad:function(e,t){e=e.key;return t.toLowerCase()===e.toLowerCase()}};exports.GlobalEvent=GlobalEvent,_dom.browse.isDoc&&(_dom.browse.msie||(document.addEventListener("copy",triggerEvent,!1),document.addEventListener("cut",triggerEvent,!1),document.addEventListener("paste",triggerEvent,!1)),document.addEventListener("keydown",triggerEvent,!1),document.addEventListener("contextmenu",triggerEvent,!1),window.addEventListener("mousedown",triggerEvent,!1),window.addEventListener("blur",triggerEvent,!1),window.addEventListener("resize",triggerEvent,!1),window.addEventListener(wheelName,_xeUtils.default.throttle(triggerEvent,100,{leading:!0,trailing:!1}),{passive:!0,capture:!1}));