ISidePaneContext
This is the object which encapsulates all the UI Events Framework-provided SidePane events and actions. This object only acts on UIEF advanced side panes. The legacy side pane doesn't support the events and actions supported by this object.
To get the reference to SidePaneContext, you can use the getSidePaneContext function.
This function provides a reference to the sidePaneContext of a particular
sidePaneId.
Note: SidePaneId denotes the ID with which user
enabled the advanced side panes (multiple side panes) in UEF.
Here's the
syntax:
getSidePaneContext(sidePaneId: string): Promise<ISidePaneContext>;
The following is a code sample in
Typescript.
/// <reference path="uiEventsFramework.d.ts"/>
const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID', 'v1');
const sidePaneContext: ISidePaneContext = await frameworkProvider.getSidePaneContext('sidepane-id');
The following is a code sample in
Javascript.
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID', 'v1');
const sidePaneContext = await frameworkProvider.getSidePaneContext();
Functions
subscribe
Use this function to listen to a SidePaneContext supported event.
The following sample shows the
syntax:
subscribe: (requestObject: IEventRequest, callbackFunction: (response:IEventResponse) => void) => ISubscriptionContext;
The following is a code sample in
Typescript.
/// <reference path="uiEventsFramework.d.ts"/>
const listenSidePaneOpenEvent = async () => {
const uiEventsFrameworkInstance: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext: ISidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const payload: IEventRequest = uiEventsFrameworkInstance.requestHelper.createSubscriptionRequest('cxEventBusSidePaneOpenEvent');
sidePaneContext.subscribe(payload, (res: IEventResponse) => {
const response = res as ISidePaneOpenEventResponse;
const responseData: ISidePaneData = response.getResponseData(); responseData.getActiveSectionId();
});
}
The following is a code sample in
Javascript.
const listenSidePaneOpenEvent = async () => {
const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const payload = uiEventsFrameworkInstance.requestHelper.createSubscriptionRequest('cxEventBusSidePaneOpenEvent');
sidePaneContext.subscribe(payload, (res) => {
const response = res as ISidePaneOpenEventResponse;
const responseData = response.getResponseData();
console.log(responseData.getActiveSectionId());
});
}
subscribeOnce
Use this function to listen once to a SidePaneContext supported event.
The following code sample shows the
syntax:
subscribeOnce: (requestObject: IEventRequest, callbackFunction: (response:IEventResponse) => void) => ISubscriptionContext;
The following is a code sample in
Typescript:
/// <reference path="uiEventsFramework.d.ts"/>
const listenSidePaneOpenEvent = async () => {
const uiEventsFrameworkInstance: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext: ISidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const payload: IEventRequest = uiEventsFrameworkInstance.requestHelper.createSubscriptionRequest('cxEventBusSidePaneOpenEvent');
sidePaneContext.subscribeOnce(payload, (res: IEventResponse) => {
const response = res as ISidePaneOpenEventResponse;
const responseData: ISidePaneData = response.getResponseData(); responseData.getActiveSectionId();
});
}
The following is a code sample in
JavaScript:
const listenSidePaneOpenEvent = async () => {
const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const payload = uiEventsFrameworkInstance.requestHelper.createSubscriptionRequest('cxEventBusSidePaneOpenEvent');
sidePaneContext.subscribeOnce(payload, (res) => {
const response = res as ISidePaneOpenEventResponse;
const responseData = response.getResponseData();
console.log(responseData.getActiveSectionId());
});
}
publish
Use this function to publish a SidePane supported operation on the SidePaneContext object.
The following code sample shows the
syntax:
publish: (requestObject: IOperationRequest) => Promise<IOperationResponse>;
The following is a code sample in
Typescript:
/// <reference path="uiEventsFramework.d.ts"/>
const updateSidePaneContext = async () => {
const uiEventsFrameworkInstance: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext: ISidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const payload:IUpdateSidePaneRequest = uiEventsFrameworkInstance.requestHelper.createPublishRequest('UpdateSidePane') as IUpdateSidePaneRequest;
payload.setSectionId('newSectionId'); payload.setIcon('newIcon'); payload.setVisibility(true);
sidePaneContext.publish(payload).then((response: IOperationResponse) => {
console.log(response);
}).catch(() => { })
}
The following is a code sample in
JavaScript:
const updateSidePaneContext = async () => {
const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const payload = uiEventsFrameworkInstance.requestHelper.createPublishRequest('UpdateSidePane');
payload.setSectionId('newSectionId'); payload.setIcon('newIcon'); payload.setVisibility(true);
sidePaneContext.publish(payload).then((response: IOperationResponse) => {
console.log(response);
}).catch(() => { })
}
dispose
Use this function to remove all events subscribed on SidePaneContext object.
dispose:() => void;
The following code sample shows an example in
Typescript:
/// <reference path="uiEventsFramework.d.ts"/>
const disposeSidePaneEvents = async () => {
const uiEventsFrameworkInstance: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext: ISidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
sidePaneContext.dispose();
}
The following code sample shows an example in
JavaScript:
const disposeSidePaneEvents = async () => {
const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
sidePaneContext.dispose();
}
getSupportedEvents
Use this function to get all the supported events on the SidePaneContext object.
The following code sample shows the
syntax:
getSupportedEvents(): string[];
The following code sample shows example in
Typescript.
/// <reference path="uiEventsFramework.d.ts"/>
const getSupportedEvents = async () => {
const uiEventsFrameworkInstance: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext: ISidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const supportedEvents: string[] = sidePaneContext.getSupportedEvents();
}
The following code sample shows example in
Javascript.
const getSupportedEvents = async () => {
const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const supportedEvents = sidePaneContext.getSupportedEvents();
}
getSupportedActions
Use this function to get all the supported actions on the SidePaneContext object.
The following code sample shows the
syntax:
getSupportedActions(): string[];
The following code sample shows example in
Typescript.
/// <reference path="uiEventsFramework.d.ts"/>
const getSupportedActions = async () => {
const uiEventsFrameworkInstance: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext: ISidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const supportedActions: string[] = sidePaneContext.getSupportedActions();
}
The following code sample shows example for getSupportedActions in
Javascript.
const getSupportedActions = async () => {
const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const supportedActions = sidePaneContext.getSupportedActions();
}
getSidePaneContextId
Use this function to get the sidePane contextId of the SidePaneContext object. .
The following code sample shows the
syntax:
getSidePaneContextId(): string;
The following code sample shows example in
Typescript.
/// <reference path="uiEventsFramework.d.ts"/>
const getContextId = async () => {
const uiEventsFrameworkInstance: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext: ISidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const contextId: string = sidePaneContext.getSidePaneContextId();
}
The following code sample shows example for getSupportedActions in
Javascript.
const getContextId = async () => {
const uiEventsFrameworkInstance = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('appname', 'v1');
const sidePaneContext = await uiEventsFrameworkInstance.getSidePaneContext('sidePaneId');
const contextId = sidePaneContext.getSidePaneContextId();
}