@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
46 lines (45 loc) • 2 kB
TypeScript
/// <reference types="react" />
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { PanelImpl, IPanelState } from "@docsvision/webclient/Platform/PanelImpl";
import { TabPageInfo } from "@docsvision/webclient/Platform/TabPageInfo";
import { TabParams } from "@docsvision/webclient/Platform/Tab";
import { RequestHelper } from "@docsvision/webclient/System/RequestHelper";
/** @internal */
export interface ITabState extends TabParams, IPanelState {
requestHelper: RequestHelper;
}
export interface TabState extends ITabState {
}
/** @internal */
export declare type TabImplProps = ITabState;
/** @internal */
export declare type TabImplState = ITabState;
/** @internal */
export declare class TabImpl extends PanelImpl<TabParams, ITabState> {
activeTabs: {
[key: string]: number;
};
constructor(props: TabParams, state: ITabState);
componentWillUnmount(): void;
openTab(tab: TabPageInfo): Promise<void>;
loadTab(tab: TabPageInfo): Promise<TabPageInfo>;
loadTabAsyncControls: (tab: TabPageInfo, layoutViewModel: GenModels.LayoutViewModel) => Promise<void>;
protected get activeTabsKey(): string;
protected parseTabs(): void;
protected onTabClick(tab: TabPageInfo): void;
protected activateTab(tab: TabPageInfo): Promise<unknown>;
protected updateMobileTab(tab: TabPageInfo): void;
set activeTabPage(val: TabPageInfo);
get activeTabPage(): TabPageInfo;
renderNavPanelMobileTabs(): void;
protected shouldTabsToBeMobile(): boolean;
handleTabPageFocus: (tabPageInfo: TabPageInfo) => Promise<void>;
handleTabPageBlur: (tabPageInfo: TabPageInfo) => Promise<void>;
private checkEditOperationVisibility;
renderTabsPanel(): JSX.Element;
renderControl(): JSX.Element;
setTabPageHeader(tab: TabPageInfo, header: string): void;
loadTabPage(tab: TabPageInfo): Promise<void>;
loadAllTabPages(): Promise<void>;
openTabPage(tabNumber: number): Promise<void>;
}