@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
75 lines (74 loc) • 4.06 kB
TypeScript
import { $InsideMainMenu } from '@docsvision/webclient/Platform/$InsideMainMenu';
import { $ApplicationSettings, $CurrentEmployee, $DeviceType } from '@docsvision/webclient/StandardServices';
import { BaseControl, BaseControlParams, BaseControlState } from "@docsvision/webclient/System/BaseControl";
import { ControlImpl } from '@docsvision/webclient/System/ControlImpl';
import { $LayoutStaffController } from '@docsvision/webclient/Generated/DocsVision.WebClient.Controllers';
import { GenModels } from '@docsvision/webclient/Generated/DocsVision.WebClient.Models';
import { PerformOnce } from '@docsvision/webclient/Legacy/Utils';
import React from 'react';
import { $EmployeeStatus } from '@docsvision/webclient/Platform/$EmployeeStatus';
import { $LocalStorage } from '@docsvision/webclient/System/$LocalStorage';
import { $Poll } from '@docsvision/webclient/System/$PollService';
/**
* Содержит публичные свойства элемента управления [Метка]{@link WebFrameUserPanel}.
*/
export declare class WebFrameUserPanelParams extends BaseControlParams {
/** Стандартный CSS класс со стилями элемента управления */
standardCssClass?: string;
/** Показывает необходимость отображения фото */
avatarDisplay?: boolean;
/** Показывает необходимость отображения статуса */
currentStatusDisplay?: boolean;
/** Показывает необходимость отображения данных сотрудника */
userDataDisplay?: boolean;
/** Показывает открыто ли меню */
isClosed?: boolean;
/** Показывает открыто ли меню в моб.версии */
isMobileMenuHidden?: boolean;
/** Показывает формат отображения данных сотрудника */
userPanelDisplayMode?: number;
services?: $CurrentEmployee & $InsideMainMenu & $ApplicationSettings & $LayoutStaffController & $EmployeeStatus & $DeviceType & $LocalStorage & $Poll;
}
export interface IWebFrameUserPanelState extends WebFrameUserPanelParams, BaseControlState {
employeeStatus: GenModels.StaffEmployeeStatus;
displayName: string;
}
/**
* Класс элемента управления WebFrameUserPanel.
*/
export declare class WebFrameUserPanel extends BaseControl<WebFrameUserPanelParams, IWebFrameUserPanelState> {
/** @notest @internal */
protected createParams(): WebFrameUserPanelParams;
/** @notest @internal */
protected createImpl(): ControlImpl;
get isClosed(): boolean;
performOnce: PerformOnce;
componentDidMount(): void;
onUserMenuToggle: (sender: any, data: any) => void;
componentWillUnmount(): void;
private refreshStatusAndDisplayName;
/** @covered */
set setAvatarDisplay(value: boolean);
/** @covered */
set setCurrentStatusDisplay(value: boolean);
/** @covered */
set setUserDataDisplay(value: boolean);
/** @covered */
set setUserPanelDisplayMode(value: number);
getUserAvatar(): Promise<void>;
getEmployeeStatus(): GenModels.StaffEmployeeStatus;
renderUserData(userDataDisplay?: boolean, userPanelDisplayMode?: GenModels.UserPanelDisplayMode): JSX.Element;
renderAvatar(statusDisplay: boolean, status: GenModels.StaffEmployeeStatus): JSX.Element;
renderStatus(statusDisplay: boolean, status: GenModels.StaffEmployeeStatus): JSX.Element;
renderStatusPoint(forAvatar: boolean, statusDisplay: boolean, status: GenModels.StaffEmployeeStatus): JSX.Element;
showUserMenu: (e: any) => void;
hideUserMenu: (e: any) => void;
showUserProfile: (e: any) => void;
showMenuAbout: (e: any) => void;
showMenuExit: (e: any) => void;
showPoll: (e: React.MouseEvent) => void;
toggleMenuOnMobileVersion: (e: any) => void;
renderControlInsideHeader(): JSX.Element;
renderControlInsideMainMenu(): JSX.Element;
renderControl(): JSX.Element;
}