Pop Existing Object with Get Operation
The following code sample shows an example in TypeScript for Pop with the get operation.
const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID', 'v1');
const openerTabContext: ITabContext = await frameworkProvider.getTabContext();
const requestObject: IPopFlowInAppRequest = frameworkProvider.requestHelper.createPublishRequest('PopOperation') as IPopFlowInAppRequest;
requestObject.setRecordType('ServiceRequest');
requestObject.setRecordId('SR0000282245');
const response: IPopFlowResponse = await openerTabContext.publish(requestObject) as IPopFlowResponse;
const tabContext: ITabContext = response.getResponseData();
const recordContext: IRecordContext = await tabContext.getActiveRecord();
const getFieldRequestObject: IGetFieldValueOperationRequest = (frameworkProvider.requestHelper.createPublishRequest('cxEventBusGetFieldValueOperation') as IGetFieldValueOperationRequest);
getFieldRequestObject.setFields(['ServiceRequest.Title', 'ServiceRequest.ProblemDescription']);
recordContext.publish(getFieldRequestObject).then((message) => {
const response = message as IGetFieldValueResponse;
const titleFieldValue = response.getResponseData().getField('ServiceRequest.Title').getValue();
const problemDescriptionValue = response.getResponseData().getField('ServiceRequest.ProblemDescription').getValue();
// custom code
}).catch((error: IErrorData) => {
// custom code
});
The following code sample shows an example in JavaScript forPop with the get operation.
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID', 'v1');
const openerTabContext = await frameworkProvider.getTabContext();
const requestObject = frameworkProvider.requestHelper.createPublishRequest('PopOperation');
requestObject.setRecordType('ServiceRequest');
requestObject.setRecordId('SR0000282245');
const response = await openerTabContext.publish(requestObject);
const tabContext = response.getResponseData();
const recordContext = await tabContext.getActiveRecord();
const getFieldRequestObject = frameworkProvider.requestHelper.createPublishRequest('cxEventBusGetFieldValueOperation');
getFieldRequestObject.setFields(['ServiceRequest.Title', 'ServiceRequest.ProblemDescription']);
recordContext.publish(getFieldRequestObject).then((response) => {
// custom code
const titleFieldValue = response.getResponseData().getField('ServiceRequest.Title').getValue();
const problemDescriptionValue = response.getResponseData().getField('ServiceRequest.ProblemDescription').getValue();
}).catch((error) => {
// custom code
});