Page MenuHomePhabricator

D19611.diff
No OneTemporary

D19611.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -10,7 +10,7 @@
'conpherence.pkg.css' => 'e68cf1fa',
'conpherence.pkg.js' => '15191c65',
'core.pkg.css' => 'fc4839c8',
- 'core.pkg.js' => '2058ec09',
+ 'core.pkg.js' => 'b5a949ca',
'differential.pkg.css' => '06dc617c',
'differential.pkg.js' => 'c1cfa143',
'diffusion.pkg.css' => 'a2d17c7d',
@@ -473,7 +473,7 @@
'rsrc/js/core/behavior-more.js' => 'a80d0378',
'rsrc/js/core/behavior-object-selector.js' => '77c1f0b0',
'rsrc/js/core/behavior-oncopy.js' => '2926fff2',
- 'rsrc/js/core/behavior-phabricator-nav.js' => '94b7c320',
+ 'rsrc/js/core/behavior-phabricator-nav.js' => '9d32bc88',
'rsrc/js/core/behavior-phabricator-remarkup-assist.js' => 'acd29eee',
'rsrc/js/core/behavior-read-only-warning.js' => 'ba158207',
'rsrc/js/core/behavior-redirect.js' => '0213259f',
@@ -631,7 +631,7 @@
'javelin-behavior-phabricator-keyboard-pager' => 'a8da01f0',
'javelin-behavior-phabricator-keyboard-shortcuts' => '01fca1f0',
'javelin-behavior-phabricator-line-linker' => '66a62306',
- 'javelin-behavior-phabricator-nav' => '94b7c320',
+ 'javelin-behavior-phabricator-nav' => '9d32bc88',
'javelin-behavior-phabricator-notification-example' => '8ce821c5',
'javelin-behavior-phabricator-object-selector' => '77c1f0b0',
'javelin-behavior-phabricator-oncopy' => '2926fff2',
@@ -1628,16 +1628,6 @@
'javelin-resource',
'javelin-routable',
),
- '94b7c320' => array(
- 'javelin-behavior',
- 'javelin-behavior-device',
- 'javelin-stratcom',
- 'javelin-dom',
- 'javelin-magical-init',
- 'javelin-vector',
- 'javelin-request',
- 'javelin-util',
- ),
'960f6a39' => array(
'javelin-behavior',
'javelin-dom',
@@ -1658,6 +1648,16 @@
'javelin-workflow',
'javelin-stratcom',
),
+ '9d32bc88' => array(
+ 'javelin-behavior',
+ 'javelin-behavior-device',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-magical-init',
+ 'javelin-vector',
+ 'javelin-request',
+ 'javelin-util',
+ ),
'9d9685d6' => array(
'phui-oi-list-view-css',
),
diff --git a/webroot/rsrc/js/core/behavior-phabricator-nav.js b/webroot/rsrc/js/core/behavior-phabricator-nav.js
--- a/webroot/rsrc/js/core/behavior-phabricator-nav.js
+++ b/webroot/rsrc/js/core/behavior-phabricator-nav.js
@@ -20,10 +20,13 @@
// - Flexible Navigation Column ------------------------------------------------
-
var dragging;
var track;
+ var collapsed = config.collapsed;
+ var narrowed;
+ var visible = null;
+
JX.enableDispatch(document.body, 'mousemove');
JX.DOM.listen(drag, 'mousedown', null, function(e) {
@@ -95,6 +98,7 @@
if (!dragging) {
return;
}
+
JX.DOM.alterClass(document.body, 'jx-drag-col', false);
dragging = false;
@@ -117,6 +121,29 @@
return (JX.$V(drag).x - JX.Vector.getScroll().x);
}
+ function repaint() {
+ narrowed = !JX.Device.isDesktop();
+
+ var was_visible = visible;
+ visible = (!collapsed && !narrowed);
+
+ if (was_visible === visible) {
+ return;
+ }
+
+ if (!visible) {
+ savedrag();
+ }
+
+ JX.DOM.alterClass(main, 'has-local-nav', visible);
+ JX.DOM.alterClass(main, 'has-drag-nav', visible);
+ JX.DOM.alterClass(main, 'has-closed-nav', !visible);
+
+ if (visible) {
+ restoredrag();
+ }
+ }
+
var saved_width = config.width;
function savedrag() {
saved_width = get_width();
@@ -136,21 +163,10 @@
content.style.marginLeft = (saved_width + JX.Vector.getDim(drag).x) + 'px';
}
- var collapsed = config.collapsed;
JX.Stratcom.listen('differential-filetree-toggle', null, function() {
collapsed = !collapsed;
- if (collapsed) {
- savedrag();
- }
-
- JX.DOM.alterClass(main, 'has-local-nav', !collapsed);
- JX.DOM.alterClass(main, 'has-drag-nav', !collapsed);
- JX.DOM.alterClass(main, 'has-closed-nav', collapsed);
-
- if (!collapsed) {
- restoredrag();
- }
+ repaint();
new JX.Request('/settings/adjust/', JX.bag)
.setData({ key : 'nav-collapsed', value : (collapsed ? 1 : 0) })
@@ -168,7 +184,9 @@
// of the navigation bar.
function onresize() {
- if (JX.Device.getDevice() != 'desktop') {
+ repaint();
+
+ if (!visible) {
return;
}
@@ -193,14 +211,13 @@
local.style.left = 0;
JX.Stratcom.listen(['scroll', 'resize'], null, onresize);
- onresize();
+ repaint();
// - Navigation Reset ----------------------------------------------------------
JX.Stratcom.listen('phabricator-device-change', null, function() {
- resetdrag();
- onresize();
+ repaint();
});
});

File Metadata

Mime Type
text/plain
Expires
Tue, Mar 18, 3:11 AM (4 w, 5 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7356928
Default Alt Text
D19611.diff (4 KB)

Event Timeline