dockview
Version:
Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support
48 lines (47 loc) • 1.87 kB
TypeScript
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;
}