diff --git a/rsconcept/frontend/src/pages/ManualsPage/items/ui/HelpRSEditor.tsx b/rsconcept/frontend/src/pages/ManualsPage/items/ui/HelpRSEditor.tsx
index c550639d..992fcd3d 100644
--- a/rsconcept/frontend/src/pages/ManualsPage/items/ui/HelpRSEditor.tsx
+++ b/rsconcept/frontend/src/pages/ManualsPage/items/ui/HelpRSEditor.tsx
@@ -15,7 +15,8 @@ import {
IconSave,
IconSettings,
IconStatusOK,
- IconTree
+ IconTree,
+ IconTypeGraph
} from '@/components/Icons';
import LinkTopic from '@/components/ui/LinkTopic';
import { useConceptOptions } from '@/context/ConceptOptionsContext';
@@ -90,6 +91,10 @@ function HelpRSEditor() {
специальная клавиатура и горячие клавиши
+
+ отображение{' '}
+
+
отображение{' '}
diff --git a/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx b/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx
index 99075073..01b47562 100644
--- a/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx
+++ b/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta/FormConstituenta.tsx
@@ -144,7 +144,7 @@ function FormConstituenta({
cstUpdate(data, () => toast.success(information.changesSaved));
}
- function handleTypificationClick(event: CProps.EventMouse) {
+ function handleTypeGraph(event: CProps.EventMouse) {
if (!state || (localParse && !localParse.parseResult) || state.parse.status !== ParsingStatus.VERIFIED) {
toast.error(errors.typeStructureFailed);
return;
@@ -196,10 +196,8 @@ function FormConstituenta({
noOutline
readOnly
label='Типизация'
- title='Отобразить структуру типизации'
value={typification}
- colors='clr-app clr-text-default cursor-pointer'
- onClick={event => handleTypificationClick(event)}
+ colors='clr-app clr-text-default cursor-default'
/>
) : null}
{state ? (
@@ -229,6 +227,7 @@ function FormConstituenta({
onChangeTypification={setTypification}
onChangeLocalParse={setLocalParse}
onOpenEdit={onOpenEdit}
+ onShowTypeGraph={handleTypeGraph}
/>
diff --git a/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx b/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx
index 476ca9a4..1d225353 100644
--- a/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx
+++ b/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx
@@ -43,6 +43,7 @@ interface EditorRSExpressionProps {
onChangeLocalParse: (typification: IExpressionParse | undefined) => void;
onChangeExpression: (newValue: string) => void;
onOpenEdit?: (cstID: ConstituentaID) => void;
+ onShowTypeGraph: (event: CProps.EventMouse) => void;
}
function EditorRSExpression({
@@ -54,6 +55,7 @@ function EditorRSExpression({
onChangeLocalParse,
onChangeExpression,
onOpenEdit,
+ onShowTypeGraph,
...restProps
}: EditorRSExpressionProps) {
const model = useRSForm();
@@ -171,6 +173,7 @@ function EditorRSExpression({
showControls={showControls}
showAST={handleShowAST}
toggleControls={() => setShowControls(prev => !prev)}
+ showTypeGraph={onShowTypeGraph}
/>
void;
showAST: (event: CProps.EventMouse) => void;
+ showTypeGraph: (event: CProps.EventMouse) => void;
}
-function ToolbarRSExpression({ disabled, showControls, toggleControls, showAST }: ToolbarRSExpressionProps) {
+function ToolbarRSExpression({
+ disabled,
+ showControls,
+ showTypeGraph,
+ toggleControls,
+ showAST
+}: ToolbarRSExpressionProps) {
const model = useRSForm();
return (
@@ -24,6 +31,11 @@ function ToolbarRSExpression({ disabled, showControls, toggleControls, showAST }
onClick={toggleControls}
/>
) : null}
+ }
+ title='Граф ступеней типизации'
+ onClick={showTypeGraph}
+ />