There was an issue when dragging the reservation too close to the left:
DropArea was no longer receiving onPositionChanged events because the
hotspot was already outside its area. By default the hotspot is (0, 0),
and was outside the area as soon as the reservation was dragged to day
“-1” of the period.
Changing hotspot to (-width, 0) would only move the problem from the
left to the right side, whe dragging to the day past the last of the
period.
I tried to have the DropArea to have a left margin of -30 days, that way
it would fall way outside the range and continue receiving drag events.
However, ListView’s `clip: true` is not only to limit the visual area—it
also clips the region to receive events—, and i was at square one.
I had to merge all DropArea into a single element, something i should
have to do regardless, and move it as a sibling of the ListView, anchor
to it, and add the negative left margin. Then, i have to transform
drag’s coordinates from DropArea to ListView.contentItem to know the
correct position of the reservation rectangle relative to its parent.
Using contentItem also obviates the need of having to use scroll
offsets, as this is a Flickable concernt, not of contentItem.
Finally, i changed the Y position of the hotspot to half the rectangle
to give the same distance from the top and from the bottom before
snapping to the previour or next row.