From 363723fc84f7b8477592e0105aeb331ec9a017af Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 14 Aug 2017 05:01:11 +0200 Subject: node_modules --- .../min-document/event/add-event-listener.js | 17 ++++++++++++ node_modules/min-document/event/dispatch-event.js | 31 ++++++++++++++++++++++ .../min-document/event/remove-event-listener.js | 19 +++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 node_modules/min-document/event/add-event-listener.js create mode 100644 node_modules/min-document/event/dispatch-event.js create mode 100644 node_modules/min-document/event/remove-event-listener.js (limited to 'node_modules/min-document/event') diff --git a/node_modules/min-document/event/add-event-listener.js b/node_modules/min-document/event/add-event-listener.js new file mode 100644 index 000000000..022c7ef41 --- /dev/null +++ b/node_modules/min-document/event/add-event-listener.js @@ -0,0 +1,17 @@ +module.exports = addEventListener + +function addEventListener(type, listener) { + var elem = this + + if (!elem.listeners) { + elem.listeners = {} + } + + if (!elem.listeners[type]) { + elem.listeners[type] = [] + } + + if (elem.listeners[type].indexOf(listener) === -1) { + elem.listeners[type].push(listener) + } +} diff --git a/node_modules/min-document/event/dispatch-event.js b/node_modules/min-document/event/dispatch-event.js new file mode 100644 index 000000000..8febc990d --- /dev/null +++ b/node_modules/min-document/event/dispatch-event.js @@ -0,0 +1,31 @@ +module.exports = dispatchEvent + +function dispatchEvent(ev) { + var elem = this + var type = ev.type + + if (!ev.target) { + ev.target = elem + } + + if (!elem.listeners) { + elem.listeners = {} + } + + var listeners = elem.listeners[type] + + if (listeners) { + return listeners.forEach(function (listener) { + ev.currentTarget = elem + if (typeof listener === 'function') { + listener(ev) + } else { + listener.handleEvent(ev) + } + }) + } + + if (elem.parentNode) { + elem.parentNode.dispatchEvent(ev) + } +} diff --git a/node_modules/min-document/event/remove-event-listener.js b/node_modules/min-document/event/remove-event-listener.js new file mode 100644 index 000000000..d96091bc3 --- /dev/null +++ b/node_modules/min-document/event/remove-event-listener.js @@ -0,0 +1,19 @@ +module.exports = removeEventListener + +function removeEventListener(type, listener) { + var elem = this + + if (!elem.listeners) { + return + } + + if (!elem.listeners[type]) { + return + } + + var list = elem.listeners[type] + var index = list.indexOf(listener) + if (index !== -1) { + list.splice(index, 1) + } +} -- cgit v1.2.3