From 9cdef865fe0582c8af4e53cffebec452a98e1801 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Thu, 14 Mar 2024 11:51:52 +0200 Subject: [PATCH] ref --- client/src/views/fields/phone.js | 73 ++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 31 deletions(-) diff --git a/client/src/views/fields/phone.js b/client/src/views/fields/phone.js index 159181307d..99f7d43823 100644 --- a/client/src/views/fields/phone.js +++ b/client/src/views/fields/phone.js @@ -570,42 +570,53 @@ class PhoneFieldView extends VarcharFieldView { }) } + /** + * @return {{ + * phoneNumber: string, + * primary: boolean, + * type: string, + * optOut: boolean, + * invalid: boolean, + * }[]} + */ fetchPhoneNumberData() { - const data = []; - const $list = this.$el.find('div.phone-number-block'); - if ($list.length) { - $list.each((i, d) => { - const row = {}; - const $d = $(d); - - /** @type {HTMLInputElement} */ - const inputElement = $d.find('input.phone-number').get(0); - - if (!inputElement) { - return; - } - - row.phoneNumber = inputElement.value.trim(); - - if (this.intlTelInputMap.has(inputElement)) { - row.phoneNumber = this.intlTelInputMap.get(inputElement).getNumber(); - } - - if (row.phoneNumber === '') { - return; - } - - row.primary = $d.find('button[data-property-type="primary"]').hasClass('active'); - row.type = $d.find('select[data-property-type="type"]').val(); - row.optOut = $d.find('button[data-property-type="optOut"]').hasClass('active'); - row.invalid = $d.find('button[data-property-type="invalid"]').hasClass('active'); - - data.push(row); - }); + if (!$list.length) { + return []; } + const data = []; + + $list.each((i, d) => { + const row = {}; + const $d = $(d); + + /** @type {HTMLInputElement} */ + const inputElement = $d.find('input.phone-number').get(0); + + if (!inputElement) { + return; + } + + row.phoneNumber = inputElement.value.trim(); + + if (this.intlTelInputMap.has(inputElement)) { + row.phoneNumber = this.intlTelInputMap.get(inputElement).getNumber(); + } + + if (row.phoneNumber === '') { + return; + } + + row.primary = $d.find('button[data-property-type="primary"]').hasClass('active'); + row.type = $d.find('select[data-property-type="type"]').val(); + row.optOut = $d.find('button[data-property-type="optOut"]').hasClass('active'); + row.invalid = $d.find('button[data-property-type="invalid"]').hasClass('active'); + + data.push(row); + }); + return data; }