From 2187e4a36d5ae7f63d51a808f26374f02a0b516f Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Tue, 28 Jan 2025 15:33:21 +0100 Subject: [PATCH] - fixed issue with new table skips decimals; --- src/helpers/parseCommaDecimal.js | 3 +++ src/pages/BandoApplication/index.js | 4 +++- src/pages/BandoApplicationPreview/index.js | 3 ++- src/pages/BandoFormsPreview/index.js | 3 ++- src/pages/BandoViewPreInstructor/index.js | 7 +------ 5 files changed, 11 insertions(+), 9 deletions(-) create mode 100644 src/helpers/parseCommaDecimal.js diff --git a/src/helpers/parseCommaDecimal.js b/src/helpers/parseCommaDecimal.js new file mode 100644 index 0000000..fe1c8d8 --- /dev/null +++ b/src/helpers/parseCommaDecimal.js @@ -0,0 +1,3 @@ +const parseCommaDecimal = (value = '') => parseFloat(String(value).replace(',', '.')); + +export default parseCommaDecimal; \ No newline at end of file diff --git a/src/pages/BandoApplication/index.js b/src/pages/BandoApplication/index.js index d76198b..4ed2551 100644 --- a/src/pages/BandoApplication/index.js +++ b/src/pages/BandoApplication/index.js @@ -46,6 +46,7 @@ import { Dialog } from 'primereact/dialog'; import FileuploadApplicationSignedPdf from '../../components/FileuploadApplicationSignedPdf'; import { defaultMaxFileSize } from '../../configData'; +import parseCommaDecimal from '../../helpers/parseCommaDecimal'; const BandoApplication = () => { const chosenCompanyId = useStore().main.chosenCompanyId(); @@ -541,9 +542,10 @@ const BandoApplication = () => { context = getTokens(formula.value) .filter(v => !['false', 'null', 'true'].includes(v)) .reduce((acc, cur) => { - acc[cur] = isNil(context[cur]) ? 0 : parseFloat(context[cur]); + acc[cur] = isNil(context[cur]) ? 0 : parseCommaDecimal(context[cur]); return acc; }, context); + const mathFormula = renderWithDataVars(formula.value, context); try { updatedFormValues[o.id] = evaluate(mathFormula); diff --git a/src/pages/BandoApplicationPreview/index.js b/src/pages/BandoApplicationPreview/index.js index 82cfe58..a21913e 100644 --- a/src/pages/BandoApplicationPreview/index.js +++ b/src/pages/BandoApplicationPreview/index.js @@ -38,6 +38,7 @@ import getTokens from '../../helpers/getTokens'; import renderWithDataVars from '../../helpers/renderWithDataVars'; import { evaluate } from 'mathjs'; import equal from 'fast-deep-equal'; +import parseCommaDecimal from '../../helpers/parseCommaDecimal'; const BandoApplicationPreview = () => { const { id } = useParams(); @@ -272,7 +273,7 @@ const BandoApplicationPreview = () => { context = getTokens(formula.value) .filter(v => !['false', 'null', 'true'].includes(v)) .reduce((acc, cur) => { - acc[cur] = isNil(context[cur]) ? 0 : parseFloat(context[cur]); + acc[cur] = isNil(context[cur]) ? 0 : parseCommaDecimal(context[cur]); return acc; }, context); const mathFormula = renderWithDataVars(formula.value, context); diff --git a/src/pages/BandoFormsPreview/index.js b/src/pages/BandoFormsPreview/index.js index c48d252..8a1402c 100644 --- a/src/pages/BandoFormsPreview/index.js +++ b/src/pages/BandoFormsPreview/index.js @@ -34,6 +34,7 @@ import { import renderHtmlContent from '../../helpers/renderHtmlContent'; import renderWithDataVars from '../../helpers/renderWithDataVars'; import getTokens from '../../helpers/getTokens'; +import parseCommaDecimal from '../../helpers/parseCommaDecimal'; const BandoFormsPreview = () => { const { id, formId } = useParams(); @@ -105,7 +106,7 @@ const BandoFormsPreview = () => { context = getTokens(formula.value) .filter(v => !['false', 'null', 'true'].includes(v)) .reduce((acc, cur) => { - acc[cur] = isNil(context[cur]) ? 0 : parseFloat(context[cur]); + acc[cur] = isNil(context[cur]) ? 0 : parseCommaDecimal(context[cur]); return acc; }, context); const mathFormula = renderWithDataVars(formula.value, context); diff --git a/src/pages/BandoViewPreInstructor/index.js b/src/pages/BandoViewPreInstructor/index.js index 40a2349..76f06cb 100644 --- a/src/pages/BandoViewPreInstructor/index.js +++ b/src/pages/BandoViewPreInstructor/index.js @@ -1,6 +1,6 @@ import React, { useState, useEffect, useRef } from 'react'; import { __ } from '@wordpress/i18n'; -import { useNavigate, useParams } from 'react-router-dom'; +import { useParams } from 'react-router-dom'; import { is, isEmpty, isNil } from 'ramda'; import 'quill/dist/quill.core.css'; @@ -27,15 +27,10 @@ const REACT_APP_HUB_ID = process.env.REACT_APP_HUB_ID; const BandoViewPreInstructor = () => { const isAsyncRequest = useStore().main.isAsyncRequest(); const { id } = useParams(); - const navigate = useNavigate(); const [data, setData] = useState({}); const [newQuestion, setNewQuestion] = useState(''); const bandoMsgs = useRef(null); - /*const closePreview = () => { - navigate(`/bandi/${id}`); - }*/ - const getCallback = (data) => { if (data.status === 'SUCCESS') { setData(getFormattedBandiData(data.data));