HEX
Server: LiteSpeed
System: Linux server334.web-hosting.com 4.18.0-553.124.4.lve.el8.x86_64 #1 SMP Fri May 15 13:02:13 UTC 2026 x86_64
User: richfield (1256)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: /home/richfield/text.pio.richfield-egy.com/wp-content/themes/blocksy/static/js/events.js
class DomEvents {
	_callbacksMap = {}

	on(topic, callback) {
		const cb = (e) => {
			callback(e.detail)
		}

		this._callbacksMap[callback] = cb

		document.addEventListener(topic, cb)
	}

	once(topic, callback) {
		const cb = (e) => {
			callback(e.detail)
		}

		document.addEventListener(topic, cb, { once: true })
	}

	off(topic, callback) {
		document.removeEventListener(topic, this._callbacksMap[callback])
	}

	trigger(topic, data) {
		document.dispatchEvent(new CustomEvent(topic, { detail: data }))
	}
}

const events = new DomEvents()

window.ctEvents = events

export default events