@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
53 lines (52 loc) • 2.29 kB
TypeScript
/// <reference types="react" />
import { BaseControl, BaseControlParams, BaseControlState } from "@docsvision/webclient/System/BaseControl";
import { ControlImpl } from '@docsvision/webclient/System/ControlImpl';
import { $Layout } from '@docsvision/webclient/System/$Layout';
import { $ControlStore } from "@docsvision/webclient/System/LayoutServices";
/**
* Содержит публичные свойства элемента управления [ConnectPinButtonToMainMenuScript]{@link ConnectPinButtonToMainMenuScript}.
*/
export declare class MainMenuPinButtonParams extends BaseControlParams {
/** Стандартный CSS класс со стилями элемента управления */
standardCssClass?: string;
/** Текст всплывающей подсказки. */
tip?: string;
/** Название контрола с главным меню */
mainMenuName: string;
/** Класс иконки для прикрепления меню */
pinIconClassName?: string;
/** Класс иконки для открепления меню */
unpinIconClassName?: string;
services?: $ControlStore & $Layout;
}
/** @internal */
export interface IMainMenuPinButtonState extends MainMenuPinButtonParams, BaseControlState {
iconClass: string;
}
export interface MainMenuPinButtonState extends IMainMenuPinButtonState {
}
/**
* Класс для связывания главного меню и кнопки его прикрепления/открепления
*/
export declare class MainMenuPinButton extends BaseControl<MainMenuPinButtonParams, IMainMenuPinButtonState> {
private mainMenu;
/** @internal */
protected createParams(): MainMenuPinButtonParams;
/** @internal */
createImpl(): ControlImpl;
/** @internal */
init(): void;
/**
* При нажатии на кнопку прикрепления меню
*/
onPinButtonClick: () => void;
/**
* При появлении/скрытии меню
*/
onMenuToggle: (sender: BaseControl<BaseControlParams, BaseControlState>, data: boolean) => void;
/**
* Обновление иконки прикрепления меню
*/
updateIcon(): void;
renderControl(): JSX.Element;
}