1import { LightningElement, wire } from 'lwc';
2
3import {
4 subscribe,
5 unsubscribe,
6 APPLICATION_SCOPE,
7 MessageContext
8} from 'lightning/messageService';
9
10import ConversationEndUserChannel from '@salesforce/messageChannel/lightning__conversationEndUserMessage';
11
12export default class ConversationEndUserExample extends LightningElement {
13 subscription = null;
14 recordId;
15
16 // To pass scope, you must get a message context.
17 @wire(MessageContext)
18 messageContext;
19
20 // Standard lifecycle hook used to subscribe to the message channel
21 connectedCallback() {
22 this.subscribeToMessageChannel();
23 }
24
25 // Pass scope to the subscribe() method.
26 subscribeToMessageChannel() {
27 if (!this.subscription) {
28 this.subscription = subscribe(
29 this.messageContext,
30 ConversationEndUserChannel,
31 (message) => this.handleMessage(message),
32 { scope: APPLICATION_SCOPE }
33 );
34 }
35 }
36
37 // Handler for message received by component
38 handleMessage(message) {
39 this.recordId = message.recordId;
40 }
41}