From 4f8174c4511ced480078e9640a0d09dfc6024c78 Mon Sep 17 00:00:00 2001 From: Ivan <8611739+IRBorisov@users.noreply.github.com> Date: Fri, 31 Oct 2025 12:02:11 +0300 Subject: [PATCH] B: Fix reset handler --- .../editor-rsexpression/editor-rsexpression.tsx | 10 ++++++---- .../rsform-page/editor-rsexpression/status-bar.tsx | 1 + rsconcept/frontend/src/hooks/use-reset-on-change.ts | 1 + 3 files changed, 8 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..7ce1f41b 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, @@ -185,7 +187,7 @@ export function EditorRSExpression({ isModified={isModified} activeCst={activeCst} parseData={parseData} - onAnalyze={() => handleCheckExpression()} + onAnalyze={handleCheckExpression} /> { + console.log(isModified, !activeCst.parse); if (isModified || !activeCst.parse) { return ExpressionStatus.UNKNOWN; } 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]);