Page MenuHomePhabricator

Improve overflow/ellipsis behaivor for very wide task graphs
ClosedPublic

Authored by epriestley on Mar 29 2019, 12:45 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 28, 7:51 AM
Unknown Object (File)
Tue, Nov 26, 6:28 AM
Unknown Object (File)
Tue, Nov 26, 6:27 AM
Unknown Object (File)
Tue, Nov 26, 6:27 AM
Unknown Object (File)
Mon, Nov 25, 11:45 PM
Unknown Object (File)
Sat, Nov 23, 7:50 PM
Unknown Object (File)
Fri, Nov 8, 7:19 PM
Unknown Object (File)
Thu, Nov 7, 4:29 AM
Subscribers
None
Tokens
"Love" token, awarded by leoluk.

Details

Summary

See downstream https://phabricator.wikimedia.org/T171648. The T123 Task Name column in graphs can currently fold down to 0 pixels wide.

Although it's visually nice to render this element without a scroll bar when we don't really need one, the current behavior is excessive and not very useful.

Instead, tweak the CSS so:

  • This cell is always at least 320px wide.
  • After 320px, we'll overflow/ellipsis the cell on small screens.

This generally gives us better behavior:

  • Small screens get a scrollbar to see a reasonable amount of content.
  • The UI doesn't turn into a total mess if one task has a whole novel of text.
Test Plan

Old behavior, note that there's no scrollbar and the cell is so narrow it is useless:

Screen Shot 2019-03-28 at 5.39.37 PM.png (1×669 px, 237 KB)

New behavior, same default view, has a scrollbar:

Screen Shot 2019-03-28 at 5.39.54 PM.png (1×669 px, 247 KB)

Scrolling over gives you this:

Screen Shot 2019-03-28 at 5.39.56 PM.png (1×669 px, 253 KB)

On a wider screen (this wide or better), we don't need to scroll:

Screen Shot 2019-03-28 at 5.40.11 PM.png (1×953 px, 305 KB)

Diff Detail

Repository
rP Phabricator
Branch
graph1
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 22427
Build 30689: Run Core Tests
Build 30688: arc lint + arc unit

Unit TestsFailed

TimeTest
241 msPhabricatorCelerityTestCase::testCelerityMaps
Assertion failed, expected 'true' (at PhabricatorCelerityTestCase.php:32): When this test fails, it means the Celerity resource map is out of date. Run `bin/celerity map` to rebuild it. ACTUAL VALUE
1 msAlmanacNamesTestCase::testServiceOrDeviceNames
30 assertions passed.
0 msAlmanacServiceTypeTestCase::testGetAllServiceTypes
1 assertion passed.
0 msAphrontHTTPSinkTestCase::testHTTPHeaderNames
2 assertions passed.
0 msAphrontHTTPSinkTestCase::testHTTPSinkBasics
3 assertions passed.
View Full Test Results (1 Failed · 356 Passed)