From a6faab8ee9d101cf2fb20ee2919d3955f9ae0b87 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Fri, 29 Aug 2025 14:27:12 +0200 Subject: [PATCH] refactor: move IBAN formatting into utils --- frappe/public/js/frappe/form/controls/data.js | 2 +- frappe/public/js/frappe/utils/utils.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/data.js b/frappe/public/js/frappe/form/controls/data.js index d80c7467cf..6b3a501eb8 100644 --- a/frappe/public/js/frappe/form/controls/data.js +++ b/frappe/public/js/frappe/form/controls/data.js @@ -267,7 +267,7 @@ frappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlInp } format_for_input(val) { if (this.df.options == "IBAN" && val) { - return val.replaceAll(" ", "").replace(/(.{4})(?=.)/g, "$1 "); + return frappe.utils.get_formatted_iban(val); } return val == null ? "" : val; } diff --git a/frappe/public/js/frappe/utils/utils.js b/frappe/public/js/frappe/utils/utils.js index 1a95d2c211..8b5717bd7e 100644 --- a/frappe/public/js/frappe/utils/utils.js +++ b/frappe/public/js/frappe/utils/utils.js @@ -1134,6 +1134,14 @@ Object.assign(frappe.utils, { return duration; }, + get_formatted_iban(value) { + if (!value) { + return value; + } + + return value.replaceAll(" ", "").replace(/(.{4})(?=.)/g, "$1 "); + }, + seconds_to_duration(seconds, duration_options) { const round = seconds > 0 ? Math.floor : Math.ceil; const total_duration = {