blob: 39d9c0f2f6a685195a895184e57ddf5e128d2c6e [file] [log] [blame]
Ankush Menatec74a5e2024-03-10 19:45:40 +05301frappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlData {
Leela vadlamudia3845a92020-12-01 13:04:53 +05302 make_input() {
Faris Ansari1fe891b2021-04-23 08:04:00 +05303 super.make_input();
Ankush Menatec74a5e2024-03-10 19:45:40 +05304 if (this.df.options == "Phone") {
Leela vadlamudia3845a92020-12-01 13:04:53 +05305 this.setup_phone();
6 }
Shariq Ansari261c4212021-03-09 20:28:00 +05307 if (this.frm && this.frm.fields_dict) {
Ankush Menatec74a5e2024-03-10 19:45:40 +05308 Object.values(this.frm.fields_dict).forEach(function (field) {
9 if (
10 field.df.read_only === 1 &&
11 field.df.options === "Phone" &&
12 field.disp_area.style[0] != "display" &&
13 !field.has_icon
14 ) {
Suraj Shettyafaa85f2023-06-14 15:54:27 +053015 field.setup_phone && field.setup_phone();
Shariq Ansari261c4212021-03-09 20:28:00 +053016 field.has_icon = true;
17 }
18 });
19 }
Faris Ansari1fe891b2021-04-23 08:04:00 +053020 }
Leela vadlamudia3845a92020-12-01 13:04:53 +053021 setup_phone() {
22 if (frappe.phone_call.handler) {
Ankush Menatec74a5e2024-03-10 19:45:40 +053023 let control = this.df.read_only ? ".control-value" : ".control-input";
24 this.$wrapper
25 .find(control)
26 .append(
27 `
Leela vadlamudia3845a92020-12-01 13:04:53 +053028 <span class="phone-btn">
Ankush Menatec74a5e2024-03-10 19:45:40 +053029 <a class="btn-open no-decoration" title="${__("Make a call")}">
30 ${frappe.utils.icon("call")}
Leela vadlamudia3845a92020-12-01 13:04:53 +053031 </span>
Ankush Menatec74a5e2024-03-10 19:45:40 +053032 `
33 )
34 .find(".phone-btn")
Leela vadlamudia3845a92020-12-01 13:04:53 +053035 .click(() => {
36 frappe.phone_call.handler(this.get_value(), this.frm);
37 });
38 }
39 }
Faris Ansari1fe891b2021-04-23 08:04:00 +053040};