Юниверс DG SDK UI
v2.15.0

Интерфейс DragDropContextProps

Контекст для настройки системы перетаскивания.

interface DragDropContextProps {
    children: ReactNode;
    dragHandleUsageInstructions?: string;
    enableDefaultSensors?: boolean;
    nonce?: string;
    sensors?: (
        (
            api: {
                canGetLock: (id: string) => boolean;
                findClosestDraggableId: (event: Event) => string | null;
                findOptionsForDraggable: (
                    id: string,
                ) =>
                    | {
                        canDragInteractiveElements: boolean;
                        isEnabled: boolean;
                        shouldRespectForcePress: boolean;
                    }
                    | null;
                isLockClaimed: () => boolean;
                tryGetLock: (
                    draggableId: string,
                    forceStop?: () => void,
                    options?: { sourceEvent?: Event },
                ) => PreDragActions | null;
                tryReleaseLock: () => void;
            },
        ) => void
    )[];
    onBeforeCapture?(before: BeforeCapture): void;
    onBeforeDragStart?(initial: DragStart): void;
    onDragEnd(
        result: DropResult,
        provided: { announce: (message: string) => void },
    ): void;
    onDragStart?(
        initial: DragStart,
        provided: { announce: (message: string) => void },
    ): void;
    onDragUpdate?(
        initial: DragUpdate,
        provided: { announce: (message: string) => void },
    ): void;
}
Индекс

Свойства

children: ReactNode

Дочерние элементы, которые будут отрисованы внутри контекста.

dragHandleUsageInstructions?: string

Инструкции по использованию области захвата.

enableDefaultSensors?: boolean

Включать ли сенсоры по умолчанию.

nonce?: string

Строка nonce для скриптов (CSP).

sensors?: (
    (
        api: {
            canGetLock: (id: string) => boolean;
            findClosestDraggableId: (event: Event) => string | null;
            findOptionsForDraggable: (
                id: string,
            ) =>
                | {
                    canDragInteractiveElements: boolean;
                    isEnabled: boolean;
                    shouldRespectForcePress: boolean;
                }
                | null;
            isLockClaimed: () => boolean;
            tryGetLock: (
                draggableId: string,
                forceStop?: () => void,
                options?: { sourceEvent?: Event },
            ) => PreDragActions | null;
            tryReleaseLock: () => void;
        },
    ) => void
)[]

Массив функций инициализации пользовательских сенсоров.

Объект для работы с блокировкой перетаскивания и поиском элементов.

Методы

  • Вызывается перед захватом элемента.

    Параметры

    • before: BeforeCapture

      Данные о перетаскиваемом элементе до старта.

    Возвращает void

  • Вызывается перед началом перетаскивания.

    Параметры

    • initial: DragStart

      Начальные сведения о перетаскивании.

    Возвращает void

  • Вызывается в конце перетаскивания.

    Параметры

    • result: DropResult

      Итоговое состояние.

    • provided: { announce: (message: string) => void }

      Объект с функцией объявления сообщений.

    Возвращает void

  • Вызывается при старте перетаскивания.

    Параметры

    • initial: DragStart

      Начальные сведения о перетаскивании.

    • provided: { announce: (message: string) => void }

      Объект с функцией объявления сообщений.

    Возвращает void

  • Вызывается при изменении положения перетаскиваемого элемента.

    Параметры

    • initial: DragUpdate

      Текущее состояние перетаскивания.

    • provided: { announce: (message: string) => void }

      Объект с функцией объявления сообщений.

    Возвращает void