Page MenuHomePhabricator

Replace height buffer behavior while dragging on workboards with infinite column height
ClosedPublic

Authored by epriestley on Feb 9 2016, 1:51 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Dec 18, 6:20 AM
Unknown Object (File)
Wed, Dec 18, 6:20 AM
Unknown Object (File)
Wed, Dec 18, 6:20 AM
Unknown Object (File)
Wed, Dec 11, 8:34 PM
Unknown Object (File)
Wed, Dec 11, 8:34 PM
Unknown Object (File)
Mon, Dec 9, 3:54 PM
Unknown Object (File)
Mon, Dec 2, 4:55 PM
Unknown Object (File)
Wed, Nov 27, 4:04 AM
Subscribers
None

Details

Summary

Ref T4900. The root problem is that dragging stuff near the bottom of the board can cause jittery, jumpy behaviors.

Internal scrolling has changed the nature of this problem. Previously, the height of the board itself would jump around, but it's now fixed so the height of columns jumps around instead.

We could take the same approach and add a chunk to the bottom of each column when a drag starts, but this is really distracting visually since it's obvious to the user.

Instead, treat columns as infinitely tall (so dragging beneath them still counts as dragging to the bottom position).

Test Plan
  • View a board with a column taller than the screen (has a scrollbar).
  • Drag a card to near the bottom position.
  • Move the mouse down a little bit at a time, continuing toward the bottom of the page.
    • Before patch: at some point, UI flips out and starts rapidly adding, scrolling, and removing the ghost.
    • After patch: sensible behavior, ghost is in bottom position for all cursor locations.

Also works for dragging to the top.

(This leaves us with a little less dead space for cancelling drags, but you've still got the left menu, anything offscreen, and the escape key, which seems fine.)

Diff Detail

Repository
rP Phabricator
Branch
board15
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 10592
Build 12991: Run Core Tests
Build 12990: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Replace height buffer behavior while dragging on workboards with infinite column height.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.

This also allows you to drag into a column by dragging under it, which feels good to me.

chad edited edge metadata.
This revision is now accepted and ready to land.Feb 9 2016, 2:23 PM
This revision was automatically updated to reflect the committed changes.