customMouseTrigger
now allows all mouse buttons, not only the left onewhenLeftMouseButtonPressed
is now exposed by the module, to allow the old behaviour when usingcustomMouseTrigger
. It must be applied manually to the custom decoder.customMouseTrigger
now also takes the key as an argument, same asmouseTrigger
.
- customMouseTrigger customDecoder CustomMsg
+ customMouseTrigger () (whenLeftMouseButtonPressed customDecoder) CustomMsg
This change was made because it seems to be more common to need floats when handling positions:
Actual changes:
- changed
Delta
alias to(Float, Float)
. - removed
deltaToFloats
- no longer needed. Also, did not feel like a "mirror"deltaToInts
would have been that useful for the common case.
Version 1.1.0 introduced the ability to have multiple drag targets, each identified by its own key. Since it was a minor release, it only added new functions alongside the old ones: onMouseDownKeyed
as a "keyed" alternative to onMouseDown
and mouseTrigger
as a more general triggerOnMouseDown
(which was deprecated). In this release the old API is updated to handle key
s by default:
triggerOnMouseDown
is removed -mouseTrigger ""
should be used instead.onMouseDownKeyed
is renamed toonMouseDown
.onMouseDown
will now get aKey
- old calls can be replaced withonMouseDown (\_ -> OnMouseDown)
.onDragStart
andonClick
will also get aKey
.
Fixes #23
This event is not actually needed, since it can handled as a regular DOM event. However, onMouseDown
can't be removed because a DOM element cannot handle two events of the same type: the last one will override the first. So, in the following example HandleMouseDown
will be handled, but dragging will not work:
Html.div
[ Draggable.mouseTrigger "" DragMsg
, Html.Events.onMouseDown HandleMouseDown
]
So, the following change is needed to keep onMouseUp
working:
dragConfig =
Draggable.customConfig
[ onDragBy HandleDragBy
- , Draggable.Events.onMouseUp HandleMouseUp
]
view =
Html.div
[ Draggable.mouseTrigger "" DragMsg
+ , Html.Events.onMouseUp HandleMouseUp
]