diff --git a/resources/celerity/map.php b/resources/celerity/map.php --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -8,7 +8,7 @@ return array( 'names' => array( 'core.pkg.css' => '8815f87d', - 'core.pkg.js' => 'a27c1b62', + 'core.pkg.js' => '65e04767', 'darkconsole.pkg.js' => '8ab24e01', 'differential.pkg.css' => '8af45893', 'differential.pkg.js' => '7b5a4aa4', @@ -203,7 +203,7 @@ 'rsrc/externals/javelin/lib/URI.js' => '6eff08aa', 'rsrc/externals/javelin/lib/Vector.js' => '2caa8fb8', 'rsrc/externals/javelin/lib/WebSocket.js' => '3f840822', - 'rsrc/externals/javelin/lib/Workflow.js' => 'a2ccdfec', + 'rsrc/externals/javelin/lib/Workflow.js' => '84d6aea0', 'rsrc/externals/javelin/lib/__tests__/Cookie.js' => '5ed109e8', 'rsrc/externals/javelin/lib/__tests__/DOM.js' => 'c984504b', 'rsrc/externals/javelin/lib/__tests__/JSON.js' => '837a7d68', @@ -691,7 +691,7 @@ 'javelin-view-renderer' => '6c2b09a2', 'javelin-view-visitor' => 'efe49472', 'javelin-websocket' => '3f840822', - 'javelin-workflow' => 'a2ccdfec', + 'javelin-workflow' => '84d6aea0', 'lightbox-attachment-css' => '7acac05d', 'maniphest-batch-editor' => '8f380ebc', 'maniphest-report-css' => '6fc16517', @@ -1420,6 +1420,17 @@ 'javelin-workflow', 'phabricator-draggable-list', ), + '84d6aea0' => array( + 'javelin-stratcom', + 'javelin-request', + 'javelin-dom', + 'javelin-vector', + 'javelin-install', + 'javelin-util', + 'javelin-mask', + 'javelin-uri', + 'javelin-routable', + ), '851f167c' => array( 'javelin-behavior', 'javelin-aphlict', @@ -1579,17 +1590,6 @@ 'javelin-vector', 'javelin-magical-init', ), - 'a2ccdfec' => array( - 'javelin-stratcom', - 'javelin-request', - 'javelin-dom', - 'javelin-vector', - 'javelin-install', - 'javelin-util', - 'javelin-mask', - 'javelin-uri', - 'javelin-routable', - ), 'a4ae61bf' => array( 'javelin-install', 'javelin-dom', diff --git a/webroot/rsrc/externals/javelin/lib/Workflow.js b/webroot/rsrc/externals/javelin/lib/Workflow.js --- a/webroot/rsrc/externals/javelin/lib/Workflow.js +++ b/webroot/rsrc/externals/javelin/lib/Workflow.js @@ -172,11 +172,15 @@ [], JX.Workflow._onsyntheticsubmit); - var frame = JX.DOM.getContentFrame(); - frame.appendChild(this._root); + // Note that even in the presence of a content frame, we're doing + // everything here at top level: dialogs are fully modal and cover + // the entire window. + + document.body.appendChild(this._root); + var d = JX.Vector.getDim(this._root); - var v = JX.Vector.getDim(frame); - var s = JX.Vector.getAggregateScrollForNode(frame); + var v = JX.Vector.getViewport(); + var s = JX.Vector.getScroll(); // Normally, we position dialogs 100px from the top of the screen. // Use more space if the dialog is large (at least roughly the size @@ -206,7 +210,9 @@ // The `focus()` call may have scrolled the window. Scroll it back to // where it was before -- we want to focus the control, but not adjust // the scroll position. - JX.DOM.scrollToPosition(s.x, s.y); + + // Dialogs are window-level, so scroll the window explicitly. + window.scrollTo(s.x, s.y); } else if (this.getHandler()) { this.getHandler()(r);