1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-10 08:52:39 +01:00

Always collapse the left nav on desktops

Summary:
There is basically no reason for anyone to ever use the uncollapsed mode for more than the first 2 minutes of using the tool.

Delete all code related to collapse/expand.

(I'm going to add tooltips next.)

Also move the drag bar a few pixels to the right, so it does not overlap with the scrollbar on the "local" nav if there is one.

Test Plan: Viewed in desktop/tablet/phone modes.

Reviewers: vrana

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D3413
This commit is contained in:
epriestley 2012-08-30 18:58:59 -07:00
parent c4ed47929c
commit 5c006193dd
5 changed files with 11 additions and 134 deletions

View file

@ -1518,7 +1518,7 @@ celerity_register_resource_map(array(
), ),
'javelin-behavior-phabricator-nav' => 'javelin-behavior-phabricator-nav' =>
array( array(
'uri' => '/res/dc349915/rsrc/js/application/core/behavior-phabricator-nav.js', 'uri' => '/res/6e550189/rsrc/js/application/core/behavior-phabricator-nav.js',
'type' => 'js', 'type' => 'js',
'requires' => 'requires' =>
array( array(
@ -1528,9 +1528,8 @@ celerity_register_resource_map(array(
3 => 'javelin-dom', 3 => 'javelin-dom',
4 => 'javelin-magical-init', 4 => 'javelin-magical-init',
5 => 'javelin-vector', 5 => 'javelin-vector',
6 => 'javelin-request', 6 => 'javelin-util',
7 => 'javelin-util', 7 => 'javelin-fx',
8 => 'javelin-fx',
), ),
'disk' => '/rsrc/js/application/core/behavior-phabricator-nav.js', 'disk' => '/rsrc/js/application/core/behavior-phabricator-nav.js',
), ),
@ -2477,7 +2476,7 @@ celerity_register_resource_map(array(
), ),
'phabricator-nav-view-css' => 'phabricator-nav-view-css' =>
array( array(
'uri' => '/res/289a0aed/rsrc/css/aphront/phabricator-nav-view.css', 'uri' => '/res/1d3e1353/rsrc/css/aphront/phabricator-nav-view.css',
'type' => 'css', 'type' => 'css',
'requires' => 'requires' =>
array( array(

View file

@ -33,7 +33,6 @@ final class PhabricatorUserPreferences extends PhabricatorUserDAO {
const PREFERENCE_DIFFUSION_VIEW = 'diffusion-view'; const PREFERENCE_DIFFUSION_VIEW = 'diffusion-view';
const PREFERENCE_DIFFUSION_SYMBOLS = 'diffusion-symbols'; const PREFERENCE_DIFFUSION_SYMBOLS = 'diffusion-symbols';
const PREFERENCE_NAV_COLLAPSED = 'nav-collapsed';
const PREFERENCE_NAV_WIDTH = 'nav-width'; const PREFERENCE_NAV_WIDTH = 'nav-width';
protected $userPHID; protected $userPHID;

View file

@ -77,48 +77,19 @@ final class AphrontSideNavView extends AphrontView {
$nav_id = null; $nav_id = null;
$drag_id = null; $drag_id = null;
$content_id = celerity_generate_unique_node_id(); $content_id = celerity_generate_unique_node_id();
$collapse_id = null;
$expand_id = null;
$local_id = null; $local_id = null;
$local_menu = null; $local_menu = null;
$main_id = celerity_generate_unique_node_id(); $main_id = celerity_generate_unique_node_id();
$apps = $this->renderApplications(); $apps = $this->renderApplications();
$key = PhabricatorUserPreferences::PREFERENCE_NAV_COLLAPSED;
if ($user->loadPreferences()->getPreference($key)) {
$nav_classes[] = 'phabricator-nav-app-collapsed';
}
$collapse_id = celerity_generate_unique_node_id();
$expand_id = celerity_generate_unique_node_id();
$collapse_button = phutil_render_tag(
'a',
array(
'href' => '#',
'class' => 'phabricator-nav-app-button-collapse',
'id' => $collapse_id,
),
'« Collapse');
$expand_button = phutil_render_tag(
'a',
array(
'href' => '#',
'class' => 'phabricator-nav-app-button-expand',
'id' => $expand_id,
),
'»');
$app_menu = phutil_render_tag( $app_menu = phutil_render_tag(
'div', 'div',
array( array(
'class' => 'phabricator-nav-col phabricator-nav-app', 'class' => 'phabricator-nav-col phabricator-nav-app',
'id' => $app_id, 'id' => $app_id,
), ),
$apps->render()). $apps->render());
$expand_button.
$collapse_button;
if ($this->flexible) { if ($this->flexible) {
$drag_id = celerity_generate_unique_node_id(); $drag_id = celerity_generate_unique_node_id();
@ -154,9 +125,6 @@ final class AphrontSideNavView extends AphrontView {
'localID' => $local_id, 'localID' => $local_id,
'dragID' => $drag_id, 'dragID' => $drag_id,
'contentID' => $content_id, 'contentID' => $content_id,
'collapseID' => $collapse_id,
'expandID' => $expand_id,
'collapseKey' => $key,
)); ));
if ($this->active && $local_id) { if ($this->active && $local_id) {

View file

@ -43,7 +43,7 @@
.phabricator-nav-drag { .phabricator-nav-drag {
position: fixed; position: fixed;
top: 0; top: 0;
left: 327px; left: 217px;
width: 7px; width: 7px;
bottom: 0; bottom: 0;
z-index: 4; z-index: 4;
@ -66,10 +66,6 @@
display: none; display: none;
} }
.device-desktop .phabricator-nav-app-collapsed .phabricator-nav-drag {
left: 215px;
}
.phabricator-nav-col a, .phabricator-nav-col a,
.phabricator-nav-col span { .phabricator-nav-col span {
display: block; display: block;
@ -79,7 +75,7 @@
left: 150px; left: 150px;
} }
.device-desktop .phabricator-nav-app-collapsed .phabricator-nav-local { .device-desktop .phabricator-nav-local {
left: 38px; left: 38px;
} }
@ -91,12 +87,11 @@
margin-left: 330px; margin-left: 330px;
} }
.device-desktop .phabricator-nav-app-collapsed .phabricator-nav-content { .device-desktop .phabricator-nav-content {
margin-left: 36px; margin-left: 38px;
} }
.device-desktop .has-local-nav.phabricator-nav-app-collapsed .device-desktop .has-local-nav .phabricator-nav-content {
.phabricator-nav-content {
margin-left: 216px; margin-left: 216px;
} }
@ -153,51 +148,10 @@ span.phabricator-nav-app-item-icon {
margin: 0; margin: 0;
} }
a.phabricator-nav-app-button-expand, .device-desktop .phabricator-nav-app {
a.phabricator-nav-app-button-collapse {
position: fixed;
display: none;
left: 0;
bottom: 0;
padding: 4px;
z-index: 4;
background: #44494d;
line-height: 14px;
border-top: 1px solid #222222;
text-align: center;
font-size: 11px;
box-shadow: inset -1px -1px 3px rgba(0, 0, 0, 0.1);
color: #c0c0c0;
text-decoration: none;
}
.phabricator-nav-app-button-collapse {
width: 141px;
}
.phabricator-nav-app-button-expand {
width: 29px;
display: none;
}
.device-desktop .phabricator-nav-app-button-expand,
.device-desktop .phabricator-nav-app-button-collapse {
display: block;
}
.device-desktop .phabricator-nav-app-collapsed .phabricator-nav-app {
width: 37px; width: 37px;
} }
.phabricator-nav-app-collapsed .phabricator-nav-app-button-collapse {
display: none;
}
.device-desktop .phabricator-nav-app-collapsed
.phabricator-nav-app-button-expand {
display: block;
}
.device-desktop .phabricator-nav-head { .device-desktop .phabricator-nav-head {
display: none; display: none;
} }

View file

@ -6,7 +6,6 @@
* javelin-dom * javelin-dom
* javelin-magical-init * javelin-magical-init
* javelin-vector * javelin-vector
* javelin-request
* javelin-util * javelin-util
* javelin-fx * javelin-fx
* @javelin * @javelin
@ -85,48 +84,6 @@ JX.behavior('phabricator-nav', function(config) {
} }
// - Application Menu Collapse/Expand ------------------------------------------
function collapse(state, skip_save) {
// As necessary, adjust the drag bar and content positioning. Do this first,
// so we don't end up measuring things after the collapse takes effect.
// This is the difference between the widths of the uncollapsed application
// nav (150px) and the collapsed one (38px).
var delta = 112;
delta = state ? -delta : delta;
if (config.dragID) {
var drag = JX.$(config.dragID);
var p = JX.$V(drag);
p.x += delta;
p.y = null;
p.setPos(drag);
}
var c = parseInt(getComputedStyle(content).marginLeft, 10);
content.style.marginLeft = (c + delta) + 'px';
JX.DOM.alterClass(
JX.$(config.mainID),
'phabricator-nav-app-collapsed',
state);
if (!skip_save) {
new JX.Request('/settings/adjust/', JX.bag)
.setData({key: config.collapseKey, value: state ? 1 : ''})
.send();
}
}
JX.DOM.listen(JX.$(config.collapseID), 'click', null, function(e) {
collapse(true);
});
JX.DOM.listen(JX.$(config.expandID), 'click', null, function(e) {
collapse(false);
});
// - Flexible Navigation Column ------------------------------------------------ // - Flexible Navigation Column ------------------------------------------------
if (config.dragID) { if (config.dragID) {