JS Events
Communication between different parts of the application is necessary sometimes. For instance, when a user interacts with a button and somewhere else, the application must callback, in terms of displaying some result.
Javascript provides the Event API to deal with such casuistics, but it's always a good practice to gather all the application events in order to track/reuse/refactor/remove them.
That file is app/javascript/lib/events/index.js
. The events are arranged by the different modules.
Declaration
export const GOBIERTO_DASHBOARDS = {
CREATE: "create-dashboard-maker",
// rest of the module declared events...
}
// another module events...
export const GOBIERTO_MODULE....
Usage
// emitter
import { GOBIERTO_DASHBOARDS } from "lib/events"
const event = new Event(GOBIERTO_DASHBOARDS.CREATE)
document.dispatchEvent(event)
// listener
import { GOBIERTO_DASHBOARDS } from "lib/events"
document.addEventListener(GOBIERTO_DASHBOARDS.CREATE, callback)
Updated about 4 years ago