mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 13:00:39 +03:00
Decouple dialogs and pages
This commit is contained in:
parent
ce1cd7f6ca
commit
97a2585185
|
@ -1,6 +1,6 @@
|
|||
import ConceptTooltip from '../../../components/Common/ConceptTooltip';
|
||||
import InfoConstituenta from '../../../components/Help/InfoConstituenta';
|
||||
import { IConstituenta } from '../../../models/rsform';
|
||||
import { IConstituenta } from '../../models/rsform';
|
||||
import ConceptTooltip from '../Common/ConceptTooltip';
|
||||
import InfoConstituenta from './InfoConstituenta';
|
||||
|
||||
interface ConstituentaTooltipProps {
|
||||
data: IConstituenta
|
|
@ -1,6 +1,6 @@
|
|||
import SwitchButton from '../../components/Common/SwitchButton';
|
||||
import { ReferenceType } from '../../models/language';
|
||||
import { labelReferenceType } from '../../utils/labels';
|
||||
import SwitchButton from '../Common/SwitchButton';
|
||||
|
||||
interface ReferenceTypeButtonProps {
|
||||
type: ReferenceType
|
|
@ -1,28 +1,28 @@
|
|||
import { createColumnHelper } from '@tanstack/react-table';
|
||||
import { useCallback, useEffect, useLayoutEffect, useMemo, useState } from 'react';
|
||||
|
||||
import ConceptTooltip from '../components/Common/ConceptTooltip';
|
||||
import Label from '../components/Common/Label';
|
||||
import Modal from '../components/Common/Modal';
|
||||
import SelectMulti from '../components/Common/SelectMulti';
|
||||
import TextInput from '../components/Common/TextInput';
|
||||
import DataTable, { IConditionalStyle } from '../components/DataTable';
|
||||
import HelpTerminologyControl from '../components/Help/HelpTerminologyControl';
|
||||
import { HelpIcon, MagnifyingGlassIcon } from '../components/Icons';
|
||||
import ReferenceTypeButton from '../components/RefsInput/ReferenceTypeButton';
|
||||
import WordformButton from '../components/RefsInput/WordformButton';
|
||||
import { useConceptTheme } from '../context/ThemeContext';
|
||||
import ConceptTooltip from '../../components/Common/ConceptTooltip';
|
||||
import Label from '../../components/Common/Label';
|
||||
import Modal from '../../components/Common/Modal';
|
||||
import SelectMulti from '../../components/Common/SelectMulti';
|
||||
import TextInput from '../../components/Common/TextInput';
|
||||
import DataTable, { IConditionalStyle } from '../../components/DataTable';
|
||||
import ConstituentaTooltip from '../../components/Help/ConstituentaTooltip';
|
||||
import HelpTerminologyControl from '../../components/Help/HelpTerminologyControl';
|
||||
import { HelpIcon, MagnifyingGlassIcon } from '../../components/Icons';
|
||||
import { useConceptTheme } from '../../context/ThemeContext';
|
||||
import {
|
||||
getCompatibleGrams, Grammeme,
|
||||
parseEntityReference, parseGrammemes,
|
||||
parseSyntacticReference, ReferenceType
|
||||
} from '../models/language';
|
||||
import { CstMatchMode } from '../models/miscelanious';
|
||||
import { IConstituenta, matchConstituenta } from '../models/rsform';
|
||||
import ConstituentaTooltip from '../pages/RSFormPage/elements/ConstituentaTooltip';
|
||||
import { colorfgCstStatus } from '../utils/color';
|
||||
import { prefixes } from '../utils/constants';
|
||||
import { compareGrammemeOptions, IGrammemeOption, PremadeWordForms, SelectorGrammems } from '../utils/selectors';
|
||||
} from '../../models/language';
|
||||
import { CstMatchMode } from '../../models/miscelanious';
|
||||
import { IConstituenta, matchConstituenta } from '../../models/rsform';
|
||||
import { colorfgCstStatus } from '../../utils/color';
|
||||
import { prefixes } from '../../utils/constants';
|
||||
import { compareGrammemeOptions, IGrammemeOption, PremadeWordForms, SelectorGrammems } from '../../utils/selectors';
|
||||
import ReferenceTypeButton from './ReferenceTypeButton';
|
||||
import WordformButton from './WordformButton';
|
||||
|
||||
export interface IReferenceInputState {
|
||||
type: ReferenceType
|
|
@ -2,8 +2,8 @@ import { useLayoutEffect, useState } from 'react';
|
|||
|
||||
import Checkbox from '../components/Common/Checkbox';
|
||||
import Modal, { ModalProps } from '../components/Common/Modal';
|
||||
import { GraphEditorParams } from '../models/miscelanious';
|
||||
import { CstType } from '../models/rsform';
|
||||
import { GraphEditorParams } from '../pages/RSFormPage/EditorTermGraph';
|
||||
import { labelCstType } from '../utils/labels';
|
||||
|
||||
interface DlgGraphOptionsProps
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
|
||||
import { IConstituenta, IRSForm } from './rsform'
|
||||
|
||||
// Dependency mode for schema analysis
|
||||
/**
|
||||
* Represents graph dependency mode.
|
||||
*/
|
||||
export enum DependencyMode {
|
||||
ALL = 0,
|
||||
EXPRESSION,
|
||||
|
@ -12,7 +14,9 @@ export enum DependencyMode {
|
|||
EXPAND_INPUTS
|
||||
}
|
||||
|
||||
// Help manual topic compare mode
|
||||
/**
|
||||
* Represents manuals topic.
|
||||
*/
|
||||
export enum HelpTopic {
|
||||
MAIN = 'main',
|
||||
LIBRARY = 'library',
|
||||
|
@ -27,7 +31,9 @@ export enum HelpTopic {
|
|||
API = 'api'
|
||||
}
|
||||
|
||||
// Constituent compare mode
|
||||
/**
|
||||
* Represents {@link IConstituenta} matching mode.
|
||||
*/
|
||||
export enum CstMatchMode {
|
||||
ALL = 1,
|
||||
EXPR,
|
||||
|
@ -36,6 +42,9 @@ export enum CstMatchMode {
|
|||
NAME
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents Library filter parameters.
|
||||
*/
|
||||
export interface ILibraryFilter {
|
||||
query?: string
|
||||
is_personal?: boolean
|
||||
|
@ -45,7 +54,9 @@ export interface ILibraryFilter {
|
|||
is_subscribed?: boolean
|
||||
}
|
||||
|
||||
// Library premade filters
|
||||
/**
|
||||
* Represents filtering strategy for Library.
|
||||
*/
|
||||
export enum LibraryFilterStrategy {
|
||||
MANUAL = 'manual',
|
||||
PERSONAL = 'personal',
|
||||
|
@ -55,6 +66,25 @@ export enum LibraryFilterStrategy {
|
|||
OWNED = 'owned'
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents parameters for GraphEditor.
|
||||
*/
|
||||
export interface GraphEditorParams {
|
||||
noHermits: boolean
|
||||
noTransitive: boolean
|
||||
noTemplates: boolean
|
||||
noTerms: boolean
|
||||
|
||||
allowBase: boolean
|
||||
allowStruct: boolean
|
||||
allowTerm: boolean
|
||||
allowAxiom: boolean
|
||||
allowFunction: boolean
|
||||
allowPredicate: boolean
|
||||
allowConstant: boolean
|
||||
allowTheorem: boolean
|
||||
}
|
||||
|
||||
// ================== API ====================
|
||||
export function applyGraphFilter(schema: IRSForm, start: number, mode: DependencyMode): IConstituenta[] {
|
||||
if (mode === DependencyMode.ALL) {
|
||||
|
|
|
@ -6,6 +6,7 @@ import { GraphCanvas, GraphCanvasRef, GraphEdge,
|
|||
import ConceptTooltip from '../../components/Common/ConceptTooltip';
|
||||
import MiniButton from '../../components/Common/MiniButton';
|
||||
import SelectSingle from '../../components/Common/SelectSingle';
|
||||
import ConstituentaTooltip from '../../components/Help/ConstituentaTooltip';
|
||||
import HelpTermGraph from '../../components/Help/HelpTermGraph';
|
||||
import InfoConstituenta from '../../components/Help/InfoConstituenta';
|
||||
import { ArrowsFocusIcon, DumpBinIcon, FilterIcon, HelpIcon, LetterAIcon, LetterALinesIcon, PlanetIcon, SmallPlusIcon } from '../../components/Icons';
|
||||
|
@ -13,6 +14,7 @@ import { useRSForm } from '../../context/RSFormContext';
|
|||
import { useConceptTheme } from '../../context/ThemeContext';
|
||||
import DlgGraphOptions from '../../dialogs/DlgGraphOptions';
|
||||
import useLocalStorage from '../../hooks/useLocalStorage';
|
||||
import { GraphEditorParams } from '../../models/miscelanious';
|
||||
import { CstType, IConstituenta, ICstCreateData } from '../../models/rsform';
|
||||
import { graphDarkT, graphLightT, IColorTheme } from '../../utils/color';
|
||||
import { colorbgCstClass } from '../../utils/color';
|
||||
|
@ -23,7 +25,6 @@ import { mapLabelColoring } from '../../utils/labels';
|
|||
import { mapLableLayout } from '../../utils/labels';
|
||||
import { SelectorGraphLayout } from '../../utils/selectors';
|
||||
import { SelectorGraphColoring } from '../../utils/selectors';
|
||||
import ConstituentaTooltip from './elements/ConstituentaTooltip';
|
||||
|
||||
export type ColoringScheme = 'none' | 'status' | 'type';
|
||||
const TREE_SIZE_MILESTONE = 50;
|
||||
|
@ -38,22 +39,6 @@ function getCstNodeColor(cst: IConstituenta, coloringScheme: ColoringScheme, col
|
|||
return '';
|
||||
}
|
||||
|
||||
export interface GraphEditorParams {
|
||||
noHermits: boolean
|
||||
noTransitive: boolean
|
||||
noTemplates: boolean
|
||||
noTerms: boolean
|
||||
|
||||
allowBase: boolean
|
||||
allowStruct: boolean
|
||||
allowTerm: boolean
|
||||
allowAxiom: boolean
|
||||
allowFunction: boolean
|
||||
allowPredicate: boolean
|
||||
allowConstant: boolean
|
||||
allowTheorem: boolean
|
||||
}
|
||||
|
||||
interface EditorTermGraphProps {
|
||||
onOpenEdit: (cstID: number) => void
|
||||
onCreateCst: (initial: ICstCreateData, skipDialog?: boolean) => void
|
||||
|
|
|
@ -22,7 +22,7 @@ import {
|
|||
describeCstSource, labelCstMathchMode,
|
||||
labelCstSource
|
||||
} from '../../../utils/labels';
|
||||
import ConstituentaTooltip from './ConstituentaTooltip';
|
||||
import ConstituentaTooltip from '../../../components/Help/ConstituentaTooltip';
|
||||
|
||||
// Height that should be left to accomodate navigation panel + bottom margin
|
||||
const LOCAL_NAVIGATION_H = '2.1rem';
|
||||
|
|
Loading…
Reference in New Issue
Block a user