Fix issues with Differential file toggling
Summary:
See D2714#15.
- Give anchors an id equal to their name so JX.$ can find them.
- Listen for click s on <a> s instead of hashchange s to make toggling a bit more correct and consistent.
- Add a placeholder menu item when the file is unloaded. A previous patch by @jungejason had left the item blank in that case.
- In fixing (1) I found another exception when clicking on ToC links. Since those links are differential-load, they try to load the file before jumping to it. However, loading destroys the node it's looking for, so if you jump to an already-loaded file JX.$ complains at you.
Test Plan: Make a giant diff. Click on links and try toggling files.
Reviewers: epriestley, vrana
Reviewed By: vrana
CC: vrana, aran, Korvin
Maniphest Tasks: T370
Differential Revision: https://secure.phabricator.com/D3185