/
githubmirror
/
react-beautiful-dnd
Обзор
Документация
Войти
/
githubmirror
/
react-beautiful-dnd
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/unit/integration/util/expanded-mouse.js
58 строк
2 KB
Alex Reardon
Adding onBeforeCapture Responder (#1605)
14 ноя 2019, 08:05
Не верифицирован
14 ноя 2019, 08:05
c8c8660
Код
Авторство
О чём код?
// @flow import type { Position } from 'css-box-model'; import { fireEvent, act } from '@testing-library/react'; import { mouse, getTransitionEnd } from './controls'; import { sloppyClickThreshold } from '../../../../src/view/use-sensor-marshal/sensors/use-mouse-sensor'; // Not a 'control'. A little more extensible const expandedMouse = { name: 'mouse', powerLift: (handle: HTMLElement, point: Position) => { fireEvent.mouseDown(handle, { clientX: point.x, clientY: point.y }); fireEvent.mouseMove(handle, { clientX: point.x, clientY: point.y + sloppyClickThreshold, }); }, // no batching of events with .act by testing libray rawPowerLift: (handle: HTMLElement, point: Position) => { const mousedown: MouseEvent = new MouseEvent('mousedown', { bubbles: true, cancelable: true, clientX: point.x, clientY: point.y, }); handle.dispatchEvent(mousedown); const mousemove: MouseEvent = new MouseEvent('mousemove', { bubbles: true, cancelable: true, clientX: point.x, clientY: point.y + sloppyClickThreshold, }); handle.dispatchEvent(mousemove); }, move: (handle: HTMLElement, point: Position) => { fireEvent.mouseMove(handle, { clientX: point.x, clientY: point.y }); // movements are throttled by raf act(() => { requestAnimationFrame.step(); }); }, startDrop: (handle: HTMLElement) => { fireEvent.mouseUp(handle); }, finishDrop: (handle: HTMLElement) => { fireEvent(handle, getTransitionEnd()); }, powerDrop: (handle: HTMLElement) => { mouse.drop(handle); }, cancel: (handle: HTMLElement) => { mouse.cancel(handle); }, }; export default expandedMouse;