UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

103 lines (102 loc) 4.99 kB
import { CardKindParams } from "@docsvision/webclient/BackOffice/CardKind"; import { CardKindTreeNodeModel } from "@docsvision/webclient/BackOffice/CardKindTreeNodeModel"; import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models"; import { ITypeaheadSearchQuery } from "@docsvision/webclient/Helpers/Typeahead/Models/ITypeaheadSearchQuery"; import { ITypeaheadSearchResult } from "@docsvision/webclient/Helpers/Typeahead/Models/ITypeaheadSearchResult"; import { ITypeaheadVariant } from "@docsvision/webclient/Helpers/Typeahead/Models/ITypeaheadVariant"; import { Typeahead } from "@docsvision/webclient/Helpers/Typeahead/Typeahead"; import { InputBasedControlImpl, InputBasedControlState } from "@docsvision/webclient/System/InputBasedControlImpl"; import { RequestHelper } from "@docsvision/webclient/System/RequestHelper"; import { SimpleEvent } from "@docsvision/webclient/System/SimpleEvent"; import React from "react"; /** @internal */ export interface CardKindState extends CardKindParams, InputBasedControlState<GenModels.CardKindModel> { requestHelper: RequestHelper; isLoading: boolean; /** cardKindsTree и cardKindsList это всегда одна и та же модель, но в одном случае она древовидна, а в другом сплющенная */ cardKindsTree: CardKindTreeNodeModel[]; /** cardKindsTree и cardKindsList это всегда одна и та же модель, но в одном случае она древовидна, а в другом сплющенная */ cardKindsList: CardKindTreeNodeModel[]; selectKindModalOpen: boolean; displayIcon: boolean; } /** @internal */ export declare class CardKindImpl extends InputBasedControlImpl<GenModels.CardKindModel, CardKindParams, CardKindState> { protected onLoadEvent: SimpleEvent<any>; protected typeahead: Typeahead; constructor(props: CardKindParams, state: CardKindState); /** * Загружаем дерево с видами */ protected loadCardKindsTree(): Promise<CardKindTreeNodeModel[]>; /** * Загружаем дерево с видами и сохраняем его в контроле */ protected loadAndApplyCardKindsTree: () => void; /** * Текстовое значение выбранного вида */ protected getTextValue(): string; /** * Заголовок выбранного вида */ protected getValueTitle(): string; protected getCssClass(): string; /** * Список элементов для выпадающего списка с автодополнением */ protected findItems: (typeaheadQuery: ITypeaheadSearchQuery) => Promise<ITypeaheadSearchResult>; /** * Доступен ли вид карточки */ protected isCardKindAvailable: (cardKind: CardKindTreeNodeModel, notAvailableProperty?: "notAvailable" | "notSelectable") => boolean; /** * При выборе вида в списке с автодополнением */ protected onSelected: (variant: ITypeaheadVariant) => void; /** * Показать модальное окно с выбором вида */ protected showSelectKindModal: () => void; /** * Скрыть модальное окно с выбором вида */ protected hideSelectKindModal: () => void; /** * Конвертирует узел из дерева видов в модель контрола (например, для установки значения при выборе в дереве) */ protected convertCardKindTreeNodeToModel: (node: CardKindTreeNodeModel) => GenModels.CardKindModel; /** * При выборе узла в дереве видов */ protected onCardKindTreeNodeSelect: (cardKind: CardKindTreeNodeModel) => void; /** * При вводе в инпут с автодополнением * @param ev Событие клавиатуры */ protected onInputKeyDown(ev: React.KeyboardEvent<any>): void; protected onModalKeyDown(ev: React.KeyboardEvent<any>): void; private attachTypeahead; /** * Куда рендерим контрол * @param props Свойства * @param container Контейнер */ protected renderInto(props: CardKindParams, container: HTMLElement): void; /** * Отрисовывание контрола */ renderControl(): {}; /** * Отрисовывание контрола в режиме просмотра */ protected renderWithText(): JSX.Element; /** * Отрисовывание контрола в режиме редактирования */ protected renderInputWithPlaceholder(): React.ReactNode; /** * Отрисовываем дерево видов. */ protected renderCardKindsTree(): React.ReactNode; }