Make the filetree view width sticky across show/hide and reload
Summary: Ref T13090. The default width changed recently to become much wider, but the behavior on this control isn't great. Instead: - Pick a default width somewhere between the two. - Make the width sticky across show/hide (pressing "f" twice remembers your width instead of resetting it). - Make the width sticky across reloads (dragging the bar, then reloading the page keeps the bar in the same place). Test Plan: - Without settings, loaded page: got medium-width bar. - Dragged bar wide/narrow, toggled on/off with "f", got persistent width. - Dragged bar wide/narrow, reloaded page, got persistent width. - Dragged bar wide/narrow, toggled it off, reloaded page, toggled it on, got persistent width. Maniphest Tasks: T13090 Differential Revision: https://secure.phabricator.com/D19129
This commit is contained in:
@@ -415,17 +415,21 @@ final class DiffusionCommitController extends DiffusionController {
|
||||
PhabricatorShowFiletreeSetting::SETTINGKEY,
|
||||
PhabricatorShowFiletreeSetting::VALUE_ENABLE_FILETREE);
|
||||
|
||||
$pref_collapse = PhabricatorFiletreeVisibleSetting::SETTINGKEY;
|
||||
$collapsed = $viewer->getUserSetting($pref_collapse);
|
||||
|
||||
$nav = null;
|
||||
if ($show_changesets && $filetree_on) {
|
||||
$pref_collapse = PhabricatorFiletreeVisibleSetting::SETTINGKEY;
|
||||
$collapsed = $viewer->getUserSetting($pref_collapse);
|
||||
|
||||
$pref_width = PhabricatorFiletreeWidthSetting::SETTINGKEY;
|
||||
$width = $viewer->getUserSetting($pref_width);
|
||||
|
||||
$nav = id(new DifferentialChangesetFileTreeSideNavBuilder())
|
||||
->setTitle($commit->getDisplayName())
|
||||
->setBaseURI(new PhutilURI($commit->getURI()))
|
||||
->build($changesets)
|
||||
->setCrumbs($crumbs)
|
||||
->setCollapsed((bool)$collapsed);
|
||||
->setCollapsed((bool)$collapsed)
|
||||
->setWidth((int)$width);
|
||||
}
|
||||
|
||||
$view = id(new PHUITwoColumnView())
|
||||
|
||||
Reference in New Issue
Block a user