Skip to content

Commit 726d1e2

Browse files
committed
Fix #12
1 parent 93847bb commit 726d1e2

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

Diff for: src/eventHandlers.ts

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export function handleEvent(node : VNode, event : MouseEvent, options : Sortable
1717
const eventHandlerMapping : { [type : string]: EventHandler } = {
1818
'mousedown': mousedownHandler,
1919
'mouseup': mouseupHandler,
20+
'mouseleave': mouseupHandler,
2021
'mousemove': mousemoveHandler,
2122
'touchstart': mousedownHandler,
2223
'touchend': mouseupHandler,

Diff for: src/makeSortable.ts

+9-4
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,15 @@ export function makeSortable<T>(dom : DOMSource, options? : SortableOptions) : (
3838
.map(augmentEvent)
3939
) as Stream<MouseEvent>;
4040

41-
const mouseup$ : Stream<MouseEvent> = xs.merge(
42-
xs.fromObservable(dom.select('body').events('mouseup')).take(1),
43-
xs.fromObservable(dom.select(defaults.handle).events('touchend')).debug('end')
44-
) as Stream<MouseEvent>;
41+
const mouseup$ : Stream<MouseEvent> = mousedown$
42+
.mapTo(
43+
xs.merge(
44+
xs.fromObservable(dom.select('body').events('mouseleave')),
45+
xs.fromObservable(dom.select('body').events('mouseup')),
46+
xs.fromObservable(dom.select(defaults.handle).events('touchend'))
47+
)
48+
.take(1)
49+
).flatten() as Stream<MouseEvent>;
4550

4651
const mousemove$ : Stream<MouseEvent> = mousedown$
4752
.mapTo(xs.merge(

0 commit comments

Comments
 (0)