Page MenuHomePhabricator

Show user availability dots (red = away, orange = busy) in typeaheads, tokenizer tokens, and autocompletes
ClosedPublic

Authored by epriestley on Feb 14 2019, 8:42 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 20, 8:45 PM
Unknown Object (File)
Wed, Nov 20, 3:42 AM
Unknown Object (File)
Sat, Nov 16, 2:45 PM
Unknown Object (File)
Mon, Nov 11, 7:58 PM
Unknown Object (File)
Thu, Nov 7, 11:28 PM
Unknown Object (File)
Oct 25 2024, 9:40 AM
Unknown Object (File)
Oct 17 2024, 9:21 PM
Unknown Object (File)
Oct 16 2024, 6:07 AM
Subscribers
None

Details

Summary

Ref T13249. See PHI810. We currently show availability dots in some interfaces (timeline, mentions) but not others (typeheads/tokenizers).

They're potentially quite useful in tokenizers, e.g. when assigning tasks to someone or requesting reviews. Show them in more places.

(The actual rendering here isn't terribly clean, and it would be great to try to unify all these various behaviors some day.)

Test Plan

Screen Shot 2019-02-14 at 12.37.01 PM.png (95×427 px, 9 KB)

Screen Shot 2019-02-14 at 12.37.07 PM.png (105×461 px, 9 KB)

Diff Detail

Repository
rP Phabricator
Branch
away1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 22010
Build 30065: Run Core Tests
Build 30064: arc lint + arc unit

Event Timeline

  • Remove some debugging code.

There are basically five different rendering pathways here, some of which should become more similar eventually:

  • The normal autocomplete in tokenizer fields, e.g. "Subscribers".
  • The @ mention autocomplete in remarkup. This has its own separate rendering because the "autocomplete" menu items don't look quite like normal typeahead items (they're a bit smaller and sleeker).
  • The token which gets rendered in a tokenizer field like "Subscribers" when you use the typeahead to actually select a subscriber.
  • The same token, which gets rendered in PHP and sent over the wire so that the page looks okay before JS runs, if you "Edit" an object which already has some subscribers.
  • The same token, which gets re-rendered in JS based on the PHP definition after JS fires, so that it has control of the nodes and stuff like the "X" that lets you "Remove Token" can work.

There are also two other pathways:

  • The more full-featured global search typeahead, which shows more information.
  • The "Browse" view of possible tokens, which also shows more information.

For now, I'm not touching those.

Some day, it would be nice to get these 7 pathways down to, like, less than 7. But nothing here really makes that any harder.

This revision is now accepted and ready to land.Feb 19 2019, 6:34 PM
This revision was automatically updated to reflect the committed changes.