UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

55 lines (54 loc) 4.11 kB
import { IReadonlyAccessor } from '@docsvision/webclient/Helpers/DynamicModel/IReadonlyAccessor'; import React from 'react'; /** @internal Свойства для {@link SortableItems} */ export interface ISortableItemsProps<T = any> { /** Модели данных, которые необходимо сортировать. */ items: T[]; /** Функция, осуществляющая отрисовку элемента данных. */ renderItem: (item: T, index?: number, items?: T[]) => any; /** Вызывается при изменении порядка дочерних элементов */ onReorder: (sortedItems: T[]) => void; /** Доступ к полю идентификатору в модели данных. */ idAccessor: IReadonlyAccessor<T, string>; /** Ось сортировки {@link http://api.jqueryui.com/sortable/#option-axis} */ axis?: 'x' | 'y'; /** Указывает, какой блок выступает границами сортировки {@link http://api.jqueryui.com/sortable/#option-containment} */ containment?: HTMLElement | JQuery | 'parent' | 'document' | 'window' | string; /** Стиль курсора во время изменения порядка элементов {@link http://api.jqueryui.com/sortable/#option-cursor} */ cursor?: string; /** Стиль курсора во время изменения порядка элементов {@link http://api.jqueryui.com/sortable/#option-disabled} */ disabled?: boolean; /** Должен ли хелпер иметь размер {@link http://api.jqueryui.com/sortable/#option-forceHelperSize} */ forceHelperSize?: boolean; /** Должен ли плейсхолдер иметь размер {@link http://api.jqueryui.com/sortable/#option-forcePlaceholderSize} */ forcePlaceholderSize?: boolean; /** * Указывает селектор внутри дочернего элемента, за который можно будет его таскать (по умолчанию таскается весь дочерний элемент) * {@link http://api.jqueryui.com/sortable/#option-handle} */ handle?: string; /** Прозрачность перетаскиваемого элемента {@link http://api.jqueryui.com/sortable/#option-opacity} */ opacity?: number; /** Если true, то страница скроллится, когда перетаскиваемый элемент на её краю {@link http://api.jqueryui.com/sortable/#option-scroll} */ scroll?: boolean; /** * Как далеко должна быть мышка от края (в пикселях), чтобы при перетаскивании страница скролилась бы (см. scroll) * {@link http://api.jqueryui.com/sortable/#option-scrollSensitivity} */ scrollSensitivity?: number; /** Скорость скролла окна при перетаскивании (см. scroll) {@link http://api.jqueryui.com/sortable/#option-scrollSpeed} */ scrollSpeed?: number; /** * Указывает режим, который регулирует, передвинулся ли перетаскиваемый элемент за другой элемент или нет * {@link http://api.jqueryui.com/sortable/#option-tolerance} */ tolerance?: 'intersect' | 'pointer'; /** ZIndex перетаскиваемого элемента {@link http://api.jqueryui.com/sortable/#option-zIndex} */ zIndex?: number; /** Остановить сортировку, если перетаскиваемый элемент вне родителя */ draggableInParent?: boolean; } /** Обертка вокруг {@see Sortable}, определяющая другой интерфейс (не требующий оборачивать элементы в {@see ISortableItem}). */ export declare class SortableItems<T = any> extends React.Component<ISortableItemsProps<T>, undefined> { render(): JSX.Element; }