| 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); |
| }); |
| } |
| } |
| }; |