Omnistudio Pubsub

lightning-omnistudio-pubsub

Provides a lightweight publish-subscribe mechanism for sibling Lightning web components to communicate without direct references.

For Use In

Lightning Experience, Experience Builder Sites

Share data and pass messages between components that don’t have a parent-child relationship using the lightning/omnistudioPubsub module. Using this module, you can register, unregister, and fire events dynamically.

In Omnistudio, you can trigger a pubsub event from an action on a Flexcard, or communicate from an Omniscript to a Lightning web component. Omnistudio is available to select Industry Cloud customers.

To use Omnistudio PubSub directly in your custom Lightning web component, use the lightning/omnistudioPubsub module. The lightning/omnistudioPubsub module is a wrapper for the Omnistudio PubSub property.

To use the pubsub functionality, import pubsub from the lightning/omnistudioPubsub module in the component.

This utility component doesn’t have a template and can’t be directly accessed via Lightning App Builder. A custom component that uses the utility component can be accessed via Lightning App Builder. To make your component available in Lightning App Builder, see Configure a Component for Lightning App Builder. To make your component available in Experience Builder, see Configure a Component for Experience Builder.

This example uses the lightning/omnistudioPubsub module to register, unregister, and fire a test event dynamically.

register(eventName, callbackobj)

Register a set of event handlers to a specific channel.

ParameterTypeDescription
eventNamestringThe name of the event to register for
callbackobjobjectThe callback object to register

unregister(eventName, callbackobj)

Unregister your set of event handlers from a channel. To avoid memory leaks or potential errors, always unregister event handlers when a component is disposed or disconnected. In addition, to properly unregister event handlers, pass both the channel name and instance of your event handler objects.

ParameterTypeDescription
eventNamestringThe name of the event to unregister from
callbackobjobjectThe callback object to unregister

fire(eventName, action, payload)

Fire an event over a specific channel to all registered handlers. The payload can be any object. However, make sure your handlers expect that particular structure. For example, if you intend to send a JSON object with various keys, your handlers should know what those keys are.

ParameterTypeDescription
eventNamestringThe name of the event to fire
actionstringThe action to perform
payloadobjectThe payload data for the event