UNPKG

dockview

Version:

Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support

48 lines (47 loc) 1.87 kB
import * as React from 'react'; import { IContentRenderer, GroupPanelContentPartInitParameters } from '../../groupview/types'; import { ReactPortalStore } from '../react'; import { IDockviewPanelProps } from '../dockview/dockview'; import { PanelUpdateEvent } from '../../panel/types'; import { DockviewPanelApi } from '../../api/groupPanelApi'; import { DockviewApi } from '../../api/component.api'; import { GroupviewPanel } from '../../groupview/groupviewPanel'; import { Event } from '../../events'; import { WrappedTab } from '../../dockview/components/tab/defaultTab'; export interface IGroupPanelActionbarProps { api: DockviewPanelApi; containerApi: DockviewApi; } export interface ReactContentPartContext { api: DockviewPanelApi; containerApi: DockviewApi; actionsPortalElement: HTMLElement; tabPortalElement: WrappedTab; } export declare class ReactPanelContentPart implements IContentRenderer { readonly id: string; private readonly component; private readonly reactPortalStore; private _element; private part?; private _actionsElement; private actionsPart?; private _group; private readonly _onDidFocus; readonly onDidFocus: Event<void>; private readonly _onDidBlur; readonly onDidBlur: Event<void>; get element(): HTMLElement; get actions(): HTMLElement; constructor(id: string, component: React.FunctionComponent<IDockviewPanelProps>, reactPortalStore: ReactPortalStore); focus(): void; init(parameters: GroupPanelContentPartInitParameters): void; toJSON(): { id: string; }; update(event: PanelUpdateEvent): void; updateParentGroup(group: GroupviewPanel, isPanelVisible: boolean): void; layout(width: number, height: number): void; close(): Promise<boolean>; dispose(): void; }