操作とイベント
コンテキストの準備ができたら、様々な操作を実行したり、その特定のコンテキストで使用可能な様々なイベントをサブスクライブできます。
フィールド値の設定操作の例
const requestObject: ISetFieldValueOperationRequest = frameworkProvider
.requestHelper.createPublishRequest('cxEventBusSetFieldValueOperation') as ISetFieldValueOperationRequest;
requestObject.field().setValue(key, value);
recordContext.publish(requestObject).then((response: IOperationResponse) => {
console.log((response as ISetFieldValueResponse).getResponseData().getMessage());
}).catch((error) => console.log(error));
イベントのサブスクライブの例
const requestObject: IFieldValueChangeEventRequest = frameworkProvider
.requestHelper.createSubscriptionRequest('cxEventBusFieldValueChangeEvent') as IFieldValueChangeEventRequest;
requestObject.setFields(['ServiceRequest.Title']);
let subscription = recordContext.subscribe(requestObject, (response: IEventResponse) => {
const fieldName = (response as any).getResponseData().getFieldName();
const newValue = (response as any).getResponseData().getNewValue();
const oldValue = (response as any).getResponseData().getOldValue();
console.log('FieldValueChangeEvent', fieldName, 'oldValue:', oldValue, 'newValue:', newValue)
});