@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
146 lines (145 loc) • 7.78 kB
TypeScript
/// <reference types="react" />
import { $LayoutFolderController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { $Folders } from '@docsvision/webclient/Legacy/$Folders';
import { BaseNavigationMainMenuItem, BaseNavigationMainMenuItemParams } from "@docsvision/webclient/Platform/BaseNavigationMainMenuItem";
import { FolderMainMenuItemImpl, IFolderMainMenuItemState } from "@docsvision/webclient/Platform/FolderMainMenuItemImpl";
import { FolderEditedEventArgs, SubfolderAddedEventArgs } from "@docsvision/webclient/Platform/FolderOperationManager";
import { $UnreadCounter } from '@docsvision/webclient/Platform/$UnreadCounter';
import { $DeviceType } from "@docsvision/webclient/StandardServices";
import { BaseControl, BaseControlParams, BaseControlState } from "@docsvision/webclient/System/BaseControl";
import { Layout } from "@docsvision/webclient/System/Layout";
import { $ControlStore } from "@docsvision/webclient/System/LayoutServices";
import { IProxyControl } from "@docsvision/webclient/System/IProxyControl";
import { BasicEvent } from "@docsvision/webclient/System/BasicEvent";
import { CancelableEvent } from "@docsvision/webclient/System/CancelableEvent";
import { $Router } from '@docsvision/webclient/System/$Router';
import { $FolderColors } from "@docsvision/webclient/System/$FolderColors";
/**
* Содержит публичные свойства элемента управления [FolderMainMenuItem]{@link FolderMainMenuItem}.
*/
export declare class FolderMainMenuItemParams extends BaseNavigationMainMenuItemParams {
/** Стандартный CSS класс со стилями элемента управления */
standardCssClass?: string;
/** Информация о папке */
folderInfo: GenModels.FolderNode;
/** Цвет страницы */
color?: string;
/** Идентификатор папки */
folderId?: string;
/** Показывать ли подпапки */
showSubfolders?: boolean;
/** Показывать ли сам элемент меню или только его содержимое */
showRoot?: boolean;
/** Количество подуровней элемента, которые будут автоматически предзагружены */
subfoldersPreloadLevel?: number;
/** Компактное представление для подэлементов */
compactChildren?: boolean;
/** Показывать ли иконку */
showIcon?: boolean;
/** Показывать ли иконки подэлементов меню */
showChildrenIcons?: boolean;
/** */
forceToggleIdent?: boolean;
/** Раскрыт ли элемент меню */
isExpanded?: boolean;
/** Количество непросмотренных карточек в папке */
unreadCount?: number;
/** Принудительный поиск в виртуальной папке */
forceVirtualFolderSearch?: boolean;
/** Анимация открытия */
animation?: boolean;
/** Событие перед открытием диалога управления папкой */
folderManagementDialogOpening?: CancelableEvent<unknown>;
/** Событие после открытия диалога управления папкой */
folderManagementDialogOpened?: BasicEvent<Layout>;
/** Событие перед удалением папки */
folderDeleting?: CancelableEvent<string>;
/** Событие после удаления папки */
folderDeleted?: BasicEvent<string>;
/** Событие перед сохранинием изменений в папке */
folderEditing?: CancelableEvent<Layout>;
/** Событие после сохраниния изменений в папке */
folderEdited?: BasicEvent<FolderEditedEventArgs>;
/** Событие перед сохранинием подпапки */
subfolderAdding?: CancelableEvent<Layout>;
/** Событие после сохраниния подпапки */
subfolderAdded?: BasicEvent<SubfolderAddedEventArgs>;
services?: $LayoutFolderController & $ControlStore & $Router & $UnreadCounter & $Folders & $DeviceType & $FolderColors;
}
/**
* Контрол для отображения ссылки на папку в списке элементов главной панели.
*/
export declare class FolderMainMenuItem extends BaseNavigationMainMenuItem<FolderMainMenuItemParams, IFolderMainMenuItemState> implements IProxyControl {
construct(): void;
/** @internal */
init(): void;
/**
* Является ли контрол контролом для папки главного меню, таким образом их можно отличать от других.
*/
get isFolderMainMenuItem(): boolean;
/** @internal */
deinit(): void;
/** @internal */
protected createParams(): FolderMainMenuItemParams;
/** @internal */
protected set showSubfolders(val: string | boolean);
/** @internal */
protected set showRoot(val: string | boolean);
/** @internal */
protected set subfoldersPreloadLevel(val: string | number);
/** @internal */
protected set expanded(val: string | boolean);
/** @internal */
protected set compactChildren(val: string | boolean);
/** @internal */
protected set showIcon(val: string | boolean);
/** @internal */
protected set showChildrenIcons(val: string | boolean);
/** @internal */
protected set forceToggleIdent(val: string | boolean);
/** @internal */
protected set forceVirtualFolderSearch(val: string | boolean);
/** @internal */
protected set folderInfo(infoSrc: string | GenModels.FolderNode);
/**
* Является ли элемент меню проксирующим, то есть видны только подэлементы, а сам данный элемент меню не виден
*/
get isProxyControl(): boolean;
/**
* Отрисовка содержимого проксирующего элемента меню
*/
renderProxyChildren(): React.ReactNode[];
/**
* Загрузка подпапок на указанное количество уровней
* @param levelsCount Количество уровней для загрузки
*/
loadSubfoldersDownTo(levelsCount: number): Promise<void>;
/** @internal */
protected registerChild(child: BaseControl<BaseControlParams, BaseControlState>): void;
/** @internal */
protected set level(val: number | string);
/** @internal */
protected set isConfiguredToHide(val: boolean);
/** @internal */
componentDidUpdate(prevProps: any, prevState: any, prevContext: any): void;
/**
* Подписывание на событие изменение счётчика содержимого для данной папки
*/
subscribeToUnreadCount(): void;
/**
* Отписывание от события изменения счётчика содержимого для данной папки
*/
unsubscribeFromUnreadCount(): void;
/**
* При изменении счётчика содержимого данной папки
*/
onUnreadCountChanged(): void;
/**
* Запрос на пересчёт счётчика содержимого для данной папки
*/
addUnreadCountRequest(): void;
private generateControlName;
/** @internal */
protected createImpl(): FolderMainMenuItemImpl;
}