UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

146 lines (145 loc) 7.78 kB
/// <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; }