From 6ba05b79bf64f45e8eb6dd3d26097ac593007546 Mon Sep 17 00:00:00 2001 From: Ivan <8611739+IRBorisov@users.noreply.github.com> Date: Fri, 31 Oct 2025 12:00:43 +0300 Subject: [PATCH] B: Fix reset handler --- .../editor-rsexpression/editor-rsexpression.tsx | 10 ++++++---- rsconcept/frontend/src/hooks/use-reset-on-change.ts | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsexpression/editor-rsexpression.tsx b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsexpression/editor-rsexpression.tsx index 821d9410..81deb109 100644 --- a/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsexpression/editor-rsexpression.tsx +++ b/rsconcept/frontend/src/features/rsform/pages/rsform-page/editor-rsexpression/editor-rsexpression.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useRef, useState } from 'react'; +import { useCallback, useRef, useState } from 'react'; import { toast } from 'react-toastify'; import { type ReactCodeMirrorRef } from '@uiw/react-codemirror'; @@ -71,10 +71,12 @@ export function EditorRSExpression({ const { checkConstituenta: checkInternal, isPending } = useCheckConstituenta(); - useResetOnChange([activeCst, toggleReset], () => { + const resetHandler = useCallback(() => { setIsModified(false); setParseData(null); - }); + }, []); + + useResetOnChange([activeCst, toggleReset], resetHandler); function checkConstituenta( expression: string, @@ -195,7 +197,7 @@ export function EditorRSExpression({ minHeight='3.75rem' maxHeight='8rem' onChange={handleChange} - onAnalyze={handleCheckExpression} + onAnalyze={() => handleCheckExpression()} onOpenEdit={onOpenEdit} disabled={disabled} {...restProps} diff --git a/rsconcept/frontend/src/hooks/use-reset-on-change.ts b/rsconcept/frontend/src/hooks/use-reset-on-change.ts index bc5b6198..517ae1a0 100644 --- a/rsconcept/frontend/src/hooks/use-reset-on-change.ts +++ b/rsconcept/frontend/src/hooks/use-reset-on-change.ts @@ -2,6 +2,7 @@ import { useEffect, useMemo } from 'react'; export function useResetOnChange(deps: T[], resetFn: () => void) { const depsKey = useMemo(() => JSON.stringify(deps), [deps]); + useEffect(() => { resetFn(); }, [depsKey, resetFn]);