A method that allows modules in a custom view to communicate with each other.
Communication between modules happens by opening "channels" with the App
instance:
// Module 1
import { App } from "@formant/data-sdk";
App.addChannelDataListener("test_channel", (event) => {
if (event.source === App.getCurrentModuleContext()) {
// listening for our own channel data
App.showMessage("channel data i sent: " + JSON.stringify(event));
} else {
// listen for other's channel data
App.showMessage("channel data: " + JSON.stringify(event));
}
});
// Module 2
import { App } from "@formant/data-sdk";
(document.querySelector("#sendchannel") as HTMLElement).addEventListener(
"click",
() => {
App.sendChannelData("test_channel", { abc: 123 });
}
);
In the above example, "test_channel"
is used to send arbitrary JSON information from Module 2 to Module 1. The source
field of the event can tell you which module the data was sent from.
For an in-depth option of many ways to communicate between modules and the Formant app itself, see the following recipe:
🦉
Module/App Communication
Open Recipe
If you notice an issue with this page or need help, please reach out to us! Use the 'Did this page help you?' buttons below, or get in contact with our Customer Success team via the Intercom messenger in the bottom-right corner of this page, or at [email protected].