2017-01-06 11:52:18 -05:00
|
|
|
module DragTo
|
2018-05-31 11:00:11 -04:00
|
|
|
def drag_to(list_from_index: 0, from_index: 0, to_index: 0, list_to_index: 0, selector: '', scrollable: 'body', duration: 1000)
|
|
|
|
evaluate_script("simulateDrag({scrollable: $('#{scrollable}').get(0), duration: #{duration}, from: {el: $('#{selector}').eq(#{list_from_index}).get(0), index: #{from_index}}, to: {el: $('#{selector}').eq(#{list_to_index}).get(0), index: #{to_index}}});")
|
2017-01-06 11:52:18 -05:00
|
|
|
|
|
|
|
Timeout.timeout(Capybara.default_max_wait_time) do
|
2017-04-04 13:47:12 -04:00
|
|
|
loop while drag_active?
|
2017-01-06 11:52:18 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def drag_active?
|
2017-04-04 13:47:12 -04:00
|
|
|
page.evaluate_script('window.SIMULATE_DRAG_ACTIVE').nonzero?
|
2017-01-06 11:52:18 -05:00
|
|
|
end
|
|
|
|
end
|