mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-08-14 04:40:36 +03:00
F: Improve Manuals and Help UI
This commit is contained in:
parent
ba6cc05e13
commit
a0a4317d71
|
@ -83,7 +83,7 @@ export { TbGps as IconCoordinates } from 'react-icons/tb';
|
|||
export { IoLibrary as IconLibrary2 } from 'react-icons/io5';
|
||||
export { BiDiamond as IconTemplates } from 'react-icons/bi';
|
||||
export { TbHexagons as IconOSS } from 'react-icons/tb';
|
||||
export { BiScreenshot as IconConceptBlock } from 'react-icons/bi';
|
||||
export { MdOutlineSelectAll as IconConceptBlock } from 'react-icons/md';
|
||||
export { TbHexagon as IconRSForm } from 'react-icons/tb';
|
||||
export { TbAssembly as IconRSFormOwned } from 'react-icons/tb';
|
||||
export { TbBallFootball as IconRSFormImported } from 'react-icons/tb';
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
import { Suspense, useState } from 'react';
|
||||
|
||||
import { HelpTopic } from '@/features/help';
|
||||
|
||||
import { ComboBox } from '@/components/input/combo-box';
|
||||
import { Loader } from '@/components/loader';
|
||||
import { ModalView } from '@/components/modal';
|
||||
|
@ -14,7 +16,11 @@ export function DlgAIPromptDialog() {
|
|||
const { items: prompts } = useAvailableTemplatesSuspense();
|
||||
|
||||
return (
|
||||
<ModalView header='Генератор запросом LLM' className='w-100 sm:w-160 px-6 flex flex-col h-120'>
|
||||
<ModalView
|
||||
header='Генератор запросом LLM'
|
||||
className='w-100 sm:w-160 px-6 flex flex-col h-120'
|
||||
helpTopic={HelpTopic.ASSISTANT}
|
||||
>
|
||||
<ComboBox
|
||||
id='prompt-select'
|
||||
items={prompts}
|
||||
|
|
|
@ -2,6 +2,7 @@ import { Controller, useForm, useWatch } from 'react-hook-form';
|
|||
import { zodResolver } from '@hookform/resolvers/zod';
|
||||
|
||||
import { useAuthSuspense } from '@/features/auth';
|
||||
import { HelpTopic } from '@/features/help';
|
||||
|
||||
import { Checkbox, TextArea, TextInput } from '@/components/input';
|
||||
import { ModalForm } from '@/components/modal';
|
||||
|
@ -52,6 +53,7 @@ export function DlgCreatePromptTemplate() {
|
|||
onSubmit={event => void handleSubmit(onSubmit)(event)}
|
||||
submitInvalidTooltip='Введите уникальное название шаблона'
|
||||
className='cc-column w-140 max-h-120 py-2 px-6'
|
||||
helpTopic={HelpTopic.ASSISTANT}
|
||||
>
|
||||
<TextInput id='dlg_prompt_label' {...register('label')} label='Название шаблона' error={errors.label} />
|
||||
<TextArea id='dlg_prompt_description' {...register('description')} label='Описание' error={errors.description} />
|
||||
|
|
|
@ -137,6 +137,7 @@ export function FormPromptTemplate({ promptTemplate, className, isMutable, toggl
|
|||
title='Сгенерировать пример запроса'
|
||||
icon={<IconSample size='1.25rem' className='icon-primary' />}
|
||||
onClick={() => setSampleResult(!!sampleResult ? null : generateSample(text))}
|
||||
disabled={!text}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
import { Suspense } from 'react';
|
||||
|
||||
import { urls, useConceptNavigation } from '@/app';
|
||||
import { HelpTopic } from '@/features/help';
|
||||
import { BadgeHelp } from '@/features/help/components/badge-help';
|
||||
|
||||
import { Loader } from '@/components/loader';
|
||||
import { TabLabel, TabList, TabPanel, Tabs } from '@/components/tabs';
|
||||
|
@ -59,6 +61,9 @@ export function TemplatesTabs({ activeID, tab }: TemplatesTabsProps) {
|
|||
<TabLabel label='Список' />
|
||||
<TabLabel label='Шаблон' />
|
||||
<TabLabel label='Переменные' />
|
||||
<div className='flex px-1'>
|
||||
<BadgeHelp topic={HelpTopic.ASSISTANT} offset={5} />
|
||||
</div>
|
||||
</TabList>
|
||||
<div className='overflow-x-hidden'>
|
||||
<TabPanel>
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
export function HelpConceptStructuring() {
|
||||
return (
|
||||
<div className='text-justify'>
|
||||
<h1>Структурирование предметной области</h1>
|
||||
<p>Структурирование производится путем выделения подобластей предметной области, - концептуальных блоков.</p>
|
||||
<p>Блоки могут быть вложены друг в друга иерархически.</p>
|
||||
<p>Концептуальная схема может быть отнесена только к одному блоку в рамках рассматриваемой предметной области.</p>
|
||||
</div>
|
||||
);
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
export function HelpAssistant() {
|
||||
return (
|
||||
<div className='text-justify'>
|
||||
<h1>ИИ помощник</h1>
|
||||
<p>
|
||||
ИИ помощник предназначен для работы с предметной областью и концептуальными схемами с помощью генеративных LLM
|
||||
чат-ботов. Пользователи могут создавать шаблоны запросов, используя встроенные переменные{' '}
|
||||
{`{{название-переменной}}`} или выбрав из списка доступных шаблонов.
|
||||
</p>
|
||||
<p>
|
||||
При применении шаблона формируется запрос для LLM, в котором все переменные заменены на соответствующие значения
|
||||
из текущего контекста Портала.
|
||||
</p>
|
||||
<p>
|
||||
Функционал находится в режиме тестовой эксплуатации. Подключение чат-бота напрямую не поддерживается. Полученный
|
||||
запрос предполагается отправлять во внешний LLM чат вручную.
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
}
|
|
@ -36,9 +36,9 @@ export function HelpThesaurus() {
|
|||
<h1>Тезаурус</h1>
|
||||
<p>
|
||||
Данный раздел содержит основные термины и определения, используемые в работе с Порталом. Термины сгруппированы
|
||||
по ключевым сущностям. Более подробно описание отношений между терминами даются в отдельных разделах данной
|
||||
Справки через гиперссылки. Также указываются графические обозначения (иконки, цвета), используемые для
|
||||
обозначения соответствующих сущностей в интерфейсе Портала.
|
||||
по ключевым сущностям. Дополнительные сведения о связях между терминами представлены в других разделах справки и
|
||||
доступны через гиперссылки. Также указаны графические обозначения (иконки, цвета), используемые для визуальной
|
||||
идентификации соответствующих сущностей.
|
||||
</p>
|
||||
|
||||
<h2>Концептуальная схема</h2>
|
||||
|
@ -46,14 +46,14 @@ export function HelpThesaurus() {
|
|||
<IconRSForm size='1rem' className='inline-icon' />
|
||||
{'\u2009'}
|
||||
<LinkTopic text='Концептуальная схема' topic={HelpTopic.CC_SYSTEM} /> (<i>система определений, КС</i>) –
|
||||
совокупность отдельных понятий и утверждений, а также связей между ними, задаваемых определениями.
|
||||
совокупность понятий и утверждений, а также связей между ними, задаваемых определениями.
|
||||
</p>
|
||||
<p>
|
||||
Экспликация КС – изложение (процесс и результат) концептуальной схемы с помощью заданного языка описания –
|
||||
набора формальных конструкций и правил построения определений.
|
||||
Экспликация КС – изложение концептуальной схемы с использованием заданного языка описания (набор синтаксических
|
||||
конструкций и правил построения определений).
|
||||
</p>
|
||||
<p>
|
||||
Родоструктурная экспликация КС – экспликация КС с помощью{' '}
|
||||
Родоструктурная экспликация КС – экспликация КС с использованием{' '}
|
||||
<LinkTopic text='аппарата родов структур' topic={HelpTopic.RSLANG} />.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -62,186 +62,179 @@ export function HelpThesaurus() {
|
|||
</p>
|
||||
|
||||
<p>
|
||||
Ядро концептуальной схемы – совокупность базовых понятий, аксиом и промежуточных производных понятий,
|
||||
необходимых для формирования выражений аксиом. Остальные конституенты относят к Телу концептуальной схемы.
|
||||
Ядро КС – базовые понятия, аксиомы и производные понятия, необходимые для формулировки аксиом. Остальные
|
||||
конституенты образуют Тело КС.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
По <b>отношению к операциям ОСС</b> выделены:
|
||||
Типы КС относительно операций ОСС:
|
||||
<li>
|
||||
<IconRSForm size='1rem' className='inline-icon' />
|
||||
{'\u2009'}свободная КС – КС не прикрепленная ни к одной операции в ОСС;
|
||||
{'\u2009'}Свободная КС – не связана с операцией в ОСС.
|
||||
</li>
|
||||
<li>
|
||||
<IconRSFormOwned size='1rem' className='inline-icon' />
|
||||
{'\u2009'}собственная КС данной ОСС – КС, прикрепленная к операции в ОСС, чьи владелец и расположение
|
||||
совпадают с соответствующими атрибутами ОСС.
|
||||
{'\u2009'}Собственная КС данной ОСС – прикреплена к операции, совпадающей по владельцу и расположению с данной
|
||||
ОСС.
|
||||
</li>
|
||||
<li>
|
||||
<IconRSFormImported size='1rem' className='inline-icon' />
|
||||
{'\u2009'}внешняя КС данной ОСС – КС, прикрепленная к операции в ОСС, чьи владелец или расположение не
|
||||
совпадают с соответствующими атрибутами ОСС;
|
||||
{'\u2009'}Внешняя КС данной ОСС – прикреплена к операции, владельцы или расположение которой отличаются от
|
||||
соответствующих атрибутов ОСС.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>Конституента</h2>
|
||||
<p>
|
||||
Конституента – выделенная часть КС, являющаяся отдельным понятием, схемой построения понятия, либо утверждением,
|
||||
Конституента – часть КС, являющаяся отдельным понятием, схемой построения понятия, либо утверждением,
|
||||
связывающим введенные понятия. <LinkTopic text='Аттрибутами конституенты' topic={HelpTopic.CC_CONSTITUENTA} /> в
|
||||
родоструктурной экспликации являются Термин, Конвенция, Типизация (Структура), Формальное определение, Текстовое
|
||||
определение, Комментарий.
|
||||
</p>
|
||||
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
По <b>характеру формального определения в рамках КС</b> выделены классы:
|
||||
<b>Классификация по характеру формального определения</b>
|
||||
<li>
|
||||
базовое понятие (<i>неопределяемое понятие</i>) не имеет определения и задано конвенцией и аксиомами;
|
||||
Базовое понятие (<i>неопределяемое понятие</i>) не имеет определения и задано конвенцией и аксиомами.
|
||||
</li>
|
||||
<li>
|
||||
производное понятие (<i>выводимое понятие</i>) имеет определение.
|
||||
Производное понятие (<i>выводимое понятие</i>) имеет формальное определение.
|
||||
</li>
|
||||
<li>утверждение определяется через логическое выражение.</li>
|
||||
<li>шаблон определения содержит несвязанный параметр в определении.</li>
|
||||
<li>Утверждение задается логическим выражением.</li>
|
||||
<li>Шаблон содержит несвязанный параметр в определении.</li>
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
По <b>назначению</b> выделены типы конституент:
|
||||
<b>Типы конституент</b>
|
||||
<li>
|
||||
<IconCstBaseSet size='1rem' className='inline-icon' />
|
||||
{'\u2009'}базисное множество (X#) представляет неопределяемое понятие, представленное структурой множества,
|
||||
чьи элементы различимы и не сравнимы с элементами других базисных множеств;
|
||||
{'\u2009'}Базисное множество (X#) – неопределяемое понятие, представленное множеством различимых элементов.
|
||||
</li>
|
||||
<li>
|
||||
<IconCstConstSet size='1rem' className='inline-icon' />
|
||||
{'\u2009'}константное множество (C#) представляет неопределяемое понятие, моделируемое термом теории множеств,
|
||||
который поддерживает ряд формальных операций над его элементами;
|
||||
{'\u2009'}Константное множество (C#) – неопределяемое понятие, моделируемое термом теории множеств, который
|
||||
поддерживает ряд формальных операций над его элементами.
|
||||
</li>
|
||||
<li>
|
||||
<IconCstStructured size='1rem' className='inline-icon' />
|
||||
{'\u2009'}родовая структура (S#) представляет неопределяемое понятие, имеющее определенную структуру,
|
||||
построенную на базисных множествах и константных множеств. Содержание родовой структуры формируется{' '}
|
||||
<LinkTopic text='отношением типизации' topic={HelpTopic.RSL_TYPES} />, аксиомами и конвенцией;
|
||||
{'\u2009'}родовая структура (S#) – неопределяемое понятие, имеющее структуру, построенную на базисных
|
||||
множествах и константных множеств. Содержание родовой структуры формируется{' '}
|
||||
<LinkTopic text='отношением типизации' topic={HelpTopic.RSL_TYPES} />, аксиомами и конвенцией.
|
||||
</li>
|
||||
<li>
|
||||
<IconCstAxiom size='1rem' className='inline-icon' />
|
||||
{'\u2009'}аксиома (A#) представляет утверждение, ограничивающее неопределяемые понятия и выводимые термы.
|
||||
Интерпретация аксиомы должна быть истинна и является критерием корректности интерпретации КС в целом;
|
||||
{'\u2009'}аксиома (A#) – утверждение, ограничивающее неопределяемые понятия и выводимые термы. Интерпретация
|
||||
всех аксиом должна быть истинна, чтобы КС являлась теорией данной предметной области.
|
||||
</li>
|
||||
<li>
|
||||
<IconCstTerm size='1rem' className='inline-icon' />
|
||||
{'\u2009'}терм (D#) представляет выводимое понятие через формальное определение;
|
||||
{'\u2009'}терм (D#) – выводимое понятие.
|
||||
</li>
|
||||
<li>
|
||||
<IconCstFunction size='1rem' className='inline-icon' />
|
||||
{'\u2009'}терм-функция (F#) представляет выводимое понятие (возможно параметризованное), имеющее характер
|
||||
функционального отношения между набором аргументов и результатом;
|
||||
{'\u2009'}терм-функция (F#) – параметризованное выводимое понятие, имеющее характер функционального отношения
|
||||
между набором аргументов и результатом.
|
||||
</li>
|
||||
<li>
|
||||
<IconCstPredicate size='1rem' className='inline-icon' />
|
||||
{'\u2009'}предикат-функция (P#) представляет выводимое понятие (возможно параметризованное), имеющее характер
|
||||
логического выражения, проверяющее заданные аргументы на соответствие некоторому условию;
|
||||
{'\u2009'}предикат-функция (P#) – выводимое понятие, имеющее характер логического выражения, проверяющее
|
||||
заданные аргументы на соответствие некоторому условию.
|
||||
</li>
|
||||
<li>
|
||||
<IconCstTheorem size='1rem' className='inline-icon' />
|
||||
{'\u2009'}теорема (T#) представляет ценное для предметной утверждение, значение которого может быть как
|
||||
истинным так и ложным;
|
||||
{'\u2009'}теорема (T#) – предметно значимое утверждение, которое может быть как истинным так и ложным.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
По <b>графу термов</b> выделены:
|
||||
<b>Отношения по вхождению в определение</b>
|
||||
<li>
|
||||
<IconGraphOutputs size='1rem' className='inline-icon' />
|
||||
{'\u2009'}потребители данной конституенты – конституенты, определения которых используют данную конституенту
|
||||
{'\u2009'}Потребители – используют конституенту в своих определениях.
|
||||
</li>
|
||||
<li>
|
||||
<IconGraphInputs size='1rem' className='inline-icon' />
|
||||
{'\u2009'}поставщики данной конституенты – конституенты, имена которых используются в определении данной
|
||||
конституенты
|
||||
{'\u2009'}Поставщики – упоминаются в определении данной конституенты.
|
||||
</li>
|
||||
<li>
|
||||
<IconGraphExpand size='1rem' className='inline-icon' />
|
||||
{'\u2009'}зависимые от данной конституенты – потребители данной конституенты напрямую или по цепочке
|
||||
{'\u2009'}Зависимые – потребители, напрямую или по цепочке.
|
||||
</li>
|
||||
<li>
|
||||
<IconGraphCollapse size='1rem' className='inline-icon' />
|
||||
{'\u2009'}влияющие на данную конституенту – поставщики данной конституенты напрямую или по цепочке
|
||||
{'\u2009'}Влияющие – поставщики, напрямую или по цепочке.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
Для описания <b>тесно связанных понятий</b> введены следующие термины:
|
||||
<b>Тесно связанные понятия</b>
|
||||
<li>
|
||||
порождающее выражение – формальное определение, основанное на одной внешней конституенте и использующее только
|
||||
формальное разворачивание (не вводит нового предметного содержания);
|
||||
</li>
|
||||
<li>основа данного понятия – понятие, на котором основано порождающее выражение данной конституенты;</li>
|
||||
<li>
|
||||
порожденное понятие данным понятием – понятие, определением которого является порождающим выражением,
|
||||
основанным на данном понятии.
|
||||
Порождающее выражение – формальное определение на основе одной внешней конституенты без добавления нового
|
||||
содержания.
|
||||
</li>
|
||||
<li>Основа данного понятия – понятие, на котором построено порождающее выражение.</li>
|
||||
<li>Порожденное понятие – определяется через порождающее выражение, основанное на другом понятии.</li>
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
Для характеристики <b>корректности определения</b> введены статусы конституент:
|
||||
<b>Статусы корректности определения конституенты</b>
|
||||
<li>
|
||||
<IconStatusUnknown size='1rem' className='inline-icon' />
|
||||
{'\u2009'}не проверено – требуется проверка формального определения (промежуточный статус);
|
||||
{'\u2009'}не проверено – требуется проверка определения.
|
||||
</li>
|
||||
<li>
|
||||
<IconStatusOK size='1rem' className='inline-icon' />
|
||||
{'\u2009'}корректно – формальное определение корректно;
|
||||
{'\u2009'}корректно – определение корректно.
|
||||
</li>
|
||||
<li>
|
||||
<IconStatusError size='1rem' className='inline-icon' />
|
||||
{'\u2009'}ошибочно – ошибка в формальном определении;
|
||||
{'\u2009'}ошибочно – обнаружена ошибка.;
|
||||
</li>
|
||||
<li>
|
||||
<IconStatusProperty size='1rem' className='inline-icon' />
|
||||
{'\u2009'}неразмерное – формальное определение задает невычислимое множество, для которого возможно вычислить
|
||||
предикат проверки принадлежности;
|
||||
{'\u2009'}неразмерное – задает невычислимое множество, для которого возможна проверка принадлежности;
|
||||
</li>
|
||||
<li>
|
||||
<IconStatusIncalculable size='1rem' className='inline-icon' />
|
||||
{'\u2009'}невычислимо – формальное определение невозможно интерпретировать напрямую;
|
||||
{'\u2009'}невычислимо – определение невозможно интерпретировать напрямую;
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
Для описания <b>отождествления</b> введены:
|
||||
<li>отождествляемые конституенты – конституенты, состоящие в отождествлении;</li>
|
||||
<li>удаляемая конституента – конституента, удаляемая в ходе отождествления;</li>
|
||||
<li>
|
||||
замещающая конституента – конституента, обозначение которой замещает обозначение удаляемой конституенты в
|
||||
формальных выражениях иных конституент в ходе отождествления;
|
||||
</li>
|
||||
<b>Отождествление конституент</b>
|
||||
<li>Отождествляемые конституенты – входят в отношение отождествления.</li>
|
||||
<li>Удаляемая – конституента, подлежащая удалению.</li>
|
||||
<li>Замещающая – конституента, чьё обозначение заменяет удаляемое.</li>
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
Для описания <b>наследования</b> конституент в рамках ОСС введены:
|
||||
<b>Наследование конституент (в рамках ОСС)</b>
|
||||
<li>
|
||||
<IconChild size='1rem' className='inline-icon' />
|
||||
{'\u2009'}наследованная конституента – конституента, перенесенная из другой КС в ходе синтеза;
|
||||
{'\u2009'}Наследованная конституента – получена из другой КС.
|
||||
</li>
|
||||
<li>
|
||||
<IconPredecessor size='1rem' className='inline-icon' />
|
||||
{'\u2009'}собственная конституента – конституента, не являющаяся наследованной;
|
||||
{'\u2009'}Собственная – не является наследованной.
|
||||
</li>
|
||||
<li>
|
||||
<IconPredecessor size='1rem' className='inline-icon' />
|
||||
{'\u2009'}исходная конституента для данной конституенты – собственная конституента, прямым или опосредованным
|
||||
наследником которой является данная конституента.
|
||||
{'\u2009'}Исходная – собственная конституента, прямым или опосредованным наследником которой является данная
|
||||
конституента.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
@ -252,12 +245,13 @@ export function HelpThesaurus() {
|
|||
<LinkTopic text='Операционная схема синтеза' topic={HelpTopic.CC_OSS} /> (ОСС) – система операций над
|
||||
концептуальными схемами.
|
||||
</p>
|
||||
<p>Граф синтеза – ориентированный граф, где вершины — операции, а ребра — зависимости по результатам операций.</p>
|
||||
<p>
|
||||
Граф синтеза – ориентированный граф, вершинами которого являются операции, а ребра указывают на использование
|
||||
результата одной операции как аргумента другой операции.
|
||||
<LinkTopic text='Концептуальный блок' topic={HelpTopic.CC_STRUCTURING} /> – номинально выделенная часть
|
||||
предметной области, формирующая границы для отнесения концептуальных схем в ОСС к различным аспектам предметной
|
||||
области.
|
||||
</p>
|
||||
|
||||
<h2>Операция</h2>
|
||||
<p>Операция – выделенная часть ОСС, определяющая способ получения КС в рамках ОСС.</p>
|
||||
<p>
|
||||
<IconConsolidation className='inline-icon' />
|
||||
|
@ -265,10 +259,10 @@ export function HelpThesaurus() {
|
|||
</p>
|
||||
|
||||
<ul>
|
||||
По <b>способу получения КС выделены</b>:
|
||||
<b>Типы операций в ОСС</b>
|
||||
<li>
|
||||
<IconDownload size='1rem' className='inline-icon' />
|
||||
{'\u2009'}загрузка КС из библиотеки;
|
||||
{'\u2009'}загрузка КС из библиотеки.
|
||||
</li>
|
||||
<li>
|
||||
<IconSynthesis size='1rem' className='inline-icon' />
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import {
|
||||
IconDownload,
|
||||
IconFilterReset,
|
||||
IconFolder,
|
||||
IconFolderClosed,
|
||||
|
@ -24,7 +25,7 @@ export function HelpLibrary() {
|
|||
return (
|
||||
<div>
|
||||
<h1>Библиотека схем</h1>
|
||||
<p>
|
||||
<p className='m-0'>
|
||||
В библиотеке собраны <IconRSForm size='1rem' className='inline-icon' />{' '}
|
||||
<LinkTopic text='концептуальные схемы' topic={HelpTopic.CC_SYSTEM} /> (КС) <br />и
|
||||
<IconOSS size='1rem' className='inline-icon' />{' '}
|
||||
|
@ -42,6 +43,9 @@ export function HelpLibrary() {
|
|||
<kbd>{isMac() ? 'Cmd + клик' : 'Ctrl + клик'}</kbd> по строке откроет схему в новой вкладке
|
||||
</li>
|
||||
<li>Фильтры атрибутов три позиции: да/нет/не применять</li>
|
||||
<li>
|
||||
<IconLeftClose size='1rem' className='inline-icon' /> отображение Проводника
|
||||
</li>
|
||||
<li>
|
||||
<IconShow size='1rem' className='inline-icon' /> фильтры атрибутов применяются по клику
|
||||
</li>
|
||||
|
@ -54,23 +58,17 @@ export function HelpLibrary() {
|
|||
<li>
|
||||
<IconFilterReset size='1rem' className='inline-icon' /> сбросить фильтры
|
||||
</li>
|
||||
<li>
|
||||
<IconLeftClose size='1rem' className='inline-icon' /> отображение Проводника
|
||||
</li>
|
||||
<li>
|
||||
<IconSortAsc size='1rem' className='inline-icon' />
|
||||
<IconSortDesc size='1rem' className='inline-icon' /> сортировка по клику на заголовок таблицы
|
||||
</li>
|
||||
<li>
|
||||
<IconDownload size='1rem' className='inline-icon' /> выгрузка таблицы в файл
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>Проводник</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<IconFolderEdit size='1rem' className='inline-icon' /> переименовать выбранную
|
||||
</li>
|
||||
<li>
|
||||
<IconSubfolders size='1rem' className='inline-icon icon-green' /> схемы во вложенных папках
|
||||
</li>
|
||||
<li>
|
||||
<kbd>клик</kbd> по папке отображает справа схемы в ней
|
||||
</li>
|
||||
|
@ -84,6 +82,12 @@ export function HelpLibrary() {
|
|||
<li>
|
||||
<kbd>клик</kbd> по иконке сворачивает/разворачивает вложенные
|
||||
</li>
|
||||
<li>
|
||||
<IconFolderEdit size='1rem' className='inline-icon' /> переименовать выбранную
|
||||
</li>
|
||||
<li>
|
||||
<IconSubfolders size='1rem' className='inline-icon' /> схемы во вложенных папках
|
||||
</li>
|
||||
<li>
|
||||
<IconFolderEmpty size='1rem' className='inline-icon text-foreground' /> папка без схем
|
||||
</li>
|
||||
|
|
|
@ -3,6 +3,7 @@ import {
|
|||
IconAlias,
|
||||
IconClone,
|
||||
IconDestroy,
|
||||
IconDownload,
|
||||
IconMoveDown,
|
||||
IconMoveUp,
|
||||
IconNewItem,
|
||||
|
@ -65,6 +66,9 @@ export function HelpRSList() {
|
|||
<li>
|
||||
<IconDestroy className='inline-icon icon-red' /> удаление выделенных: <kbd>Delete</kbd>
|
||||
</li>
|
||||
<li>
|
||||
<IconDownload className='inline-icon' /> выгрузка таблицы в файл
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<Divider margins='my-2' />
|
||||
|
|
|
@ -1,109 +1,111 @@
|
|||
import { HelpTopic } from './models/help-topic';
|
||||
|
||||
/**
|
||||
* Retrieves label for {@link HelpTopic}.
|
||||
*/
|
||||
const labelHelpTopicRecord: Record<HelpTopic, string> = {
|
||||
[HelpTopic.MAIN]: '🏠 Портал',
|
||||
|
||||
[HelpTopic.THESAURUS]: '📖 Тезаурус',
|
||||
|
||||
[HelpTopic.INTERFACE]: '🌀 Интерфейс',
|
||||
[HelpTopic.UI_LIBRARY]: 'Библиотека',
|
||||
[HelpTopic.UI_RS_MENU]: 'Меню схемы',
|
||||
[HelpTopic.UI_RS_CARD]: 'Паспорт схемы',
|
||||
[HelpTopic.UI_RS_LIST]: 'Список конституент',
|
||||
[HelpTopic.UI_RS_EDITOR]: 'Редактор конституенты',
|
||||
[HelpTopic.UI_GRAPH_TERM]: 'Граф термов',
|
||||
[HelpTopic.UI_FORMULA_TREE]: 'Дерево разбора',
|
||||
[HelpTopic.UI_TYPE_GRAPH]: 'Граф ступеней',
|
||||
[HelpTopic.UI_CST_STATUS]: 'Статус конституенты',
|
||||
[HelpTopic.UI_CST_CLASS]: 'Класс конституенты',
|
||||
[HelpTopic.UI_OSS_GRAPH]: 'Граф синтеза',
|
||||
[HelpTopic.UI_SUBSTITUTIONS]: 'Отождествления',
|
||||
[HelpTopic.UI_RELOCATE_CST]: 'Перенос конституент',
|
||||
|
||||
[HelpTopic.CONCEPTUAL]: '♨️ Концептуализация',
|
||||
[HelpTopic.CC_SYSTEM]: 'Система определений',
|
||||
[HelpTopic.CC_CONSTITUENTA]: 'Конституента',
|
||||
[HelpTopic.CC_RELATIONS]: 'Связи понятий',
|
||||
[HelpTopic.CC_SYNTHESIS]: 'Синтез схем',
|
||||
[HelpTopic.CC_STRUCTURING]: 'Структурирование',
|
||||
[HelpTopic.CC_OSS]: 'Операционная схема',
|
||||
[HelpTopic.CC_PROPAGATION]: 'Сквозные изменения',
|
||||
|
||||
[HelpTopic.RSLANG]: '🚀 Экспликация',
|
||||
[HelpTopic.RSL_TYPES]: 'Типизация',
|
||||
[HelpTopic.RSL_CORRECT]: 'Переносимость',
|
||||
[HelpTopic.RSL_INTERPRET]: 'Интерпретируемость',
|
||||
[HelpTopic.RSL_OPERATIONS]: 'Операции',
|
||||
[HelpTopic.RSL_TEMPLATES]: 'Банк выражений',
|
||||
|
||||
[HelpTopic.TERM_CONTROL]: '🪸 Терминологизация',
|
||||
[HelpTopic.ACCESS]: '🔐 Доступы',
|
||||
[HelpTopic.VERSIONS]: '🏺 Версионирование',
|
||||
[HelpTopic.ASSISTANT]: '🤖 ИИ-помощник',
|
||||
|
||||
[HelpTopic.INFO]: '📰 Информация',
|
||||
[HelpTopic.INFO_RULES]: 'Правила',
|
||||
[HelpTopic.INFO_CONTRIB]: 'Разработчики',
|
||||
[HelpTopic.INFO_PRIVACY]: 'Обработка данных',
|
||||
[HelpTopic.INFO_API]: 'REST API',
|
||||
|
||||
[HelpTopic.EXTEOR]: '🖥️ Экстеор'
|
||||
};
|
||||
|
||||
const describeHelpTopicRecord: Record<HelpTopic, string> = {
|
||||
[HelpTopic.MAIN]: 'общая справка по порталу',
|
||||
|
||||
[HelpTopic.THESAURUS]: 'термины Портала',
|
||||
|
||||
[HelpTopic.INTERFACE]: 'описание интерфейса пользователя',
|
||||
[HelpTopic.UI_LIBRARY]: 'поиск и просмотр схем',
|
||||
[HelpTopic.UI_RS_MENU]: 'меню редактирования схемы',
|
||||
[HelpTopic.UI_RS_CARD]: 'общие атрибуты схемы',
|
||||
[HelpTopic.UI_RS_LIST]: 'концептуальная схема <br/>в форме таблицы',
|
||||
[HelpTopic.UI_RS_EDITOR]: 'редактирование конституенты',
|
||||
[HelpTopic.UI_GRAPH_TERM]: 'интерфейс графа термов',
|
||||
[HelpTopic.UI_FORMULA_TREE]: 'просмотр дерева разбора <br/>родоструктурного выражения',
|
||||
[HelpTopic.UI_TYPE_GRAPH]: 'просмотр графа ступеней',
|
||||
[HelpTopic.UI_CST_STATUS]: 'нотация статуса конституенты',
|
||||
[HelpTopic.UI_CST_CLASS]: 'нотация класса конституенты',
|
||||
[HelpTopic.UI_OSS_GRAPH]: 'графическая форма <br/>операционной схемы синтеза',
|
||||
[HelpTopic.UI_SUBSTITUTIONS]: 'таблица отождествлений конституент',
|
||||
[HelpTopic.UI_RELOCATE_CST]: 'перенос конституент<br/>в рамках ОСС',
|
||||
|
||||
[HelpTopic.CONCEPTUAL]: 'основы концептуализации',
|
||||
[HelpTopic.CC_SYSTEM]: 'концептуальная схема <br/>как система понятий',
|
||||
[HelpTopic.CC_CONSTITUENTA]: 'понятия конституенты и ее атрибутов',
|
||||
[HelpTopic.CC_RELATIONS]: 'отношения между конституентами',
|
||||
[HelpTopic.CC_SYNTHESIS]: 'операция синтеза концептуальных схем',
|
||||
[HelpTopic.CC_STRUCTURING]: 'структурирование предметной области',
|
||||
[HelpTopic.CC_OSS]: 'операционная схема синтеза',
|
||||
[HelpTopic.CC_PROPAGATION]: 'сквозные изменения в ОСС',
|
||||
|
||||
[HelpTopic.RSLANG]: 'экспликация и язык родов структур',
|
||||
[HelpTopic.RSL_TYPES]: 'система типов в <br/>родоструктурной экспликации',
|
||||
[HelpTopic.RSL_CORRECT]: 'биективная переносимость',
|
||||
[HelpTopic.RSL_INTERPRET]: 'интерпретация определений <br/>и утверждений',
|
||||
[HelpTopic.RSL_OPERATIONS]: 'формальные операции',
|
||||
[HelpTopic.RSL_TEMPLATES]: 'применение Банка выражений',
|
||||
|
||||
[HelpTopic.TERM_CONTROL]: 'контроль терминов и текстовых отсылок',
|
||||
[HelpTopic.ACCESS]: 'организация доступов к схемам',
|
||||
[HelpTopic.VERSIONS]: 'справка по управлению версиями схем',
|
||||
[HelpTopic.ASSISTANT]: 'функционал ИИ-помощника',
|
||||
|
||||
[HelpTopic.INFO]: 'справочные, нормативные <br/>и технические документы',
|
||||
[HelpTopic.INFO_RULES]: 'правила пользования Порталом',
|
||||
[HelpTopic.INFO_CONTRIB]: 'признание вклада <br/>в создание Портала',
|
||||
[HelpTopic.INFO_PRIVACY]: 'политика обработки <br/>персональных данных',
|
||||
[HelpTopic.INFO_API]: 'интерфейс для разработчиков',
|
||||
|
||||
[HelpTopic.EXTEOR]: 'программа экспликации теорий <br/>"Экстеор" для Windows'
|
||||
};
|
||||
|
||||
/** Retrieves label for {@link HelpTopic}. */
|
||||
export function labelHelpTopic(topic: HelpTopic): string {
|
||||
// prettier-ignore
|
||||
switch (topic) {
|
||||
case HelpTopic.MAIN: return '🏠 Портал';
|
||||
|
||||
case HelpTopic.THESAURUS: return '📖 Тезаурус';
|
||||
|
||||
case HelpTopic.INTERFACE: return '🌀 Интерфейс';
|
||||
case HelpTopic.UI_LIBRARY: return 'Библиотека';
|
||||
case HelpTopic.UI_RS_MENU: return 'Меню схемы';
|
||||
case HelpTopic.UI_RS_CARD: return 'Паспорт схемы';
|
||||
case HelpTopic.UI_RS_LIST: return 'Список конституент';
|
||||
case HelpTopic.UI_RS_EDITOR: return 'Редактор конституенты';
|
||||
case HelpTopic.UI_GRAPH_TERM: return 'Граф термов';
|
||||
case HelpTopic.UI_FORMULA_TREE: return 'Дерево разбора';
|
||||
case HelpTopic.UI_TYPE_GRAPH: return 'Граф ступеней';
|
||||
case HelpTopic.UI_CST_STATUS: return 'Статус конституенты';
|
||||
case HelpTopic.UI_CST_CLASS: return 'Класс конституенты';
|
||||
case HelpTopic.UI_OSS_GRAPH: return 'Граф синтеза';
|
||||
case HelpTopic.UI_SUBSTITUTIONS: return 'Отождествления';
|
||||
case HelpTopic.UI_RELOCATE_CST: return 'Перенос конституент';
|
||||
|
||||
case HelpTopic.CONCEPTUAL: return '♨️ Концептуализация';
|
||||
case HelpTopic.CC_SYSTEM: return 'Система определений';
|
||||
case HelpTopic.CC_CONSTITUENTA: return 'Конституента';
|
||||
case HelpTopic.CC_RELATIONS: return 'Связи понятий';
|
||||
case HelpTopic.CC_SYNTHESIS: return 'Синтез схем';
|
||||
case HelpTopic.CC_OSS: return 'Операционная схема';
|
||||
case HelpTopic.CC_PROPAGATION: return 'Сквозные изменения';
|
||||
|
||||
case HelpTopic.RSLANG: return '🚀 Экспликация';
|
||||
case HelpTopic.RSL_TYPES: return 'Типизация';
|
||||
case HelpTopic.RSL_CORRECT: return 'Переносимость';
|
||||
case HelpTopic.RSL_INTERPRET: return 'Интерпретируемость';
|
||||
case HelpTopic.RSL_OPERATIONS: return 'Операции';
|
||||
case HelpTopic.RSL_TEMPLATES: return 'Банк выражений';
|
||||
|
||||
case HelpTopic.TERM_CONTROL: return '🪸 Терминологизация';
|
||||
case HelpTopic.ACCESS: return '🔐 Доступы';
|
||||
case HelpTopic.VERSIONS: return '🏺 Версионирование';
|
||||
|
||||
case HelpTopic.INFO: return '📰 Информация';
|
||||
case HelpTopic.INFO_RULES: return 'Правила';
|
||||
case HelpTopic.INFO_CONTRIB: return 'Разработчики';
|
||||
case HelpTopic.INFO_PRIVACY: return 'Обработка данных';
|
||||
case HelpTopic.INFO_API: return 'REST API';
|
||||
|
||||
case HelpTopic.EXTEOR: return '🖥️ Экстеор';
|
||||
}
|
||||
return labelHelpTopicRecord[topic] ?? 'UNKNOWN TOPIC';
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves description for {@link HelpTopic}.
|
||||
*/
|
||||
/** Retrieves description for {@link HelpTopic}. */
|
||||
export function describeHelpTopic(topic: HelpTopic): string {
|
||||
// prettier-ignore
|
||||
switch (topic) {
|
||||
case HelpTopic.MAIN: return 'общая справка по порталу';
|
||||
|
||||
case HelpTopic.THESAURUS: return 'термины Портала';
|
||||
|
||||
case HelpTopic.INTERFACE: return 'описание интерфейса пользователя';
|
||||
case HelpTopic.UI_LIBRARY: return 'поиск и просмотр схем';
|
||||
case HelpTopic.UI_RS_MENU: return 'меню редактирования схемы';
|
||||
case HelpTopic.UI_RS_CARD: return 'общие атрибуты схемы';
|
||||
case HelpTopic.UI_RS_LIST: return 'концептуальная схема <br/>в форме таблицы';
|
||||
case HelpTopic.UI_RS_EDITOR: return 'редактирование конституенты';
|
||||
case HelpTopic.UI_GRAPH_TERM: return 'интерфейс графа термов';
|
||||
case HelpTopic.UI_FORMULA_TREE: return 'просмотр дерева разбора <br/>родоструктурного выражения';
|
||||
case HelpTopic.UI_TYPE_GRAPH: return 'просмотр графа ступеней';
|
||||
case HelpTopic.UI_CST_STATUS: return 'нотация статуса конституенты';
|
||||
case HelpTopic.UI_CST_CLASS: return 'нотация класса конституенты';
|
||||
case HelpTopic.UI_OSS_GRAPH: return 'графическая форма <br/>операционной схемы синтеза';
|
||||
case HelpTopic.UI_SUBSTITUTIONS: return 'таблица отождествлений конституент';
|
||||
case HelpTopic.UI_RELOCATE_CST: return 'перенос конституент<br/>в рамках ОСС';
|
||||
|
||||
case HelpTopic.CONCEPTUAL: return 'основы концептуализации';
|
||||
case HelpTopic.CC_SYSTEM: return 'концептуальная схема <br/>как система понятий';
|
||||
case HelpTopic.CC_CONSTITUENTA: return 'понятия конституенты и ее атрибутов';
|
||||
case HelpTopic.CC_RELATIONS: return 'отношения между конституентами';
|
||||
case HelpTopic.CC_SYNTHESIS: return 'операция синтеза концептуальных схем';
|
||||
case HelpTopic.CC_OSS: return 'операционная схема синтеза';
|
||||
case HelpTopic.CC_PROPAGATION: return 'сквозные изменения в ОСС';
|
||||
|
||||
case HelpTopic.RSLANG: return 'экспликация и язык родов структур';
|
||||
case HelpTopic.RSL_TYPES: return 'система типов в <br/>родоструктурной экспликации';
|
||||
case HelpTopic.RSL_CORRECT: return 'биективная переносимость';
|
||||
case HelpTopic.RSL_INTERPRET: return 'интерпретация определений <br/>и утверждений';
|
||||
case HelpTopic.RSL_OPERATIONS: return 'формальные операции';
|
||||
case HelpTopic.RSL_TEMPLATES: return 'применение Банка выражений';
|
||||
|
||||
case HelpTopic.TERM_CONTROL: return 'контроль терминов и текстовых отсылок';
|
||||
case HelpTopic.ACCESS: return 'организация доступов к схемам';
|
||||
case HelpTopic.VERSIONS: return 'справка по управлению версиями схем';
|
||||
|
||||
case HelpTopic.INFO: return 'справочные, нормативные <br/>и технические документы';
|
||||
case HelpTopic.INFO_RULES: return 'правила пользования Порталом';
|
||||
case HelpTopic.INFO_CONTRIB: return 'признание вклада <br/>в создание Портала';
|
||||
case HelpTopic.INFO_PRIVACY: return 'политика обработки <br/>персональных данных';
|
||||
case HelpTopic.INFO_API: return 'интерфейс для разработчиков';
|
||||
|
||||
case HelpTopic.EXTEOR: return 'программа экспликации теорий <br/>"Экстеор" для Windows';
|
||||
}
|
||||
return describeHelpTopicRecord[topic] ?? 'UNKNOWN TOPIC';
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ export const HelpTopic = {
|
|||
CC_CONSTITUENTA: 'concept-constituenta',
|
||||
CC_RELATIONS: 'concept-relations',
|
||||
CC_SYNTHESIS: 'concept-synthesis',
|
||||
CC_STRUCTURING: 'concept-structuring',
|
||||
CC_OSS: 'concept-operations-schema',
|
||||
CC_PROPAGATION: 'concept-change-propagation',
|
||||
|
||||
|
@ -39,6 +40,7 @@ export const HelpTopic = {
|
|||
TERM_CONTROL: 'terminology-control',
|
||||
ACCESS: 'access',
|
||||
VERSIONS: 'versions',
|
||||
ASSISTANT: 'assistant',
|
||||
|
||||
INFO: 'documentation',
|
||||
INFO_RULES: 'rules',
|
||||
|
@ -79,6 +81,7 @@ export const topicParent = new Map<HelpTopic, HelpTopic>([
|
|||
[HelpTopic.CC_CONSTITUENTA, HelpTopic.CONCEPTUAL],
|
||||
[HelpTopic.CC_RELATIONS, HelpTopic.CONCEPTUAL],
|
||||
[HelpTopic.CC_SYNTHESIS, HelpTopic.CONCEPTUAL],
|
||||
[HelpTopic.CC_STRUCTURING, HelpTopic.CONCEPTUAL],
|
||||
[HelpTopic.CC_OSS, HelpTopic.CONCEPTUAL],
|
||||
[HelpTopic.CC_PROPAGATION, HelpTopic.CONCEPTUAL],
|
||||
|
||||
|
|
|
@ -3,10 +3,12 @@ import { useWindowSize } from '@/hooks/use-window-size';
|
|||
import { HelpConceptOSS } from '../../items/cc/help-concept-oss';
|
||||
import { HelpConceptPropagation } from '../../items/cc/help-concept-propagation';
|
||||
import { HelpConceptRelations } from '../../items/cc/help-concept-relations';
|
||||
import { HelpConceptStructuring } from '../../items/cc/help-concept-structuring';
|
||||
import { HelpConceptSynthesis } from '../../items/cc/help-concept-synthesis';
|
||||
import { HelpConceptSystem } from '../../items/cc/help-concept-system';
|
||||
import { HelpCstAttributes } from '../../items/cc/help-cst-attributes';
|
||||
import { HelpAccess } from '../../items/help-access';
|
||||
import { HelpAssistant } from '../../items/help-assistant';
|
||||
import { HelpConcept } from '../../items/help-concept';
|
||||
import { HelpExteor } from '../../items/help-exteor';
|
||||
import { HelpInfo } from '../../items/help-info';
|
||||
|
@ -77,6 +79,7 @@ export function TopicPage({ topic }: TopicPageProps) {
|
|||
if (topic === HelpTopic.CC_CONSTITUENTA) return <HelpCstAttributes />;
|
||||
if (topic === HelpTopic.CC_RELATIONS) return <HelpConceptRelations />;
|
||||
if (topic === HelpTopic.CC_SYNTHESIS) return <HelpConceptSynthesis />;
|
||||
if (topic === HelpTopic.CC_STRUCTURING) return <HelpConceptStructuring />;
|
||||
if (topic === HelpTopic.CC_OSS) return <HelpConceptOSS />;
|
||||
if (topic === HelpTopic.CC_PROPAGATION) return <HelpConceptPropagation />;
|
||||
|
||||
|
@ -90,6 +93,7 @@ export function TopicPage({ topic }: TopicPageProps) {
|
|||
if (topic === HelpTopic.TERM_CONTROL) return <HelpTerminologyControl />;
|
||||
if (topic === HelpTopic.ACCESS) return <HelpAccess />;
|
||||
if (topic === HelpTopic.VERSIONS) return <HelpVersions />;
|
||||
if (topic === HelpTopic.ASSISTANT) return <HelpAssistant />;
|
||||
|
||||
if (topic === HelpTopic.INFO) return <HelpInfo />;
|
||||
if (topic === HelpTopic.INFO_RULES) return <HelpRules />;
|
||||
|
|
|
@ -80,7 +80,7 @@ export function DlgCreateBlock() {
|
|||
canSubmit={isValid}
|
||||
onSubmit={event => void methods.handleSubmit(onSubmit)(event)}
|
||||
className='w-160 px-6 h-110'
|
||||
helpTopic={HelpTopic.CC_OSS}
|
||||
helpTopic={HelpTopic.CC_STRUCTURING}
|
||||
>
|
||||
<Tabs className='grid' selectedIndex={activeTab} onSelect={index => setActiveTab(index as TabID)}>
|
||||
<TabList className='z-pop mx-auto -mb-5 flex border divide-x rounded-none'>
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
import { Controller, useForm } from 'react-hook-form';
|
||||
import { zodResolver } from '@hookform/resolvers/zod';
|
||||
|
||||
import { HelpTopic } from '@/features/help';
|
||||
|
||||
import { TextArea, TextInput } from '@/components/input';
|
||||
import { ModalForm } from '@/components/modal';
|
||||
import { useDialogsStore } from '@/stores/dialogs';
|
||||
|
@ -56,6 +58,7 @@ export function DlgEditBlock() {
|
|||
canSubmit={isValid}
|
||||
onSubmit={event => void handleSubmit(onSubmit)(event)}
|
||||
className='w-160 px-6 pb-2 h-fit cc-column'
|
||||
helpTopic={HelpTopic.CC_STRUCTURING}
|
||||
>
|
||||
<TextInput
|
||||
id='operation_title' //
|
||||
|
|
|
@ -88,12 +88,12 @@ const labelExpressionStatusRecord: Record<ExpressionStatus, string> = {
|
|||
};
|
||||
|
||||
const describeExpressionStatusRecord: Record<ExpressionStatus, string> = {
|
||||
[ExpressionStatus.VERIFIED]: 'выражение корректно и вычислимо',
|
||||
[ExpressionStatus.INCORRECT]: 'ошибка в выражении',
|
||||
[ExpressionStatus.VERIFIED]: 'корректно и вычислимо',
|
||||
[ExpressionStatus.INCORRECT]: 'обнаружена ошибка',
|
||||
[ExpressionStatus.INCALCULABLE]: 'интерпретация не вычисляется',
|
||||
[ExpressionStatus.PROPERTY]: 'только проверка принадлежности',
|
||||
[ExpressionStatus.UNKNOWN]: 'требует проверки выражения',
|
||||
[ExpressionStatus.UNDEFINED]: 'произошла ошибка при проверке'
|
||||
[ExpressionStatus.UNKNOWN]: 'требуется проверка',
|
||||
[ExpressionStatus.UNDEFINED]: 'ошибка при проверке'
|
||||
};
|
||||
|
||||
const labelGrammemeRecord: Partial<Record<Grammeme, string>> = {
|
||||
|
|
Loading…
Reference in New Issue
Block a user