Actions performed across all browser tabs
Here's a Typescript example to publish a customEvent on globalContext which can be propagated across tabs.
const publishCustomEvent = async () => {
const payload: ICustomEventRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('CustomEvent') as ICustomEventRequest;
payload.setPropagateToTabs(true);
payload.setCustomEventName('customEventName');
payload.setEventPayload({ message: 'any data' });
const globalContext: IGlobalContext = await uiEventsFrameworkInstance.getGlobalContext();
globalContext.publish(payload).then((message: any[]) => {
const response: ICustomEventResponse = message[0] as ICustomEventResponse;
console.log(response.getResponseData());
console.log(response.getResponseData().getData());
console.log(response.getResponseData().getCustomEventName());
}).catch((err) => {
console.log(err);
});
};
Here's a JavaScript example to publish a customEvent on globalContext which can be propagated across tabs.
const publishCustomEvent = async () => {
const payload = uiEventsFrameworkInstance.requestHelper.createPublishRequest('CustomEvent');
payload.setPropagateToTabs(true);
payload.setCustomEventName('customEventName');
payload.setEventPayload({ message: 'any data' });
const globalContext = await uiEventsFrameworkInstance.getGlobalContext();
globalContext.publish(payload).then((message) => {
console.log(message[0].getResponseData());
console.log(message[0].getResponseData().getData());
console.log(message[0].getResponseData().getCustomEventName());
}).catch((err) => {
console.log(err);
});
};