@reactodia/workspace
Version:
Reactodia Workspace -- library for visual interaction with graphs in a form of a diagram.
55 lines • 2.27 kB
TypeScript
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