- fixed issue with new table skips decimals;

This commit is contained in:
Vitalii Kiiko
2025-01-28 15:33:21 +01:00
parent 7cf1b044be
commit 2187e4a36d
5 changed files with 11 additions and 9 deletions

View File

@@ -0,0 +1,3 @@
const parseCommaDecimal = (value = '') => parseFloat(String(value).replace(',', '.'));
export default parseCommaDecimal;

View File

@@ -46,6 +46,7 @@ import { Dialog } from 'primereact/dialog';
import FileuploadApplicationSignedPdf from '../../components/FileuploadApplicationSignedPdf'; import FileuploadApplicationSignedPdf from '../../components/FileuploadApplicationSignedPdf';
import { defaultMaxFileSize } from '../../configData'; import { defaultMaxFileSize } from '../../configData';
import parseCommaDecimal from '../../helpers/parseCommaDecimal';
const BandoApplication = () => { const BandoApplication = () => {
const chosenCompanyId = useStore().main.chosenCompanyId(); const chosenCompanyId = useStore().main.chosenCompanyId();
@@ -541,9 +542,10 @@ const BandoApplication = () => {
context = getTokens(formula.value) context = getTokens(formula.value)
.filter(v => !['false', 'null', 'true'].includes(v)) .filter(v => !['false', 'null', 'true'].includes(v))
.reduce((acc, cur) => { .reduce((acc, cur) => {
acc[cur] = isNil(context[cur]) ? 0 : parseFloat(context[cur]); acc[cur] = isNil(context[cur]) ? 0 : parseCommaDecimal(context[cur]);
return acc; return acc;
}, context); }, context);
const mathFormula = renderWithDataVars(formula.value, context); const mathFormula = renderWithDataVars(formula.value, context);
try { try {
updatedFormValues[o.id] = evaluate(mathFormula); updatedFormValues[o.id] = evaluate(mathFormula);

View File

@@ -38,6 +38,7 @@ import getTokens from '../../helpers/getTokens';
import renderWithDataVars from '../../helpers/renderWithDataVars'; import renderWithDataVars from '../../helpers/renderWithDataVars';
import { evaluate } from 'mathjs'; import { evaluate } from 'mathjs';
import equal from 'fast-deep-equal'; import equal from 'fast-deep-equal';
import parseCommaDecimal from '../../helpers/parseCommaDecimal';
const BandoApplicationPreview = () => { const BandoApplicationPreview = () => {
const { id } = useParams(); const { id } = useParams();
@@ -272,7 +273,7 @@ const BandoApplicationPreview = () => {
context = getTokens(formula.value) context = getTokens(formula.value)
.filter(v => !['false', 'null', 'true'].includes(v)) .filter(v => !['false', 'null', 'true'].includes(v))
.reduce((acc, cur) => { .reduce((acc, cur) => {
acc[cur] = isNil(context[cur]) ? 0 : parseFloat(context[cur]); acc[cur] = isNil(context[cur]) ? 0 : parseCommaDecimal(context[cur]);
return acc; return acc;
}, context); }, context);
const mathFormula = renderWithDataVars(formula.value, context); const mathFormula = renderWithDataVars(formula.value, context);

View File

@@ -34,6 +34,7 @@ import {
import renderHtmlContent from '../../helpers/renderHtmlContent'; import renderHtmlContent from '../../helpers/renderHtmlContent';
import renderWithDataVars from '../../helpers/renderWithDataVars'; import renderWithDataVars from '../../helpers/renderWithDataVars';
import getTokens from '../../helpers/getTokens'; import getTokens from '../../helpers/getTokens';
import parseCommaDecimal from '../../helpers/parseCommaDecimal';
const BandoFormsPreview = () => { const BandoFormsPreview = () => {
const { id, formId } = useParams(); const { id, formId } = useParams();
@@ -105,7 +106,7 @@ const BandoFormsPreview = () => {
context = getTokens(formula.value) context = getTokens(formula.value)
.filter(v => !['false', 'null', 'true'].includes(v)) .filter(v => !['false', 'null', 'true'].includes(v))
.reduce((acc, cur) => { .reduce((acc, cur) => {
acc[cur] = isNil(context[cur]) ? 0 : parseFloat(context[cur]); acc[cur] = isNil(context[cur]) ? 0 : parseCommaDecimal(context[cur]);
return acc; return acc;
}, context); }, context);
const mathFormula = renderWithDataVars(formula.value, context); const mathFormula = renderWithDataVars(formula.value, context);

View File

@@ -1,6 +1,6 @@
import React, { useState, useEffect, useRef } from 'react'; import React, { useState, useEffect, useRef } from 'react';
import { __ } from '@wordpress/i18n'; import { __ } from '@wordpress/i18n';
import { useNavigate, useParams } from 'react-router-dom'; import { useParams } from 'react-router-dom';
import { is, isEmpty, isNil } from 'ramda'; import { is, isEmpty, isNil } from 'ramda';
import 'quill/dist/quill.core.css'; import 'quill/dist/quill.core.css';
@@ -27,15 +27,10 @@ const REACT_APP_HUB_ID = process.env.REACT_APP_HUB_ID;
const BandoViewPreInstructor = () => { const BandoViewPreInstructor = () => {
const isAsyncRequest = useStore().main.isAsyncRequest(); const isAsyncRequest = useStore().main.isAsyncRequest();
const { id } = useParams(); const { id } = useParams();
const navigate = useNavigate();
const [data, setData] = useState({}); const [data, setData] = useState({});
const [newQuestion, setNewQuestion] = useState(''); const [newQuestion, setNewQuestion] = useState('');
const bandoMsgs = useRef(null); const bandoMsgs = useRef(null);
/*const closePreview = () => {
navigate(`/bandi/${id}`);
}*/
const getCallback = (data) => { const getCallback = (data) => {
if (data.status === 'SUCCESS') { if (data.status === 'SUCCESS') {
setData(getFormattedBandiData(data.data)); setData(getFormattedBandiData(data.data));