From 55e09d856ff4e4c5dac5f4ecf3103029860148e2 Mon Sep 17 00:00:00 2001
From: Ivan <8611739+IRBorisov@users.noreply.github.com>
Date: Wed, 28 Aug 2024 23:02:48 +0300
Subject: [PATCH] B: Fix tooltip clipping after cst==null
---
.../EditorConstituenta/FormConstituenta.tsx | 190 +++++++++---------
.../EditorRSExpression/EditorRSExpression.tsx | 15 +-
.../EditorRSExpression/StatusBar.tsx | 8 +-
3 files changed, 106 insertions(+), 107 deletions(-)
diff --git a/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx b/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx
index 47a47394..f21e0baf 100644
--- a/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx
+++ b/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx
@@ -171,101 +171,103 @@ function FormConstituenta({
colors='clr-app clr-text-default'
/>
) : null}
-
-
- setExpression(newValue)}
- setTypification={setTypification}
- onOpenEdit={onOpenEdit}
- />
-
-
- setTextDefinition(newValue)}
- />
-
-
-
-
-
-
-
- {!disabled || processing ? (
-
-
}
+ {state ? (
+
+
+ setExpression(newValue)}
+ setTypification={setTypification}
+ onOpenEdit={onOpenEdit}
/>
-
- {state?.is_inherited_parent ? (
- }
- disabled
- titleHtml='Внимание! Конституента имеет потомков
в операционной схеме синтеза'
- />
- ) : null}
- {state?.is_inherited ? (
- }
- disabled
- titleHtml='Внимание! Конституента является наследником
'
- />
- ) : null}
-
-
- ) : null}
-
+
+
+ setTextDefinition(newValue)}
+ />
+
+
+
+
+
+
+
+ {!disabled || processing ? (
+
+ }
+ />
+
+ {state.is_inherited_parent ? (
+ }
+ disabled
+ titleHtml='Внимание! Конституента имеет потомков
в операционной схеме синтеза'
+ />
+ ) : null}
+ {state.is_inherited ? (
+ }
+ disabled
+ titleHtml='Внимание! Конституента является наследником
'
+ />
+ ) : null}
+
+
+ ) : null}
+
+ ) : null}
);
diff --git a/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx b/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx
index afcc6706..66d828c0 100644
--- a/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx
+++ b/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx
@@ -28,7 +28,7 @@ import ToolbarRSExpression from './ToolbarRSExpression';
interface EditorRSExpressionProps {
id?: string;
- activeCst?: IConstituenta;
+ activeCst: IConstituenta;
value: string;
label: string;
placeholder?: string;
@@ -70,13 +70,10 @@ function EditorRSExpression({
function handleChange(newValue: string) {
onChange(newValue);
- setIsModified(newValue !== activeCst?.definition_formal);
+ setIsModified(newValue !== activeCst.definition_formal);
}
function handleCheckExpression(callback?: (parse: IExpressionParse) => void) {
- if (!activeCst) {
- return;
- }
const prefix = getDefinitionPrefix(activeCst);
const expression = prefix + value;
parser.checkExpression(expression, activeCst, parse => {
@@ -99,7 +96,7 @@ function EditorRSExpression({
const onShowError = useCallback(
(error: IRSErrorDescription) => {
- if (!activeCst || !rsInput.current) {
+ if (!rsInput.current) {
return;
}
const prefix = getDefinitionPrefix(activeCst);
@@ -136,7 +133,7 @@ function EditorRSExpression({
toast.error(errors.astFailed);
} else {
setSyntaxTree(parse.ast);
- setExpression(getDefinitionPrefix(activeCst!) + value);
+ setExpression(getDefinitionPrefix(activeCst) + value);
setShowAST(true);
}
});
@@ -145,7 +142,7 @@ function EditorRSExpression({
const controls = useMemo(
() => (
@@ -172,7 +169,7 @@ function EditorRSExpression({
handleCheckExpression()}
/>
diff --git a/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/StatusBar.tsx b/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/StatusBar.tsx
index c46d1345..4bbacfcb 100644
--- a/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/StatusBar.tsx
+++ b/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/StatusBar.tsx
@@ -19,11 +19,11 @@ interface StatusBarProps {
processing?: boolean;
isModified?: boolean;
parseData?: IExpressionParse;
- constituenta?: IConstituenta;
+ activeCst: IConstituenta;
onAnalyze: () => void;
}
-function StatusBar({ isModified, processing, constituenta, parseData, onAnalyze }: StatusBarProps) {
+function StatusBar({ isModified, processing, activeCst, parseData, onAnalyze }: StatusBarProps) {
const { colors } = useConceptOptions();
const status = useMemo(() => {
if (isModified) {
@@ -33,8 +33,8 @@ function StatusBar({ isModified, processing, constituenta, parseData, onAnalyze
const parse = parseData.parseResult ? ParsingStatus.VERIFIED : ParsingStatus.INCORRECT;
return inferStatus(parse, parseData.valueClass);
}
- return inferStatus(constituenta?.parse?.status, constituenta?.parse?.valueClass);
- }, [isModified, constituenta, parseData]);
+ return inferStatus(activeCst.parse.status, activeCst.parse.valueClass);
+ }, [isModified, activeCst, parseData]);
return (