UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 1.72 kB
function addHandler(a,b,c){var d;if(b instanceof Array){let d=[],e=b.length;for(let f=0;f<e;f+=1)d.push(addHandler(a,b[f],c));return d}if(!a||'string'!=typeof a)throw new Error('eventName must be a non-empty string');if('function'!=typeof b)throw new Error('handler must be a function');if(!(c instanceof Object))throw new Error('sender must be an object');c._evtHandlers=c._evtHandlers||{},c._evtHandlers[a]&&c._evtHandlers[a]instanceof Array||(c._evtHandlers[a]=[]),d=c._evtHandlers[a].length;for(let e=0;e<d;e++)if(c._evtHandlers[a][e]===b)return!1;return c._evtHandlers[a].push(b),!0}function getHanlders(a,b){if('string'!=typeof a)throw new Error('eventName must be a non-empty string');if(!(b instanceof Object))throw new Error('sender must be an object');return b._evtHandlers&&b._evtHandlers[a]||[]}function removeHandler(a,b,c){var d,e;if(b instanceof Array){let d=[],e=b.length;for(let f=0;f<e;f+=1)d.push(removeHandler(a,b[f],c));return d}if(!a||'string'!=typeof a)throw new Error('eventName must be a non-empty string');if(b&&'function'!=typeof b)throw new Error('handler must be a function');if(!(c instanceof Object))throw new Error('sender must be an object');if(d=getHanlders(a,c),d instanceof Array&&0!==d.length){if(!b)return delete c._evtHandlers[a],!0;e=d.length;for(let a=0;a<e;a++)d[a]===b&&d.splice(a,1);return!0}}function triggerEvent(a,b,c){var d,e,f;if(!a||'string'!=typeof a)throw new Error('eventName must be a non-empty string');if(!(b instanceof Object))throw new Error('sender must be an object');if(d=getHanlders(a,b),f={eventName:a,sender:b,data:c},d instanceof Array&&0!==d.length){e=d.length;for(let a=0;a<e;a++)d[a](f);return!0}}export{addHandler,getHanlders,removeHandler,triggerEvent};