import type { DialogProps } from '../../Dialog'; import type { TreeListProps } from '../../Tree'; import type { TreeAsyncAutocompleteValue } from '../types'; export type OptionsModalProps = { /** * Если true, модальное окно будет открыто */ isOpen: boolean; /** * Флаг, определяющий отображение состояния загрузки в модальном окне. */ isLoadingModal: boolean; /** * Функция определения необходимости показа подсказки пользователю */ onShowUserHint?: (options: TreeAsyncAutocompleteValue[]) => boolean; /** * Опции, которые необходимо отобразить в виде дерева. */ options: TreeAsyncAutocompleteValue[]; /** * Выбранное значения */ initialValue?: TreeAsyncAutocompleteValue | null; /** * Флаг загрузки options * Если true, вместо дерева options будет отображен лоадер */ isLoading?: boolean; /** * Флаг ошибки загрузки options * Если true, вместо дерева options будет отображен плейсхолдер с ошибкой */ isLoadingError?: boolean; /** * Текст ошибки при загрузке данных */ loadingErrorMsg?: string; /** * Предназначен для конфигурации древовидного списка */ treeProps?: Pick; /** * Параметры предназначены для конфигурации модального окна */ dialogProps: Omit; /** * Функция обработки нажатия на кнопку "Повторить запрос" */ onRetry?: (search?: string) => void; /** * Функция, которая запускается при выборе item */ onChange?: (newValue?: TreeAsyncAutocompleteValue | null) => void; /** * Функция обработки изменения поля ввода */ onInputChange: (value: string) => void; /** * Метаданные опций */ meta?: { isAllDataLoaded?: boolean; }; /** * Минимальное количество символов для выполнения запроса */ minSymbolsToFetch?: number; };