DataGrid 2 swipe actions
Mark Waddingham
mark at livecode.com
Thu Aug 27 14:16:35 EDT 2020
On 2020-08-27 17:07, Mike Kerner via use-livecode wrote:
> name's mikey. y'all can call me...
> mikey
>
> howdy.
>
> i think it was just one line of code, too, right? it was just a matter
> of
> setting the delayTouches to true. i have no idea why it was originally
> "false".
Well, the advantage of generally trying to make sure all substantive
changes made to the source have well structured commit titles and decent
descriptions in the body means its easy to find out by grokking `git
log` :D
It was changed precisely because of the issues Andrew pointed out with
DG2, specifically in this commit:
commit ac1beee1dd113e203b6715fe472cf2fa88656bd5
Author: Michael McCreary <michael.mccreary at runrev.com>
Date: Thu Dec 21 12:49:26 2017 +0000
[[ DataGrid 2 ]] Fix drags to cooperate with the mobile scroller.
Previously, a data grid's mobile scroller was getting in the way of
reorder and swipe actions.
To fix for reordering, we disable the scroller whenn the user clicks
on a reorder control (and re-enable it when the reorder completes).
Swipes are a little trickier. We track dragging on mouse down, but
disabling the scroller at this point will prevent all scrolling.
Instead we attempt to determine if the user is trying to drag the
row before disabling the scroller.
I'd need to do some more digging to see if the highlight on touch has
actually been caused by something else since as I don't recall it being
an issue, or noticed when DG2 debuted - but I could be wrong. Especially
more since Android has never had a delayTouches mode.
Either this problem also affects Android, which means turning
delayTouches on is not really an option (given the negative consequences
to DG2 behavior); or it doesn't affect Android in which case something
else has changed (potentially in the iOS scroller control itself).
I suspect we will just need a short timer on mouse down so that it only
triggers a highlight *if* a scroll message isn't received within the
interval of the timer.
Warmest Regards,
Mark.
--
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps
More information about the use-livecode
mailing list