1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-26 16:52:41 +01:00

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
This commit is contained in:
epriestley 2013-04-20 07:53:04 -07:00
parent 2fc17489a8
commit e5af167ec9
6 changed files with 130 additions and 90 deletions

View file

@ -1992,7 +1992,7 @@ celerity_register_resource_map(array(
), ),
'javelin-behavior-phabricator-remarkup-assist' => 'javelin-behavior-phabricator-remarkup-assist' =>
array( array(
'uri' => '/res/ebc88729/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js', 'uri' => '/res/6ce662a8/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js',
'type' => 'js', 'type' => 'js',
'requires' => 'requires' =>
array( array(
@ -2002,6 +2002,7 @@ celerity_register_resource_map(array(
3 => 'phabricator-textareautils', 3 => 'phabricator-textareautils',
4 => 'javelin-workflow', 4 => 'javelin-workflow',
5 => 'phabricator-notification', 5 => 'phabricator-notification',
6 => 'javelin-vector',
), ),
'disk' => '/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js', 'disk' => '/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js',
), ),
@ -3242,7 +3243,7 @@ celerity_register_resource_map(array(
), ),
'phabricator-remarkup-css' => 'phabricator-remarkup-css' =>
array( array(
'uri' => '/res/adef7cfa/rsrc/css/core/remarkup.css', 'uri' => '/res/b4682067/rsrc/css/core/remarkup.css',
'type' => 'css', 'type' => 'css',
'requires' => 'requires' =>
array( array(
@ -3536,7 +3537,7 @@ celerity_register_resource_map(array(
), ),
'phabricator-zindex-css' => 'phabricator-zindex-css' =>
array( array(
'uri' => '/res/5a43594e/rsrc/css/core/z-index.css', 'uri' => '/res/d4048e34/rsrc/css/core/z-index.css',
'type' => 'css', 'type' => 'css',
'requires' => 'requires' =>
array( array(
@ -3554,7 +3555,7 @@ celerity_register_resource_map(array(
), ),
'pholio-css' => 'pholio-css' =>
array( array(
'uri' => '/res/b03fae38/rsrc/css/application/pholio/pholio.css', 'uri' => '/res/0daaf1ca/rsrc/css/application/pholio/pholio.css',
'type' => 'css', 'type' => 'css',
'requires' => 'requires' =>
array( array(
@ -3563,7 +3564,7 @@ celerity_register_resource_map(array(
), ),
'pholio-inline-comments-css' => 'pholio-inline-comments-css' =>
array( array(
'uri' => '/res/8fe0edc7/rsrc/css/application/pholio/pholio-inline-comments.css', 'uri' => '/res/006fc575/rsrc/css/application/pholio/pholio-inline-comments.css',
'type' => 'css', 'type' => 'css',
'requires' => 'requires' =>
array( array(
@ -3924,7 +3925,7 @@ celerity_register_resource_map(array(
), array( ), array(
'packages' => 'packages' =>
array( array(
'53664e83' => '1847d825' =>
array( array(
'name' => 'core.pkg.css', 'name' => 'core.pkg.css',
'symbols' => 'symbols' =>
@ -3966,10 +3967,10 @@ celerity_register_resource_map(array(
34 => 'phabricator-object-item-list-view-css', 34 => 'phabricator-object-item-list-view-css',
35 => 'global-drag-and-drop-css', 35 => 'global-drag-and-drop-css',
), ),
'uri' => '/res/pkg/53664e83/core.pkg.css', 'uri' => '/res/pkg/1847d825/core.pkg.css',
'type' => 'css', 'type' => 'css',
), ),
'5c3b10c8' => '4cebeb73' =>
array( array(
'name' => 'core.pkg.js', 'name' => 'core.pkg.js',
'symbols' => 'symbols' =>
@ -4009,7 +4010,7 @@ celerity_register_resource_map(array(
32 => 'javelin-behavior-global-drag-and-drop', 32 => 'javelin-behavior-global-drag-and-drop',
33 => 'javelin-behavior-phabricator-reveal-content', 33 => 'javelin-behavior-phabricator-reveal-content',
), ),
'uri' => '/res/pkg/5c3b10c8/core.pkg.js', 'uri' => '/res/pkg/4cebeb73/core.pkg.js',
'type' => 'js', 'type' => 'js',
), ),
'e208b108' => 'e208b108' =>
@ -4156,16 +4157,16 @@ celerity_register_resource_map(array(
'reverse' => 'reverse' =>
array( array(
'aphront-attached-file-view-css' => '6b1fccc6', 'aphront-attached-file-view-css' => '6b1fccc6',
'aphront-dialog-view-css' => '53664e83', 'aphront-dialog-view-css' => '1847d825',
'aphront-error-view-css' => '53664e83', 'aphront-error-view-css' => '1847d825',
'aphront-form-view-css' => '53664e83', 'aphront-form-view-css' => '1847d825',
'aphront-list-filter-view-css' => '53664e83', 'aphront-list-filter-view-css' => '1847d825',
'aphront-pager-view-css' => '53664e83', 'aphront-pager-view-css' => '1847d825',
'aphront-panel-view-css' => '53664e83', 'aphront-panel-view-css' => '1847d825',
'aphront-table-view-css' => '53664e83', 'aphront-table-view-css' => '1847d825',
'aphront-tokenizer-control-css' => '53664e83', 'aphront-tokenizer-control-css' => '1847d825',
'aphront-tooltip-css' => '53664e83', 'aphront-tooltip-css' => '1847d825',
'aphront-typeahead-control-css' => '53664e83', 'aphront-typeahead-control-css' => '1847d825',
'differential-changeset-view-css' => '8aaacd1b', 'differential-changeset-view-css' => '8aaacd1b',
'differential-core-view-css' => '8aaacd1b', 'differential-core-view-css' => '8aaacd1b',
'differential-inline-comment-editor' => 'e96b08f8', 'differential-inline-comment-editor' => 'e96b08f8',
@ -4179,19 +4180,19 @@ celerity_register_resource_map(array(
'differential-table-of-contents-css' => '8aaacd1b', 'differential-table-of-contents-css' => '8aaacd1b',
'diffusion-commit-view-css' => 'c8ce2d88', 'diffusion-commit-view-css' => 'c8ce2d88',
'diffusion-icons-css' => 'c8ce2d88', 'diffusion-icons-css' => 'c8ce2d88',
'global-drag-and-drop-css' => '53664e83', 'global-drag-and-drop-css' => '1847d825',
'inline-comment-summary-css' => '8aaacd1b', 'inline-comment-summary-css' => '8aaacd1b',
'javelin-aphlict' => '5c3b10c8', 'javelin-aphlict' => '4cebeb73',
'javelin-behavior' => '41f3916d', 'javelin-behavior' => '41f3916d',
'javelin-behavior-aphlict-dropdown' => '5c3b10c8', 'javelin-behavior-aphlict-dropdown' => '4cebeb73',
'javelin-behavior-aphlict-listen' => '5c3b10c8', 'javelin-behavior-aphlict-listen' => '4cebeb73',
'javelin-behavior-aphront-basic-tokenizer' => '5c3b10c8', 'javelin-behavior-aphront-basic-tokenizer' => '4cebeb73',
'javelin-behavior-aphront-drag-and-drop' => 'e96b08f8', 'javelin-behavior-aphront-drag-and-drop' => 'e96b08f8',
'javelin-behavior-aphront-drag-and-drop-textarea' => 'e96b08f8', 'javelin-behavior-aphront-drag-and-drop-textarea' => 'e96b08f8',
'javelin-behavior-aphront-form-disable-on-submit' => '5c3b10c8', 'javelin-behavior-aphront-form-disable-on-submit' => '4cebeb73',
'javelin-behavior-audit-preview' => 'f96657b8', 'javelin-behavior-audit-preview' => 'f96657b8',
'javelin-behavior-dark-console' => 'e208b108', 'javelin-behavior-dark-console' => 'e208b108',
'javelin-behavior-device' => '5c3b10c8', 'javelin-behavior-device' => '4cebeb73',
'javelin-behavior-differential-accept-with-errors' => 'e96b08f8', 'javelin-behavior-differential-accept-with-errors' => 'e96b08f8',
'javelin-behavior-differential-add-reviewers-and-ccs' => 'e96b08f8', 'javelin-behavior-differential-add-reviewers-and-ccs' => 'e96b08f8',
'javelin-behavior-differential-comment-jump' => 'e96b08f8', 'javelin-behavior-differential-comment-jump' => 'e96b08f8',
@ -4207,32 +4208,32 @@ celerity_register_resource_map(array(
'javelin-behavior-diffusion-commit-graph' => 'f96657b8', 'javelin-behavior-diffusion-commit-graph' => 'f96657b8',
'javelin-behavior-diffusion-pull-lastmodified' => 'f96657b8', 'javelin-behavior-diffusion-pull-lastmodified' => 'f96657b8',
'javelin-behavior-error-log' => 'e208b108', 'javelin-behavior-error-log' => 'e208b108',
'javelin-behavior-global-drag-and-drop' => '5c3b10c8', 'javelin-behavior-global-drag-and-drop' => '4cebeb73',
'javelin-behavior-history-install' => '5c3b10c8', 'javelin-behavior-history-install' => '4cebeb73',
'javelin-behavior-konami' => '5c3b10c8', 'javelin-behavior-konami' => '4cebeb73',
'javelin-behavior-lightbox-attachments' => '5c3b10c8', 'javelin-behavior-lightbox-attachments' => '4cebeb73',
'javelin-behavior-load-blame' => 'e96b08f8', 'javelin-behavior-load-blame' => 'e96b08f8',
'javelin-behavior-maniphest-batch-selector' => 'f85eb6d8', 'javelin-behavior-maniphest-batch-selector' => 'f85eb6d8',
'javelin-behavior-maniphest-subpriority-editor' => 'f85eb6d8', 'javelin-behavior-maniphest-subpriority-editor' => 'f85eb6d8',
'javelin-behavior-maniphest-transaction-controls' => 'f85eb6d8', 'javelin-behavior-maniphest-transaction-controls' => 'f85eb6d8',
'javelin-behavior-maniphest-transaction-expand' => 'f85eb6d8', 'javelin-behavior-maniphest-transaction-expand' => 'f85eb6d8',
'javelin-behavior-maniphest-transaction-preview' => 'f85eb6d8', 'javelin-behavior-maniphest-transaction-preview' => 'f85eb6d8',
'javelin-behavior-phabricator-active-nav' => '5c3b10c8', 'javelin-behavior-phabricator-active-nav' => '4cebeb73',
'javelin-behavior-phabricator-autofocus' => '5c3b10c8', 'javelin-behavior-phabricator-autofocus' => '4cebeb73',
'javelin-behavior-phabricator-gesture' => '5c3b10c8', 'javelin-behavior-phabricator-gesture' => '4cebeb73',
'javelin-behavior-phabricator-keyboard-shortcuts' => '5c3b10c8', 'javelin-behavior-phabricator-keyboard-shortcuts' => '4cebeb73',
'javelin-behavior-phabricator-nav' => '5c3b10c8', 'javelin-behavior-phabricator-nav' => '4cebeb73',
'javelin-behavior-phabricator-object-selector' => 'e96b08f8', 'javelin-behavior-phabricator-object-selector' => 'e96b08f8',
'javelin-behavior-phabricator-oncopy' => '5c3b10c8', 'javelin-behavior-phabricator-oncopy' => '4cebeb73',
'javelin-behavior-phabricator-remarkup-assist' => '5c3b10c8', 'javelin-behavior-phabricator-remarkup-assist' => '4cebeb73',
'javelin-behavior-phabricator-reveal-content' => '5c3b10c8', 'javelin-behavior-phabricator-reveal-content' => '4cebeb73',
'javelin-behavior-phabricator-search-typeahead' => '5c3b10c8', 'javelin-behavior-phabricator-search-typeahead' => '4cebeb73',
'javelin-behavior-phabricator-tooltips' => '5c3b10c8', 'javelin-behavior-phabricator-tooltips' => '4cebeb73',
'javelin-behavior-phabricator-watch-anchor' => '5c3b10c8', 'javelin-behavior-phabricator-watch-anchor' => '4cebeb73',
'javelin-behavior-refresh-csrf' => '5c3b10c8', 'javelin-behavior-refresh-csrf' => '4cebeb73',
'javelin-behavior-repository-crossreference' => 'e96b08f8', 'javelin-behavior-repository-crossreference' => 'e96b08f8',
'javelin-behavior-toggle-class' => '5c3b10c8', 'javelin-behavior-toggle-class' => '4cebeb73',
'javelin-behavior-workflow' => '5c3b10c8', 'javelin-behavior-workflow' => '4cebeb73',
'javelin-dom' => '41f3916d', 'javelin-dom' => '41f3916d',
'javelin-event' => '41f3916d', 'javelin-event' => '41f3916d',
'javelin-install' => '41f3916d', 'javelin-install' => '41f3916d',
@ -4251,47 +4252,47 @@ celerity_register_resource_map(array(
'javelin-util' => '41f3916d', 'javelin-util' => '41f3916d',
'javelin-vector' => '41f3916d', 'javelin-vector' => '41f3916d',
'javelin-workflow' => '41f3916d', 'javelin-workflow' => '41f3916d',
'lightbox-attachment-css' => '53664e83', 'lightbox-attachment-css' => '1847d825',
'maniphest-task-summary-css' => '6b1fccc6', 'maniphest-task-summary-css' => '6b1fccc6',
'maniphest-transaction-detail-css' => '6b1fccc6', 'maniphest-transaction-detail-css' => '6b1fccc6',
'phabricator-busy' => '5c3b10c8', 'phabricator-busy' => '4cebeb73',
'phabricator-content-source-view-css' => '8aaacd1b', 'phabricator-content-source-view-css' => '8aaacd1b',
'phabricator-core-buttons-css' => '53664e83', 'phabricator-core-buttons-css' => '1847d825',
'phabricator-core-css' => '53664e83', 'phabricator-core-css' => '1847d825',
'phabricator-crumbs-view-css' => '53664e83', 'phabricator-crumbs-view-css' => '1847d825',
'phabricator-directory-css' => '53664e83', 'phabricator-directory-css' => '1847d825',
'phabricator-drag-and-drop-file-upload' => 'e96b08f8', 'phabricator-drag-and-drop-file-upload' => 'e96b08f8',
'phabricator-dropdown-menu' => '5c3b10c8', 'phabricator-dropdown-menu' => '4cebeb73',
'phabricator-file-upload' => '5c3b10c8', 'phabricator-file-upload' => '4cebeb73',
'phabricator-filetree-view-css' => '53664e83', 'phabricator-filetree-view-css' => '1847d825',
'phabricator-flag-css' => '53664e83', 'phabricator-flag-css' => '1847d825',
'phabricator-form-view-css' => '53664e83', 'phabricator-form-view-css' => '1847d825',
'phabricator-header-view-css' => '53664e83', 'phabricator-header-view-css' => '1847d825',
'phabricator-jump-nav' => '53664e83', 'phabricator-jump-nav' => '1847d825',
'phabricator-keyboard-shortcut' => '5c3b10c8', 'phabricator-keyboard-shortcut' => '4cebeb73',
'phabricator-keyboard-shortcut-manager' => '5c3b10c8', 'phabricator-keyboard-shortcut-manager' => '4cebeb73',
'phabricator-main-menu-view' => '53664e83', 'phabricator-main-menu-view' => '1847d825',
'phabricator-menu-item' => '5c3b10c8', 'phabricator-menu-item' => '4cebeb73',
'phabricator-nav-view-css' => '53664e83', 'phabricator-nav-view-css' => '1847d825',
'phabricator-notification' => '5c3b10c8', 'phabricator-notification' => '4cebeb73',
'phabricator-notification-css' => '53664e83', 'phabricator-notification-css' => '1847d825',
'phabricator-notification-menu-css' => '53664e83', 'phabricator-notification-menu-css' => '1847d825',
'phabricator-object-item-list-view-css' => '53664e83', 'phabricator-object-item-list-view-css' => '1847d825',
'phabricator-object-selector-css' => '8aaacd1b', 'phabricator-object-selector-css' => '8aaacd1b',
'phabricator-prefab' => '5c3b10c8', 'phabricator-prefab' => '4cebeb73',
'phabricator-project-tag-css' => '6b1fccc6', 'phabricator-project-tag-css' => '6b1fccc6',
'phabricator-remarkup-css' => '53664e83', 'phabricator-remarkup-css' => '1847d825',
'phabricator-shaped-request' => 'e96b08f8', 'phabricator-shaped-request' => 'e96b08f8',
'phabricator-side-menu-view-css' => '53664e83', 'phabricator-side-menu-view-css' => '1847d825',
'phabricator-standard-page-view' => '53664e83', 'phabricator-standard-page-view' => '1847d825',
'phabricator-textareautils' => '5c3b10c8', 'phabricator-textareautils' => '4cebeb73',
'phabricator-tooltip' => '5c3b10c8', 'phabricator-tooltip' => '4cebeb73',
'phabricator-transaction-view-css' => '53664e83', 'phabricator-transaction-view-css' => '1847d825',
'phabricator-zindex-css' => '53664e83', 'phabricator-zindex-css' => '1847d825',
'sprite-apps-large-css' => '53664e83', 'sprite-apps-large-css' => '1847d825',
'sprite-gradient-css' => '53664e83', 'sprite-gradient-css' => '1847d825',
'sprite-icon-css' => '53664e83', 'sprite-icon-css' => '1847d825',
'sprite-menu-css' => '53664e83', 'sprite-menu-css' => '1847d825',
'syntax-highlighting-css' => '53664e83', 'syntax-highlighting-css' => '1847d825',
), ),
)); ));

View file

@ -56,7 +56,6 @@
position: absolute; position: absolute;
border: 1px solid #000; border: 1px solid #000;
background: rgb(60, 60, 60); background: rgb(60, 60, 60);
z-index: 100;
padding: 8px 10px 8px 12px; padding: 8px 10px 8px 12px;
width: 260px; width: 260px;
box-shadow: 0 2px 10px 1px #999; box-shadow: 0 2px 10px 1px #999;

View file

@ -134,7 +134,6 @@
.pholio-device-lightbox { .pholio-device-lightbox {
position: absolute; position: absolute;
overflow: auto; overflow: auto;
z-index: 99;
} }
.pholio-device-lightbox img { .pholio-device-lightbox img {

View file

@ -326,7 +326,6 @@
} }
.remarkup-control-order-mode { .remarkup-control-order-mode {
z-index: 90;
position: fixed; position: fixed;
top: -1px; top: -1px;
bottom: -1px; bottom: -1px;
@ -335,11 +334,12 @@
} }
.remarkup-control-order-mode textarea.remarkup-assist-textarea { .remarkup-control-order-mode textarea.remarkup-assist-textarea {
position: fixed; position: absolute;
top: 25px; top: 26px;
bottom: -2px;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0;
/* NOTE: This doesn't work in Firefox, there's a JS behavior to correct it. */
height: auto; height: auto;
border-width: 1px 0 0 0; border-width: 1px 0 0 0;
outline: none; outline: none;

View file

@ -18,6 +18,10 @@
z-index: 2; z-index: 2;
} }
.pholio-new-inline-comment {
z-index: 2;
}
.phabricator-timeline-icon-fill { .phabricator-timeline-icon-fill {
z-index: 3; z-index: 3;
} }
@ -108,6 +112,10 @@ div.jx-typeahead-results {
z-index: 18; z-index: 18;
} }
.pholio-device-lightbox {
z-index: 20;
}
.dropdown-menu-frame { .dropdown-menu-frame {
z-index: 32; z-index: 32;
} }
@ -115,3 +123,7 @@ div.jx-typeahead-results {
.busy { .busy {
z-index: 40; z-index: 40;
} }
.remarkup-control-order-mode {
z-index: 50;
}

View file

@ -6,6 +6,7 @@
* phabricator-textareautils * phabricator-textareautils
* javelin-workflow * javelin-workflow
* phabricator-notification * phabricator-notification
* javelin-vector
*/ */
JX.behavior('phabricator-remarkup-assist', function(config) { JX.behavior('phabricator-remarkup-assist', function(config) {
@ -19,11 +20,14 @@ JX.behavior('phabricator-remarkup-assist', function(config) {
} }
// First, disable any active mode. // First, disable any active mode.
if (edit_mode == 'order') { if (edit_root) {
JX.DOM.alterClass(edit_root, 'remarkup-control-order-mode', false); if (edit_mode == 'order') {
} JX.DOM.alterClass(edit_root, 'remarkup-control-order-mode', false);
if (edit_mode == 'chaos') { }
JX.DOM.alterClass(edit_root, 'remarkup-control-chaos-mode', false); if (edit_mode == 'chaos') {
JX.DOM.alterClass(edit_root, 'remarkup-control-chaos-mode', false);
}
JX.DOM.find(edit_root, 'textarea').style.height = '';
} }
edit_root = root; edit_root = root;
@ -32,6 +36,7 @@ JX.behavior('phabricator-remarkup-assist', function(config) {
// Now, apply the new mode. // Now, apply the new mode.
if (mode == 'order') { if (mode == 'order') {
JX.DOM.alterClass(edit_root, 'remarkup-control-order-mode', true); JX.DOM.alterClass(edit_root, 'remarkup-control-order-mode', true);
resizearea();
} }
if (mode == 'chaos') { if (mode == 'chaos') {
@ -41,6 +46,30 @@ JX.behavior('phabricator-remarkup-assist', function(config) {
JX.DOM.focus(JX.DOM.find(edit_root, 'textarea')); JX.DOM.focus(JX.DOM.find(edit_root, 'textarea'));
} }
function resizearea() {
if (!edit_root) {
return;
}
if (edit_mode != 'order') {
return;
}
// In Firefox, a textarea with position "absolute" or "fixed", anchored
// "top" and "bottom", and height "auto" renders as two lines high. Force
// it to the correct height with Javascript.
var area = JX.DOM.find(edit_root, 'textarea');
var v = JX.Vector.getViewport();
v.x = null;
v.y -= 26;
v.setDim(area);
}
JX.Stratcom.listen('resize', null, resizearea);
JX.Stratcom.listen('keydown', null, function(e) { JX.Stratcom.listen('keydown', null, function(e) {
if (edit_mode == 'chaos') { if (edit_mode == 'chaos') {
cause_chaos(); cause_chaos();