Listeners for the various events involved in dragging (onDragBy, onDragStart, etc.). Also handles click events when the mouse was not moved.
Register a DragEnd event listener. It will not trigger if the mouse has not moved while it was pressed.
Register a DragBy event listener. It will trigger every time the mouse is moved. The sent message will contain a Delta, which is the distance between the current position and the previous one.
case Msg of
OnDragBy (dx, dy) ->
{ model | position = { x = position.x + dx, y = position.y + dy } }Register a Click event listener. It will trigger if the mouse is pressed and immediately release, without any move.
Register a MouseDown event listener. It will trigger whenever the mouse is pressed.
Register a keyed MouseDown event listener. It will trigger whenever the mouse is pressed and will indicate the target element by the given String key.
Register a MouseUp event listener. It will trigger whenever the mouse is released.
Register a
DragStartevent listener. It will not trigger if the mouse has not moved while it was pressed.