mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 13:00:39 +03:00
Help topics and tooltips improvements
This commit is contained in:
parent
8c38297de7
commit
c00ad097d6
|
@ -36,7 +36,7 @@ function SelectGraphFilter({ value, dense, onChange }: SelectGraphFilterProps) {
|
||||||
<SelectorButton
|
<SelectorButton
|
||||||
transparent
|
transparent
|
||||||
tabIndex={-1}
|
tabIndex={-1}
|
||||||
title='Настройка фильтрации по графу термов'
|
titleHtml='Настройка фильтрации <br/>по графу термов'
|
||||||
hideTitle={menu.isOpen}
|
hideTitle={menu.isOpen}
|
||||||
className='h-full pr-2'
|
className='h-full pr-2'
|
||||||
icon={<DependencyIcon value={value} size='1rem' />}
|
icon={<DependencyIcon value={value} size='1rem' />}
|
||||||
|
|
|
@ -35,7 +35,7 @@ function SelectMatchMode({ value, dense, onChange }: SelectMatchModeProps) {
|
||||||
<div ref={menu.ref}>
|
<div ref={menu.ref}>
|
||||||
<SelectorButton
|
<SelectorButton
|
||||||
transparent
|
transparent
|
||||||
title='Настройка фильтрации по проверяемым атрибутам'
|
titleHtml='Настройка фильтрации <br/>по проверяемым атрибутам'
|
||||||
hideTitle={menu.isOpen}
|
hideTitle={menu.isOpen}
|
||||||
className='h-full pr-2'
|
className='h-full pr-2'
|
||||||
icon={<MatchModeIcon value={value} size='1rem' />}
|
icon={<MatchModeIcon value={value} size='1rem' />}
|
||||||
|
|
|
@ -92,7 +92,7 @@ function SelectTree<ItemType>({
|
||||||
value === item && 'clr-selected'
|
value === item && 'clr-selected'
|
||||||
)}
|
)}
|
||||||
data-tooltip-id={globals.tooltip}
|
data-tooltip-id={globals.tooltip}
|
||||||
data-tooltip-content={getDescription(item)}
|
data-tooltip-html={getDescription(item)}
|
||||||
onClick={event => handleSetValue(event, item)}
|
onClick={event => handleSetValue(event, item)}
|
||||||
initial={{ ...animateSideAppear.initial }}
|
initial={{ ...animateSideAppear.initial }}
|
||||||
animate={{ ...animateSideAppear.animate }}
|
animate={{ ...animateSideAppear.animate }}
|
||||||
|
|
|
@ -155,7 +155,7 @@ function DlgConstituentaTemplate({ hideWindow, schema, onCreate, insertAfter }:
|
||||||
<TabList className={clsx('mb-3 self-center', 'flex', 'border divide-x rounded-none')}>
|
<TabList className={clsx('mb-3 self-center', 'flex', 'border divide-x rounded-none')}>
|
||||||
<TabLabel label='Шаблон' title='Выбор шаблона выражения' className='w-[8rem]' />
|
<TabLabel label='Шаблон' title='Выбор шаблона выражения' className='w-[8rem]' />
|
||||||
<TabLabel label='Аргументы' title='Подстановка аргументов шаблона' className='w-[8rem]' />
|
<TabLabel label='Аргументы' title='Подстановка аргументов шаблона' className='w-[8rem]' />
|
||||||
<TabLabel label='Конституента' title='Редактирование атрибутов конституенты' className='w-[8rem]' />
|
<TabLabel label='Конституента' title='Редактирование конституенты' className='w-[8rem]' />
|
||||||
</TabList>
|
</TabList>
|
||||||
|
|
||||||
{templatePanel}
|
{templatePanel}
|
||||||
|
|
|
@ -27,7 +27,7 @@ function DlgGraphParams({ hideWindow, initial, onConfirm }: DlgGraphParamsProps)
|
||||||
header='Настройки графа термов'
|
header='Настройки графа термов'
|
||||||
onSubmit={handleSubmit}
|
onSubmit={handleSubmit}
|
||||||
submitText='Применить'
|
submitText='Применить'
|
||||||
className='flex gap-6 px-6 py-2 w-[35rem]'
|
className='flex gap-6 justify-between px-6 pb-3 w-[30rem]'
|
||||||
>
|
>
|
||||||
<div className='flex flex-col gap-1'>
|
<div className='flex flex-col gap-1'>
|
||||||
<h1 className='mb-2'>Преобразования</h1>
|
<h1 className='mb-2'>Преобразования</h1>
|
||||||
|
@ -45,13 +45,13 @@ function DlgGraphParams({ hideWindow, initial, onConfirm }: DlgGraphParamsProps)
|
||||||
/>
|
/>
|
||||||
<Checkbox
|
<Checkbox
|
||||||
label='Скрыть шаблоны'
|
label='Скрыть шаблоны'
|
||||||
title='Терм-функции и предикат-функции с параметризованными аргументами'
|
titleHtml='Терм-функции и предикат-функции <br/>с параметризованными аргументами'
|
||||||
value={params.noTemplates}
|
value={params.noTemplates}
|
||||||
setValue={value => updateParams({ noTemplates: value })}
|
setValue={value => updateParams({ noTemplates: value })}
|
||||||
/>
|
/>
|
||||||
<Checkbox
|
<Checkbox
|
||||||
label='Транзитивная редукция'
|
label='Транзитивная редукция'
|
||||||
title='Удалить связи, образующие транзитивные пути в графе'
|
titleHtml='Удалить связи, образующие <br/>транзитивные пути в графе'
|
||||||
value={params.noTransitive}
|
value={params.noTransitive}
|
||||||
setValue={value => updateParams({ noTransitive: value })}
|
setValue={value => updateParams({ noTransitive: value })}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -37,11 +37,6 @@ export type FontStyle = 'controls' | 'main' | 'math' | 'math2';
|
||||||
export enum HelpTopic {
|
export enum HelpTopic {
|
||||||
MAIN = 'main',
|
MAIN = 'main',
|
||||||
|
|
||||||
DOCS = 'documentation',
|
|
||||||
RULES = 'rules',
|
|
||||||
PRIVACY = 'privacy',
|
|
||||||
API = 'api',
|
|
||||||
|
|
||||||
INTERFACE = 'user-interface',
|
INTERFACE = 'user-interface',
|
||||||
UI_LIBRARY = 'ui-library',
|
UI_LIBRARY = 'ui-library',
|
||||||
UI_RS_MENU = 'ui-rsform-menu',
|
UI_RS_MENU = 'ui-rsform-menu',
|
||||||
|
@ -54,10 +49,11 @@ export enum HelpTopic {
|
||||||
UI_CST_CLASS = 'ui-rsform-cst-class',
|
UI_CST_CLASS = 'ui-rsform-cst-class',
|
||||||
|
|
||||||
CONCEPTUAL = 'concept',
|
CONCEPTUAL = 'concept',
|
||||||
CC_SYSTEM = 'rslang-rsform',
|
CC_SYSTEM = 'concept-rsform',
|
||||||
CC_CONSTITUENTA = 'rslang-cst',
|
CC_CONSTITUENTA = 'concept-constituenta',
|
||||||
CC_RELATIONS = 'rslang-relations',
|
CC_RELATIONS = 'concept-relations',
|
||||||
CC_SYNTHESIS = 'rslang-synthesis',
|
CC_SYNTHESIS = 'concept-synthesis',
|
||||||
|
CC_OSS = 'concept-operations-schema',
|
||||||
|
|
||||||
RSLANG = 'rslang',
|
RSLANG = 'rslang',
|
||||||
RSL_TYPES = 'rslang-types',
|
RSL_TYPES = 'rslang-types',
|
||||||
|
@ -69,6 +65,13 @@ export enum HelpTopic {
|
||||||
TERM_CONTROL = 'terminology-control',
|
TERM_CONTROL = 'terminology-control',
|
||||||
ACCESS = 'access',
|
ACCESS = 'access',
|
||||||
VERSIONS = 'versions',
|
VERSIONS = 'versions',
|
||||||
|
|
||||||
|
INFO = 'documentation',
|
||||||
|
INFO_RULES = 'rules',
|
||||||
|
INFO_CONTRIB = 'contributors',
|
||||||
|
INFO_PRIVACY = 'privacy',
|
||||||
|
INFO_API = 'api',
|
||||||
|
|
||||||
EXTEOR = 'exteor'
|
EXTEOR = 'exteor'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,11 +81,6 @@ export enum HelpTopic {
|
||||||
export const topicParent: Map<HelpTopic, HelpTopic> = new Map([
|
export const topicParent: Map<HelpTopic, HelpTopic> = new Map([
|
||||||
[HelpTopic.MAIN, HelpTopic.MAIN],
|
[HelpTopic.MAIN, HelpTopic.MAIN],
|
||||||
|
|
||||||
[HelpTopic.DOCS, HelpTopic.DOCS],
|
|
||||||
[HelpTopic.RULES, HelpTopic.DOCS],
|
|
||||||
[HelpTopic.API, HelpTopic.DOCS],
|
|
||||||
[HelpTopic.PRIVACY, HelpTopic.DOCS],
|
|
||||||
|
|
||||||
[HelpTopic.INTERFACE, HelpTopic.INTERFACE],
|
[HelpTopic.INTERFACE, HelpTopic.INTERFACE],
|
||||||
[HelpTopic.UI_LIBRARY, HelpTopic.INTERFACE],
|
[HelpTopic.UI_LIBRARY, HelpTopic.INTERFACE],
|
||||||
[HelpTopic.UI_RS_MENU, HelpTopic.INTERFACE],
|
[HelpTopic.UI_RS_MENU, HelpTopic.INTERFACE],
|
||||||
|
@ -99,6 +97,7 @@ export const topicParent: Map<HelpTopic, HelpTopic> = new Map([
|
||||||
[HelpTopic.CC_CONSTITUENTA, HelpTopic.CONCEPTUAL],
|
[HelpTopic.CC_CONSTITUENTA, HelpTopic.CONCEPTUAL],
|
||||||
[HelpTopic.CC_RELATIONS, HelpTopic.CONCEPTUAL],
|
[HelpTopic.CC_RELATIONS, HelpTopic.CONCEPTUAL],
|
||||||
[HelpTopic.CC_SYNTHESIS, HelpTopic.CONCEPTUAL],
|
[HelpTopic.CC_SYNTHESIS, HelpTopic.CONCEPTUAL],
|
||||||
|
[HelpTopic.CC_OSS, HelpTopic.CONCEPTUAL],
|
||||||
|
|
||||||
[HelpTopic.RSLANG, HelpTopic.RSLANG],
|
[HelpTopic.RSLANG, HelpTopic.RSLANG],
|
||||||
[HelpTopic.RSL_TYPES, HelpTopic.RSLANG],
|
[HelpTopic.RSL_TYPES, HelpTopic.RSLANG],
|
||||||
|
@ -110,13 +109,20 @@ export const topicParent: Map<HelpTopic, HelpTopic> = new Map([
|
||||||
[HelpTopic.TERM_CONTROL, HelpTopic.TERM_CONTROL],
|
[HelpTopic.TERM_CONTROL, HelpTopic.TERM_CONTROL],
|
||||||
[HelpTopic.ACCESS, HelpTopic.ACCESS],
|
[HelpTopic.ACCESS, HelpTopic.ACCESS],
|
||||||
[HelpTopic.VERSIONS, HelpTopic.VERSIONS],
|
[HelpTopic.VERSIONS, HelpTopic.VERSIONS],
|
||||||
|
|
||||||
|
[HelpTopic.INFO, HelpTopic.INFO],
|
||||||
|
[HelpTopic.INFO_RULES, HelpTopic.INFO],
|
||||||
|
[HelpTopic.INFO_CONTRIB, HelpTopic.INFO],
|
||||||
|
[HelpTopic.INFO_PRIVACY, HelpTopic.INFO],
|
||||||
|
[HelpTopic.INFO_API, HelpTopic.INFO],
|
||||||
|
|
||||||
[HelpTopic.EXTEOR, HelpTopic.EXTEOR]
|
[HelpTopic.EXTEOR, HelpTopic.EXTEOR]
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Topics that can be folded.
|
* Topics that can be folded.
|
||||||
*/
|
*/
|
||||||
export const foldableTopics = [HelpTopic.INTERFACE, HelpTopic.RSLANG, HelpTopic.CONCEPTUAL, HelpTopic.DOCS];
|
export const foldableTopics = [HelpTopic.INTERFACE, HelpTopic.RSLANG, HelpTopic.CONCEPTUAL, HelpTopic.INFO];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents {@link IConstituenta} matching mode.
|
* Represents {@link IConstituenta} matching mode.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { HelpTopic } from '@/models/miscellaneous';
|
import { HelpTopic } from '@/models/miscellaneous';
|
||||||
import { describeHelpTopic, labelHelpTopic } from '@/utils/labels';
|
import { describeHelpTopic, labelHelpTopic, removeTags } from '@/utils/labels';
|
||||||
|
|
||||||
import LinkTopic from '../../components/ui/LinkTopic';
|
import LinkTopic from '../../components/ui/LinkTopic';
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ interface TopicItemProps {
|
||||||
function TopicItem({ topic }: TopicItemProps) {
|
function TopicItem({ topic }: TopicItemProps) {
|
||||||
return (
|
return (
|
||||||
<li>
|
<li>
|
||||||
<LinkTopic text={labelHelpTopic(topic)} topic={topic} /> – {describeHelpTopic(topic)}
|
<LinkTopic text={labelHelpTopic(topic)} topic={topic} /> – {removeTags(describeHelpTopic(topic))}
|
||||||
</li>
|
</li>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,15 +6,17 @@ import HelpConcept from './items/HelpConcept';
|
||||||
import HelpConceptRelations from './items/HelpConceptRelations';
|
import HelpConceptRelations from './items/HelpConceptRelations';
|
||||||
import HelpConceptSynthesis from './items/HelpConceptSynthesis';
|
import HelpConceptSynthesis from './items/HelpConceptSynthesis';
|
||||||
import HelpConceptSystem from './items/HelpConceptSystem';
|
import HelpConceptSystem from './items/HelpConceptSystem';
|
||||||
|
import HelpContributors from './items/HelpContributors';
|
||||||
import HelpCstAttributes from './items/HelpCstAttributes';
|
import HelpCstAttributes from './items/HelpCstAttributes';
|
||||||
import HelpCstClass from './items/HelpCstClass';
|
import HelpCstClass from './items/HelpCstClass';
|
||||||
import HelpCstEditor from './items/HelpCstEditor';
|
import HelpCstEditor from './items/HelpCstEditor';
|
||||||
import HelpCstStatus from './items/HelpCstStatus';
|
import HelpCstStatus from './items/HelpCstStatus';
|
||||||
import HelpDocs from './items/HelpDocs';
|
|
||||||
import HelpExteor from './items/HelpExteor';
|
import HelpExteor from './items/HelpExteor';
|
||||||
import HelpFormulaTree from './items/HelpFormulaTree';
|
import HelpFormulaTree from './items/HelpFormulaTree';
|
||||||
|
import HelpInfo from './items/HelpInfo';
|
||||||
import HelpInterface from './items/HelpInterface';
|
import HelpInterface from './items/HelpInterface';
|
||||||
import HelpLibrary from './items/HelpLibrary';
|
import HelpLibrary from './items/HelpLibrary';
|
||||||
|
import HelpOSS from './items/HelpOSS';
|
||||||
import HelpPortal from './items/HelpPortal';
|
import HelpPortal from './items/HelpPortal';
|
||||||
import HelpPrivacy from './items/HelpPrivacy';
|
import HelpPrivacy from './items/HelpPrivacy';
|
||||||
import HelpRSFormCard from './items/HelpRSFormCard';
|
import HelpRSFormCard from './items/HelpRSFormCard';
|
||||||
|
@ -38,11 +40,6 @@ interface TopicPageProps {
|
||||||
function TopicPage({ topic }: TopicPageProps) {
|
function TopicPage({ topic }: TopicPageProps) {
|
||||||
if (topic === HelpTopic.MAIN) return <HelpPortal />;
|
if (topic === HelpTopic.MAIN) return <HelpPortal />;
|
||||||
|
|
||||||
if (topic === HelpTopic.DOCS) return <HelpDocs />;
|
|
||||||
if (topic === HelpTopic.RULES) return <HelpRules />;
|
|
||||||
if (topic === HelpTopic.PRIVACY) return <HelpPrivacy />;
|
|
||||||
if (topic === HelpTopic.API) return <HelpAPI />;
|
|
||||||
|
|
||||||
if (topic === HelpTopic.INTERFACE) return <HelpInterface />;
|
if (topic === HelpTopic.INTERFACE) return <HelpInterface />;
|
||||||
if (topic === HelpTopic.UI_LIBRARY) return <HelpLibrary />;
|
if (topic === HelpTopic.UI_LIBRARY) return <HelpLibrary />;
|
||||||
if (topic === HelpTopic.UI_RS_MENU) return <HelpRSFormMenu />;
|
if (topic === HelpTopic.UI_RS_MENU) return <HelpRSFormMenu />;
|
||||||
|
@ -59,6 +56,7 @@ function TopicPage({ topic }: TopicPageProps) {
|
||||||
if (topic === HelpTopic.CC_CONSTITUENTA) return <HelpCstAttributes />;
|
if (topic === HelpTopic.CC_CONSTITUENTA) return <HelpCstAttributes />;
|
||||||
if (topic === HelpTopic.CC_RELATIONS) return <HelpConceptRelations />;
|
if (topic === HelpTopic.CC_RELATIONS) return <HelpConceptRelations />;
|
||||||
if (topic === HelpTopic.CC_SYNTHESIS) return <HelpConceptSynthesis />;
|
if (topic === HelpTopic.CC_SYNTHESIS) return <HelpConceptSynthesis />;
|
||||||
|
if (topic === HelpTopic.CC_OSS) return <HelpOSS />;
|
||||||
|
|
||||||
if (topic === HelpTopic.RSLANG) return <HelpRSLang />;
|
if (topic === HelpTopic.RSLANG) return <HelpRSLang />;
|
||||||
if (topic === HelpTopic.RSL_TYPES) return <HelpRSLangTypes />;
|
if (topic === HelpTopic.RSL_TYPES) return <HelpRSLangTypes />;
|
||||||
|
@ -70,6 +68,13 @@ function TopicPage({ topic }: TopicPageProps) {
|
||||||
if (topic === HelpTopic.TERM_CONTROL) return <HelpTerminologyControl />;
|
if (topic === HelpTopic.TERM_CONTROL) return <HelpTerminologyControl />;
|
||||||
if (topic === HelpTopic.ACCESS) return <HelpAccess />;
|
if (topic === HelpTopic.ACCESS) return <HelpAccess />;
|
||||||
if (topic === HelpTopic.VERSIONS) return <HelpVersions />;
|
if (topic === HelpTopic.VERSIONS) return <HelpVersions />;
|
||||||
|
|
||||||
|
if (topic === HelpTopic.INFO) return <HelpInfo />;
|
||||||
|
if (topic === HelpTopic.INFO_RULES) return <HelpRules />;
|
||||||
|
if (topic === HelpTopic.INFO_CONTRIB) return <HelpContributors />;
|
||||||
|
if (topic === HelpTopic.INFO_PRIVACY) return <HelpPrivacy />;
|
||||||
|
if (topic === HelpTopic.INFO_API) return <HelpAPI />;
|
||||||
|
|
||||||
if (topic === HelpTopic.EXTEOR) return <HelpExteor />;
|
if (topic === HelpTopic.EXTEOR) return <HelpExteor />;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
function HelpInfo() {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<h1>Благодарности участникам</h1>
|
||||||
|
<p>TBD.</p>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default HelpInfo;
|
|
@ -2,15 +2,15 @@ import { HelpTopic } from '@/models/miscellaneous';
|
||||||
|
|
||||||
import Subtopics from '../Subtopics';
|
import Subtopics from '../Subtopics';
|
||||||
|
|
||||||
function HelpDocs() {
|
function HelpInfo() {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<h1>Документы</h1>
|
<h1>Документы</h1>
|
||||||
<p>TBD.</p>
|
<p>TBD.</p>
|
||||||
|
|
||||||
<Subtopics headTopic={HelpTopic.DOCS} />
|
<Subtopics headTopic={HelpTopic.INFO} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default HelpDocs;
|
export default HelpInfo;
|
10
rsconcept/frontend/src/pages/ManualsPage/items/HelpOSS.tsx
Normal file
10
rsconcept/frontend/src/pages/ManualsPage/items/HelpOSS.tsx
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
function HelpOSS() {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<h1>Операционная схема синтеза</h1>
|
||||||
|
<p>TBD.</p>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default HelpOSS;
|
|
@ -39,7 +39,7 @@ function HelpPortal() {
|
||||||
|
|
||||||
<h2>Разделы Справки</h2>
|
<h2>Разделы Справки</h2>
|
||||||
{[
|
{[
|
||||||
HelpTopic.DOCS,
|
HelpTopic.INFO,
|
||||||
HelpTopic.INTERFACE,
|
HelpTopic.INTERFACE,
|
||||||
HelpTopic.CONCEPTUAL,
|
HelpTopic.CONCEPTUAL,
|
||||||
HelpTopic.RSLANG,
|
HelpTopic.RSLANG,
|
||||||
|
@ -55,7 +55,7 @@ function HelpPortal() {
|
||||||
<h2>Лицензирование и раскрытие информации</h2>
|
<h2>Лицензирование и раскрытие информации</h2>
|
||||||
<li>Пользователи Портала сохраняют авторские права на создаваемый ими контент</li>
|
<li>Пользователи Портала сохраняют авторские права на создаваемый ими контент</li>
|
||||||
<li>
|
<li>
|
||||||
Политика обработки данных доступна по <LinkTopic text='ссылке' topic={HelpTopic.PRIVACY} />
|
Политика обработки данных доступна по <LinkTopic text='ссылке' topic={HelpTopic.INFO_PRIVACY} />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Портал является проектом с открытым исходным кодом, доступным на{' '}
|
Портал является проектом с открытым исходным кодом, доступным на{' '}
|
||||||
|
|
|
@ -13,13 +13,15 @@ function VersionsToolbar() {
|
||||||
{controller.isMutable ? (
|
{controller.isMutable ? (
|
||||||
<>
|
<>
|
||||||
<MiniButton
|
<MiniButton
|
||||||
title={!controller.isContentEditable ? 'Откатить к версии' : 'Переключитесь на неактуальную версию'}
|
titleHtml={
|
||||||
|
!controller.isContentEditable ? 'Откатить к версии' : 'Переключитесь на <br/>неактуальную версию'
|
||||||
|
}
|
||||||
disabled={controller.isContentEditable}
|
disabled={controller.isContentEditable}
|
||||||
onClick={() => controller.restoreVersion()}
|
onClick={() => controller.restoreVersion()}
|
||||||
icon={<IconUpload size='1.25rem' className='icon-red' />}
|
icon={<IconUpload size='1.25rem' className='icon-red' />}
|
||||||
/>
|
/>
|
||||||
<MiniButton
|
<MiniButton
|
||||||
title={controller.isContentEditable ? 'Создать версию' : 'Переключитесь на актуальную версию'}
|
titleHtml={controller.isContentEditable ? 'Создать версию' : 'Переключитесь <br/>на актуальную версию'}
|
||||||
disabled={!controller.isContentEditable}
|
disabled={!controller.isContentEditable}
|
||||||
onClick={controller.createVersion}
|
onClick={controller.createVersion}
|
||||||
icon={<IconNewItem size='1.25rem' className='icon-green' />}
|
icon={<IconNewItem size='1.25rem' className='icon-green' />}
|
||||||
|
|
|
@ -209,7 +209,7 @@ function RSTabsMenu({ onDestroy }: RSTabsMenuProps) {
|
||||||
/>
|
/>
|
||||||
<DropdownButton
|
<DropdownButton
|
||||||
text='Встраивание'
|
text='Встраивание'
|
||||||
title='Импортировать совокупность конституент из другой схемы'
|
titleHtml='Импортировать совокупность <br/>конституент из другой схемы'
|
||||||
icon={<IconInlineSynthesis size='1rem' className='icon-green' />}
|
icon={<IconInlineSynthesis size='1rem' className='icon-green' />}
|
||||||
disabled={!controller.isContentEditable || controller.isProcessing}
|
disabled={!controller.isContentEditable || controller.isProcessing}
|
||||||
onClick={handleInlineSynthesis}
|
onClick={handleInlineSynthesis}
|
||||||
|
@ -217,28 +217,28 @@ function RSTabsMenu({ onDestroy }: RSTabsMenuProps) {
|
||||||
<DropdownButton
|
<DropdownButton
|
||||||
className='border-t-2'
|
className='border-t-2'
|
||||||
text='Упорядочить список'
|
text='Упорядочить список'
|
||||||
title='Упорядочить список конституент исходя из логики типов и связей конституент'
|
titleHtml='Упорядочить список, исходя из <br/>логики типов и связей конституент'
|
||||||
icon={<IconSortList size='1rem' className='icon-primary' />}
|
icon={<IconSortList size='1rem' className='icon-primary' />}
|
||||||
disabled={!controller.isContentEditable || controller.isProcessing}
|
disabled={!controller.isContentEditable || controller.isProcessing}
|
||||||
onClick={handleRestoreOrder}
|
onClick={handleRestoreOrder}
|
||||||
/>
|
/>
|
||||||
<DropdownButton
|
<DropdownButton
|
||||||
text='Порядковые имена'
|
text='Порядковые имена'
|
||||||
title='Присвоить порядковые имена и обновить выражения'
|
titleHtml='Присвоить порядковые имена <br/>и обновить выражения'
|
||||||
icon={<IconGenerateNames size='1rem' className='icon-primary' />}
|
icon={<IconGenerateNames size='1rem' className='icon-primary' />}
|
||||||
disabled={!controller.isContentEditable || controller.isProcessing}
|
disabled={!controller.isContentEditable || controller.isProcessing}
|
||||||
onClick={handleReindex}
|
onClick={handleReindex}
|
||||||
/>
|
/>
|
||||||
<DropdownButton
|
<DropdownButton
|
||||||
text='Порождение структуры'
|
text='Порождение структуры'
|
||||||
title='Раскрыть структуру типизации выделенной конституенты'
|
titleHtml='Раскрыть структуру типизации <br/>выделенной конституенты'
|
||||||
icon={<IconGenerateStructure size='1rem' className='icon-primary' />}
|
icon={<IconGenerateStructure size='1rem' className='icon-primary' />}
|
||||||
disabled={!controller.isContentEditable || !controller.canProduceStructure}
|
disabled={!controller.isContentEditable || !controller.canProduceStructure}
|
||||||
onClick={handleProduceStructure}
|
onClick={handleProduceStructure}
|
||||||
/>
|
/>
|
||||||
<DropdownButton
|
<DropdownButton
|
||||||
text='Отождествление'
|
text='Отождествление'
|
||||||
title='Заменить вхождения одной конституенты на другую'
|
titleHtml='Заменить вхождения <br/>одной конституенты на другую'
|
||||||
icon={<IconReplace size='1rem' className='icon-red' />}
|
icon={<IconReplace size='1rem' className='icon-red' />}
|
||||||
onClick={handleSubstituteCst}
|
onClick={handleSubstituteCst}
|
||||||
disabled={!controller.isContentEditable || controller.isProcessing}
|
disabled={!controller.isContentEditable || controller.isProcessing}
|
||||||
|
|
|
@ -163,11 +163,11 @@ function RegisterPage() {
|
||||||
|
|
||||||
<div className='flex gap-1 text-sm'>
|
<div className='flex gap-1 text-sm'>
|
||||||
<Checkbox id='accept_terms' label='Принимаю условия' value={acceptPrivacy} setValue={setAcceptPrivacy} />
|
<Checkbox id='accept_terms' label='Принимаю условия' value={acceptPrivacy} setValue={setAcceptPrivacy} />
|
||||||
<TextURL text='обработки персональных данных...' href={urls.help_topic(HelpTopic.PRIVACY)} />
|
<TextURL text='обработки персональных данных...' href={urls.help_topic(HelpTopic.INFO_PRIVACY)} />
|
||||||
</div>
|
</div>
|
||||||
<div className='flex gap-1 text-sm'>
|
<div className='flex gap-1 text-sm'>
|
||||||
<Checkbox id='accept_rules' label='Принимаю ' value={acceptRules} setValue={setAcceptRules} />
|
<Checkbox id='accept_rules' label='Принимаю ' value={acceptRules} setValue={setAcceptRules} />
|
||||||
<TextURL text='правила поведения на Портале...' href={urls.help_topic(HelpTopic.RULES)} />
|
<TextURL text='правила поведения на Портале...' href={urls.help_topic(HelpTopic.INFO_RULES)} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className='flex justify-around my-3'>
|
<div className='flex justify-around my-3'>
|
||||||
|
|
|
@ -19,6 +19,16 @@ import {
|
||||||
} from '@/models/rslang';
|
} from '@/models/rslang';
|
||||||
import { UserLevel } from '@/models/user';
|
import { UserLevel } from '@/models/user';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove html tags from target string.
|
||||||
|
*/
|
||||||
|
export function removeTags(target?: string): string {
|
||||||
|
if (!target) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
return target.toString().replace(/(<([^>]+)>)/gi, '');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates description for {@link IConstituenta}.
|
* Generates description for {@link IConstituenta}.
|
||||||
*/
|
*/
|
||||||
|
@ -352,11 +362,6 @@ export function labelHelpTopic(topic: HelpTopic): string {
|
||||||
switch (topic) {
|
switch (topic) {
|
||||||
case HelpTopic.MAIN: return 'Портал';
|
case HelpTopic.MAIN: return 'Портал';
|
||||||
|
|
||||||
case HelpTopic.DOCS: return 'Документы';
|
|
||||||
case HelpTopic.RULES: return 'Правила';
|
|
||||||
case HelpTopic.PRIVACY: return 'Обработка данных';
|
|
||||||
case HelpTopic.API: return 'REST API';
|
|
||||||
|
|
||||||
case HelpTopic.INTERFACE: return 'Интерфейс';
|
case HelpTopic.INTERFACE: return 'Интерфейс';
|
||||||
case HelpTopic.UI_LIBRARY: return 'Библиотека';
|
case HelpTopic.UI_LIBRARY: return 'Библиотека';
|
||||||
case HelpTopic.UI_RS_MENU: return 'Меню схемы';
|
case HelpTopic.UI_RS_MENU: return 'Меню схемы';
|
||||||
|
@ -373,17 +378,25 @@ export function labelHelpTopic(topic: HelpTopic): string {
|
||||||
case HelpTopic.CC_CONSTITUENTA: return 'Конституента';
|
case HelpTopic.CC_CONSTITUENTA: return 'Конституента';
|
||||||
case HelpTopic.CC_RELATIONS: return 'Связи понятий';
|
case HelpTopic.CC_RELATIONS: return 'Связи понятий';
|
||||||
case HelpTopic.CC_SYNTHESIS: return 'Синтез схем';
|
case HelpTopic.CC_SYNTHESIS: return 'Синтез схем';
|
||||||
|
case HelpTopic.CC_OSS: return 'Операционная схема';
|
||||||
|
|
||||||
case HelpTopic.RSLANG: return 'Экспликация';
|
case HelpTopic.RSLANG: return 'Экспликация';
|
||||||
case HelpTopic.RSL_TYPES: return 'Типизация';
|
case HelpTopic.RSL_TYPES: return 'Типизация';
|
||||||
case HelpTopic.RSL_CORRECT: return 'Переносимость';
|
case HelpTopic.RSL_CORRECT: return 'Переносимость';
|
||||||
case HelpTopic.RSL_INTERPRET: return 'Интерпретируемость';
|
case HelpTopic.RSL_INTERPRET: return 'Интерпретируемость';
|
||||||
case HelpTopic.RSL_OPERATIONS: return 'Операции';
|
case HelpTopic.RSL_OPERATIONS: return 'Операции';
|
||||||
case HelpTopic.RSL_TEMPLATES: return 'Шаблоны выражений';
|
case HelpTopic.RSL_TEMPLATES: return 'Банк выражений';
|
||||||
|
|
||||||
case HelpTopic.TERM_CONTROL: return 'Терминологизация';
|
case HelpTopic.TERM_CONTROL: return 'Терминологизация';
|
||||||
case HelpTopic.ACCESS: return 'Доступы';
|
case HelpTopic.ACCESS: return 'Доступы';
|
||||||
case HelpTopic.VERSIONS: 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 'Экстеор';
|
case HelpTopic.EXTEOR: return 'Экстеор';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -396,39 +409,42 @@ export function describeHelpTopic(topic: HelpTopic): string {
|
||||||
switch (topic) {
|
switch (topic) {
|
||||||
case HelpTopic.MAIN: return 'общая справка по порталу';
|
case HelpTopic.MAIN: return 'общая справка по порталу';
|
||||||
|
|
||||||
case HelpTopic.DOCS: return 'нормативные и технические документы';
|
|
||||||
case HelpTopic.RULES: return 'правила пользования Порталом';
|
|
||||||
case HelpTopic.PRIVACY: return 'политика обработки персональных данных';
|
|
||||||
case HelpTopic.API: return 'интерфейс для разработчиков';
|
|
||||||
|
|
||||||
case HelpTopic.INTERFACE: return 'описание интерфейса пользователя';
|
case HelpTopic.INTERFACE: return 'описание интерфейса пользователя';
|
||||||
case HelpTopic.UI_LIBRARY: return 'интерфейс Библиотеки схем';
|
case HelpTopic.UI_LIBRARY: return 'поиск и просмотр схем';
|
||||||
case HelpTopic.UI_RS_MENU: return 'меню редактирования схемы';
|
case HelpTopic.UI_RS_MENU: return 'меню редактирования схемы';
|
||||||
case HelpTopic.UI_RS_CARD: return 'интерфейс Карточки схемы';
|
case HelpTopic.UI_RS_CARD: return 'общие атрибуты схемы';
|
||||||
case HelpTopic.UI_RS_LIST: return 'интерфейс Списка конституент';
|
case HelpTopic.UI_RS_LIST: return 'концептуальная схема <br/>в форме таблицы';
|
||||||
case HelpTopic.UI_RS_EDITOR: return 'интерфейс редактирования конституенты';
|
case HelpTopic.UI_RS_EDITOR: return 'редактирование конституенты';
|
||||||
case HelpTopic.UI_GRAPH_TERM: return 'интерфейс графа термов';
|
case HelpTopic.UI_GRAPH_TERM: return 'интерфейс графа термов';
|
||||||
case HelpTopic.UI_FORMULA_TREE: return 'интерфейс дерева разбора родоструктурного выражения';
|
case HelpTopic.UI_FORMULA_TREE: return 'просмотр дерева разбора <br/>родоструктурного выражения';
|
||||||
case HelpTopic.UI_CST_STATUS: return 'нотация отображения статуса конституенты';
|
case HelpTopic.UI_CST_STATUS: return 'нотация статуса конституенты';
|
||||||
case HelpTopic.UI_CST_CLASS: return 'нотация отображения класса конституенты';
|
case HelpTopic.UI_CST_CLASS: return 'нотация класса конституенты';
|
||||||
|
|
||||||
case HelpTopic.CONCEPTUAL: return 'основы концептуализации и концептуального мышления';
|
case HelpTopic.CONCEPTUAL: return 'основы концептуализации';
|
||||||
case HelpTopic.CC_SYSTEM: return 'концептуальная схема как система понятий';
|
case HelpTopic.CC_SYSTEM: return 'концептуальная схема <br/>как система понятий';
|
||||||
case HelpTopic.CC_CONSTITUENTA: return 'понятия конституенты и ее атрибутов';
|
case HelpTopic.CC_CONSTITUENTA: return 'понятия конституенты и ее атрибутов';
|
||||||
case HelpTopic.CC_RELATIONS: return 'отношения между конституентами';
|
case HelpTopic.CC_RELATIONS: return 'отношения между конституентами';
|
||||||
case HelpTopic.CC_SYNTHESIS: return 'операция синтеза концептуальных схем';
|
case HelpTopic.CC_SYNTHESIS: return 'операция синтеза концептуальных схем';
|
||||||
|
case HelpTopic.CC_OSS: return 'операционная схема синтеза <br/>и протаскивание изменений';
|
||||||
|
|
||||||
case HelpTopic.RSLANG: return 'справка по языку родов структур и экспликации';
|
case HelpTopic.RSLANG: return 'экспликация и язык родов структур';
|
||||||
case HelpTopic.RSL_TYPES: return 'система типов в родоструктурной экспликации';
|
case HelpTopic.RSL_TYPES: return 'система типов в <br/>родоструктурной экспликации';
|
||||||
case HelpTopic.RSL_CORRECT: return 'корректность и переносимость определений';
|
case HelpTopic.RSL_CORRECT: return 'биективная переносимость';
|
||||||
case HelpTopic.RSL_INTERPRET: return 'интерпретация формальных определений';
|
case HelpTopic.RSL_INTERPRET: return 'интерпретация определений <br/>и утверждений';
|
||||||
case HelpTopic.RSL_OPERATIONS: return 'операции над концептуальными схемами';
|
case HelpTopic.RSL_OPERATIONS: return 'формальные операции';
|
||||||
case HelpTopic.RSL_TEMPLATES: return 'работа с шаблонными выражениями';
|
case HelpTopic.RSL_TEMPLATES: return 'применение Банка выражений';
|
||||||
|
|
||||||
case HelpTopic.TERM_CONTROL: return 'справка по контролю терминов и текстовым отсылкам';
|
case HelpTopic.TERM_CONTROL: return 'контроль терминов и текстовых отсылок';
|
||||||
case HelpTopic.ACCESS: return 'организация доступов к схемам';
|
case HelpTopic.ACCESS: return 'организация доступов к схемам';
|
||||||
case HelpTopic.VERSIONS: return 'справка по управлению версиями схем';
|
case HelpTopic.VERSIONS: return 'справка по управлению версиями схем';
|
||||||
case HelpTopic.EXTEOR: return 'справка по программе для экспликации "Экстеор" для Windows';
|
|
||||||
|
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';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user