@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
53 lines (52 loc) • 2.28 kB
TypeScript
import { InputBasedControlState, InputBasedControlImpl } from '@docsvision/webclient/System/InputBasedControlImpl';
import React from 'react';
import { FolderTypeItemsParams } from '@docsvision/webclient/Platform/FolderTypeItems';
import { LoadingState } from '@docsvision/webclient/System/LoadingState';
import { ModalHost } from '@docsvision/webclient/Helpers/ModalHost';
import { Tree } from '@docsvision/webclient/Helpers/Tree/Tree';
import { ITreeNodeData } from '@docsvision/webclient/Helpers/Tree/Data/ClientModels/ITreeNodeData';
import { TreeNode } from '@docsvision/webclient/Helpers/Tree/Data/ClientModels/TreeNode';
/** @internal */
export declare type FolderTypeItem = {
defaultViewId: string;
folderTypeId: string;
highlightUnreadCards: boolean;
name: string;
parentFolderTypeId: string;
children: Array<FolderTypeItem>;
};
/** @internal */
export declare type FolderTypeTreeNode = FolderTypeItem & ITreeNodeData;
/** @internal */
export interface IFolderTypeItemsState extends FolderTypeItemsParams, InputBasedControlState<string> {
dialog: ModalHost;
selected: FolderTypeItem;
accepted: FolderTypeItem;
loading: LoadingState;
items: Array<FolderTypeTreeNode>;
types: Array<FolderTypeItem>;
services: any;
}
export interface FolderTypeItemsState extends IFolderTypeItemsState {
}
/** @internal */
export declare type FolderTypeItemsImplState = IFolderTypeItemsState;
/** @internal */
export declare class FolderTypeItemsImpl extends InputBasedControlImpl<string, FolderTypeItemsParams, IFolderTypeItemsState> {
constructor(props: any, state: any);
protected getTextValue(): string;
protected getCssClass(): string;
protected renderInto(props: FolderTypeItemsParams, container: HTMLElement): void;
protected onInputChange(ev: React.ChangeEvent): void;
protected onSelectItem(sender: Tree, item: TreeNode): void;
private filterTreeNodeProperty;
protected onAcceptItem(): void;
protected loadTypeItems(): Promise<void>;
private prepareTreeItems;
protected attachTree(tree: Tree): void;
protected renderInput(): React.ReactNode;
protected renderDialog(): JSX.Element;
protected createDialog(): void;
openDialog(): Promise<void>;
closeDialog(): void;
}