Skip to main content

FDC3 Context Channel Listener

FDC3 Channel Context Listener is a utility element that listens to an FDC3 app channel for the specified context.

Use cases:

  • Listen to and handle events for a specified context on an FDC3 app channel.

Examples​

This will listen to the specified app channels for changes in the specified context.

Declaration

<fdc3-context-channel-listener></fdc3-context-channel-listener>

Usage

export function MyComponent() {
useEffect(() => {

const [instrumentMessage, setInstrumentMessage] = useState('');
const [contactMessage, setContactMessage] = useState('');


if (contextChannelListenerRef.current) {
contextChannelListenerRef.current.config = [
{
channelName: 'customChannel',
channelType: 'fdc3.instrument',
callback: (message) => setInstrumentMessage(JSON.stringify(message)),
},
{
channelName: 'anotherCustomChannel',
channelType: 'fdc3.contact',
callback: (message) => setContactMessage(JSON.stringify(message)),
},
]
}
})
return (
<div>Instrument message:<i>{instrumentMessage}</i></div>
<div>Contact message:<i>{contactMessage}</i></div>
<fdc3-context-channel-listener ref={contextChannelListenerRef}>
</fdc3-context-channel-listener>
);
}

DOM API​

Property and attribute binding examples for Genesis Component syntax. Closing tag omitted.

Attributes​

This component has no attributes.

Properties​

PropertyTypeUseExample
configAppChannelListenerConfigAn array of objects that configure the context type and the handler for channel event payloads
<fdc3-context-channel-listener :config=${() =>
[
{
channelName: 'anotherCustomChannel',
channelType: 'fdc3.contact',
callback: (msg) => this.setContactMessage(JSON.stringify(msg)),
},
]
}>

Slots​

This component has no slots.

Parts​

This component has no parts.

Fired events​

This component doesn't fire any events.

Listened events​

This component doesn't listen to any events.