@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
88 lines (87 loc) • 6.27 kB
TypeScript
import { $DirectoryDesignerRowController, $LayoutRowController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { LayoutControl } from '@docsvision/webclient/System/BaseControl';
import { DirectorySelectDialog, IDirectorySelectDialogProps, IDirectorySelectDialogState } from '@docsvision/webclient/System/DirectorySelectDialog';
import { IDirectoryChildrenLoadResponse, IDirectoryItem, IDirectorySearchItem, IDirectorySearchResponse } from '@docsvision/webclient/System/DirectoryServerModels';
import { $LocationContainerControlServices } from '@docsvision/webclient/System/LocationContainerControl';
import React from "react";
import { DirectoryDesignerRowItemVisualiser } from "@docsvision/webclient/BackOffice/DirectoryDesignerRowItemVisualiser";
import { FieldNameAccessor } from "@docsvision/webclient/Helpers/DynamicModel/FieldNameAccessor";
import { FuncAccessor } from "@docsvision/webclient/Helpers/DynamicModel/FuncAccessor";
import { DirectoryDesignerSelectionArea } from "@docsvision/webclient/BackOffice/DirectoryDesignerRow";
declare type ValueT = GenModels.DirectoryDesignerItem;
declare type NodeT = GenModels.DirectoryDesignerItem;
declare type ItemT = GenModels.DirectoryDesignerItem;
/** @internal */
export interface IDirectoryDesRowSelectDialogSearchPathOptions {
path: GenModels.DepartmentModel[];
notAppendToSelectedFilterPath?: boolean;
}
/** @internal */
export interface IDirectoryDesRowSelectDialogProps extends IDirectorySelectDialogProps<ValueT, NodeT, ItemT> {
itemVisualiser: DirectoryDesignerRowItemVisualiser;
allowDirectoryEdit: boolean;
allowNodeSearch: boolean;
rootNodeId?: string;
parent: LayoutControl;
dataSource: GenModels.DirectoryDesignerRowDataSourceModel;
node?: string;
rootNodeName?: string;
useDescription: boolean;
availableChanges?: GenModels.AvailableChangesModes;
services: $DirectoryDesignerRowController & $LayoutRowController & $LocationContainerControlServices;
selectionArea?: DirectoryDesignerSelectionArea;
}
/** @internal */
export interface IDirectoryDesRowSelectDialogState extends IDirectorySelectDialogState<ValueT, NodeT, ItemT> {
searchMode: GenModels.DirectoryDesignerTreeNodeType;
}
/** @internal */
export declare class DirectoryDesRowSelectDialog extends DirectorySelectDialog<ValueT, NodeT, ItemT, IDirectoryDesRowSelectDialogProps, IDirectoryDesRowSelectDialogState> {
directoryDataId: FieldNameAccessor<GenModels.IDirectoryItemData, string>;
directoryDataName: FuncAccessor<GenModels.IDirectoryItemData, string>;
directoryDataTip: FuncAccessor<GenModels.IDirectoryItemData, string>;
constructor(props: IDirectoryDesRowSelectDialogProps);
protected itemHasChildren(item: IDirectoryItem<NodeT | ItemT>): boolean;
protected itemIsNode(item: IDirectoryItem<NodeT | ItemT>): boolean;
protected getSearchItemDisplayName(item: IDirectorySearchItem<NodeT, NodeT | ItemT>): string;
protected getSearchItemIconClassName(item: IDirectorySearchItem<NodeT, NodeT | ItemT>): string;
protected getSearchItemTooltip(item: IDirectorySearchItem<NodeT, NodeT | ItemT>): string;
protected getItemDisplayName(item: IDirectoryItem<NodeT | ItemT>): string;
protected getItemIconClassName(item: IDirectoryItem<NodeT | ItemT>): string;
protected getItemTooltip(item: IDirectoryItem<NodeT | ItemT>): string;
protected get currentNodeId(): string;
protected loadChildrenList(nodeId: string, nodeType: any, from: number, to: number): Promise<IDirectoryChildrenLoadResponse<NodeT | ItemT>>;
protected onChildrenListItemDoubleClick(item: IDirectoryItem<NodeT | ItemT>, ev: React.MouseEvent<unknown>): boolean;
protected search(searchText: string, nodeId: string, nodeType: any, maxCount: number, skip: number, reset: boolean): Promise<IDirectorySearchResponse<NodeT, NodeT | ItemT>>;
protected getSearchNodePath(item: IDirectorySearchItem<NodeT, NodeT | ItemT>): GenModels.DirectoryDesignerItem[];
protected onToggleSearchMode: () => void;
protected renderChildrenListItemView(item: IDirectoryItem<NodeT | ItemT>, index: number): JSX.Element;
protected isGoToButtonActive(item: IDirectoryItem<NodeT | ItemT>): boolean;
protected getGoToButtonTitle(item: IDirectoryItem<NodeT | ItemT>): string;
protected onShowInfo: (item: GenModels.DirectoryDesignerItem) => Promise<void>;
protected onEdit: (item: GenModels.DirectoryDesignerItem) => Promise<void>;
protected onDelete: (item: GenModels.DirectoryDesignerItem) => void;
protected deleteRow(item: GenModels.DirectoryDesignerItem, services: $LayoutRowController): Promise<void>;
protected isItemAllowedToAccept(item: IDirectoryItem<NodeT | ItemT>): boolean;
private isItemInSelectionArea;
protected isDialogSelectButtonEnabled(): boolean;
protected getFilteredPath(path: GenModels.DirectoryDesignerItem[]): GenModels.DirectoryDesignerItem[];
protected renderActionButton: (item: IDirectoryItem<NodeT | ItemT>) => JSX.Element;
protected renderDialogBreadcrumbs(): JSX.Element;
protected renderSearchModeToggle(): JSX.Element;
protected onCreateItem: (itemType: GenModels.DirectoryDesignerTreeNodeType) => Promise<void>;
protected getCurrentNode: () => GenModels.DirectoryDesignerItem;
protected getItemAvailablechanges(item: IDirectoryItem<NodeT | ItemT>): boolean;
protected renderExtraDialogButtons(): JSX.Element;
protected renderItemName(item: IDirectoryItem<NodeT | ItemT>): JSX.Element;
protected renderSearchItemName(item: IDirectorySearchItem<NodeT, NodeT | ItemT>): JSX.Element;
protected renderSearchItemMatchedPropertyRow(item: IDirectorySearchItem<NodeT, NodeT | ItemT>): JSX.Element;
protected getSearchInputClassName(): string;
protected getSearchInputPlaceholder(): string;
protected refreshAfterEdit: (item: GenModels.DirectoryDesignerItem) => void;
protected onNavigateToFolder(nodeId: string, nodeType: GenModels.DirectoryDataType): Promise<object>;
protected renderSearchItemPath(item: IDirectorySearchItem<NodeT, NodeT | ItemT>): JSX.Element;
protected getDialogHeader(): JSX.Element;
}
export {};