Refactor Help structure

This commit is contained in:
IRBorisov 2024-05-13 20:55:48 +03:00
parent 0ad42cc73f
commit 18336cebe3
21 changed files with 179 additions and 36 deletions

View File

@ -128,6 +128,7 @@
"Бурбаки", "Бурбаки",
"Версионирование", "Версионирование",
"Десинглетон", "Десинглетон",
"интерпретируемость",
"компаратив", "компаратив",
"конституент", "конституент",
"Конституента", "Конституента",

View File

@ -1,17 +1,25 @@
import { HelpTopic } from '@/models/miscellaneous'; import { HelpTopic } from '@/models/miscellaneous';
import HelpAPI from '../man/HelpAPI'; import HelpAPI from '../man/HelpAPI';
import HelpConceptRelations from '../man/HelpConceptRelations';
import HelpConceptSystem from '../man/HelpConceptSystem';
import HelpCstAttributes from '../man/HelpCstAttributes'; import HelpCstAttributes from '../man/HelpCstAttributes';
import HelpCstClass from '../man/HelpCstClass'; import HelpCstClass from '../man/HelpCstClass';
import HelpCstEditor from '../man/HelpCstEditor'; import HelpCstEditor from '../man/HelpCstEditor';
import HelpCstStatus from '../man/HelpCstStatus'; import HelpCstStatus from '../man/HelpCstStatus';
import HelpExteor from '../man/HelpExteor'; import HelpExteor from '../man/HelpExteor';
import HelpInterface from '../man/HelpInterface';
import HelpLibrary from '../man/HelpLibrary'; import HelpLibrary from '../man/HelpLibrary';
import HelpMain from '../man/HelpMain'; import HelpMain from '../man/HelpMain';
import HelpPrivacy from '../man/HelpPrivacy'; import HelpPrivacy from '../man/HelpPrivacy';
import HelpRSFormItems from '../man/HelpRSFormItems'; import HelpRSFormItems from '../man/HelpRSFormItems';
import HelpRSFormMeta from '../man/HelpRSFormMeta'; import HelpRSFormMeta from '../man/HelpRSFormMeta';
import HelpRSFormUI from '../man/HelpRSFormUI';
import HelpRSLang from '../man/HelpRSLang'; import HelpRSLang from '../man/HelpRSLang';
import HelpRSLangCorrect from '../man/HelpRSLangCorrect';
import HelpRSLangInterpret from '../man/HelpRSLangInterpret';
import HelpRSLangOperations from '../man/HelpRSLangOperations';
import HelpRSLangTypes from '../man/HelpRSLangTypes';
import HelpRSTemplates from '../man/HelpRSTemplates'; import HelpRSTemplates from '../man/HelpRSTemplates';
import HelpTermGraph from '../man/HelpTermGraph'; import HelpTermGraph from '../man/HelpTermGraph';
import HelpTerminologyControl from '../man/HelpTerminologyControl'; import HelpTerminologyControl from '../man/HelpTerminologyControl';
@ -23,16 +31,27 @@ interface InfoTopicProps {
function InfoTopic({ topic }: InfoTopicProps) { function InfoTopic({ topic }: InfoTopicProps) {
if (topic === HelpTopic.MAIN) return <HelpMain />; if (topic === HelpTopic.MAIN) return <HelpMain />;
if (topic === HelpTopic.INTERFACE) return <HelpInterface />;
if (topic === HelpTopic.LIBRARY) return <HelpLibrary />; if (topic === HelpTopic.LIBRARY) return <HelpLibrary />;
if (topic === HelpTopic.RSFORM) return <HelpRSFormMeta />; if (topic === HelpTopic.RSFORM_UI) return <HelpRSFormUI />;
if (topic === HelpTopic.CST_LIST) return <HelpRSFormItems />; if (topic === HelpTopic.RSFORM_CARD) return <HelpRSFormMeta />;
if (topic === HelpTopic.CST_EDITOR) return <HelpCstEditor />; if (topic === HelpTopic.RSFORM_LIST) return <HelpRSFormItems />;
if (topic === HelpTopic.RSFORM_EDITOR) return <HelpCstEditor />;
if (topic === HelpTopic.GRAPH_TERM) return <HelpTermGraph />; if (topic === HelpTopic.GRAPH_TERM) return <HelpTermGraph />;
if (topic === HelpTopic.CST_STATUS) return <HelpCstStatus />; if (topic === HelpTopic.CST_STATUS) return <HelpCstStatus />;
if (topic === HelpTopic.CST_CLASS) return <HelpCstClass />; if (topic === HelpTopic.CST_CLASS) return <HelpCstClass />;
if (topic === HelpTopic.RSLANG) return <HelpRSLang />; if (topic === HelpTopic.RSLANG) return <HelpRSLang />;
if (topic === HelpTopic.CONSTITUENTA) return <HelpCstAttributes />; if (topic === HelpTopic.CC_SYSTEM) return <HelpConceptSystem />;
if (topic === HelpTopic.RSTEMPLATES) return <HelpRSTemplates />; if (topic === HelpTopic.CC_CONSTITUENTA) return <HelpCstAttributes />;
if (topic === HelpTopic.CC_RELATIONS) return <HelpConceptRelations />;
if (topic === HelpTopic.RSL_TYPES) return <HelpRSLangTypes />;
if (topic === HelpTopic.RSL_CORRECT) return <HelpRSLangCorrect />;
if (topic === HelpTopic.RSL_INTERPRET) return <HelpRSLangInterpret />;
if (topic === HelpTopic.RSL_TEMPLATES) return <HelpRSTemplates />;
if (topic === HelpTopic.RSL_OPERATIONS) return <HelpRSLangOperations />;
if (topic === HelpTopic.TERM_CONTROL) return <HelpTerminologyControl />; if (topic === HelpTopic.TERM_CONTROL) return <HelpTerminologyControl />;
if (topic === HelpTopic.VERSIONS) return <HelpVersions />; if (topic === HelpTopic.VERSIONS) return <HelpVersions />;
if (topic === HelpTopic.EXTEOR) return <HelpExteor />; if (topic === HelpTopic.EXTEOR) return <HelpExteor />;

View File

@ -0,0 +1,10 @@
function HelpConceptSystem() {
// prettier-ignore
return (
<div>
<h1>Концептуализация</h1>
<p>TBD</p>
</div>);
}
export default HelpConceptSystem;

View File

@ -0,0 +1,10 @@
function HelpConceptRelations() {
// prettier-ignore
return (
<div>
<h1>Связи между конституентами</h1>
<p>TBD</p>
</div>);
}
export default HelpConceptRelations;

View File

@ -0,0 +1,10 @@
function HelpConceptSystem() {
// prettier-ignore
return (
<div>
<h1>Концептуальная схема Система определений</h1>
<p>TBD</p>
</div>);
}
export default HelpConceptSystem;

View File

@ -0,0 +1,10 @@
function HelpInterface() {
// prettier-ignore
return (
<div>
<h1>Пользовательский интерфейс</h1>
<p>TBD</p>
</div>);
}
export default HelpInterface;

View File

@ -9,7 +9,7 @@ function HelpMain() {
<div> <div>
<h1>Портал</h1> <h1>Портал</h1>
<p>Портал позволяет анализировать предметные области, формально записывать системы определений и синтезировать их с помощью математического <TextURL text='аппарата родов структур' href={urls.help_topic(HelpTopic.RSLANG)}/></p> <p>Портал позволяет анализировать предметные области, формально записывать системы определений и синтезировать их с помощью математического <TextURL text='аппарата родов структур' href={urls.help_topic(HelpTopic.RSLANG)}/></p>
<p>Такие системы называются <b>Концептуальными схемами</b> и состоят из отдельных <TextURL text='Конституент' href={urls.help_topic(HelpTopic.CONSTITUENTA)}/>, обладающих уникальными обозначениями и формальными определениями</p> <p>Такие системы называются <b>Концептуальными схемами</b> и состоят из отдельных <TextURL text='Конституент' href={urls.help_topic(HelpTopic.CC_CONSTITUENTA)}/>, обладающих уникальными обозначениями и формальными определениями</p>
<br/> <br/>
<h2>Основные разделы</h2> <h2>Основные разделы</h2>

View File

@ -11,7 +11,7 @@ function HelpRSFormItems() {
return ( return (
<div className='dense'> <div className='dense'>
<h1>Список конституент</h1> <h1>Список конституент</h1>
<p><IconAlias className='inline-icon'/>Конституенты обладают уникальным <TextURL text='Именем' href={urls.help_topic(HelpTopic.CONSTITUENTA)}/></p> <p><IconAlias className='inline-icon'/>Конституенты обладают уникальным <TextURL text='Именем' href={urls.help_topic(HelpTopic.CC_CONSTITUENTA)}/></p>
<p><IconMoveUp className='inline-icon'/><IconMoveDown className='inline-icon'/> Список поддерживает выделение и перемещение </p> <p><IconMoveUp className='inline-icon'/><IconMoveDown className='inline-icon'/> Список поддерживает выделение и перемещение </p>
<h2>Управление списком</h2> <h2>Управление списком</h2>

View File

@ -0,0 +1,10 @@
function HelpRSFormUI() {
// prettier-ignore
return (
<div>
<h1>Интерфейс Концептуальной схемы</h1>
<p>TBD</p>
</div>);
}
export default HelpRSFormUI;

View File

@ -0,0 +1,10 @@
function HelpRSLangCorrect() {
// prettier-ignore
return (
<div>
<h1>Переносимость и корректность</h1>
<p>TBD</p>
</div>);
}
export default HelpRSLangCorrect;

View File

@ -0,0 +1,10 @@
function HelpRSLangInterpret() {
// prettier-ignore
return (
<div>
<h1>Интерпретируемость</h1>
<p>TBD</p>
</div>);
}
export default HelpRSLangInterpret;

View File

@ -0,0 +1,10 @@
function HelpRSLangOperations() {
// prettier-ignore
return (
<div>
<h1>Операции над концептуальными схемами</h1>
<p>TBD</p>
</div>);
}
export default HelpRSLangOperations;

View File

@ -0,0 +1,10 @@
function HelpRSLangTypes() {
// prettier-ignore
return (
<div>
<h1>Система типов</h1>
<p>TBD</p>
</div>);
}
export default HelpRSLangTypes;

View File

@ -145,7 +145,7 @@ function DlgConstituentaTemplate({ hideWindow, schema, onCreate, insertAfter }:
onSubmit={handleSubmit} onSubmit={handleSubmit}
> >
<Overlay position='top-0 right-[6rem]'> <Overlay position='top-0 right-[6rem]'>
<BadgeHelp topic={HelpTopic.RSTEMPLATES} className='max-w-[40rem]' offset={12} /> <BadgeHelp topic={HelpTopic.RSL_TEMPLATES} className='max-w-[40rem]' offset={12} />
</Overlay> </Overlay>
<Tabs <Tabs
selectedTabClassName='clr-selected' selectedTabClassName='clr-selected'

View File

@ -50,7 +50,7 @@ function FormCreateCst({ schema, state, partialUpdate, setValidated }: FormCreat
value={{ value: state.cst_type, label: labelCstType(state.cst_type) }} value={{ value: state.cst_type, label: labelCstType(state.cst_type) }}
onChange={data => partialUpdate({ cst_type: data?.value ?? CstType.BASE })} onChange={data => partialUpdate({ cst_type: data?.value ?? CstType.BASE })}
/> />
<BadgeHelp topic={HelpTopic.CONSTITUENTA} offset={16} className='max-w-[40rem] max-h-[calc(100vh-2rem)]' /> <BadgeHelp topic={HelpTopic.CC_CONSTITUENTA} offset={16} className='max-w-[40rem] max-h-[calc(100vh-2rem)]' />
<TextInput <TextInput
id='dlg_cst_alias' id='dlg_cst_alias'
dense dense

View File

@ -60,7 +60,7 @@ function DlgRenameCst({ hideWindow, initial, onRename }: DlgRenameCstProps) {
}} }}
onChange={data => updateData({ cst_type: data?.value ?? CstType.BASE })} onChange={data => updateData({ cst_type: data?.value ?? CstType.BASE })}
/> />
<BadgeHelp topic={HelpTopic.CONSTITUENTA} offset={16} className='max-w-[40rem] max-h-[calc(100vh-2rem)]' /> <BadgeHelp topic={HelpTopic.CC_CONSTITUENTA} offset={16} className='max-w-[40rem] max-h-[calc(100vh-2rem)]' />
<TextInput <TextInput
id='dlg_cst_alias' id='dlg_cst_alias'
dense dense

View File

@ -43,16 +43,29 @@ export type FontStyle = 'controls' | 'main' | 'math' | 'math2';
*/ */
export enum HelpTopic { export enum HelpTopic {
MAIN = 'main', MAIN = 'main',
LIBRARY = 'library',
RSFORM = 'rsform', INTERFACE = 'user-interface',
CST_LIST = 'cst-list', LIBRARY = 'ui-library',
CST_EDITOR = 'cst-editor', RSFORM_UI = 'ui-rsform',
GRAPH_TERM = 'graph-term', RSFORM_CARD = 'ui-rsform-card',
CST_STATUS = 'cst-status', RSFORM_LIST = 'ui-rsform-list',
CST_CLASS = 'cst-class', RSFORM_EDITOR = 'ui-rsform-editor',
GRAPH_TERM = 'ui-rsform-graph',
CST_STATUS = 'ui-rsform-cst-status',
CST_CLASS = 'ui-rsform-cst-class',
CONCEPTUAL = 'concept',
CC_SYSTEM = 'rslang-rsform',
CC_CONSTITUENTA = 'rslang-cst',
CC_RELATIONS = 'rslang-relations',
RSLANG = 'rslang', RSLANG = 'rslang',
CONSTITUENTA = 'constituenta', RSL_TYPES = 'rslang-types',
RSTEMPLATES = 'rstemplates', RSL_CORRECT = 'rslang-correctness',
RSL_INTERPRET = 'rslang-interpretation',
RSL_TEMPLATES = 'rslang-templates',
RSL_OPERATIONS = 'rslang-operations',
TERM_CONTROL = 'terminology-control', TERM_CONTROL = 'terminology-control',
VERSIONS = 'versions', VERSIONS = 'versions',
EXTEOR = 'exteor', EXTEOR = 'exteor',

View File

@ -74,7 +74,7 @@ function ConstituentaToolbar({
disabled={disabled || modified} disabled={disabled || modified}
onClick={onMoveDown} onClick={onMoveDown}
/> />
<BadgeHelp topic={HelpTopic.CST_EDITOR} offset={4} /> <BadgeHelp topic={HelpTopic.RSFORM_EDITOR} offset={4} />
</Overlay> </Overlay>
); );
} }

View File

@ -81,7 +81,7 @@ function RSFormToolbar({ modified, anonymous, subscribed, claimable, onSubmit, o
onClick={onDestroy} onClick={onDestroy}
/> />
) : null} ) : null}
<BadgeHelp topic={HelpTopic.RSFORM} offset={4} className='max-w-[32rem]' /> <BadgeHelp topic={HelpTopic.RSFORM_CARD} offset={4} className='max-w-[32rem]' />
</Overlay> </Overlay>
); );
} }

View File

@ -68,7 +68,7 @@ function RSListToolbar() {
disabled={controller.isProcessing || controller.nothingSelected} disabled={controller.isProcessing || controller.nothingSelected}
onClick={controller.deleteCst} onClick={controller.deleteCst}
/> />
<BadgeHelp topic={HelpTopic.CST_LIST} offset={5} /> <BadgeHelp topic={HelpTopic.RSFORM_LIST} offset={5} />
</Overlay> </Overlay>
); );
} }

View File

@ -360,17 +360,27 @@ export function labelHelpTopic(topic: HelpTopic): string {
switch (topic) { switch (topic) {
case HelpTopic.MAIN: return 'Портал'; case HelpTopic.MAIN: return 'Портал';
case HelpTopic.LIBRARY: return 'Библиотека'; case HelpTopic.INTERFACE: return 'Интерфейс';
case HelpTopic.RSFORM: return '- карточка схемы'; case HelpTopic.LIBRARY: return '- библиотека';
case HelpTopic.CST_LIST: return '- список конституент'; case HelpTopic.RSFORM_UI: return '- концептуальная схема';
case HelpTopic.CST_EDITOR: return '- редактор конституенты'; case HelpTopic.RSFORM_CARD: return '= карточка схемы';
case HelpTopic.GRAPH_TERM: return '- граф термов'; case HelpTopic.RSFORM_LIST: return '= список конституент';
case HelpTopic.CST_STATUS: return '- статус конституенты'; case HelpTopic.RSFORM_EDITOR: return '= редактор конституенты';
case HelpTopic.CST_CLASS: return '- класс конституенты'; case HelpTopic.GRAPH_TERM: return '= граф термов';
case HelpTopic.CST_STATUS: return '= статус конституенты';
case HelpTopic.CST_CLASS: return '= класс конституенты';
case HelpTopic.CONCEPTUAL: return 'Концептуализация';
case HelpTopic.CC_SYSTEM: return '- система определений';
case HelpTopic.CC_CONSTITUENTA: return '- конституента';
case HelpTopic.CC_RELATIONS: return '- связи понятий';
case HelpTopic.RSLANG: return 'Экспликация'; case HelpTopic.RSLANG: return 'Экспликация';
case HelpTopic.CONSTITUENTA: return '- конституента'; case HelpTopic.RSL_TYPES: return '- типизация';
case HelpTopic.RSTEMPLATES: return '- шаблоны выражений'; case HelpTopic.RSL_CORRECT: return '- переносимость';
case HelpTopic.RSL_INTERPRET: return '- интерпретируемость';
case HelpTopic.RSL_TEMPLATES: return '- шаблоны выражений';
case HelpTopic.RSL_OPERATIONS: return '- операции';
case HelpTopic.TERM_CONTROL: return 'Терминологизация'; case HelpTopic.TERM_CONTROL: return 'Терминологизация';
case HelpTopic.VERSIONS: return 'Версионирование'; case HelpTopic.VERSIONS: return 'Версионирование';
@ -388,17 +398,27 @@ export function describeHelpTopic(topic: HelpTopic): string {
switch (topic) { switch (topic) {
case HelpTopic.MAIN: return 'Общая справка по порталу'; case HelpTopic.MAIN: return 'Общая справка по порталу';
case HelpTopic.INTERFACE: return 'Описание интерфейса пользователя';
case HelpTopic.LIBRARY: return 'Интерфейс Библиотеки схем'; case HelpTopic.LIBRARY: return 'Интерфейс Библиотеки схем';
case HelpTopic.RSFORM: return 'Интерфейс Карточки схемы'; case HelpTopic.RSFORM_UI: return 'Просмотр и редактирование концептуальной схемы';
case HelpTopic.CST_LIST: return 'Интерфейс Списка конституент'; case HelpTopic.RSFORM_CARD: return 'Интерфейс Карточки схемы';
case HelpTopic.CST_EDITOR: return 'Интерфейс редактирования конституенты'; case HelpTopic.RSFORM_LIST: return 'Интерфейс Списка конституент';
case HelpTopic.RSFORM_EDITOR: return 'Интерфейс редактирования конституенты';
case HelpTopic.GRAPH_TERM: return 'Интерфейс графа термов'; case HelpTopic.GRAPH_TERM: return 'Интерфейс графа термов';
case HelpTopic.CST_STATUS: return 'Нотация отображения статуса конституенты'; case HelpTopic.CST_STATUS: return 'Нотация отображения статуса конституенты';
case HelpTopic.CST_CLASS: return 'Нотация отображения класса конституенты'; case HelpTopic.CST_CLASS: return 'Нотация отображения класса конституенты';
case HelpTopic.CONCEPTUAL: return 'Основы концептуализации и концептуального мышления';
case HelpTopic.CC_SYSTEM: return 'Концептуальная схема как система понятий';
case HelpTopic.CC_CONSTITUENTA: return 'Понятия конституенты и ее атрибутов';
case HelpTopic.CC_RELATIONS: return 'Отношения между конституентами';
case HelpTopic.RSLANG: return 'Справка по языку родов структур и экспликации'; case HelpTopic.RSLANG: return 'Справка по языку родов структур и экспликации';
case HelpTopic.CONSTITUENTA: return 'Понятия конституенты и ее атрибутов'; case HelpTopic.RSL_TYPES: return 'Система типов в родоструктурной экспликации';
case HelpTopic.RSTEMPLATES: return 'Работа с шаблонными выражениями'; case HelpTopic.RSL_CORRECT: return 'Корректность и переносимость определений';
case HelpTopic.RSL_INTERPRET: return 'Интерпретация формальных определений';
case HelpTopic.RSL_TEMPLATES: return 'Работа с шаблонными выражениями';
case HelpTopic.RSL_OPERATIONS: return 'Операции над концептуальными схемами';
case HelpTopic.TERM_CONTROL: return 'Справка по контролю терминов и текстовым отсылкам'; case HelpTopic.TERM_CONTROL: return 'Справка по контролю терминов и текстовым отсылкам';
case HelpTopic.VERSIONS: return 'Справка по управлению версиями схем'; case HelpTopic.VERSIONS: return 'Справка по управлению версиями схем';