34 lines
948 B
JavaScript
34 lines
948 B
JavaScript
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.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);
|
|
});
|
|
}
|
|
}
|
|
};
|