@pluginjs/events
Advanced tools
Comparing version 0.0.4 to 0.0.5
@@ -40,6 +40,8 @@ import { parent } from '@pluginjs/dom'; | ||
const nodeTreeCheck = (node, result = []) => { | ||
if (!currentTarget.contains(node)) { | ||
if (!node) { | ||
return result; | ||
} | ||
if (currentTarget !== window && !currentTarget.contains(node)) { | ||
return result; | ||
} | ||
const matchEventList = eventStorage.listeners[eventName].filter(({ identity }) => { | ||
@@ -256,2 +258,3 @@ const { type, value } = identity; | ||
const eventStorage = EventStorage.getEventStorage(el); | ||
if (eventStorage && eventStorage.hasListeners(eventName)) { | ||
@@ -258,0 +261,0 @@ eventStorage.trigger(eventName, data); |
@@ -135,6 +135,8 @@ (function (global, factory) { | ||
if (!currentTarget.contains(node)) { | ||
if (!node) { | ||
return result; | ||
} | ||
if (currentTarget !== window && !currentTarget.contains(node)) { | ||
return result; | ||
} | ||
var matchEventList = eventStorage.listeners[eventName].filter(function (_ref) { | ||
@@ -450,2 +452,3 @@ var identity = _ref.identity; | ||
var eventStorage = EventStorage.getEventStorage(el); | ||
if (eventStorage && eventStorage.hasListeners(eventName)) { | ||
@@ -452,0 +455,0 @@ eventStorage.trigger(eventName, data); |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@pluginjs/dom"),require("@pluginjs/utils")):"function"==typeof define&&define.amd?define(["exports","@pluginjs/dom","@pluginjs/utils"],t):t(e["@pluginjs/events"]={},e["@pluginjs/dom"],e["@pluginjs/utils"])}(this,function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var u,o=e[Symbol.iterator]();!(r=(u=o.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(e){return e?"string"==typeof e?{type:"selector",value:e}:e:{type:"self",value:""}},a=function(e,t){return"string"==typeof e?e:Object.entries(e).map(function(e){return"["+t+e.join("=")+"]"}).join("")},l=function(e){var n=e.target,r=e.currentTarget,i=c.getEventStorage(r),s=e.type,u={self:function(e){return e===r},class:function(e,t){return e.matches("."+t)},selector:function(e,t){return e.matches(t)},id:function(e,t){return e.matches("#"+t)},tagName:function(e,t){return e.matches(t)},dom:function(e,t){return e===t},dataset:function(e,t){return e.matches(a(t,"data-"))},attribute:function(e,t){return e.matches(a(t))},func:function(e,t){return Boolean(t(e))}};(function e(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!r.contains(n))return o;var a=i.listeners[s].filter(function(e){var t=e.identity,r=t.type,i=t.value,s=u[r];return!(!s||!s(n,i))});return e(t.parent(n),o.concat(a))})(n).reduce(function(t,n){var r=n.handler;return!1!==t&&r(e)},!0)},c=function(){function e(t){i(this,e),this.element=t,this.listeners={}}return s(e,[{key:"on",value:function(e){var t=e.identity,n=e.handler,r=e.eventName,i=e.namespace;this.ensureHandler(n),this.hasListeners(r)||this.createEventListener(r),this.checkRepeats(r,n)||this.listeners[r].push({identity:t,handler:n,namespace:i})}},{key:"once",value:function(e){var t=this,n=e.identity,r=e.handler,i=e.eventName,s=e.namespace;this.ensureHandler(r),this.hasListeners(i)||this.createEventListener(i);this.listeners[i].push({identity:n,handler:function e(n){return t.removeListener(i,e),r(n)},namespace:s})}},{key:"off",value:function(e,t){return void 0===t?this.removeAllListeners(e):this.removeListener(e,t)}},{key:"trigger",value:function(e,t){var n=new CustomEvent(e,{detail:t});this.element.dispatchEvent(n)}},{key:"clear",value:function(){var e=this;Object.entries(this.listeners).map(function(t){var n=u(t,2),r=n[0];n[1];e.deleteEventListener(r)}),this.listener={}}},{key:"removeListener",value:function(e,t){var n=this,r=e.split("."),i=u(r,2),s=i[0],o=i[1];!s&&o?Object.entries(this.listeners).map(function(e){var r=u(e,2),i=r[0];r[1];n.listeners[i]=n.listeners[i].filter(function(e){return e.handler!==t||e.namespace!==o}),0===n.listeners[i].length&&n.deleteEventListener(i)}):s&&!o?(this.listeners[s]=this.listeners[s].filter(function(e){return e.handler!==t}),0===this.listeners[s].length&&this.deleteEventListener(s)):s&&o&&(this.listeners[s]=this.listeners[s].filter(function(e){return e.handler!==t||e.namespace!==o}),0===this.listeners[s].length&&this.deleteEventListener(s))}},{key:"removeAllListeners",value:function(e){var t=this,n=e.split("."),r=u(n,2),i=r[0],s=r[1];return!i&&s?Object.entries(this.listeners).map(function(e){var n=u(e,2),r=n[0];n[1];t.listeners[r]=t.listeners[r].filter(function(e){return e.namespace!==s}),0===t.listeners[r].length&&t.deleteEventListener(r)}):i&&!s?this.deleteEventListener(i):i&&s&&this.listeners[i]&&(this.listeners[i]=this.listeners[i].filter(function(e){return e.namespace!==s}),0===this.listeners[i].length&&this.deleteEventListener(i)),this}},{key:"createEventListener",value:function(e){this.listeners[e]=[],this.element.addEventListener(e,l,!1)}},{key:"deleteEventListener",value:function(e){this.element.removeEventListener(e,l),delete this.listeners[e]}},{key:"checkRepeats",value:function(e,t){return 0!==this.listeners[e].filter(function(e){return e.handler===t}).length}},{key:"hasListeners",value:function(e){return!(!this.listeners[e]||0===Object.keys(this.listeners[e]).length)}},{key:"ensureHandler",value:function(e){var t=void 0===e?"undefined":r(e);if("function"===t)return e;throw new TypeError("Listeners should be function or closure. Received type: "+t)}}],[{key:"of",value:function(e,t){var n=e.type,r=e.identity,i=e.handler;t.__eventStorage||(t.__eventStorage=new this(t));var s=n.split("."),a=u(s,2),l=a[0],c=a[1];this.getEventStorage(t).on({identity:o(r),handler:i,eventName:l,namespace:c})}},{key:"once",value:function(e,t){var n=e.type,r=e.identity,i=e.handler;t.__eventStorage||(t.__eventStorage=new this(t));var s=n.split("."),a=u(s,2),l=a[0],c=a[1];this.getEventStorage(t).once({identity:o(r),handler:i,eventName:l,namespace:c})}},{key:"delete",value:function(e,t){var n=this.getEventStorage(t);if(n){var r=e.type,i=void 0===r?e:r,s=e.handler;n.off(i,s)}}},{key:"getEventStorage",value:function(e){return e.__eventStorage}}]),e}(),f=n.curry(function(e,t){if(e instanceof window.Event)return t.dispatchEvent(e),t;var n=e.type,r=void 0===n?e:n,i=e.data,s=r,u=c.getEventStorage(t);return u&&u.hasListeners(s)&&u.trigger(s,i),t}),v=n.curry(function(e,t){return c.of(e,t),t}),h=n.curry(function(e,t){return c.delete(e,t),t}),d=n.curry(function(e,t){return c.once(e,t),t});e.trigger=f,e.bindEvent=v,e.removeEvent=h,e.bindEventOnce=d,e.getEventStorage=function(e){return c.getEventStorage(e)},Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@pluginjs/dom"),require("@pluginjs/utils")):"function"==typeof define&&define.amd?define(["exports","@pluginjs/dom","@pluginjs/utils"],t):t(e["@pluginjs/events"]={},e["@pluginjs/dom"],e["@pluginjs/utils"])}(this,function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var u,o=e[Symbol.iterator]();!(r=(u=o.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(e){return e?"string"==typeof e?{type:"selector",value:e}:e:{type:"self",value:""}},a=function(e,t){return"string"==typeof e?e:Object.entries(e).map(function(e){return"["+t+e.join("=")+"]"}).join("")},l=function(e){var n=e.target,r=e.currentTarget,i=c.getEventStorage(r),s=e.type,u={self:function(e){return e===r},class:function(e,t){return e.matches("."+t)},selector:function(e,t){return e.matches(t)},id:function(e,t){return e.matches("#"+t)},tagName:function(e,t){return e.matches(t)},dom:function(e,t){return e===t},dataset:function(e,t){return e.matches(a(t,"data-"))},attribute:function(e,t){return e.matches(a(t))},func:function(e,t){return Boolean(t(e))}};(function e(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!n)return o;if(r!==window&&!r.contains(n))return o;var a=i.listeners[s].filter(function(e){var t=e.identity,r=t.type,i=t.value,s=u[r];return!(!s||!s(n,i))});return e(t.parent(n),o.concat(a))})(n).reduce(function(t,n){var r=n.handler;return!1!==t&&r(e)},!0)},c=function(){function e(t){i(this,e),this.element=t,this.listeners={}}return s(e,[{key:"on",value:function(e){var t=e.identity,n=e.handler,r=e.eventName,i=e.namespace;this.ensureHandler(n),this.hasListeners(r)||this.createEventListener(r),this.checkRepeats(r,n)||this.listeners[r].push({identity:t,handler:n,namespace:i})}},{key:"once",value:function(e){var t=this,n=e.identity,r=e.handler,i=e.eventName,s=e.namespace;this.ensureHandler(r),this.hasListeners(i)||this.createEventListener(i);this.listeners[i].push({identity:n,handler:function e(n){return t.removeListener(i,e),r(n)},namespace:s})}},{key:"off",value:function(e,t){return void 0===t?this.removeAllListeners(e):this.removeListener(e,t)}},{key:"trigger",value:function(e,t){var n=new CustomEvent(e,{detail:t});this.element.dispatchEvent(n)}},{key:"clear",value:function(){var e=this;Object.entries(this.listeners).map(function(t){var n=u(t,2),r=n[0];n[1];e.deleteEventListener(r)}),this.listener={}}},{key:"removeListener",value:function(e,t){var n=this,r=e.split("."),i=u(r,2),s=i[0],o=i[1];!s&&o?Object.entries(this.listeners).map(function(e){var r=u(e,2),i=r[0];r[1];n.listeners[i]=n.listeners[i].filter(function(e){return e.handler!==t||e.namespace!==o}),0===n.listeners[i].length&&n.deleteEventListener(i)}):s&&!o?(this.listeners[s]=this.listeners[s].filter(function(e){return e.handler!==t}),0===this.listeners[s].length&&this.deleteEventListener(s)):s&&o&&(this.listeners[s]=this.listeners[s].filter(function(e){return e.handler!==t||e.namespace!==o}),0===this.listeners[s].length&&this.deleteEventListener(s))}},{key:"removeAllListeners",value:function(e){var t=this,n=e.split("."),r=u(n,2),i=r[0],s=r[1];return!i&&s?Object.entries(this.listeners).map(function(e){var n=u(e,2),r=n[0];n[1];t.listeners[r]=t.listeners[r].filter(function(e){return e.namespace!==s}),0===t.listeners[r].length&&t.deleteEventListener(r)}):i&&!s?this.deleteEventListener(i):i&&s&&this.listeners[i]&&(this.listeners[i]=this.listeners[i].filter(function(e){return e.namespace!==s}),0===this.listeners[i].length&&this.deleteEventListener(i)),this}},{key:"createEventListener",value:function(e){this.listeners[e]=[],this.element.addEventListener(e,l,!1)}},{key:"deleteEventListener",value:function(e){this.element.removeEventListener(e,l),delete this.listeners[e]}},{key:"checkRepeats",value:function(e,t){return 0!==this.listeners[e].filter(function(e){return e.handler===t}).length}},{key:"hasListeners",value:function(e){return!(!this.listeners[e]||0===Object.keys(this.listeners[e]).length)}},{key:"ensureHandler",value:function(e){var t=void 0===e?"undefined":r(e);if("function"===t)return e;throw new TypeError("Listeners should be function or closure. Received type: "+t)}}],[{key:"of",value:function(e,t){var n=e.type,r=e.identity,i=e.handler;t.__eventStorage||(t.__eventStorage=new this(t));var s=n.split("."),a=u(s,2),l=a[0],c=a[1];this.getEventStorage(t).on({identity:o(r),handler:i,eventName:l,namespace:c})}},{key:"once",value:function(e,t){var n=e.type,r=e.identity,i=e.handler;t.__eventStorage||(t.__eventStorage=new this(t));var s=n.split("."),a=u(s,2),l=a[0],c=a[1];this.getEventStorage(t).once({identity:o(r),handler:i,eventName:l,namespace:c})}},{key:"delete",value:function(e,t){var n=this.getEventStorage(t);if(n){var r=e.type,i=void 0===r?e:r,s=e.handler;n.off(i,s)}}},{key:"getEventStorage",value:function(e){return e.__eventStorage}}]),e}(),f=n.curry(function(e,t){if(e instanceof window.Event)return t.dispatchEvent(e),t;var n=e.type,r=void 0===n?e:n,i=e.data,s=r,u=c.getEventStorage(t);return u&&u.hasListeners(s)&&u.trigger(s,i),t}),v=n.curry(function(e,t){return c.of(e,t),t}),h=n.curry(function(e,t){return c.delete(e,t),t}),d=n.curry(function(e,t){return c.once(e,t),t});e.trigger=f,e.bindEvent=v,e.removeEvent=h,e.bindEventOnce=d,e.getEventStorage=function(e){return c.getEventStorage(e)},Object.defineProperty(e,"__esModule",{value:!0})}); |
@@ -210,6 +210,8 @@ (function (global, factory) { | ||
if (!currentTarget.contains(node)) { | ||
if (!node) { | ||
return result; | ||
} | ||
if (currentTarget !== window && !currentTarget.contains(node)) { | ||
return result; | ||
} | ||
var matchEventList = eventStorage.listeners[eventName].filter(function (_ref) { | ||
@@ -525,2 +527,3 @@ var identity = _ref.identity; | ||
var eventStorage = EventStorage.getEventStorage(el); | ||
if (eventStorage && eventStorage.hasListeners(eventName)) { | ||
@@ -527,0 +530,0 @@ eventStorage.trigger(eventName, data); |
@@ -7,6 +7,6 @@ { | ||
"dependencies": { | ||
"@pluginjs/dom": "^0.0.13", | ||
"@pluginjs/dom": "^0.0.15", | ||
"@pluginjs/utils": "^0.2.20" | ||
}, | ||
"version": "0.0.4", | ||
"version": "0.0.5", | ||
"description": "A flexible modern events js plugin.", | ||
@@ -13,0 +13,0 @@ "author": "Creation Studio Limited", |
@@ -42,6 +42,8 @@ import { parent } from '@pluginjs/dom' | ||
const nodeTreeCheck = (node, result = []) => { | ||
if (!currentTarget.contains(node)) { | ||
if (!node) { | ||
return result | ||
} | ||
if (currentTarget !== window && !currentTarget.contains(node)) { | ||
return result | ||
} | ||
const matchEventList = eventStorage.listeners[eventName].filter( | ||
@@ -48,0 +50,0 @@ ({ identity }) => { |
@@ -13,2 +13,3 @@ import { curry } from '@pluginjs/utils' | ||
const eventStorage = EVENTSTORAGE.getEventStorage(el) | ||
if (eventStorage && eventStorage.hasListeners(eventName)) { | ||
@@ -15,0 +16,0 @@ eventStorage.trigger(eventName, data) |
58426
1599
+ Added@pluginjs/dom@0.0.15(transitive)
- Removed@pluginjs/dom@0.0.13(transitive)
Updated@pluginjs/dom@^0.0.15