@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
102 lines (101 loc) • 7.87 kB
TypeScript
import { IStaffDataLoadingEventArgs } from "@docsvision/webclient/BackOffice/IStaffDataLoadingEventArgs";
import { StaffNodeType, StaffValueType } from '@docsvision/webclient/BackOffice/StaffDirectoryItems';
import { StaffDirectoryDataVisualiser } from "@docsvision/webclient/BackOffice/StaffDirectoryDataVisualiser";
import { $StaffDirectoryItemsController } 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 { IStaffDirectoryItemsDialog } from '@docsvision/webclient/BackOffice/IStaffDirectoryItemsDialog';
import { $CardInfo } from "@docsvision/webclient/System/LayoutServices";
declare type ItemT = GenModels.IDirectoryItemData;
/** @internal */
export interface IStaffDirectorySelectDialogSearchPathOptions {
path: GenModels.DepartmentModel[];
notAppendToSelectedFilterPath?: boolean;
}
/** @internal */
export interface IStaffDirectorySelectDialogProps extends IDirectorySelectDialogProps<StaffValueType, StaffNodeType, ItemT> {
itemVisualiser: StaffDirectoryDataVisualiser;
searchResultsLoading: CancelableApiEvent<IStaffDataLoadingEventArgs>;
searchResultsLoaded: BasicApiEvent<IStaffDataLoadingEventArgs>;
itemTypes: GenModels.DirectoryDataType;
enabledAreas: GenModels.DirectoryDataType;
onSelectedValuesChanged: (values: ItemT[]) => void;
multipleSelection: boolean;
initialSelectedValues: ItemT[];
dataSource: GenModels.StaffItemsDataSourceModel;
favoritesKey?: string;
dataTestId?: string;
services: $StaffDirectoryItemsController & $CardInfo;
}
/** @internal */
export interface IStaffDirectorySelectDialogState extends IDirectorySelectDialogState<StaffValueType, StaffNodeType, ItemT> {
openActionMenuItem: GenModels.StaffDirectoryItem | undefined;
openInfoItem: GenModels.StaffDirectoryItem | undefined;
selectedValues: ItemT[];
departmentSearchMode: GenModels.PartnerSearchMode;
previousSelected: ItemT;
}
/** @internal */
export declare class StaffDirectorySelectDialog extends DirectorySelectDialog<StaffValueType, StaffNodeType, ItemT, IStaffDirectorySelectDialogProps, IStaffDirectorySelectDialogState> implements IStaffDirectoryItemsDialog {
directoryDataId: FieldNameAccessor<GenModels.IDirectoryItemData, string>;
directoryDataName: FuncAccessor<GenModels.IDirectoryItemData, string>;
directoryDataTip: FuncAccessor<GenModels.IDirectoryItemData, string>;
directoryItemReadonly: FuncAccessor<GenModels.IDirectoryItemData, boolean>;
constructor(props: IStaffDirectorySelectDialogProps);
componentDidMount(): void;
get selectedItems(): GenModels.IDirectoryItemData[];
set selectedItems(items: GenModels.IDirectoryItemData[]);
protected onNavigateToFolder(nodeId: string, nodeType: GenModels.DirectoryDataType): Promise<{}>;
protected itemHasChildren(item: IDirectoryItem<StaffNodeType | ItemT>): boolean;
protected itemIsNode(item: IDirectoryItem<StaffNodeType | ItemT>): boolean;
protected getSearchItemDisplayName(item: IDirectorySearchItem<StaffNodeType, StaffNodeType | ItemT>): string;
protected getSearchItemIconClassName(item: IDirectorySearchItem<StaffNodeType, StaffNodeType | ItemT>): string;
protected getSearchItemTooltip(item: IDirectorySearchItem<StaffNodeType, StaffNodeType | ItemT>): string;
protected getItemDisplayName(item: IDirectoryItem<StaffNodeType | ItemT>): string;
protected getItemIconClassName(item: IDirectoryItem<StaffNodeType | ItemT>): string;
protected getItemTooltip(item: IDirectoryItem<StaffNodeType | ItemT>): string;
protected getQueryContext(): GenModels.StaffQueryContext;
protected loadChildrenList(nodeId: string, nodeType: GenModels.DirectoryDataType, from: number, to: number): Promise<IDirectoryChildrenLoadResponse<StaffNodeType | ItemT>>;
loadFirstScreenItems(): IDirectoryChildrenLoadResponse<GenModels.IDirectoryItemData>;
isFirstScreenItem(itemId: string): false | GenModels.DirectoryDataType.Role | GenModels.DirectoryDataType.Group | GenModels.DirectoryDataType.Position | GenModels.DirectoryDataType.SearchWord | GenModels.DirectoryDataType.Department | GenModels.DirectoryDataType.Organization | GenModels.DirectoryDataType.AllNodes | GenModels.DirectoryDataType.Employee | GenModels.DirectoryDataType.AllApprovers | GenModels.DirectoryDataType.All;
isStaffItemSelected(item: IDirectoryItem<ItemT>): boolean;
protected search(searchText: string, nodeId: string, nodeType: GenModels.DirectoryDataType, maxCount: number, skip: number, reset: boolean): Promise<IDirectorySearchResponse<StaffNodeType, StaffNodeType | ItemT>>;
protected onChildrenListItemFocus(item: IDirectoryItem<ItemT>, ev: React.FocusEvent<any>): void;
protected onSearchItemFocus(item: IDirectorySearchItem<ItemT, ItemT>, ev: React.FocusEvent<any>): void;
protected onChildrenListItemClick(item: IDirectoryItem<ItemT>, ev: React.MouseEvent<any>): void;
protected onChildrenListItemSelectSibling(mode: 'prev' | 'next', index: number, getCollectionData: () => IDirectoryItem<ItemT>[]): void;
private onStaffItemClick;
private isDepartmentNode;
protected onSearchItemClick(item: IDirectorySearchItem<ItemT, ItemT>, ev: React.MouseEvent<any>): void;
protected onDialogAccept(): void;
protected processMultiSelectValue(item: IDirectoryItem<ItemT>): void;
protected isItemAllowedToAccept(itemData: IDirectoryItem<ItemT>): boolean;
protected isGoToButtonActive(item: IDirectoryItem<StaffNodeType | ItemT>): boolean;
protected getGoToButtonTitle(item: IDirectoryItem<StaffNodeType | ItemT>): string;
protected onToggleSearchMode: () => void;
protected onChildrenListItemKeyDown(item: IDirectoryItem<ItemT>, ev: React.KeyboardEvent<unknown>): boolean;
protected onChildrenListItemDoubleClick(item: IDirectoryItem<ItemT>, ev: React.MouseEvent<unknown>): boolean;
protected onItemDoubleClick(item: IDirectoryItem<ItemT>, ev: React.MouseEvent<unknown>): boolean;
protected onSearchItemKeyDown(item: IDirectorySearchItem<ItemT, ItemT>, ev: React.KeyboardEvent<unknown>): boolean;
protected onStaffItemKeyDown(item: IDirectoryItem<ItemT>, ev: React.KeyboardEvent<unknown>): boolean;
protected onRemoveMultiSelectItemClick(item: GenModels.IDirectoryItemData): void;
protected onSearchItemDoubleClick(item: IDirectorySearchItem<ItemT, ItemT>, ev: React.MouseEvent<unknown>): boolean;
protected renderSearchItemPath(item: IDirectorySearchItem<StaffNodeType, StaffNodeType | ItemT>): JSX.Element;
protected renderDialogBreadcrumbs(): JSX.Element;
protected renderSearchModeToggle(): JSX.Element;
protected getSearchInputClassName(): string;
protected renderSearchInput(): JSX.Element;
protected renderSearchItemName(item: IDirectorySearchItem<ItemT, ItemT>): JSX.Element;
protected renderItemName(item: IDirectoryItem<ItemT>): JSX.Element;
protected renderDialogExtraButtonsSeparator(): JSX.Element;
protected renderExtraDialogButtons(): JSX.Element;
protected isDialogSelectButtonEnabled(): boolean;
protected renderDialogSelectButtonName(): string;
protected renderButtonsPanel(): JSX.Element;
}
export {};