From cd88b3fabdb0d66eb1f3c2cb9d93a83ee2516bed Mon Sep 17 00:00:00 2001 From: Ivan <8611739+IRBorisov@users.noreply.github.com> Date: Wed, 6 Aug 2025 19:56:32 +0300 Subject: [PATCH] D: Add sidebar help documentation --- .../features/help/components/badge-help.tsx | 15 +++- .../features/help/items/ui/help-oss-graph.tsx | 2 +- .../help/items/ui/help-oss-sidebar.tsx | 71 +++++++++++++++++++ .../frontend/src/features/help/labels.ts | 4 +- .../src/features/help/models/help-topic.ts | 2 + .../help/pages/manuals-page/topic-page.tsx | 2 + .../side-panel/toolbar-schema.tsx | 4 ++ 7 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 rsconcept/frontend/src/features/help/items/ui/help-oss-sidebar.tsx diff --git a/rsconcept/frontend/src/features/help/components/badge-help.tsx b/rsconcept/frontend/src/features/help/components/badge-help.tsx index 1adc56eb..977aa814 100644 --- a/rsconcept/frontend/src/features/help/components/badge-help.tsx +++ b/rsconcept/frontend/src/features/help/components/badge-help.tsx @@ -26,6 +26,9 @@ interface BadgeHelpProps extends Styling { /** Classname for padding. */ padding?: string; + /** Size class for the tooltip. */ + size?: string; + /** Place of the tooltip in relation to the cursor. */ place?: PlacesType; @@ -36,7 +39,15 @@ interface BadgeHelpProps extends Styling { /** * Display help icon with a manual page tooltip. */ -export function BadgeHelp({ topic, padding = 'p-1', className, contentClass, style, ...restProps }: BadgeHelpProps) { +export function BadgeHelp({ + topic, + padding = 'p-1', + size = '1.25rem', + className, + contentClass, + style, + ...restProps +}: BadgeHelpProps) { const showHelp = usePreferencesStore(state => state.showHelp); if (!showHelp) { @@ -44,7 +55,7 @@ export function BadgeHelp({ topic, padding = 'p-1', className, contentClass, sty } return (
- + -

Граф синтеза

+

Операционная схема

Настройка графа

diff --git a/rsconcept/frontend/src/features/help/items/ui/help-oss-sidebar.tsx b/rsconcept/frontend/src/features/help/items/ui/help-oss-sidebar.tsx new file mode 100644 index 00000000..cdb7bc06 --- /dev/null +++ b/rsconcept/frontend/src/features/help/items/ui/help-oss-sidebar.tsx @@ -0,0 +1,71 @@ +import { + IconClone, + IconDestroy, + IconEdit2, + IconGenerateNames, + IconLeftOpen, + IconMoveDown, + IconMoveUp, + IconNewItem, + IconRSForm, + IconSortList, + IconTree, + IconTypeGraph +} from '@/components/icons'; + +import { LinkTopic } from '../../components/link-topic'; +import { HelpTopic } from '../../models/help-topic'; + +export function HelpOssSidebar() { + return ( +
+

Боковая панель

+

+ + {'\u2009'} Боковая панель операционной схемы позволяет оперативно редактировать содержание{' '} + , не переходя к ней напрямую. +

+

+ Верхняя часть панели позволяет фильтровать список конституент аналогично{' '} + . +

+
    +
  • + меню редактирования концептуальной схемы +
  • +
  • + упорядочить конституенты +
  • +
  • + перенумеровать +
  • +
  • + редактировать конституенты +
  • +
  • + новая конституента +
  • +
  • + клонировать конституенту +
  • +
  • + удалить конституенты +
  • +
  • + + перемещение вверх/вниз +
  • +
  • + + {'\u2009'} + +
  • +
  • + + {'\u2009'} + +
  • +
+
+ ); +} diff --git a/rsconcept/frontend/src/features/help/labels.ts b/rsconcept/frontend/src/features/help/labels.ts index 7ab4288f..f4ecc4b7 100644 --- a/rsconcept/frontend/src/features/help/labels.ts +++ b/rsconcept/frontend/src/features/help/labels.ts @@ -16,7 +16,8 @@ const labelHelpTopicRecord: Record = { [HelpTopic.UI_TYPE_GRAPH]: 'Граф ступеней', [HelpTopic.UI_CST_STATUS]: 'Статус конституенты', [HelpTopic.UI_CST_CLASS]: 'Класс конституенты', - [HelpTopic.UI_OSS_GRAPH]: 'Граф синтеза', + [HelpTopic.UI_OSS_GRAPH]: 'Операционная схема', + [HelpTopic.UI_OSS_SIDEBAR]: 'Боковая панель', [HelpTopic.UI_SUBSTITUTIONS]: 'Отождествления', [HelpTopic.UI_RELOCATE_CST]: 'Перенос конституент', @@ -67,6 +68,7 @@ const describeHelpTopicRecord: Record = { [HelpTopic.UI_CST_STATUS]: 'нотация статуса конституенты', [HelpTopic.UI_CST_CLASS]: 'нотация класса конституенты', [HelpTopic.UI_OSS_GRAPH]: 'графическая форма
операционной схемы синтеза', + [HelpTopic.UI_OSS_SIDEBAR]: 'боковая панель для редактирования содержания выбранной операции', [HelpTopic.UI_SUBSTITUTIONS]: 'таблица отождествлений конституент', [HelpTopic.UI_RELOCATE_CST]: 'перенос конституент
в рамках ОСС', diff --git a/rsconcept/frontend/src/features/help/models/help-topic.ts b/rsconcept/frontend/src/features/help/models/help-topic.ts index 48f0caca..d16ace94 100644 --- a/rsconcept/frontend/src/features/help/models/help-topic.ts +++ b/rsconcept/frontend/src/features/help/models/help-topic.ts @@ -18,6 +18,7 @@ export const HelpTopic = { UI_CST_STATUS: 'ui-rsform-cst-status', UI_CST_CLASS: 'ui-rsform-cst-class', UI_OSS_GRAPH: 'ui-oss-graph', + UI_OSS_SIDEBAR: 'ui-oss-sidebar', UI_SUBSTITUTIONS: 'ui-substitutions', UI_RELOCATE_CST: 'ui-relocate-cst', @@ -73,6 +74,7 @@ export const topicParent = new Map([ [HelpTopic.UI_CST_STATUS, HelpTopic.INTERFACE], [HelpTopic.UI_CST_CLASS, HelpTopic.INTERFACE], [HelpTopic.UI_OSS_GRAPH, HelpTopic.INTERFACE], + [HelpTopic.UI_OSS_SIDEBAR, HelpTopic.INTERFACE], [HelpTopic.UI_SUBSTITUTIONS, HelpTopic.INTERFACE], [HelpTopic.UI_RELOCATE_CST, HelpTopic.INTERFACE], diff --git a/rsconcept/frontend/src/features/help/pages/manuals-page/topic-page.tsx b/rsconcept/frontend/src/features/help/pages/manuals-page/topic-page.tsx index 83cc3aee..7a1c1c4d 100644 --- a/rsconcept/frontend/src/features/help/pages/manuals-page/topic-page.tsx +++ b/rsconcept/frontend/src/features/help/pages/manuals-page/topic-page.tsx @@ -32,6 +32,7 @@ import { HelpCstStatus } from '../../items/ui/help-cst-status'; import { HelpFormulaTree } from '../../items/ui/help-formula-tree'; import { HelpLibrary } from '../../items/ui/help-library'; import { HelpOssGraph } from '../../items/ui/help-oss-graph'; +import { HelpOssSidebar } from '../../items/ui/help-oss-sidebar'; import { HelpRelocateCst } from '../../items/ui/help-relocate-cst'; import { HelpRSCard } from '../../items/ui/help-rscard'; import { HelpRSEditor } from '../../items/ui/help-rseditor'; @@ -71,6 +72,7 @@ export function TopicPage({ topic }: TopicPageProps) { if (topic === HelpTopic.UI_CST_STATUS) return ; if (topic === HelpTopic.UI_CST_CLASS) return ; if (topic === HelpTopic.UI_OSS_GRAPH) return ; + if (topic === HelpTopic.UI_OSS_SIDEBAR) return ; if (topic === HelpTopic.UI_SUBSTITUTIONS) return ; if (topic === HelpTopic.UI_RELOCATE_CST) return ; diff --git a/rsconcept/frontend/src/features/oss/pages/oss-page/editor-oss-graph/side-panel/toolbar-schema.tsx b/rsconcept/frontend/src/features/oss/pages/oss-page/editor-oss-graph/side-panel/toolbar-schema.tsx index 26b78b1e..d0ef9669 100644 --- a/rsconcept/frontend/src/features/oss/pages/oss-page/editor-oss-graph/side-panel/toolbar-schema.tsx +++ b/rsconcept/frontend/src/features/oss/pages/oss-page/editor-oss-graph/side-panel/toolbar-schema.tsx @@ -1,6 +1,8 @@ 'use client'; import { urls, useConceptNavigation } from '@/app'; +import { HelpTopic } from '@/features/help'; +import { BadgeHelp } from '@/features/help/components/badge-help'; import { type IConstituenta, type IRSForm } from '@/features/rsform'; import { CstType, type IConstituentaBasicsDTO, type ICreateConstituentaDTO } from '@/features/rsform/backend/types'; import { useCreateConstituenta } from '@/features/rsform/backend/use-create-constituenta'; @@ -284,6 +286,8 @@ export function ToolbarSchema({ title='Граф ступеней' onClick={handleShowTypeGraph} /> + +
); }