Initial commit
This commit is contained in:
37
fusion_ringcentral/static/src/js/rc_click_to_dial.js
Normal file
37
fusion_ringcentral/static/src/js/rc_click_to_dial.js
Normal file
@@ -0,0 +1,37 @@
|
||||
/** @odoo-module **/
|
||||
|
||||
import { patch } from "@web/core/utils/patch";
|
||||
import { PhoneField } from "@web/views/fields/phone/phone_field";
|
||||
import { rpcBus } from "@web/core/network/rpc";
|
||||
|
||||
patch(PhoneField.prototype, {
|
||||
onClickCall(ev) {
|
||||
if (window.RCAdapter) {
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
const phoneNumber = this.props.record.data[this.props.name];
|
||||
if (phoneNumber) {
|
||||
window.RCAdapter.clickToCall(phoneNumber, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
return super.onClickCall(...arguments);
|
||||
},
|
||||
});
|
||||
|
||||
rpcBus.addEventListener("RPC:RESPONSE", (ev) => {
|
||||
const { result } = ev.detail;
|
||||
if (!result || typeof result !== "object" || !window.RCAdapter) {
|
||||
return;
|
||||
}
|
||||
const infos = result.infos;
|
||||
if (!infos || !infos.rc_action || !infos.rc_phone_number) {
|
||||
return;
|
||||
}
|
||||
const { rc_action, rc_phone_number } = infos;
|
||||
if (rc_action === "call") {
|
||||
window.RCAdapter.clickToCall(rc_phone_number, true);
|
||||
} else if (rc_action === "sms") {
|
||||
window.RCAdapter.clickToSMS(rc_phone_number);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user