M: Improve manuals

This commit is contained in:
Ivan 2024-08-22 21:38:59 +03:00
parent cdefe97d98
commit e1a95e1d81
4 changed files with 36 additions and 18 deletions

View File

@ -112,6 +112,7 @@ export { BiDuplicate as IconClone } from 'react-icons/bi';
export { LuReplace as IconReplace } from 'react-icons/lu'; export { LuReplace as IconReplace } from 'react-icons/lu';
export { FaSortAmountDownAlt as IconSortList } from 'react-icons/fa'; export { FaSortAmountDownAlt as IconSortList } from 'react-icons/fa';
export { LuNetwork as IconGenerateStructure } from 'react-icons/lu'; export { LuNetwork as IconGenerateStructure } from 'react-icons/lu';
export { LuCombine as IconSynthesis } from 'react-icons/lu';
export { LuBookCopy as IconInlineSynthesis } from 'react-icons/lu'; export { LuBookCopy as IconInlineSynthesis } from 'react-icons/lu';
export { LuWand2 as IconGenerateNames } from 'react-icons/lu'; export { LuWand2 as IconGenerateNames } from 'react-icons/lu';
export { GrConnect as IconConnect } from 'react-icons/gr'; export { GrConnect as IconConnect } from 'react-icons/gr';

View File

@ -27,7 +27,7 @@ function IconValue({
}: IconValueProps) { }: IconValueProps) {
return ( return (
<div <div
className={clsx('flex items-center', { 'justify-between gap-6 text-right': !dense, 'gap-1': dense }, className)} className={clsx('flex items-center text-right', { 'justify-between gap-6': !dense, 'gap-1': dense }, className)}
{...restProps} {...restProps}
> >
<MiniButton <MiniButton
@ -40,7 +40,9 @@ function IconValue({
disabled={disabled} disabled={disabled}
onClick={onClick} onClick={onClick}
/> />
<span id={id}>{value}</span> <span id={id} className='min-w-[1.2rem]'>
{value}
</span>
</div> </div>
); );
} }

View File

@ -1,16 +1,19 @@
import { import {
IconChild, IconChild,
IconDownload,
IconGraphCollapse, IconGraphCollapse,
IconGraphExpand, IconGraphExpand,
IconGraphInputs, IconGraphInputs,
IconGraphOutputs, IconGraphOutputs,
IconOSS,
IconPredecessor, IconPredecessor,
IconRSForm, IconRSForm,
IconStatusError, IconStatusError,
IconStatusIncalculable, IconStatusIncalculable,
IconStatusOK, IconStatusOK,
IconStatusProperty, IconStatusProperty,
IconStatusUnknown IconStatusUnknown,
IconSynthesis
} from '@/components/Icons'; } from '@/components/Icons';
import LinkTopic from '@/components/ui/LinkTopic'; import LinkTopic from '@/components/ui/LinkTopic';
import { HelpTopic } from '@/models/miscellaneous'; import { HelpTopic } from '@/models/miscellaneous';
@ -25,8 +28,7 @@ function HelpThesaurus() {
Справки через гиперссылки. Также указываются графические обозначения (иконки, цвета), используемые для Справки через гиперссылки. Также указываются графические обозначения (иконки, цвета), используемые для
обозначения соответствующих сущностей в интерфейсе Портала. обозначения соответствующих сущностей в интерфейсе Портала.
</p> </p>
<h2>Концептуализация</h2>
<p>Раздел в разработке...</p>
<h2>Концептуальная схема</h2> <h2>Концептуальная схема</h2>
<p> <p>
<IconRSForm size='1rem' className='inline-icon' />{' '} <IconRSForm size='1rem' className='inline-icon' />{' '}
@ -198,10 +200,28 @@ function HelpThesaurus() {
</ul> </ul>
<h2>Операционная схема синтеза</h2> <h2>Операционная схема синтеза</h2>
<p>Раздел в разработке...</p> <p>
<IconOSS size='1rem' className='inline-icon' />{' '}
<LinkTopic text='Операционная схема синтеза' topic={HelpTopic.CC_OSS} /> (ОСС) система концептуальных схем,
связанных операциями синтеза.
</p>
<p>
Граф синтеза ориентированный граф, вершинами которого являются операции, а ребра указывают на использование
результата одной операции как аргумента другой операции.
</p>
<h2>Операция</h2> <h2>Операция</h2>
<p>Раздел в разработке...</p> <p>Операция выделенная часть ОСС, определяющая способ получения КС в рамках ОСС.</p>
<ul>
По <b>способу получения КС выделены</b>:
<li>
<IconDownload size='1rem' className='inline-icon' /> загрузка КС из библиотеки;
</li>
<li>
<IconSynthesis size='1rem' className='inline-icon' /> синтез концептуальных схем.
</li>
</ul>
</div> </div>
); );
} }

View File

@ -6,7 +6,6 @@ import {
IconStatusOK, IconStatusOK,
IconStatusProperty IconStatusProperty
} from '@/components/Icons'; } from '@/components/Icons';
import Divider from '@/components/ui/Divider';
import IconValue from '@/components/ui/IconValue'; import IconValue from '@/components/ui/IconValue';
import LabeledValue from '@/components/ui/LabeledValue'; import LabeledValue from '@/components/ui/LabeledValue';
import { type IRSFormStats } from '@/models/rsform'; import { type IRSFormStats } from '@/models/rsform';
@ -20,11 +19,9 @@ function RSFormStats({ stats }: RSFormStatsProps) {
return null; return null;
} }
return ( return (
<div className='flex flex-col sm:gap-1 sm:ml-6 sm:mt-8 sm:w-[14rem]'> <div className='flex flex-col mt-3 sm:gap-1 sm:ml-6 sm:mt-8 sm:w-[16rem]'>
<Divider margins='my-2' className='sm:hidden' />
<LabeledValue id='count_all' label='Всего конституент' text={stats.count_all} /> <LabeledValue id='count_all' label='Всего конституент' text={stats.count_all} />
<div className='grid grid-cols-4 gap-1'> <div className='grid grid-cols-4 gap-1 justify-items-start sm:justify-items-end'>
<IconValue <IconValue
id='count_owned' id='count_owned'
dense dense
@ -39,9 +36,9 @@ function RSFormStats({ stats }: RSFormStatsProps) {
value={stats.count_inherited} value={stats.count_inherited}
title='Наследованные' title='Наследованные'
/> />
</div>
<div className='grid grid-cols-4 gap-1'>
<IconValue <IconValue
className='col-start-1'
id='count_ok' id='count_ok'
dense dense
icon={<IconStatusOK size='1.25rem' className='clr-text-green' />} icon={<IconStatusOK size='1.25rem' className='clr-text-green' />}
@ -69,8 +66,7 @@ function RSFormStats({ stats }: RSFormStatsProps) {
value={stats.count_errors} value={stats.count_errors}
title='Некорректные' title='Некорректные'
/> />
</div>
<div className='grid grid-cols-4 gap-1'>
<IconValue <IconValue
id='count_base' id='count_base'
dense dense
@ -99,6 +95,7 @@ function RSFormStats({ stats }: RSFormStatsProps) {
value={stats.count_axiom} value={stats.count_axiom}
title='Аксиомы' title='Аксиомы'
/> />
<IconValue <IconValue
id='count_term' id='count_term'
dense dense
@ -129,8 +126,6 @@ function RSFormStats({ stats }: RSFormStatsProps) {
/> />
</div> </div>
<Divider margins='my-2' />
<LabeledValue id='count_text_term' label='Термины' text={stats.count_text_term} /> <LabeledValue id='count_text_term' label='Термины' text={stats.count_text_term} />
<LabeledValue id='count_definition' label='Определения' text={stats.count_definition} /> <LabeledValue id='count_definition' label='Определения' text={stats.count_definition} />
<LabeledValue id='count_convention' label='Конвенции' text={stats.count_convention} /> <LabeledValue id='count_convention' label='Конвенции' text={stats.count_convention} />