Pop Open New Object with Set Operation
The following shows examples of Pop with a Set operation.
Here's a Typescript
example:
const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID', 'v1');
const globalContext: IGlobalContext = await frameworkProvider.getGlobalContext();
const requestObject: IPopFlowInAppRequest = frameworkProvider.requestHelper.createPublishRequest('PopOperation') as IPopFlowInAppRequest;
requestObject.setRecordType('ServiceRequest');
const response: IPopFlowResponse = await globalContext.publish(requestObject) as IPopFlowResponse;
const tabContext: ITabContext = response.getResponseData();
const recordContext: IRecordContext = await tabContext.getActiveRecord();
const setFieldRequestObject: ISetFieldValueOperationRequest = (frameworkProvider.requestHelper.createPublishRequest('cxEventBusSetFieldValueOperation') as ISetFieldValueOperationRequest);
setFieldRequestObject.field().setValue('ServiceRequest.Title', 'New Title');
setFieldRequestObject.field().setValue('ServiceRequest.ProblemDescription', 'New Problem Description');
recordContext.publish(setFieldRequestObject).then((message) => {
const setFieldresponse = message as ISetFieldValueResponse;
//custom code
}).catch((error: IErrorData) => {
// custom code
});
Here's a JavaScript example:
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID', 'v1');
const globalContext = await frameworkProvider.getGlobalContext();
const requestObject = frameworkProvider.requestHelper.createPublishRequest('PopOperation');
requestObject.setRecordType('ServiceRequest');
const response = await globalContext.publish(requestObject);
const tabContext = response.getResponseData();
const recordContext = await tabContext.getActiveRecord();
const setFieldRequestObject = frameworkProvider.requestHelper.createPublishRequest('cxEventBusSetFieldValueOperation');
setFieldRequestObject.field().setValue('ServiceRequest.Title', 'New Title');
setFieldRequestObject.field().setValue('ServiceRequest.ProblemDescription', 'New Problem Description');
recordContext.publish(setFieldRequestObject).then((message) => {
// custom code
}).catch((error) => {
// custom code
});