From 5ffe8ce7223c9ab80a537457a916866226af8948 Mon Sep 17 00:00:00 2001 From: Tomasz Subik Date: Fri, 24 May 2024 11:27:33 +0200 Subject: [PATCH] remove eventemitter3 --- components/ui/modal.js | 20 +++++++++++++++----- package.json | 1 - services/modal.js | 8 +++----- yarn.lock | 5 ----- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/components/ui/modal.js b/components/ui/modal.js index e5b4a7b1..f62ef26e 100644 --- a/components/ui/modal.js +++ b/components/ui/modal.js @@ -15,11 +15,21 @@ import { EE } from 'services/modal'; class Modal extends React.Component { + onToogleModal = (e) => { + const { toggleModal } = this.props; + if (toggleModal) toggleModal(e.detail.opened, e.detail.opts); + } + + onSetModalOptions = (e) => { + const { setModalOptions } = this.props; + if (setModalOptions) setModalOptions(e.detail.opts); + } + componentDidMount() { - const { toggleModal, setModalOptions } = this.props; + const { setModalOptions } = this.props; - EE.on('toggleModal', toggleModal); - EE.on('setModalOptions', setModalOptions); + EE.addEventListener('toggleModal', this.onToogleModal); + EE.addEventListener('setModalOptions', this.onSetModalOptions); this.el.addEventListener('transitionend', () => { if (!this.props.modal.opened) { @@ -41,8 +51,8 @@ class Modal extends React.Component { } componentWillUnmount() { - EE.removeListener('toggleModal'); - EE.removeListener('setModalOptions'); + EE.removeEventListener('toggleModal', this.onToogleModal); + EE.removeEventListener('setModalOptions', this.onSetModalOptions); } getContent() { diff --git a/package.json b/package.json index 1ba7687e..f0f4d6b1 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,6 @@ "dayjs": "^1.11.11", "deck.gl": "7.3.6", "dotenv": "^16.4.5", - "eventemitter3": "^5.0.1", "express": "^4.19.2", "foundation-sites": "^6.8.1", "fuse.js": "^7.0.0", diff --git a/services/modal.js b/services/modal.js index d745c90b..4bb38c59 100644 --- a/services/modal.js +++ b/services/modal.js @@ -1,10 +1,8 @@ -import EventEmitter from 'eventemitter3'; - -const emitter = new EventEmitter(); +const emitter = new EventTarget(); const actions = {}; -actions.toggleModal = (opened, opts = {}) => emitter.emit('toggleModal', opened, opts); -actions.setModalOptions = (opts = {}) => emitter.emit('setModalOptions', opts); +actions.toggleModal = (opened, opts = {}) => emitter.dispatchEvent(new CustomEvent('toggleModal', { detail: { opened, opts }})); +actions.setModalOptions = (opts = {}) => emitter.dispatchEvent(new CustomEvent('setModalOptions', { detail: { opts } })); export const EE = emitter; export default actions; diff --git a/yarn.lock b/yarn.lock index 9c8a21d5..72e0fd87 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2399,11 +2399,6 @@ eventemitter3@^4.0.1: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -eventemitter3@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" - integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== - express@^4.19.2: version "4.19.2" resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465"