MCPcopy
hub / github.com/youzan/vant / triggerDrag

Function triggerDrag

packages/vant/test/event.ts:59–94  ·  view source on GitHub ↗
(
  el:
    | VueWrapper<ComponentPublicInstance<any, any, any>>
    | DOMWrapper<Element>
    | HTMLElement,
  relativeX = 0,
  relativeY = 0,
  options: TriggerDragOptions = {
    simulateDesktop: true,
  },
)

Source from the content-addressed store, hash-verified

57
58// simulate drag gesture
59export function triggerDrag(
60 el:
61 | VueWrapper<ComponentPublicInstance<any, any, any>>
62 | DOMWrapper<Element>
63 | HTMLElement,
64 relativeX = 0,
65 relativeY = 0,
66 options: TriggerDragOptions = {
67 simulateDesktop: true,
68 },
69) {
70 let x = relativeX;
71 let y = relativeY;
72 let startX = 0;
73 let startY = 0;
74 if (relativeX < 0) {
75 startX = Math.abs(relativeX);
76 x = 0;
77 }
78 if (relativeY < 0) {
79 startY = Math.abs(relativeY);
80 y = 0;
81 }
82 trigger(el, 'touchstart', startX, startY);
83 trigger(el, 'touchmove', x / 4, y / 4);
84 trigger(el, 'touchmove', x / 3, y / 3);
85 trigger(el, 'touchmove', x / 2, y / 2);
86 trigger(el, 'touchmove', x, y);
87 trigger(el, 'touchend', x, y);
88
89 if (options.simulateDesktop) {
90 trigger(el, 'click', x, y);
91 }
92
93 return nextTick();
94}

Callers 15

index.spec.tsxFile · 0.90
triggerDoubleTapFunction · 0.90
index.spec.tsFile · 0.90
index.spec.tsFile · 0.90
index.spec.jsxFile · 0.90
index.spec.tsFile · 0.90
index.spec.tsxFile · 0.90
index.spec.tsFile · 0.90
index.spec.jsxFile · 0.90
index.spec.tsxFile · 0.90
index.spec.tsFile · 0.90

Calls 1

triggerFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…