1
0
Fork 0
mirror of https://github.com/teamcapybara/capybara.git synced 2022-11-09 12:08:07 -05:00

Drop modifiers shouldn't be held down at drag start

This commit is contained in:
Thomas Walpole 2020-01-25 11:04:45 -08:00
parent fa520a5c6a
commit e62a194a68
3 changed files with 30 additions and 9 deletions

View file

@ -160,6 +160,14 @@ class Capybara::Selenium::Node
var targetRect = target.getBoundingClientRect();
var sourceCenter = rectCenter(source.getBoundingClientRect());
for (var i = 0; i < drop_modifier_keys.length; i++) {
key = drop_modifier_keys[i];
if (key == "control"){
key = "ctrl"
}
opts[key + 'Key'] = true;
}
// fire 2 dragover events to simulate dragging with a direction
var entryPoint = pointOnRect(sourceCenter, targetRect)
var dragOverOpts = Object.assign({clientX: entryPoint.x, clientY: entryPoint.y}, opts);
@ -198,14 +206,6 @@ class Capybara::Selenium::Node
var dt = new DataTransfer();
var opts = { cancelable: true, bubbles: true, dataTransfer: dt };
for (var i = 0; i < drop_modifier_keys.length; i++) {
key = drop_modifier_keys[i];
if (key == "control"){
key = "ctrl"
}
opts[key + 'Key'] = true;
}
while (source && !source.draggable) {
source = source.parentElement;
}