@open-data-v/base
Version:
OpenDataV 公共基础包
1 lines • 1.53 kB
Source Map (JSON)
{"version":3,"file":"index.umd.cjs","sources":["../../../src/directive/clickoutside/index.ts"],"sourcesContent":["import type { Directive, DirectiveBinding } from 'vue'\n\nconst CLICK_HANDLER = 'CLICK_HANDLER'\n\nconst outsideHandle = (el: HTMLElement, binding: DirectiveBinding) => {\n const clickoutside = binding.value\n const handler = function (e: MouseEvent) {\n if (el && !el.contains(<HTMLInputElement>e.target!)) {\n if (el.style.display != 'none') {\n clickoutside(e)\n } else {\n return false\n }\n }\n }\n el[CLICK_HANDLER] = handler\n document.addEventListener('mousedown', handler, { capture: true })\n}\nconst ClickOutsideDirective: Directive = {\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n outsideHandle(el, binding)\n },\n\n unmounted(el: HTMLElement) {\n document.removeEventListener('click', el[CLICK_HANDLER])\n delete el[CLICK_HANDLER]\n }\n}\n\nexport default ClickOutsideDirective\n"],"names":["CLICK_HANDLER","outsideHandle","el","binding","clickoutside","handler","e","ClickOutsideDirective"],"mappings":"4GAEA,MAAMA,EAAgB,gBAEhBC,EAAgB,CAACC,EAAiBC,IAA8B,CACpE,MAAMC,EAAeD,EAAQ,MACvBE,EAAU,SAAUC,EAAe,CACvC,GAAIJ,GAAM,CAACA,EAAG,SAA2BI,EAAE,MAAO,EAC5C,GAAAJ,EAAG,MAAM,SAAW,OACtBE,EAAaE,CAAC,MAEP,OAAA,EAGb,EACAJ,EAAGF,CAAa,EAAIK,EACpB,SAAS,iBAAiB,YAAaA,EAAS,CAAE,QAAS,GAAM,CACnE,EACME,EAAmC,CACvC,QAAQL,EAAiBC,EAA2B,CAClDF,EAAcC,EAAIC,CAAO,CAC3B,EAEA,UAAUD,EAAiB,CACzB,SAAS,oBAAoB,QAASA,EAAGF,CAAa,CAAC,EACvD,OAAOE,EAAGF,CAAa,CAAA,CAE3B"}