blob: 39d9c0f2f6a685195a895184e57ddf5e128d2c6e [file] [log] [blame]
frappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlData {
make_input() {
super.make_input();
if (this.df.options == "Phone") {
this.setup_phone();
}
if (this.frm && this.frm.fields_dict) {
Object.values(this.frm.fields_dict).forEach(function (field) {
if (
field.df.read_only === 1 &&
field.df.options === "Phone" &&
field.disp_area.style[0] != "display" &&
!field.has_icon
) {
field.setup_phone && field.setup_phone();
field.has_icon = true;
}
});
}
}
setup_phone() {
if (frappe.phone_call.handler) {
let control = this.df.read_only ? ".control-value" : ".control-input";
this.$wrapper
.find(control)
.append(
`
<span class="phone-btn">
<a class="btn-open no-decoration" title="${__("Make a call")}">
${frappe.utils.icon("call")}
</span>
`
)
.find(".phone-btn")
.click(() => {
frappe.phone_call.handler(this.get_value(), this.frm);
});
}
}
};