);
}
export default Footer;
diff --git a/rsconcept/frontend/src/components/Help/ConstituentaTooltip.tsx b/rsconcept/frontend/src/components/Help/ConstituentaTooltip.tsx
index e7cb75d3..eefaa18c 100644
--- a/rsconcept/frontend/src/components/Help/ConstituentaTooltip.tsx
+++ b/rsconcept/frontend/src/components/Help/ConstituentaTooltip.tsx
@@ -9,13 +9,12 @@ interface ConstituentaTooltipProps {
function ConstituentaTooltip({ data, anchor }: ConstituentaTooltipProps) {
return (
-
);
}
export default ConstituentaTooltip;
diff --git a/rsconcept/frontend/src/components/Help/HelpButton.tsx b/rsconcept/frontend/src/components/Help/HelpButton.tsx
new file mode 100644
index 00000000..9d43208b
--- /dev/null
+++ b/rsconcept/frontend/src/components/Help/HelpButton.tsx
@@ -0,0 +1,38 @@
+import { HelpTopic } from '../../models/miscelanious';
+import ConceptTooltip from '../Common/ConceptTooltip';
+import TextURL from '../Common/TextURL';
+import { HelpIcon } from '../Icons';
+import InfoTopic from './InfoTopic';
+
+interface HelpButtonProps {
+ topic: HelpTopic
+ offset?: number
+ dimensions?: string
+}
+
+function HelpButton({ topic, offset, dimensions }: HelpButtonProps) {
+ return (
+ <>
+
+ >);
+}
+
+export default HelpButton;
diff --git a/rsconcept/frontend/src/components/Help/HelpTerminologyControl.tsx b/rsconcept/frontend/src/components/Help/HelpTerminologyControl.tsx
index 1cb2ac4d..03360fb3 100644
--- a/rsconcept/frontend/src/components/Help/HelpTerminologyControl.tsx
+++ b/rsconcept/frontend/src/components/Help/HelpTerminologyControl.tsx
@@ -2,7 +2,7 @@
function HelpTerminologyControl() {
return (
-
Терминологизация: Контроль терминологии
+
Терминологизация
Портал позволяет контролировать употребление терминов, привязанных к сущностям в концептуальных схемах.
Для этого используется механизм текстовых отсылок: использование термина и связывание слов.
При отсылке к термину указывается параметры словоформы так, обеспечивающие корректное согласование слов.
diff --git a/rsconcept/frontend/src/components/Help/InfoTopic.tsx b/rsconcept/frontend/src/components/Help/InfoTopic.tsx
new file mode 100644
index 00000000..50f55c03
--- /dev/null
+++ b/rsconcept/frontend/src/components/Help/InfoTopic.tsx
@@ -0,0 +1,33 @@
+import { HelpTopic } from '../../models/miscelanious';
+import HelpAPI from './HelpAPI';
+import HelpConstituenta from './HelpConstituenta';
+import HelpExteor from './HelpExteor';
+import HelpLibrary from './HelpLibrary';
+import HelpMain from './HelpMain';
+import HelpRSFormItems from './HelpRSFormItems';
+import HelpRSFormMeta from './HelpRSFormMeta';
+import HelpRSLang from './HelpRSLang';
+import HelpRSTemplates from './HelpRSTemplates';
+import HelpTermGraph from './HelpTermGraph';
+import HelpTerminologyControl from './HelpTerminologyControl';
+
+interface InfoTopicProps {
+ topic: HelpTopic
+}
+
+function InfoTopic({ topic }: InfoTopicProps) {
+ if (topic === HelpTopic.MAIN) return
;
+ if (topic === HelpTopic.LIBRARY) return
;
+ if (topic === HelpTopic.RSFORM) return
;
+ if (topic === HelpTopic.CSTLIST) return
;
+ if (topic === HelpTopic.CONSTITUENTA) return
;
+ if (topic === HelpTopic.GRAPH_TERM) return
;
+ if (topic === HelpTopic.RSTEMPLATES) return
;
+ if (topic === HelpTopic.RSLANG) return
;
+ if (topic === HelpTopic.TERM_CONTROL) return
;
+ if (topic === HelpTopic.EXTEOR) return
;
+ if (topic === HelpTopic.API) return
;
+ return null;
+}
+
+export default InfoTopic;
diff --git a/rsconcept/frontend/src/components/Icons.tsx b/rsconcept/frontend/src/components/Icons.tsx
index 6a8f7cf3..fa3e21f5 100644
--- a/rsconcept/frontend/src/components/Icons.tsx
+++ b/rsconcept/frontend/src/components/Icons.tsx
@@ -14,26 +14,25 @@ export interface IconProps {
}
function IconSVG({ viewbox, size = 6, color, props, children }: IconSVGProps) {
- const width = `${size * 1 / 4}rem`
+ const width = `${size * 1 / 4}rem`;
return (
-
- );
+
);
}
export function MagnifyingGlassIcon({ size, ...props }: IconProps) {
return (
-
-
-
+
+
+
);
}
diff --git a/rsconcept/frontend/src/components/Navigation/Logo.tsx b/rsconcept/frontend/src/components/Navigation/Logo.tsx
index 75e330eb..a36aa8ea 100644
--- a/rsconcept/frontend/src/components/Navigation/Logo.tsx
+++ b/rsconcept/frontend/src/components/Navigation/Logo.tsx
@@ -10,26 +10,25 @@ function Logo() {
const windowSize = useWindowSize();
return (
-
- {(windowSize.width && windowSize.width >= HIDE_LOGO_TEXT_LIMIT && !darkMode) ?
-

: null}
- {(windowSize.width && windowSize.width >= HIDE_LOGO_TEXT_LIMIT && darkMode) ?
-

: null}
- {(!windowSize.width || windowSize.width < HIDE_LOGO_TEXT_LIMIT) ?
-

: null}
-
- );
+
+ {(windowSize.width && windowSize.width >= HIDE_LOGO_TEXT_LIMIT && !darkMode) ?
+

: null}
+ {(windowSize.width && windowSize.width >= HIDE_LOGO_TEXT_LIMIT && darkMode) ?
+

: null}
+ {(!windowSize.width || windowSize.width < HIDE_LOGO_TEXT_LIMIT) ?
+

: null}
+ );
}
export default Logo;
diff --git a/rsconcept/frontend/src/components/Navigation/Navigation.tsx b/rsconcept/frontend/src/components/Navigation/Navigation.tsx
index f25dde2f..9fae5495 100644
--- a/rsconcept/frontend/src/components/Navigation/Navigation.tsx
+++ b/rsconcept/frontend/src/components/Navigation/Navigation.tsx
@@ -3,6 +3,7 @@ import { useConceptTheme } from '../../context/ThemeContext';
import { EducationIcon, LibraryIcon, PlusIcon } from '../Icons';
import Logo from './Logo'
import NavigationButton from './NavigationButton';
+import ToggleNavigationButton from './ToggleNavigationButton';
import UserMenu from './UserMenu';
function Navigation () {
@@ -14,52 +15,36 @@ function Navigation () {
const navigateCreateNew = () => navigateTo('/rsform-create');
return (
-
- );
+
);
}
export default Navigation;
diff --git a/rsconcept/frontend/src/components/Navigation/NavigationButton.tsx b/rsconcept/frontend/src/components/Navigation/NavigationButton.tsx
index 03827ce1..e5bb44ff 100644
--- a/rsconcept/frontend/src/components/Navigation/NavigationButton.tsx
+++ b/rsconcept/frontend/src/components/Navigation/NavigationButton.tsx
@@ -8,15 +8,14 @@ interface NavigationButtonProps {
function NavigationButton({ id, icon, description, onClick, text }: NavigationButtonProps) {
return (
-
- );
+
);
}
export default NavigationButton;
diff --git a/rsconcept/frontend/src/components/Navigation/ToggleNavigationButton.tsx b/rsconcept/frontend/src/components/Navigation/ToggleNavigationButton.tsx
new file mode 100644
index 00000000..0c0d6a80
--- /dev/null
+++ b/rsconcept/frontend/src/components/Navigation/ToggleNavigationButton.tsx
@@ -0,0 +1,28 @@
+interface ToggleNavigationButtonProps {
+ noNavigation?: boolean
+ toggleNoNavigation: () => void
+}
+
+function ToggleNavigationButton({ noNavigation, toggleNoNavigation }: ToggleNavigationButtonProps) {
+ if (noNavigation) {
+ return (
+
);
+ } else {
+ return (
+
);
+ }
+}
+
+export default ToggleNavigationButton;
\ No newline at end of file
diff --git a/rsconcept/frontend/src/components/Navigation/UserDropdown.tsx b/rsconcept/frontend/src/components/Navigation/UserDropdown.tsx
index f26946b0..55f436db 100644
--- a/rsconcept/frontend/src/components/Navigation/UserDropdown.tsx
+++ b/rsconcept/frontend/src/components/Navigation/UserDropdown.tsx
@@ -25,24 +25,23 @@ function UserDropdown({ hideDropdown }: UserDropdownProps) {
};
return (
-
-
- {user?.username}
-
-
- {darkMode ? 'Светлая тема' : 'Темная тема'}
-
-
- Выйти...
-
-
- );
+
+
+ {user?.username}
+
+
+ {darkMode ? 'Светлая тема' : 'Темная тема'}
+
+
+ Выйти...
+
+ );
}
export default UserDropdown;
diff --git a/rsconcept/frontend/src/components/Navigation/UserMenu.tsx b/rsconcept/frontend/src/components/Navigation/UserMenu.tsx
index 2ae7c1c0..a356aac2 100644
--- a/rsconcept/frontend/src/components/Navigation/UserMenu.tsx
+++ b/rsconcept/frontend/src/components/Navigation/UserMenu.tsx
@@ -12,28 +12,27 @@ function UserMenu() {
const navigateLogin = () => navigateTo('/login');
return (
-
-
- {!user ?
- }
- onClick={navigateLogin}
- /> : null}
- {user ?
- }
- onClick={menu.toggle}
- /> : null}
-
- {(user && menu.isActive) ?
-
menu.hide()}
- /> : null}
+
+
+ {!user ?
+ }
+ onClick={navigateLogin}
+ /> : null}
+ {user ?
+ }
+ onClick={menu.toggle}
+ /> : null}
- );
+ {(user && menu.isActive) ?
+
menu.hide()}
+ /> : null}
+ );
}
export default UserMenu;
diff --git a/rsconcept/frontend/src/components/RSInput/RSInput.tsx b/rsconcept/frontend/src/components/RSInput/RSInput.tsx
index 6b5a8157..17d11b61 100644
--- a/rsconcept/frontend/src/components/RSInput/RSInput.tsx
+++ b/rsconcept/frontend/src/components/RSInput/RSInput.tsx
@@ -118,12 +118,11 @@ function RSInput({
}, [thisRef]);
return (
-
+
{label ?
: null}
-
- );
+
);
}
export default RSInput;
diff --git a/rsconcept/frontend/src/components/RSInput/rslang/index.ts b/rsconcept/frontend/src/components/RSInput/rslang/index.ts
index 8278433b..3e756452 100644
--- a/rsconcept/frontend/src/components/RSInput/rslang/index.ts
+++ b/rsconcept/frontend/src/components/RSInput/rslang/index.ts
@@ -1,4 +1,4 @@
-import {LRLanguage} from '@codemirror/language'
+import {LRLanguage} from '@codemirror/language';
import { parser } from './parser';
import { Function, Global, Predicate } from './parser.terms';
diff --git a/rsconcept/frontend/src/components/RefsInput/RefsInput.tsx b/rsconcept/frontend/src/components/RefsInput/RefsInput.tsx
index 9c931939..cb2f1ae5 100644
--- a/rsconcept/frontend/src/components/RefsInput/RefsInput.tsx
+++ b/rsconcept/frontend/src/components/RefsInput/RefsInput.tsx
@@ -219,7 +219,6 @@ function RefsInput({
onKeyDown={handleInput}
onFocus={handleFocusIn}
onBlur={handleFocusOut}
- spellCheck
// spellCheck= // TODO: figure out while automatic spellcheck doesnt work or implement with extension
{...restProps}
/>
diff --git a/rsconcept/frontend/src/components/RefsInput/parse/index.ts b/rsconcept/frontend/src/components/RefsInput/parse/index.ts
index 47ee5022..653364ea 100644
--- a/rsconcept/frontend/src/components/RefsInput/parse/index.ts
+++ b/rsconcept/frontend/src/components/RefsInput/parse/index.ts
@@ -1,4 +1,4 @@
-import {LRLanguage} from '@codemirror/language'
+import {LRLanguage} from '@codemirror/language';
import { parser } from './parser';
import { RefEntity, RefSyntactic } from './parser.terms';
diff --git a/rsconcept/frontend/src/components/Shared/ConstituentaBadge.tsx b/rsconcept/frontend/src/components/Shared/ConstituentaBadge.tsx
index ba221ba7..9114530c 100644
--- a/rsconcept/frontend/src/components/Shared/ConstituentaBadge.tsx
+++ b/rsconcept/frontend/src/components/Shared/ConstituentaBadge.tsx
@@ -13,7 +13,8 @@ interface ConstituentaBadgeProps {
}
function ConstituentaBadge({ value, prefixID, shortTooltip, theme }: ConstituentaBadgeProps) {
- return (
+ return (
+
([]);
- const [ filterText, setFilterText ] = useState('');
+ const [filteredData, setFilteredData] = useState
([]);
+ const [filterText, setFilterText] = useState('');
useEffect(
() => {
diff --git a/rsconcept/frontend/src/components/Shared/SelectedCounter.tsx b/rsconcept/frontend/src/components/Shared/SelectedCounter.tsx
index fdce7cbb..166a3083 100644
--- a/rsconcept/frontend/src/components/Shared/SelectedCounter.tsx
+++ b/rsconcept/frontend/src/components/Shared/SelectedCounter.tsx
@@ -1,3 +1,5 @@
+import Overlay from '../Common/Overlay';
+
interface SelectedCounterProps {
total: number
selected: number
@@ -13,11 +15,12 @@ function SelectedCounter({
return null;
}
return (
-
-
+
Выбор {selected} из {total}
-
-
);
+ );
}
export default SelectedCounter;
\ No newline at end of file
diff --git a/rsconcept/frontend/src/context/AuthContext.tsx b/rsconcept/frontend/src/context/AuthContext.tsx
index 228df7ba..2dd3d7ae 100644
--- a/rsconcept/frontend/src/context/AuthContext.tsx
+++ b/rsconcept/frontend/src/context/AuthContext.tsx
@@ -114,10 +114,9 @@ export const AuthState = ({ children }: AuthStateProps) => {
}, [reload])
return (
-
- {children}
-
- );
+
+ {children}
+ );
};
diff --git a/rsconcept/frontend/src/context/LibraryContext.tsx b/rsconcept/frontend/src/context/LibraryContext.tsx
index 2fd63290..f9c5378a 100644
--- a/rsconcept/frontend/src/context/LibraryContext.tsx
+++ b/rsconcept/frontend/src/context/LibraryContext.tsx
@@ -43,14 +43,14 @@ interface LibraryStateProps {
}
export const LibraryState = ({ children }: LibraryStateProps) => {
- const [ items, setItems ] = useState([]);
- const [ templates, setTemplates ] = useState([]);
- const [ loading, setLoading ] = useState(false);
- const [ processing, setProcessing ] = useState(false);
- const [ error, setError ] = useState(undefined);
const { user } = useAuth();
- const [ cachedTemplates, setCachedTemplates ] = useState([]);
+ const [items, setItems] = useState([]);
+ const [templates, setTemplates] = useState([]);
+ const [loading, setLoading] = useState(false);
+ const [processing, setProcessing] = useState(false);
+ const [error, setError] = useState(undefined);
+ const [cachedTemplates, setCachedTemplates] = useState([]);
const applyFilter = useCallback(
(params: ILibraryFilter) => {
@@ -189,12 +189,11 @@ export const LibraryState = ({ children }: LibraryStateProps) => {
}, [reload, setError, user]);
return (
-
- { children }
-
- );
+
+ {children}
+ );
}
diff --git a/rsconcept/frontend/src/context/NagivationContext.tsx b/rsconcept/frontend/src/context/NagivationContext.tsx
index 4d9cf695..d37170f6 100644
--- a/rsconcept/frontend/src/context/NagivationContext.tsx
+++ b/rsconcept/frontend/src/context/NagivationContext.tsx
@@ -51,10 +51,9 @@ export const NavigationState = ({ children }: NavigationStateProps) => {
return (
-
- {children}
-
- );
+
+ {children}
+ );
}
diff --git a/rsconcept/frontend/src/context/RSFormContext.tsx b/rsconcept/frontend/src/context/RSFormContext.tsx
index 0c62ee87..3b7f7a64 100644
--- a/rsconcept/frontend/src/context/RSFormContext.tsx
+++ b/rsconcept/frontend/src/context/RSFormContext.tsx
@@ -1,23 +1,23 @@
-import { createContext, useCallback, useContext, useMemo, useState } from 'react'
+import { createContext, useCallback, useContext, useMemo, useState } from 'react';
-import { type ErrorInfo } from '../components/BackendError'
-import { useRSFormDetails } from '../hooks/useRSFormDetails'
-import { ILibraryItem } from '../models/library'
-import { ILibraryUpdateData } from '../models/library'
+import { type ErrorInfo } from '../components/BackendError';
+import { useRSFormDetails } from '../hooks/useRSFormDetails';
+import { ILibraryItem } from '../models/library';
+import { ILibraryUpdateData } from '../models/library';
import {
IConstituentaList, IConstituentaMeta, ICstCreateData,
ICstMovetoData, ICstRenameData, ICstUpdateData,
IRSForm, IRSFormUploadData
-} from '../models/rsform'
+} from '../models/rsform';
import {
type DataCallback, deleteUnsubscribe,
getTRSFile,
patchConstituenta, patchDeleteConstituenta,
patchLibraryItem,
patchMoveConstituenta, patchRenameConstituenta,
- patchResetAliases, patchUploadTRS, postClaimLibraryItem, postNewConstituenta, postSubscribe} from '../utils/backendAPI'
-import { useAuth } from './AuthContext'
-import { useLibrary } from './LibraryContext'
+ patchResetAliases, patchUploadTRS, postClaimLibraryItem, postNewConstituenta, postSubscribe} from '../utils/backendAPI';
+import { useAuth } from './AuthContext';
+import { useLibrary } from './LibraryContext';
interface IRSFormContext {
schema?: IRSForm
@@ -27,14 +27,14 @@ interface IRSFormContext {
processing: boolean
isMutable: boolean
- adminMode: boolean
isOwned: boolean
isClaimable: boolean
- isReadonly: boolean
isTracking: boolean
-
- toggleForceAdmin: () => void
- toggleReadonly: () => void
+
+ adminMode: boolean
+ toggleAdminMode: () => void
+ readerMode: boolean
+ toggleReaderMode: () => void
update: (data: ILibraryUpdateData, callback?: DataCallback) => void
claim: (callback?: DataCallback) => void
@@ -56,11 +56,9 @@ const RSFormContext = createContext(null)
export const useRSForm = () => {
const context = useContext(RSFormContext)
if (context === null) {
- throw new Error(
- 'useRSForm has to be used within '
- )
+ throw new Error('useRSForm has to be used within ');
}
- return context
+ return context;
}
interface RSFormStateProps {
@@ -72,11 +70,11 @@ export const RSFormState = ({ schemaID, children }: RSFormStateProps) => {
const library = useLibrary();
const { user } = useAuth();
const { schema, reload, error, setError, setSchema, loading } = useRSFormDetails({ target: schemaID });
- const [ processing, setProcessing ] = useState(false);
+ const [processing, setProcessing] = useState(false);
- const [ adminMode, setAdminMode ] = useState(false);
- const [ isReadonly, setIsReadonly ] = useState(false);
- const [ toggleTracking, setToggleTracking ] = useState(false);
+ const [adminMode, setAdminMode] = useState(false);
+ const [readerMode, setReaderMode] = useState(false);
+ const [toggleTracking, setToggleTracking] = useState(false);
const isOwned = useMemo(
() => {
@@ -91,10 +89,10 @@ export const RSFormState = ({ schemaID, children }: RSFormStateProps) => {
const isMutable = useMemo(
() => {
return (
- !loading && !processing && !isReadonly &&
+ !loading && !processing && !readerMode &&
((isOwned || (adminMode && user?.is_staff)) ?? false)
);
- }, [user?.is_staff, isReadonly, adminMode, isOwned, loading, processing]);
+ }, [user?.is_staff, readerMode, adminMode, isOwned, loading, processing]);
const isTracking = useMemo(
() => {
@@ -319,17 +317,16 @@ export const RSFormState = ({ schemaID, children }: RSFormStateProps) => {
}, [schemaID, setError, library, setSchema]);
return (
- setAdminMode(prev => !prev),
- toggleReadonly: () => setIsReadonly(prev => !prev),
- update, download, upload, claim, resetAliases, subscribe, unsubscribe,
- cstUpdate, cstCreate, cstRename, cstDelete, cstMoveTo
- }}>
- { children }
-
- );
+ setAdminMode(prev => !prev),
+ toggleReaderMode: () => setReaderMode(prev => !prev)
+ }}>
+ { children }
+ );
}
diff --git a/rsconcept/frontend/src/context/ThemeContext.tsx b/rsconcept/frontend/src/context/ThemeContext.tsx
index 75c7625d..0e38ad77 100644
--- a/rsconcept/frontend/src/context/ThemeContext.tsx
+++ b/rsconcept/frontend/src/context/ThemeContext.tsx
@@ -75,15 +75,14 @@ export const ThemeState = ({ children }: ThemeStateProps) => {
}, [noNavigation]);
return (
- setDarkMode(prev => !prev),
- toggleNoNavigation: () => setNoNavigation(prev => !prev),
- setNoFooter, setShowScroll,
- viewportHeight, mainHeight
- }}>
- {children}
-
- );
+ setDarkMode(prev => !prev),
+ toggleNoNavigation: () => setNoNavigation(prev => !prev),
+ setNoFooter, setShowScroll,
+ viewportHeight, mainHeight
+ }}>
+ {children}
+ );
}
diff --git a/rsconcept/frontend/src/context/UserProfileContext.tsx b/rsconcept/frontend/src/context/UserProfileContext.tsx
index 3bfa5d36..874341fc 100644
--- a/rsconcept/frontend/src/context/UserProfileContext.tsx
+++ b/rsconcept/frontend/src/context/UserProfileContext.tsx
@@ -68,7 +68,7 @@ export const UserProfileState = ({ children }: UserProfileStateProps) => {
if (callback) callback(newData);
}
});
- }, [setUser, users]);
+ }, [setUser, users, user?.id]);
useEffect(() => {
reload();
diff --git a/rsconcept/frontend/src/context/UsersContext.tsx b/rsconcept/frontend/src/context/UsersContext.tsx
index c8fd1ee2..0cb384b4 100644
--- a/rsconcept/frontend/src/context/UsersContext.tsx
+++ b/rsconcept/frontend/src/context/UsersContext.tsx
@@ -61,12 +61,11 @@ export const UsersState = ({ children }: UsersStateProps) => {
}, [reload]);
return (
-
- { children }
-
- );
+
+ { children }
+ );
}
diff --git a/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/DlgConstituentaTemplate.tsx b/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/DlgConstituentaTemplate.tsx
index 9081c557..b46f517a 100644
--- a/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/DlgConstituentaTemplate.tsx
+++ b/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/DlgConstituentaTemplate.tsx
@@ -2,11 +2,11 @@ import { useLayoutEffect, useState } from 'react';
import { TabList, TabPanel, Tabs } from 'react-tabs';
import ConceptTab from '../../components/Common/ConceptTab';
-import ConceptTooltip from '../../components/Common/ConceptTooltip';
import Modal, { ModalProps } from '../../components/Common/Modal';
-import HelpRSTemplates from '../../components/Help/HelpRSTemplates';
-import { HelpIcon } from '../../components/Icons';
+import Overlay from '../../components/Common/Overlay';
+import HelpButton from '../../components/Help/HelpButton';
import usePartialUpdate from '../../hooks/usePartialUpdate';
+import { HelpTopic } from '../../models/miscelanious';
import { CstType, ICstCreateData, IRSForm } from '../../models/rsform';
import { inferTemplatedType, substituteTemplateArgs } from '../../models/rslangAPI';
import { createAliasFor, validateCstAlias } from '../../utils/misc';
@@ -115,43 +115,33 @@ function DlgConstituentaTemplate({ hideWindow, schema, onCreate, insertAfter }:
onSubmit={handleSubmit}
submitText='Создать'
>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -177,7 +167,6 @@ function DlgConstituentaTemplate({ hideWindow, schema, onCreate, insertAfter }:
-
);
}
diff --git a/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/TemplateTab.tsx b/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/TemplateTab.tsx
index c7fd0e55..db44f72c 100644
--- a/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/TemplateTab.tsx
+++ b/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/TemplateTab.tsx
@@ -21,7 +21,7 @@ interface TemplateTabProps {
function TemplateTab({ state, partialUpdate }: TemplateTabProps) {
const { templates, retrieveTemplate } = useLibrary();
- const [ selectedSchema, setSelectedSchema ] = useState(undefined);
+ const [selectedSchema, setSelectedSchema] = useState(undefined);
const [filteredData, setFilteredData] = useState([]);
diff --git a/rsconcept/frontend/src/dialogs/DlgDeleteCst.tsx b/rsconcept/frontend/src/dialogs/DlgDeleteCst.tsx
index 496d21d5..49d85f3e 100644
--- a/rsconcept/frontend/src/dialogs/DlgDeleteCst.tsx
+++ b/rsconcept/frontend/src/dialogs/DlgDeleteCst.tsx
@@ -15,7 +15,7 @@ extends Pick {
function DlgDeleteCst({ hideWindow, selected, onDelete }: DlgDeleteCstProps) {
const { schema } = useRSForm();
- const [ expandOut, setExpandOut ] = useState(false);
+ const [expandOut, setExpandOut] = useState(false);
const expansion: number[] = useMemo(() => schema?.graph.expandOutputs(selected) ?? [], [selected, schema?.graph]);
function handleSubmit() {
@@ -28,11 +28,10 @@ function DlgDeleteCst({ hideWindow, selected, onDelete }: DlgDeleteCstProps) {
}
return (
-
diff --git a/rsconcept/frontend/src/dialogs/DlgEditReference/DlgEditReference.tsx b/rsconcept/frontend/src/dialogs/DlgEditReference/DlgEditReference.tsx
index 66db38d3..89cb981f 100644
--- a/rsconcept/frontend/src/dialogs/DlgEditReference/DlgEditReference.tsx
+++ b/rsconcept/frontend/src/dialogs/DlgEditReference/DlgEditReference.tsx
@@ -2,11 +2,11 @@ import { useState } from 'react';
import { TabList, TabPanel, Tabs } from 'react-tabs';
import ConceptTab from '../../components/Common/ConceptTab';
-import ConceptTooltip from '../../components/Common/ConceptTooltip';
import Modal from '../../components/Common/Modal';
-import HelpTerminologyControl from '../../components/Help/HelpTerminologyControl';
-import { HelpIcon } from '../../components/Icons';
+import Overlay from '../../components/Common/Overlay';
+import HelpButton from '../../components/Help/HelpButton';
import { ReferenceType } from '../../models/language';
+import { HelpTopic } from '../../models/miscelanious';
import { IConstituenta } from '../../models/rsform';
import { labelReferenceType } from '../../utils/labels';
import EntityTab from './EntityTab';
@@ -48,38 +48,28 @@ function DlgEditReference({ hideWindow, items, initial, onSave }: DlgEditReferen
canSubmit={isValid}
onSubmit={handleSubmit}
>
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
@@ -100,7 +90,6 @@ function DlgEditReference({ hideWindow, items, initial, onSave }: DlgEditReferen
-
);
}
diff --git a/rsconcept/frontend/src/dialogs/DlgEditWordForms.tsx b/rsconcept/frontend/src/dialogs/DlgEditWordForms.tsx
index ba4c61b0..8b0f49ac 100644
--- a/rsconcept/frontend/src/dialogs/DlgEditWordForms.tsx
+++ b/rsconcept/frontend/src/dialogs/DlgEditWordForms.tsx
@@ -1,17 +1,18 @@
import { useEffect, useLayoutEffect, useMemo, useState } from 'react';
-import ConceptTooltip from '../components/Common/ConceptTooltip';
import MiniButton from '../components/Common/MiniButton';
import Modal from '../components/Common/Modal';
+import Overlay from '../components/Common/Overlay';
import SelectMulti from '../components/Common/SelectMulti';
import TextArea from '../components/Common/TextArea';
import DataTable, { createColumnHelper } from '../components/DataTable';
-import HelpTerminologyControl from '../components/Help/HelpTerminologyControl';
-import { ArrowLeftIcon, ArrowRightIcon, CheckIcon, ChevronDoubleDownIcon, CrossIcon, HelpIcon } from '../components/Icons';
+import HelpButton from '../components/Help/HelpButton';
+import { ArrowLeftIcon, ArrowRightIcon, CheckIcon, ChevronDoubleDownIcon, CrossIcon } from '../components/Icons';
import { useConceptTheme } from '../context/ThemeContext';
import useConceptText from '../hooks/useConceptText';
import { Grammeme, ITextRequest, IWordForm, IWordFormPlain } from '../models/language';
import { getCompatibleGrams, parseGrammemes,wordFormEquals } from '../models/languageAPI';
+import { HelpTopic } from '../models/miscelanious';
import { IConstituenta, TermForm } from '../models/rsform';
import { colorfgGrammeme } from '../utils/color';
import { labelGrammeme } from '../utils/labels';
@@ -204,37 +205,22 @@ function DlgEditWordForms({ hideWindow, target, onSave }: DlgEditWordFormsProps)
], [colors]);
return (
-
-
-