UNPKG

@reactodia/workspace

Version:

Reactodia Workspace -- library for visual interaction with graphs in a form of a diagram.

55 lines 2.27 kB
import * as React from 'react'; import { LabelLanguageSelector, TranslationBundle } from '../coreUtils/i18n'; import { MetadataProvider } from '../data/metadataProvider'; import { ValidationProvider } from '../data/validationProvider'; import { TypeStyleResolver, RenameLinkProvider } from '../diagram/customization'; import { CommandHistory } from '../diagram/history'; import { LayoutFunction } from '../diagram/layout'; import { WorkspaceContext, WorkspaceEventKey } from './workspaceContext'; export interface WorkspaceProps { history?: CommandHistory; typeStyleResolver?: TypeStyleResolver; metadataProvider?: MetadataProvider; validationProvider?: ValidationProvider; renameLinkProvider?: RenameLinkProvider; selectLabelLanguage?: LabelLanguageSelector; defaultLanguage?: string; translations?: ReadonlyArray<Partial<TranslationBundle>>; useDefaultTranslation?: boolean; defaultLayout: LayoutFunction; onWorkspaceEvent?: (key: WorkspaceEventKey) => void; children: React.ReactNode; } export declare class Workspace extends React.Component<WorkspaceProps> { private readonly listener; private readonly cancellation; private readonly extensionCommands; private readonly resolveTypeStyle; private readonly cachedTypeStyles; private readonly cachedGroupStyles; private readonly layoutTypeProvider; private readonly workspaceContext; constructor(props: WorkspaceProps); getContext(): WorkspaceContext; render(): import("react/jsx-runtime").JSX.Element; componentDidMount(): void; componentWillUnmount(): void; private getCommandBus; private getElementStyle; private getElementTypeStyle; private getGroupTypeStyle; private onPerformLayout; private onGroup; private onUngroupAll; private onUngroupSome; } export interface LoadedWorkspaceParams { readonly context: WorkspaceContext; readonly signal: AbortSignal; } export interface LoadedWorkspace { readonly getContext: () => WorkspaceContext; readonly onMount: (workspace: Workspace | null) => void; } export declare function useLoadedWorkspace(onLoad: (params: LoadedWorkspaceParams) => Promise<void>, deps: unknown[]): LoadedWorkspace; //# sourceMappingURL=workspace.d.ts.map