@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
75 lines (74 loc) • 5.26 kB
TypeScript
import { $PowersDirectoryController } from '@docsvision/webclient/Generated/DocsVision.WebClient.Controllers';
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { FieldNameAccessor } from '@docsvision/webclient/Helpers/DynamicModel/FieldNameAccessor';
import { FuncAccessor } from '@docsvision/webclient/Helpers/DynamicModel/FuncAccessor';
import { DirectorySelectDialog, IDirectorySelectDialogProps, IDirectorySelectDialogState } from '@docsvision/webclient/System/DirectorySelectDialog';
import { IDirectoryChildrenLoadResponse, IDirectoryItem, IDirectorySearchItem, IDirectorySearchResponse } from '@docsvision/webclient/System/DirectoryServerModels';
import { BasicApiEvent, CancelableApiEvent } from "@docsvision/webclient/System/ApiEvent";
import React from "react";
import { $CardInfo } from "@docsvision/webclient/System/LayoutServices";
import { PowersValueType, PowersNodeType } from "@docsvision/webclient/BackOffice/Powers";
import { IPowersDialog } from "@docsvision/webclient/BackOffice/IPowersDialog";
import { IPowersDataLoadingEventArgs } from "@docsvision/webclient/BackOffice/IPowersDataLoadingEventArgs";
import { IPowerModel } from '@docsvision/webclient/BackOffice/IPowerModel';
declare type ItemT = IPowerModel;
/** @internal */
export interface IPowersSelectDialogSearchPathOptions {
path: GenModels.DepartmentModel[];
notAppendToSelectedFilterPath?: boolean;
}
/** @internal */
export interface IPowersSelectDialogProps extends IDirectorySelectDialogProps<PowersValueType, PowersNodeType, ItemT> {
searchResultsLoading: CancelableApiEvent<IPowersDataLoadingEventArgs>;
searchResultsLoaded: BasicApiEvent<IPowersDataLoadingEventArgs>;
onSelectedValuesChanged: (values: ItemT[]) => void;
multipleSelection: boolean;
initialSelectedValues: ItemT[];
services: $PowersDirectoryController & $CardInfo;
}
/** @internal */
export interface IPowersSelectDialogState extends IDirectorySelectDialogState<PowersValueType, PowersNodeType, ItemT> {
selectedValues: ItemT[];
previousSelected: ItemT;
isGroupSearch: boolean;
}
/** @internal */
export declare class PowersSelectDialog extends DirectorySelectDialog<PowersValueType, PowersNodeType, ItemT, IPowersSelectDialogProps, IPowersSelectDialogState> implements IPowersDialog {
directoryDataId: FieldNameAccessor<IPowerModel, string>;
directoryDataName: FuncAccessor<IPowerModel, string>;
directoryDataTip: FuncAccessor<IPowerModel, string>;
constructor(props: IPowersSelectDialogProps);
protected getSearchItemDisplayName(item: IDirectorySearchItem<IPowerModel, IPowerModel>): string;
protected search(searchText: string, nodeId: string, nodeType: GenModels.DirectoryDataType, maxCount: number, skip: number, reset: boolean): Promise<IDirectorySearchResponse<IPowerModel, IPowerModel>>;
protected getSearchItemIconClassName(item: IDirectorySearchItem<PowersNodeType, PowersNodeType | ItemT>): string;
protected getSearchItemTooltip(item: IDirectorySearchItem<PowersNodeType, PowersNodeType | ItemT>): string;
protected getItemDisplayName(item: IDirectoryItem<ItemT>): string;
protected getItemIconClassName(item: IDirectoryItem<ItemT>): string;
protected getItemTooltip(item: IDirectoryItem<ItemT>): string;
get selectedItems(): IPowerModel[];
set selectedItems(items: IPowerModel[]);
protected itemHasChildren(item: IDirectoryItem<PowersNodeType | ItemT>): boolean;
protected itemIsNode(item: IDirectoryItem<PowersNodeType | ItemT>): boolean;
protected loadChildrenList(nodeId: string, nodeType: GenModels.DirectoryDataType, from: number, to: number): Promise<IDirectoryChildrenLoadResponse<PowersNodeType | ItemT>>;
isPowersItemSelected(item: IDirectoryItem<ItemT>): boolean;
protected onChildrenListItemFocus(item: IDirectoryItem<ItemT>, ev: React.FocusEvent): void;
protected onChildrenListItemClick(item: IDirectoryItem<ItemT>, ev: React.MouseEvent): void;
protected onChildrenListItemSelectSibling(mode: 'prev' | 'next', index: number, getCollectionData: () => IDirectoryItem<ItemT>[]): void;
private onPowersItemClick;
protected onDialogAccept(): void;
protected processMultiSelectValue(item: IDirectoryItem<ItemT>): void;
protected isGoToButtonActive(item: IDirectoryItem<ItemT>): boolean;
protected onChildrenListItemKeyDown(item: IDirectoryItem<ItemT>, ev: React.KeyboardEvent<unknown>): boolean;
protected onChildrenListItemDoubleClick(item: IDirectoryItem<ItemT>, ev: React.MouseEvent<unknown>): boolean;
protected isItemAllowedToAccept(item: IDirectoryItem<ItemT>): boolean;
protected onItemDoubleClick(item: IDirectoryItem<ItemT>, ev: React.MouseEvent<unknown>): boolean;
protected onPowersItemKeyDown(item: IDirectoryItem<ItemT>, ev: React.KeyboardEvent<unknown>): boolean;
protected onRemoveMultiSelectItemClick(item: IPowerModel): void;
protected renderDialogBreadcrumbs(): JSX.Element;
protected getDialogHeader(): JSX.Element;
protected renderSearchInput(): any;
protected renderItemName(item: IDirectoryItem<ItemT>): JSX.Element;
protected isDialogSelectButtonEnabled(): boolean;
protected renderDialogSelectButtonName(): string;
}
export {};