UNPKG

@bizhermit/react-sdk

Version:
1 lines 1.36 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.pressPositiveKey=exports.cloneDomElement=exports.getDomEventManager=exports.DomComponentClass=void 0;class DomComponentClass{events;constructor(){this.events=[]}dispose(){this.events.forEach((e=>{try{e.element.removeEventListener(e.type,e.listener)}catch{}})),this.events=[]}addEvent(e,t,n,s){return null==e||(this.events.push({element:e,type:t,listener:n}),e.addEventListener(t,n,s)),e}removeEvent(e,t,n){if(null==e)return e;for(let s=this.events.length-1;s>=0;s--){const o=this.events[s];if(o.element===e&&!(null!=t&&o.type!==t||null!=n&&o.listener!==n))try{o.element.removeEventListener(o.type,o.listener),this.events.splice(s,1)}catch{}}return e}removeEventIterator(e){for(let t=this.events.length-1;t>=0;t--){const n=this.events[t];if(!0===e(n)){try{n.element.removeEventListener(n.type,n.listener)}catch{}this.events.splice(t,1)}}return this}}exports.DomComponentClass=DomComponentClass;const getDomEventManager=()=>new DomComponentClass;exports.getDomEventManager=getDomEventManager;const cloneDomElement=(e,t)=>{if(null==e)return;const n=e.cloneNode(!0);return t?.(n),n};exports.cloneDomElement=cloneDomElement;const pressPositiveKey=(e,t,n)=>{" "!==e.key&&"Enter"!==e.key||(t(e),!0===n&&(e.stopPropagation(),e.preventDefault()))};exports.pressPositiveKey=pressPositiveKey;