From 83bf42ed570fe836c9c9283e8b849d9b27ae139d Mon Sep 17 00:00:00 2001 From: IRBorisov <8611739+IRBorisov@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:47:19 +0300 Subject: [PATCH] Add Versioning help --- .vscode/settings.json | 1 + .../src/components/Help/HelpVersions.tsx | 13 ++++++ .../frontend/src/components/InfoTopic.tsx | 2 + ...ePartialUpdate.tsx => usePartialUpdate.ts} | 0 .../frontend/src/models/miscellaneous.ts | 1 + .../RSFormPage/EditorRSForm/FormRSForm.tsx | 41 +++++++++++-------- rsconcept/frontend/src/utils/labels.ts | 2 + 7 files changed, 42 insertions(+), 18 deletions(-) create mode 100644 rsconcept/frontend/src/components/Help/HelpVersions.tsx rename rsconcept/frontend/src/hooks/{usePartialUpdate.tsx => usePartialUpdate.ts} (100%) diff --git a/.vscode/settings.json b/.vscode/settings.json index 12e2cfcf..4d20f1e9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -127,6 +127,7 @@ "Wordforms", "Булеан", "Бурбаки", + "Версионирование", "Десинглетон", "компаратив", "конституент", diff --git a/rsconcept/frontend/src/components/Help/HelpVersions.tsx b/rsconcept/frontend/src/components/Help/HelpVersions.tsx new file mode 100644 index 00000000..4cf27634 --- /dev/null +++ b/rsconcept/frontend/src/components/Help/HelpVersions.tsx @@ -0,0 +1,13 @@ +function HelpVersions() { + // prettier-ignore + return ( +
+

Версионирование схем

+

Версионирование позволяет сохранить текущее состояние схемы под определенным именем (версией) и использовать ссылку на него для совместной работы. После создания версии ее содержание изменить нельзя

+

Владелец обладает правом редактирования названий и создания новых версий

+

Управление версиями происходит в Карточке схемы

+

Для получения ссылки на конкретную версию необходимо выбрать ее в карточке и воспользоваться кнопкой Поделиться

+
); +} + +export default HelpVersions; diff --git a/rsconcept/frontend/src/components/InfoTopic.tsx b/rsconcept/frontend/src/components/InfoTopic.tsx index 8bfc360c..1e47fa51 100644 --- a/rsconcept/frontend/src/components/InfoTopic.tsx +++ b/rsconcept/frontend/src/components/InfoTopic.tsx @@ -12,6 +12,7 @@ import HelpRSLang from './Help/HelpRSLang'; import HelpRSTemplates from './Help/HelpRSTemplates'; import HelpTermGraph from './Help/HelpTermGraph'; import HelpTerminologyControl from './Help/HelpTerminologyControl'; +import HelpVersions from './Help/HelpVersions'; interface InfoTopicProps { topic: HelpTopic; @@ -27,6 +28,7 @@ function InfoTopic({ topic }: InfoTopicProps) { if (topic === HelpTopic.RSTEMPLATES) return ; if (topic === HelpTopic.RSLANG) return ; if (topic === HelpTopic.TERM_CONTROL) return ; + if (topic === HelpTopic.VERSIONS) return ; if (topic === HelpTopic.EXTEOR) return ; if (topic === HelpTopic.API) return ; if (topic === HelpTopic.PRIVACY) return ; diff --git a/rsconcept/frontend/src/hooks/usePartialUpdate.tsx b/rsconcept/frontend/src/hooks/usePartialUpdate.ts similarity index 100% rename from rsconcept/frontend/src/hooks/usePartialUpdate.tsx rename to rsconcept/frontend/src/hooks/usePartialUpdate.ts diff --git a/rsconcept/frontend/src/models/miscellaneous.ts b/rsconcept/frontend/src/models/miscellaneous.ts index 9f2df84e..faa09877 100644 --- a/rsconcept/frontend/src/models/miscellaneous.ts +++ b/rsconcept/frontend/src/models/miscellaneous.ts @@ -41,6 +41,7 @@ export enum HelpTopic { RSTEMPLATES = 'rstemplates', RSLANG = 'rslang', TERM_CONTROL = 'terminology-control', + VERSIONS = 'versions', EXTEOR = 'exteor', API = 'api', PRIVACY = 'privacy' diff --git a/rsconcept/frontend/src/pages/RSFormPage/EditorRSForm/FormRSForm.tsx b/rsconcept/frontend/src/pages/RSFormPage/EditorRSForm/FormRSForm.tsx index 387b3723..d8f01e64 100644 --- a/rsconcept/frontend/src/pages/RSFormPage/EditorRSForm/FormRSForm.tsx +++ b/rsconcept/frontend/src/pages/RSFormPage/EditorRSForm/FormRSForm.tsx @@ -6,6 +6,7 @@ import { FiSave } from 'react-icons/fi'; import { LuGitBranchPlus, LuPencilLine } from 'react-icons/lu'; import { toast } from 'react-toastify'; +import HelpButton from '@/components/Help/HelpButton'; import Checkbox from '@/components/ui/Checkbox'; import Label from '@/components/ui/Label'; import MiniButton from '@/components/ui/MiniButton'; @@ -17,6 +18,7 @@ import VersionSelector from '@/components/VersionSelector'; import { useAuth } from '@/context/AuthContext'; import { useRSForm } from '@/context/RSFormContext'; import { LibraryItemType } from '@/models/library'; +import { HelpTopic } from '@/models/miscellaneous'; import { IRSFormCreateData } from '@/models/rsform'; import { classnames, limits, patterns } from '@/utils/constants'; @@ -117,24 +119,27 @@ function FormRSForm({ id, isModified, setIsModified }: FormRSFormProps) { onChange={event => setAlias(event.target.value)} />
- {controller.isMutable || controller.isProcessing ? ( - - } - /> - } - /> - - ) : null} + + {controller.isMutable || controller.isProcessing ? ( + <> + } + /> + } + /> + + ) : null} + +