From 3f20b1d557cd4d78c776c6d8b088a56a7333eccd Mon Sep 17 00:00:00 2001 From: Mamalizz-dev Date: Sat, 20 Dec 2025 20:04:57 +0330 Subject: [PATCH] changed price format --- backend/core/static/price-format.js | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/backend/core/static/price-format.js b/backend/core/static/price-format.js index 2d8640e..0202853 100644 --- a/backend/core/static/price-format.js +++ b/backend/core/static/price-format.js @@ -1,5 +1,16 @@ document.addEventListener("DOMContentLoaded", () => { - document.querySelectorAll(".price-input").forEach((input) => { + initPriceInputs(document); + + document.addEventListener("formset:added", (event) => { + initPriceInputs(event.target); + }); +}); + +function initPriceInputs(root) { + root.querySelectorAll(".price-input").forEach((input) => { + if (input.dataset.formatted) return; + input.dataset.formatted = "true"; + input.value = format(input.value); input.addEventListener("input", () => { @@ -8,13 +19,14 @@ document.addEventListener("DOMContentLoaded", () => { input.value = format(raw); input.setSelectionRange(cursor, cursor); }); - input.form.addEventListener("submit", () => { + + input.form?.addEventListener("submit", () => { input.value = input.value.replace(/,/g, ""); }); }); -}); +} -const format = (value) => { +function format(value) { if (!value) return ""; return value.replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ","); -}; +}