@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix inline reticles and dialogs for new scrollbars

Summary:
Fixes T7054. Fixes T7049.

- Stop scrolling Differential reticles when the page scrolls.
- Make dialogs aware of multi-panel UI.

Test Plan:
- Dialogs pop up in the right place.
- Inline + scroll now longer leaves the inline in a fixed position.

Reviewers: btrahan, chad

Reviewed By: chad

Subscribers: epriestley

Maniphest Tasks: T7049, T7054

Differential Revision: https://secure.phabricator.com/D11523

+40 -32
+25 -25
resources/celerity/map.php
··· 8 8 return array( 9 9 'names' => array( 10 10 'core.pkg.css' => 'f020a5d6', 11 - 'core.pkg.js' => '55716d41', 11 + 'core.pkg.js' => 'df35fdde', 12 12 'darkconsole.pkg.js' => '8ab24e01', 13 13 'differential.pkg.css' => '8af45893', 14 - 'differential.pkg.js' => 'f437e70e', 14 + 'differential.pkg.js' => '5c1f3896', 15 15 'diffusion.pkg.css' => '591664fa', 16 16 'diffusion.pkg.js' => 'bfc0737b', 17 17 'maniphest.pkg.css' => 'e34dfbec', ··· 201 201 'rsrc/externals/javelin/lib/URI.js' => '6eff08aa', 202 202 'rsrc/externals/javelin/lib/Vector.js' => 'cc1bd0b0', 203 203 'rsrc/externals/javelin/lib/WebSocket.js' => '3f840822', 204 - 'rsrc/externals/javelin/lib/Workflow.js' => '24b7d5a8', 204 + 'rsrc/externals/javelin/lib/Workflow.js' => 'a2ccdfec', 205 205 'rsrc/externals/javelin/lib/__tests__/Cookie.js' => '5ed109e8', 206 206 'rsrc/externals/javelin/lib/__tests__/DOM.js' => 'c984504b', 207 207 'rsrc/externals/javelin/lib/__tests__/JSON.js' => '837a7d68', ··· 358 358 'rsrc/js/application/differential/behavior-comment-preview.js' => '6932def3', 359 359 'rsrc/js/application/differential/behavior-diff-radios.js' => 'e1ff79b1', 360 360 'rsrc/js/application/differential/behavior-dropdown-menus.js' => 'e33d4bc5', 361 - 'rsrc/js/application/differential/behavior-edit-inline-comments.js' => '00861799', 361 + 'rsrc/js/application/differential/behavior-edit-inline-comments.js' => '65936067', 362 362 'rsrc/js/application/differential/behavior-keyboard-nav.js' => '2c426492', 363 363 'rsrc/js/application/differential/behavior-populate.js' => 'bdb3e4d0', 364 364 'rsrc/js/application/differential/behavior-show-field-details.js' => 'bba9eedf', ··· 561 561 'javelin-behavior-differential-comment-jump' => '4fdb476d', 562 562 'javelin-behavior-differential-diff-radios' => 'e1ff79b1', 563 563 'javelin-behavior-differential-dropdown-menus' => 'e33d4bc5', 564 - 'javelin-behavior-differential-edit-inline-comments' => '00861799', 564 + 'javelin-behavior-differential-edit-inline-comments' => '65936067', 565 565 'javelin-behavior-differential-feedback-preview' => '6932def3', 566 566 'javelin-behavior-differential-keyboard-navigation' => '2c426492', 567 567 'javelin-behavior-differential-populate' => 'bdb3e4d0', ··· 687 687 'javelin-view-renderer' => '6c2b09a2', 688 688 'javelin-view-visitor' => 'efe49472', 689 689 'javelin-websocket' => '3f840822', 690 - 'javelin-workflow' => '24b7d5a8', 690 + 'javelin-workflow' => 'a2ccdfec', 691 691 'lightbox-attachment-css' => '7acac05d', 692 692 'maniphest-batch-editor' => '8f380ebc', 693 693 'maniphest-report-css' => '6fc16517', ··· 820 820 'unhandled-exception-css' => '37d4f9a2', 821 821 ), 822 822 'requires' => array( 823 - '00861799' => array( 824 - 'javelin-behavior', 825 - 'javelin-stratcom', 826 - 'javelin-dom', 827 - 'javelin-util', 828 - 'javelin-vector', 829 - 'differential-inline-comment-editor', 830 - ), 831 823 '029a133d' => array( 832 824 'aphront-dialog-view-css', 833 825 ), ··· 947 939 'javelin-workflow', 948 940 'javelin-util', 949 941 ), 950 - '24b7d5a8' => array( 951 - 'javelin-stratcom', 952 - 'javelin-request', 953 - 'javelin-dom', 954 - 'javelin-vector', 955 - 'javelin-install', 956 - 'javelin-util', 957 - 'javelin-mask', 958 - 'javelin-uri', 959 - 'javelin-routable', 960 - ), 961 942 '2818f5ce' => array( 962 943 'javelin-install', 963 944 'javelin-util', ··· 1257 1238 'javelin-dom', 1258 1239 'javelin-fx', 1259 1240 ), 1241 + 65936067 => array( 1242 + 'javelin-behavior', 1243 + 'javelin-stratcom', 1244 + 'javelin-dom', 1245 + 'javelin-util', 1246 + 'javelin-vector', 1247 + 'differential-inline-comment-editor', 1248 + ), 1260 1249 '6882e80a' => array( 1261 1250 'javelin-dom', 1262 1251 ), ··· 1566 1555 'javelin-util', 1567 1556 'javelin-vector', 1568 1557 'javelin-magical-init', 1558 + ), 1559 + 'a2ccdfec' => array( 1560 + 'javelin-stratcom', 1561 + 'javelin-request', 1562 + 'javelin-dom', 1563 + 'javelin-vector', 1564 + 'javelin-install', 1565 + 'javelin-util', 1566 + 'javelin-mask', 1567 + 'javelin-uri', 1568 + 'javelin-routable', 1569 1569 ), 1570 1570 'a4ae61bf' => array( 1571 1571 'javelin-install',
+5 -3
webroot/rsrc/externals/javelin/lib/Workflow.js
··· 171 171 'didSyntheticSubmit', 172 172 [], 173 173 JX.Workflow._onsyntheticsubmit); 174 - document.body.appendChild(this._root); 174 + 175 + var frame = JX.DOM.getContentFrame(); 176 + frame.appendChild(this._root); 175 177 var d = JX.Vector.getDim(this._root); 176 - var v = JX.Vector.getViewport(); 177 - var s = JX.Vector.getScroll(); 178 + var v = JX.Vector.getDim(frame); 179 + var s = JX.Vector.getAggregateScrollForNode(frame); 178 180 179 181 // Normally, we position dialogs 100px from the top of the screen. 180 182 // Use more space if the dialog is large (at least roughly the size
+10 -4
webroot/rsrc/js/application/differential/behavior-edit-inline-comments.js
··· 13 13 var selecting = false; 14 14 var reticle = JX.$N('div', {className: 'differential-reticle'}); 15 15 JX.DOM.hide(reticle); 16 - document.body.appendChild(reticle); 17 16 18 17 var origin = null; 19 18 var target = null; ··· 23 22 var editor = null; 24 23 25 24 function updateReticle() { 25 + JX.DOM.getContentFrame().appendChild(reticle); 26 + 26 27 var top = origin; 27 28 var bot = target; 28 29 if (JX.$V(top).y > JX.$V(bot).y) { ··· 32 33 } 33 34 var code = target.nextSibling; 34 35 35 - var pos = JX.$V(top).add(1 + JX.Vector.getDim(target).x, 0); 36 + var pos = JX.$V(top) 37 + .add(JX.Vector.getAggregateScrollForNode(top)) 38 + .add(1 + JX.Vector.getDim(target).x, 0); 36 39 var dim = JX.Vector.getDim(code).add(-4, 0); 37 40 if (isOnRight(target)) { 38 41 dim.x += JX.Vector.getDim(code.nextSibling).x; 39 42 } 40 - dim.y = (JX.$V(bot).y - pos.y) + JX.Vector.getDim(bot).y; 43 + 44 + var bpos = JX.$V(bot) 45 + .add(JX.Vector.getAggregateScrollForNode(bot)); 46 + dim.y = (bpos.y - pos.y) + JX.Vector.getDim(bot).y; 41 47 42 48 pos.setPos(reticle); 43 49 dim.setDim(reticle); ··· 217 223 // Furthermore, deleting a comment in the preview does not automatically 218 224 // delete other occurrences of the same comment, so do that manually. 219 225 var nodes = JX.DOM.scry( 220 - document.body, 226 + JX.DOM.getContentFrame(), 221 227 'div', 222 228 'differential-inline-comment'); 223 229 for (var i = 0; i < nodes.length; ++i) {