UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

97 lines (96 loc) 5.58 kB
import { CommentsImpl } from "@docsvision/webclient/BackOffice/CommentsImpl"; import { ICommentEventArgs } from "@docsvision/webclient/BackOffice/ICommentEventArgs"; import { CommentModel } from '@docsvision/webclient/BackOffice/CommentModel'; import { $CommentsController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers"; import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models"; import { $CurrentEmployeeId, $DeviceType, $IsIE, $Locale } from "@docsvision/webclient/StandardServices"; import { BaseControl, BaseControlParams, BaseControlState } from "@docsvision/webclient/System/BaseControl"; import { IDataChangedEventArgsEx } from "@docsvision/webclient/System/IDataChangedEventArgs"; import { $CardInfo, $EditOperationStore, $LayoutInfo } from "@docsvision/webclient/System/LayoutServices"; import { IBindingResult } from "@docsvision/webclient/System/IBindingResult"; import { BasicApiEvent, CancelableApiEvent } from "@docsvision/webclient/System/ApiEvent"; import { $ExperimentalFeature } from "@docsvision/webclient/System/$ExperimentalFeature"; /** * Публичные свойства для контрола {@link Comments}. */ export declare class CommentsParams extends BaseControlParams { /** Стандартный CSS класс со стилями элемента управления. */ standardCssClass?: string; /** Список комментариев. */ comments: Array<CommentModel>; /** Источник данных. */ commentsDataSource?: GenModels.CommentsDataSourceInfoModel; /** Количество комментариев. */ allCommentsCount?: number; /** Максимальное количество отображаемых комментариев. */ maxVisibleComments?: number; /** Плейсхолдер */ placeHolder?: string; /** Ширина блока комментария. */ commentMaxWidth?: string; /** Событие, возникающее после добавления комментария. */ commentAdded?: BasicApiEvent<ICommentEventArgs>; /** Событие, возникающее перед добавлением комментария. */ commentAdding?: CancelableApiEvent<ICommentEventArgs>; /** Событие, возникающее после удаления комментария. */ commentDeleted?: BasicApiEvent<ICommentEventArgs>; /** Событие, возникающее перед удалением комментария. */ commentDeleting?: CancelableApiEvent<ICommentEventArgs>; /** Событие, возникающее после изменения комментария. */ commentEdited?: BasicApiEvent<ICommentEventArgs>; /** Событие, возникающее перед изменением комментария. */ commentEditing?: CancelableApiEvent<ICommentEventArgs>; /** Событие, возникающее после изменения списка комментариев. */ dataChanged?: BasicApiEvent<IDataChangedEventArgsEx<GenModels.Comment[]>>; /** Можно ли добавлять новые комментарии. */ canComment?: boolean; /** Можно ли изменять собственные комментарии. */ canEditSelf?: boolean; /** Можно ли изменять все комментарии. */ canEditAll?: boolean; /** Флаг, показывающий включен ли режим создания комментариев через HTML (Summernote в режиме Air-mode). */ useHtml?: boolean; /** Редактируется ли комментарий в данный момент. */ isCommentEditing?: boolean; services?: $CommentsController & $CurrentEmployeeId & $CardInfo & $LayoutInfo & $EditOperationStore & $DeviceType & $Locale & $IsIE & $ExperimentalFeature; } /** @internal */ export interface CommentsState extends CommentsParams, BaseControlState { addingComment: CommentModel; editingComment: CommentModel | undefined; textArea: HTMLElement; binding: IBindingResult<GenModels.CommentsModel>; useHtml: boolean; isCommentEditing: boolean; } /** * Представляет элемент управления для отображения списка комментариев. */ export declare class Comments extends BaseControl<CommentsParams, CommentsState> { protected createParams(): CommentsParams; private get CommentsImpl(); protected createImpl(): CommentsImpl; protected set canComment(binding: IBindingResult<{}>); protected set canEditSelf(binding: IBindingResult<{}>); protected set canEditAll(binding: IBindingResult<{}>); protected set comments(binding: IBindingResult<GenModels.CommentsModel>); init(): void; /** Обновление комментариев. */ refresh(): void; /** * Добавление комментария. * @param text Текст нового комментария */ addComment(text: string): Promise<{}>; /** * Изменение комментария * @param commentId Идентификатор комментария * @param text Текст комментария */ updateComment(commentId: string, text: string): Promise<{}>; /** * Удаление комментария * @param commentId Идентификатор комментария */ deleteComment(commentId: string): Promise<{}>; }