From b8fe9953a94ce97057803a6f4aed70ab6eb3428c Mon Sep 17 00:00:00 2001
From: IRBorisov <8611739+IRBorisov@users.noreply.github.com>
Date: Wed, 2 Aug 2023 21:35:24 +0300
Subject: [PATCH] Implement search setup for EditConsituenta
---
.../pages/RSFormPage/EditorConstituenta.tsx | 37 ++++++++++-
.../pages/RSFormPage/EditorRSExpression.tsx | 7 +-
.../src/pages/RSFormPage/RSTabsMenu.tsx | 1 -
.../elements/DependencyModePicker.tsx | 66 +++++++++++++++++++
.../RSFormPage/elements/MatchModePicker.tsx | 55 ++++++++++++++++
.../elements/ViewSideConstituents.tsx | 48 +++++++-------
rsconcept/frontend/src/utils/models.ts | 66 +++++++++++++++----
rsconcept/frontend/src/utils/staticUI.ts | 23 ++++++-
8 files changed, 259 insertions(+), 44 deletions(-)
create mode 100644 rsconcept/frontend/src/pages/RSFormPage/elements/DependencyModePicker.tsx
create mode 100644 rsconcept/frontend/src/pages/RSFormPage/elements/MatchModePicker.tsx
diff --git a/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta.tsx b/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta.tsx
index 912d056a..01127c7d 100644
--- a/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta.tsx
+++ b/rsconcept/frontend/src/pages/RSFormPage/EditorConstituenta.tsx
@@ -1,13 +1,15 @@
import { useLayoutEffect, useMemo, useState } from 'react';
import { toast } from 'react-toastify';
+import ConceptTooltip from '../../components/Common/ConceptTooltip';
+import Divider from '../../components/Common/Divider';
import MiniButton from '../../components/Common/MiniButton';
import SubmitButton from '../../components/Common/SubmitButton';
import TextArea from '../../components/Common/TextArea';
-import { DumpBinIcon, SaveIcon, SmallPlusIcon } from '../../components/Icons';
+import { DumpBinIcon, HelpIcon, SaveIcon, SmallPlusIcon } from '../../components/Icons';
import { useRSForm } from '../../context/RSFormContext';
import { type CstType, EditMode, ICstUpdateData, SyntaxTree } from '../../utils/models';
-import { getCstTypeLabel } from '../../utils/staticUI';
+import { getCstTypeLabel, mapStatusInfo } from '../../utils/staticUI';
import EditorRSExpression from './EditorRSExpression';
import ViewSideConstituents from './elements/ViewSideConstituents';
@@ -150,6 +152,36 @@ function EditorConstituenta({ activeID, onShowAST, onCreateCst, onOpenEdit, onDe
onClick={handleDelete}
icon={
Изменения сохраняются ПОСЛЕ нажатия на кнопку снизу или слева вверху
+Клик на формальное выражение - обратите внимание на кнопки снизу.
Для каждой есть горячая клавиша в подсказке
Список конституент справа - обратите внимание на настройки фильтрации
+- слева от ввода текста настраивается набор атрибутов конституенты
+- справа от ввода текста настраивается список конституент, которые фильтруются
+- текущая конституента выделена цветом строки
+- двойнок клин / Alt + клик - выбор редактируемой конституенты
+- при наведении на ID конституенты отображаются ее атрибуты
+- столбец "Описание" содержит один из непустых текстовых атрибутов
++ + {info.text} + + - + + {info.tooltip} + +
); + })} +вся схема: список всех конституент схемы
+выражение: список идентификаторов из выражения
+потребители: конституенты, ссылающиеся на данную
+поставщики: конституенты, на которые ссылается данная
+зависимые: конституенты, зависящие по цепочке
+влияющие: конституенты, влияющие на данную (цепочка)
+везде: искать во всех атрибутах
+ФВ: искать в формальных выражениях
+термин: искать в терминах
+текст: искать в определениях и конвенциях
+ID: искать в идентификаторах конституент
+