mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-11-15 17:21:38 +03:00
B: Fix reset handler
This commit is contained in:
parent
58404b57ee
commit
4f8174c451
|
|
@ -1,6 +1,6 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { useRef, useState } from 'react';
|
import { useCallback, useRef, useState } from 'react';
|
||||||
import { toast } from 'react-toastify';
|
import { toast } from 'react-toastify';
|
||||||
import { type ReactCodeMirrorRef } from '@uiw/react-codemirror';
|
import { type ReactCodeMirrorRef } from '@uiw/react-codemirror';
|
||||||
|
|
||||||
|
|
@ -71,10 +71,12 @@ export function EditorRSExpression({
|
||||||
|
|
||||||
const { checkConstituenta: checkInternal, isPending } = useCheckConstituenta();
|
const { checkConstituenta: checkInternal, isPending } = useCheckConstituenta();
|
||||||
|
|
||||||
useResetOnChange([activeCst, toggleReset], () => {
|
const resetHandler = useCallback(() => {
|
||||||
setIsModified(false);
|
setIsModified(false);
|
||||||
setParseData(null);
|
setParseData(null);
|
||||||
});
|
}, []);
|
||||||
|
|
||||||
|
useResetOnChange([activeCst, toggleReset], resetHandler);
|
||||||
|
|
||||||
function checkConstituenta(
|
function checkConstituenta(
|
||||||
expression: string,
|
expression: string,
|
||||||
|
|
@ -185,7 +187,7 @@ export function EditorRSExpression({
|
||||||
isModified={isModified}
|
isModified={isModified}
|
||||||
activeCst={activeCst}
|
activeCst={activeCst}
|
||||||
parseData={parseData}
|
parseData={parseData}
|
||||||
onAnalyze={() => handleCheckExpression()}
|
onAnalyze={handleCheckExpression}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<RSInput
|
<RSInput
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ interface StatusBarProps {
|
||||||
|
|
||||||
export function StatusBar({ className, isModified, processing, activeCst, parseData, onAnalyze }: StatusBarProps) {
|
export function StatusBar({ className, isModified, processing, activeCst, parseData, onAnalyze }: StatusBarProps) {
|
||||||
const status = (() => {
|
const status = (() => {
|
||||||
|
console.log(isModified, !activeCst.parse);
|
||||||
if (isModified || !activeCst.parse) {
|
if (isModified || !activeCst.parse) {
|
||||||
return ExpressionStatus.UNKNOWN;
|
return ExpressionStatus.UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ import { useEffect, useMemo } from 'react';
|
||||||
|
|
||||||
export function useResetOnChange<T>(deps: T[], resetFn: () => void) {
|
export function useResetOnChange<T>(deps: T[], resetFn: () => void) {
|
||||||
const depsKey = useMemo(() => JSON.stringify(deps), [deps]);
|
const depsKey = useMemo(() => JSON.stringify(deps), [deps]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
resetFn();
|
resetFn();
|
||||||
}, [depsKey, resetFn]);
|
}, [depsKey, resetFn]);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user