@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.

Cleanup chaos/order modes for Firefox

Summary:
- Moves z-index rules to z-index CSS.
- Fixes Order mode in Firefox with JS. ;_;

Test Plan: Used Order mode in FF, Safari, Chrome.

Reviewers: AnhNhan, chad, btrahan

Reviewed By: chad

CC: aran

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

+130 -90
+80 -79
src/__celerity_resource_map__.php
··· 1992 1992 ), 1993 1993 'javelin-behavior-phabricator-remarkup-assist' => 1994 1994 array( 1995 - 'uri' => '/res/ebc88729/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js', 1995 + 'uri' => '/res/6ce662a8/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js', 1996 1996 'type' => 'js', 1997 1997 'requires' => 1998 1998 array( ··· 2002 2002 3 => 'phabricator-textareautils', 2003 2003 4 => 'javelin-workflow', 2004 2004 5 => 'phabricator-notification', 2005 + 6 => 'javelin-vector', 2005 2006 ), 2006 2007 'disk' => '/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js', 2007 2008 ), ··· 3242 3243 ), 3243 3244 'phabricator-remarkup-css' => 3244 3245 array( 3245 - 'uri' => '/res/adef7cfa/rsrc/css/core/remarkup.css', 3246 + 'uri' => '/res/b4682067/rsrc/css/core/remarkup.css', 3246 3247 'type' => 'css', 3247 3248 'requires' => 3248 3249 array( ··· 3536 3537 ), 3537 3538 'phabricator-zindex-css' => 3538 3539 array( 3539 - 'uri' => '/res/5a43594e/rsrc/css/core/z-index.css', 3540 + 'uri' => '/res/d4048e34/rsrc/css/core/z-index.css', 3540 3541 'type' => 'css', 3541 3542 'requires' => 3542 3543 array( ··· 3554 3555 ), 3555 3556 'pholio-css' => 3556 3557 array( 3557 - 'uri' => '/res/b03fae38/rsrc/css/application/pholio/pholio.css', 3558 + 'uri' => '/res/0daaf1ca/rsrc/css/application/pholio/pholio.css', 3558 3559 'type' => 'css', 3559 3560 'requires' => 3560 3561 array( ··· 3563 3564 ), 3564 3565 'pholio-inline-comments-css' => 3565 3566 array( 3566 - 'uri' => '/res/8fe0edc7/rsrc/css/application/pholio/pholio-inline-comments.css', 3567 + 'uri' => '/res/006fc575/rsrc/css/application/pholio/pholio-inline-comments.css', 3567 3568 'type' => 'css', 3568 3569 'requires' => 3569 3570 array( ··· 3924 3925 ), array( 3925 3926 'packages' => 3926 3927 array( 3927 - '53664e83' => 3928 + '1847d825' => 3928 3929 array( 3929 3930 'name' => 'core.pkg.css', 3930 3931 'symbols' => ··· 3966 3967 34 => 'phabricator-object-item-list-view-css', 3967 3968 35 => 'global-drag-and-drop-css', 3968 3969 ), 3969 - 'uri' => '/res/pkg/53664e83/core.pkg.css', 3970 + 'uri' => '/res/pkg/1847d825/core.pkg.css', 3970 3971 'type' => 'css', 3971 3972 ), 3972 - '5c3b10c8' => 3973 + '4cebeb73' => 3973 3974 array( 3974 3975 'name' => 'core.pkg.js', 3975 3976 'symbols' => ··· 4009 4010 32 => 'javelin-behavior-global-drag-and-drop', 4010 4011 33 => 'javelin-behavior-phabricator-reveal-content', 4011 4012 ), 4012 - 'uri' => '/res/pkg/5c3b10c8/core.pkg.js', 4013 + 'uri' => '/res/pkg/4cebeb73/core.pkg.js', 4013 4014 'type' => 'js', 4014 4015 ), 4015 4016 'e208b108' => ··· 4156 4157 'reverse' => 4157 4158 array( 4158 4159 'aphront-attached-file-view-css' => '6b1fccc6', 4159 - 'aphront-dialog-view-css' => '53664e83', 4160 - 'aphront-error-view-css' => '53664e83', 4161 - 'aphront-form-view-css' => '53664e83', 4162 - 'aphront-list-filter-view-css' => '53664e83', 4163 - 'aphront-pager-view-css' => '53664e83', 4164 - 'aphront-panel-view-css' => '53664e83', 4165 - 'aphront-table-view-css' => '53664e83', 4166 - 'aphront-tokenizer-control-css' => '53664e83', 4167 - 'aphront-tooltip-css' => '53664e83', 4168 - 'aphront-typeahead-control-css' => '53664e83', 4160 + 'aphront-dialog-view-css' => '1847d825', 4161 + 'aphront-error-view-css' => '1847d825', 4162 + 'aphront-form-view-css' => '1847d825', 4163 + 'aphront-list-filter-view-css' => '1847d825', 4164 + 'aphront-pager-view-css' => '1847d825', 4165 + 'aphront-panel-view-css' => '1847d825', 4166 + 'aphront-table-view-css' => '1847d825', 4167 + 'aphront-tokenizer-control-css' => '1847d825', 4168 + 'aphront-tooltip-css' => '1847d825', 4169 + 'aphront-typeahead-control-css' => '1847d825', 4169 4170 'differential-changeset-view-css' => '8aaacd1b', 4170 4171 'differential-core-view-css' => '8aaacd1b', 4171 4172 'differential-inline-comment-editor' => 'e96b08f8', ··· 4179 4180 'differential-table-of-contents-css' => '8aaacd1b', 4180 4181 'diffusion-commit-view-css' => 'c8ce2d88', 4181 4182 'diffusion-icons-css' => 'c8ce2d88', 4182 - 'global-drag-and-drop-css' => '53664e83', 4183 + 'global-drag-and-drop-css' => '1847d825', 4183 4184 'inline-comment-summary-css' => '8aaacd1b', 4184 - 'javelin-aphlict' => '5c3b10c8', 4185 + 'javelin-aphlict' => '4cebeb73', 4185 4186 'javelin-behavior' => '41f3916d', 4186 - 'javelin-behavior-aphlict-dropdown' => '5c3b10c8', 4187 - 'javelin-behavior-aphlict-listen' => '5c3b10c8', 4188 - 'javelin-behavior-aphront-basic-tokenizer' => '5c3b10c8', 4187 + 'javelin-behavior-aphlict-dropdown' => '4cebeb73', 4188 + 'javelin-behavior-aphlict-listen' => '4cebeb73', 4189 + 'javelin-behavior-aphront-basic-tokenizer' => '4cebeb73', 4189 4190 'javelin-behavior-aphront-drag-and-drop' => 'e96b08f8', 4190 4191 'javelin-behavior-aphront-drag-and-drop-textarea' => 'e96b08f8', 4191 - 'javelin-behavior-aphront-form-disable-on-submit' => '5c3b10c8', 4192 + 'javelin-behavior-aphront-form-disable-on-submit' => '4cebeb73', 4192 4193 'javelin-behavior-audit-preview' => 'f96657b8', 4193 4194 'javelin-behavior-dark-console' => 'e208b108', 4194 - 'javelin-behavior-device' => '5c3b10c8', 4195 + 'javelin-behavior-device' => '4cebeb73', 4195 4196 'javelin-behavior-differential-accept-with-errors' => 'e96b08f8', 4196 4197 'javelin-behavior-differential-add-reviewers-and-ccs' => 'e96b08f8', 4197 4198 'javelin-behavior-differential-comment-jump' => 'e96b08f8', ··· 4207 4208 'javelin-behavior-diffusion-commit-graph' => 'f96657b8', 4208 4209 'javelin-behavior-diffusion-pull-lastmodified' => 'f96657b8', 4209 4210 'javelin-behavior-error-log' => 'e208b108', 4210 - 'javelin-behavior-global-drag-and-drop' => '5c3b10c8', 4211 - 'javelin-behavior-history-install' => '5c3b10c8', 4212 - 'javelin-behavior-konami' => '5c3b10c8', 4213 - 'javelin-behavior-lightbox-attachments' => '5c3b10c8', 4211 + 'javelin-behavior-global-drag-and-drop' => '4cebeb73', 4212 + 'javelin-behavior-history-install' => '4cebeb73', 4213 + 'javelin-behavior-konami' => '4cebeb73', 4214 + 'javelin-behavior-lightbox-attachments' => '4cebeb73', 4214 4215 'javelin-behavior-load-blame' => 'e96b08f8', 4215 4216 'javelin-behavior-maniphest-batch-selector' => 'f85eb6d8', 4216 4217 'javelin-behavior-maniphest-subpriority-editor' => 'f85eb6d8', 4217 4218 'javelin-behavior-maniphest-transaction-controls' => 'f85eb6d8', 4218 4219 'javelin-behavior-maniphest-transaction-expand' => 'f85eb6d8', 4219 4220 'javelin-behavior-maniphest-transaction-preview' => 'f85eb6d8', 4220 - 'javelin-behavior-phabricator-active-nav' => '5c3b10c8', 4221 - 'javelin-behavior-phabricator-autofocus' => '5c3b10c8', 4222 - 'javelin-behavior-phabricator-gesture' => '5c3b10c8', 4223 - 'javelin-behavior-phabricator-keyboard-shortcuts' => '5c3b10c8', 4224 - 'javelin-behavior-phabricator-nav' => '5c3b10c8', 4221 + 'javelin-behavior-phabricator-active-nav' => '4cebeb73', 4222 + 'javelin-behavior-phabricator-autofocus' => '4cebeb73', 4223 + 'javelin-behavior-phabricator-gesture' => '4cebeb73', 4224 + 'javelin-behavior-phabricator-keyboard-shortcuts' => '4cebeb73', 4225 + 'javelin-behavior-phabricator-nav' => '4cebeb73', 4225 4226 'javelin-behavior-phabricator-object-selector' => 'e96b08f8', 4226 - 'javelin-behavior-phabricator-oncopy' => '5c3b10c8', 4227 - 'javelin-behavior-phabricator-remarkup-assist' => '5c3b10c8', 4228 - 'javelin-behavior-phabricator-reveal-content' => '5c3b10c8', 4229 - 'javelin-behavior-phabricator-search-typeahead' => '5c3b10c8', 4230 - 'javelin-behavior-phabricator-tooltips' => '5c3b10c8', 4231 - 'javelin-behavior-phabricator-watch-anchor' => '5c3b10c8', 4232 - 'javelin-behavior-refresh-csrf' => '5c3b10c8', 4227 + 'javelin-behavior-phabricator-oncopy' => '4cebeb73', 4228 + 'javelin-behavior-phabricator-remarkup-assist' => '4cebeb73', 4229 + 'javelin-behavior-phabricator-reveal-content' => '4cebeb73', 4230 + 'javelin-behavior-phabricator-search-typeahead' => '4cebeb73', 4231 + 'javelin-behavior-phabricator-tooltips' => '4cebeb73', 4232 + 'javelin-behavior-phabricator-watch-anchor' => '4cebeb73', 4233 + 'javelin-behavior-refresh-csrf' => '4cebeb73', 4233 4234 'javelin-behavior-repository-crossreference' => 'e96b08f8', 4234 - 'javelin-behavior-toggle-class' => '5c3b10c8', 4235 - 'javelin-behavior-workflow' => '5c3b10c8', 4235 + 'javelin-behavior-toggle-class' => '4cebeb73', 4236 + 'javelin-behavior-workflow' => '4cebeb73', 4236 4237 'javelin-dom' => '41f3916d', 4237 4238 'javelin-event' => '41f3916d', 4238 4239 'javelin-install' => '41f3916d', ··· 4251 4252 'javelin-util' => '41f3916d', 4252 4253 'javelin-vector' => '41f3916d', 4253 4254 'javelin-workflow' => '41f3916d', 4254 - 'lightbox-attachment-css' => '53664e83', 4255 + 'lightbox-attachment-css' => '1847d825', 4255 4256 'maniphest-task-summary-css' => '6b1fccc6', 4256 4257 'maniphest-transaction-detail-css' => '6b1fccc6', 4257 - 'phabricator-busy' => '5c3b10c8', 4258 + 'phabricator-busy' => '4cebeb73', 4258 4259 'phabricator-content-source-view-css' => '8aaacd1b', 4259 - 'phabricator-core-buttons-css' => '53664e83', 4260 - 'phabricator-core-css' => '53664e83', 4261 - 'phabricator-crumbs-view-css' => '53664e83', 4262 - 'phabricator-directory-css' => '53664e83', 4260 + 'phabricator-core-buttons-css' => '1847d825', 4261 + 'phabricator-core-css' => '1847d825', 4262 + 'phabricator-crumbs-view-css' => '1847d825', 4263 + 'phabricator-directory-css' => '1847d825', 4263 4264 'phabricator-drag-and-drop-file-upload' => 'e96b08f8', 4264 - 'phabricator-dropdown-menu' => '5c3b10c8', 4265 - 'phabricator-file-upload' => '5c3b10c8', 4266 - 'phabricator-filetree-view-css' => '53664e83', 4267 - 'phabricator-flag-css' => '53664e83', 4268 - 'phabricator-form-view-css' => '53664e83', 4269 - 'phabricator-header-view-css' => '53664e83', 4270 - 'phabricator-jump-nav' => '53664e83', 4271 - 'phabricator-keyboard-shortcut' => '5c3b10c8', 4272 - 'phabricator-keyboard-shortcut-manager' => '5c3b10c8', 4273 - 'phabricator-main-menu-view' => '53664e83', 4274 - 'phabricator-menu-item' => '5c3b10c8', 4275 - 'phabricator-nav-view-css' => '53664e83', 4276 - 'phabricator-notification' => '5c3b10c8', 4277 - 'phabricator-notification-css' => '53664e83', 4278 - 'phabricator-notification-menu-css' => '53664e83', 4279 - 'phabricator-object-item-list-view-css' => '53664e83', 4265 + 'phabricator-dropdown-menu' => '4cebeb73', 4266 + 'phabricator-file-upload' => '4cebeb73', 4267 + 'phabricator-filetree-view-css' => '1847d825', 4268 + 'phabricator-flag-css' => '1847d825', 4269 + 'phabricator-form-view-css' => '1847d825', 4270 + 'phabricator-header-view-css' => '1847d825', 4271 + 'phabricator-jump-nav' => '1847d825', 4272 + 'phabricator-keyboard-shortcut' => '4cebeb73', 4273 + 'phabricator-keyboard-shortcut-manager' => '4cebeb73', 4274 + 'phabricator-main-menu-view' => '1847d825', 4275 + 'phabricator-menu-item' => '4cebeb73', 4276 + 'phabricator-nav-view-css' => '1847d825', 4277 + 'phabricator-notification' => '4cebeb73', 4278 + 'phabricator-notification-css' => '1847d825', 4279 + 'phabricator-notification-menu-css' => '1847d825', 4280 + 'phabricator-object-item-list-view-css' => '1847d825', 4280 4281 'phabricator-object-selector-css' => '8aaacd1b', 4281 - 'phabricator-prefab' => '5c3b10c8', 4282 + 'phabricator-prefab' => '4cebeb73', 4282 4283 'phabricator-project-tag-css' => '6b1fccc6', 4283 - 'phabricator-remarkup-css' => '53664e83', 4284 + 'phabricator-remarkup-css' => '1847d825', 4284 4285 'phabricator-shaped-request' => 'e96b08f8', 4285 - 'phabricator-side-menu-view-css' => '53664e83', 4286 - 'phabricator-standard-page-view' => '53664e83', 4287 - 'phabricator-textareautils' => '5c3b10c8', 4288 - 'phabricator-tooltip' => '5c3b10c8', 4289 - 'phabricator-transaction-view-css' => '53664e83', 4290 - 'phabricator-zindex-css' => '53664e83', 4291 - 'sprite-apps-large-css' => '53664e83', 4292 - 'sprite-gradient-css' => '53664e83', 4293 - 'sprite-icon-css' => '53664e83', 4294 - 'sprite-menu-css' => '53664e83', 4295 - 'syntax-highlighting-css' => '53664e83', 4286 + 'phabricator-side-menu-view-css' => '1847d825', 4287 + 'phabricator-standard-page-view' => '1847d825', 4288 + 'phabricator-textareautils' => '4cebeb73', 4289 + 'phabricator-tooltip' => '4cebeb73', 4290 + 'phabricator-transaction-view-css' => '1847d825', 4291 + 'phabricator-zindex-css' => '1847d825', 4292 + 'sprite-apps-large-css' => '1847d825', 4293 + 'sprite-gradient-css' => '1847d825', 4294 + 'sprite-icon-css' => '1847d825', 4295 + 'sprite-menu-css' => '1847d825', 4296 + 'syntax-highlighting-css' => '1847d825', 4296 4297 ), 4297 4298 ));
-1
webroot/rsrc/css/application/pholio/pholio-inline-comments.css
··· 56 56 position: absolute; 57 57 border: 1px solid #000; 58 58 background: rgb(60, 60, 60); 59 - z-index: 100; 60 59 padding: 8px 10px 8px 12px; 61 60 width: 260px; 62 61 box-shadow: 0 2px 10px 1px #999;
-1
webroot/rsrc/css/application/pholio/pholio.css
··· 134 134 .pholio-device-lightbox { 135 135 position: absolute; 136 136 overflow: auto; 137 - z-index: 99; 138 137 } 139 138 140 139 .pholio-device-lightbox img {
+4 -4
webroot/rsrc/css/core/remarkup.css
··· 326 326 } 327 327 328 328 .remarkup-control-order-mode { 329 - z-index: 90; 330 329 position: fixed; 331 330 top: -1px; 332 331 bottom: -1px; ··· 335 334 } 336 335 337 336 .remarkup-control-order-mode textarea.remarkup-assist-textarea { 338 - position: fixed; 339 - top: 25px; 340 - bottom: -2px; 337 + position: absolute; 338 + top: 26px; 341 339 left: 0; 342 340 right: 0; 341 + bottom: 0; 342 + /* NOTE: This doesn't work in Firefox, there's a JS behavior to correct it. */ 343 343 height: auto; 344 344 border-width: 1px 0 0 0; 345 345 outline: none;
+12
webroot/rsrc/css/core/z-index.css
··· 18 18 z-index: 2; 19 19 } 20 20 21 + .pholio-new-inline-comment { 22 + z-index: 2; 23 + } 24 + 21 25 .phabricator-timeline-icon-fill { 22 26 z-index: 3; 23 27 } ··· 108 112 z-index: 18; 109 113 } 110 114 115 + .pholio-device-lightbox { 116 + z-index: 20; 117 + } 118 + 111 119 .dropdown-menu-frame { 112 120 z-index: 32; 113 121 } ··· 115 123 .busy { 116 124 z-index: 40; 117 125 } 126 + 127 + .remarkup-control-order-mode { 128 + z-index: 50; 129 + }
+34 -5
webroot/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js
··· 6 6 * phabricator-textareautils 7 7 * javelin-workflow 8 8 * phabricator-notification 9 + * javelin-vector 9 10 */ 10 11 11 12 JX.behavior('phabricator-remarkup-assist', function(config) { ··· 19 20 } 20 21 21 22 // First, disable any active mode. 22 - if (edit_mode == 'order') { 23 - JX.DOM.alterClass(edit_root, 'remarkup-control-order-mode', false); 24 - } 25 - if (edit_mode == 'chaos') { 26 - JX.DOM.alterClass(edit_root, 'remarkup-control-chaos-mode', false); 23 + if (edit_root) { 24 + if (edit_mode == 'order') { 25 + JX.DOM.alterClass(edit_root, 'remarkup-control-order-mode', false); 26 + } 27 + if (edit_mode == 'chaos') { 28 + JX.DOM.alterClass(edit_root, 'remarkup-control-chaos-mode', false); 29 + } 30 + JX.DOM.find(edit_root, 'textarea').style.height = ''; 27 31 } 28 32 29 33 edit_root = root; ··· 32 36 // Now, apply the new mode. 33 37 if (mode == 'order') { 34 38 JX.DOM.alterClass(edit_root, 'remarkup-control-order-mode', true); 39 + resizearea(); 35 40 } 36 41 37 42 if (mode == 'chaos') { ··· 40 45 41 46 JX.DOM.focus(JX.DOM.find(edit_root, 'textarea')); 42 47 } 48 + 49 + function resizearea() { 50 + if (!edit_root) { 51 + return; 52 + } 53 + if (edit_mode != 'order') { 54 + return; 55 + } 56 + 57 + // In Firefox, a textarea with position "absolute" or "fixed", anchored 58 + // "top" and "bottom", and height "auto" renders as two lines high. Force 59 + // it to the correct height with Javascript. 60 + 61 + var area = JX.DOM.find(edit_root, 'textarea'); 62 + 63 + var v = JX.Vector.getViewport(); 64 + v.x = null; 65 + v.y -= 26; 66 + 67 + v.setDim(area); 68 + } 69 + 70 + JX.Stratcom.listen('resize', null, resizearea); 71 + 43 72 44 73 JX.Stratcom.listen('keydown', null, function(e) { 45 74 if (edit_mode == 'chaos') {