MCPcopy
hub / github.com/Shopify/draggable / [onDragOver]

Method [onDragOver]

src/Sortable/Sortable.js:221–261  ·  view source on GitHub ↗

* Drag over handler * @private * @param {DragOverEvent} event - Drag over event

(event)

Source from the content-addressed store, hash-verified

219 * @param {DragOverEvent} event - Drag over event
220 */
221 [onDragOver](event) {
222 if (event.over === event.originalSource || event.over === event.source) {
223 return;
224 }
225
226 const {source, over, overContainer} = event;
227 const oldIndex = this.index(source);
228
229 const sortableSortEvent = new SortableSortEvent({
230 dragEvent: event,
231 currentIndex: oldIndex,
232 source,
233 over,
234 });
235
236 this.trigger(sortableSortEvent);
237
238 if (sortableSortEvent.canceled()) {
239 return;
240 }
241
242 const children = this.getDraggableElementsForContainer(overContainer);
243 const moves = move({source, over, overContainer, children});
244
245 if (!moves) {
246 return;
247 }
248
249 const {oldContainer, newContainer} = moves;
250 const newIndex = this.index(source);
251
252 const sortableSortedEvent = new SortableSortedEvent({
253 dragEvent: event,
254 oldIndex,
255 newIndex,
256 oldContainer,
257 newContainer,
258 });
259
260 this.trigger(sortableSortedEvent);
261 }
262
263 /**
264 * Drag stop handler

Callers

nothing calls this directly

Calls 5

indexMethod · 0.95
canceledMethod · 0.80
moveFunction · 0.70
triggerMethod · 0.45

Tested by

no test coverage detected