@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 full width form layouts

Summary: Fixes T3473, mostly reverts previous changes to clean up required field text, will have to redesign that in general for responsiveness.

Test Plan: use logout form, use new conpherence form

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T3473

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

+170 -104
+126 -86
src/__celerity_resource_map__.php
··· 434 434 'disk' => '/rsrc/image/loading.gif', 435 435 'type' => 'gif', 436 436 ), 437 + '/rsrc/image/loading/boating_24.gif' => 438 + array( 439 + 'hash' => '2cd349ded48d698ebe886ba97b2db0f7', 440 + 'uri' => '/res/2cd349de/rsrc/image/loading/boating_24.gif', 441 + 'disk' => '/rsrc/image/loading/boating_24.gif', 442 + 'type' => 'gif', 443 + ), 444 + '/rsrc/image/loading/compass_24.gif' => 445 + array( 446 + 'hash' => '726c1ed4bf23446e044d6b9d28250a07', 447 + 'uri' => '/res/726c1ed4/rsrc/image/loading/compass_24.gif', 448 + 'disk' => '/rsrc/image/loading/compass_24.gif', 449 + 'type' => 'gif', 450 + ), 437 451 '/rsrc/image/loading/loading_24.gif' => 438 452 array( 439 453 'hash' => 'd6dcc5e6111a44fb9a160fc27b19d85c', ··· 448 462 'disk' => '/rsrc/image/loading/loading_48.gif', 449 463 'type' => 'gif', 450 464 ), 465 + '/rsrc/image/loading/loading_d48.gif' => 466 + array( 467 + 'hash' => 'c5181f5e0ac8125ad9beda73fdf18e91', 468 + 'uri' => '/res/c5181f5e/rsrc/image/loading/loading_d48.gif', 469 + 'disk' => '/rsrc/image/loading/loading_d48.gif', 470 + 'type' => 'gif', 471 + ), 472 + '/rsrc/image/loading/loading_w24.gif' => 473 + array( 474 + 'hash' => '231857d68736e9bdda6bdbaaf924b8da', 475 + 'uri' => '/res/231857d6/rsrc/image/loading/loading_w24.gif', 476 + 'disk' => '/rsrc/image/loading/loading_w24.gif', 477 + 'type' => 'gif', 478 + ), 451 479 '/rsrc/image/main_texture.png' => 452 480 array( 453 481 'hash' => 'e34d8143384721be73ec9b7532a977ab', ··· 814 842 ), 815 843 'aphront-form-view-css' => 816 844 array( 817 - 'uri' => '/res/98a89726/rsrc/css/aphront/form-view.css', 845 + 'uri' => '/res/7793ddd1/rsrc/css/aphront/form-view.css', 818 846 'type' => 'css', 819 847 'requires' => 820 848 array( ··· 1922 1950 ), 1923 1951 'disk' => '/rsrc/js/core/behavior-autofocus.js', 1924 1952 ), 1953 + 'javelin-behavior-phabricator-busy-example' => 1954 + array( 1955 + 'uri' => '/res/dbe12f2f/rsrc/js/application/uiexample/busy-example.js', 1956 + 'type' => 'js', 1957 + 'requires' => 1958 + array( 1959 + 0 => 'phabricator-busy', 1960 + 1 => 'javelin-behavior', 1961 + ), 1962 + 'disk' => '/rsrc/js/application/uiexample/busy-example.js', 1963 + ), 1925 1964 'javelin-behavior-phabricator-file-tree' => 1926 1965 array( 1927 1966 'uri' => '/res/e5bf93df/rsrc/js/core/behavior-file-tree.js', ··· 2972 3011 ), 2973 3012 'phabricator-busy' => 2974 3013 array( 2975 - 'uri' => '/res/8e3f036d/rsrc/js/core/Busy.js', 3014 + 'uri' => '/res/083c11d2/rsrc/js/core/Busy.js', 2976 3015 'type' => 'js', 2977 3016 'requires' => 2978 3017 array( 2979 3018 0 => 'javelin-install', 2980 3019 1 => 'javelin-dom', 3020 + 2 => 'javelin-fx', 2981 3021 ), 2982 3022 'disk' => '/rsrc/js/core/Busy.js', 2983 3023 ), ··· 3001 3041 ), 3002 3042 'phabricator-core-css' => 3003 3043 array( 3004 - 'uri' => '/res/dc204369/rsrc/css/core/core.css', 3044 + 'uri' => '/res/7736096e/rsrc/css/core/core.css', 3005 3045 'type' => 'css', 3006 3046 'requires' => 3007 3047 array( ··· 4082 4122 ), array( 4083 4123 'packages' => 4084 4124 array( 4085 - 'e1a1ccff' => 4125 + '178f5351' => 4086 4126 array( 4087 4127 'name' => 'core.pkg.css', 4088 4128 'symbols' => ··· 4130 4170 40 => 'phabricator-property-list-view-css', 4131 4171 41 => 'phabricator-tag-view-css', 4132 4172 ), 4133 - 'uri' => '/res/pkg/e1a1ccff/core.pkg.css', 4173 + 'uri' => '/res/pkg/178f5351/core.pkg.css', 4134 4174 'type' => 'css', 4135 4175 ), 4136 - 'f2ad0683' => 4176 + '0b587556' => 4137 4177 array( 4138 4178 'name' => 'core.pkg.js', 4139 4179 'symbols' => ··· 4176 4216 35 => 'phabricator-hovercard', 4177 4217 36 => 'javelin-behavior-phabricator-hovercards', 4178 4218 ), 4179 - 'uri' => '/res/pkg/f2ad0683/core.pkg.js', 4219 + 'uri' => '/res/pkg/0b587556/core.pkg.js', 4180 4220 'type' => 'js', 4181 4221 ), 4182 4222 '4ccfeb47' => ··· 4324 4364 'reverse' => 4325 4365 array( 4326 4366 'aphront-attached-file-view-css' => 'adc3c36d', 4327 - 'aphront-dialog-view-css' => 'e1a1ccff', 4328 - 'aphront-error-view-css' => 'e1a1ccff', 4329 - 'aphront-form-view-css' => 'e1a1ccff', 4330 - 'aphront-list-filter-view-css' => 'e1a1ccff', 4331 - 'aphront-pager-view-css' => 'e1a1ccff', 4332 - 'aphront-panel-view-css' => 'e1a1ccff', 4333 - 'aphront-table-view-css' => 'e1a1ccff', 4334 - 'aphront-tokenizer-control-css' => 'e1a1ccff', 4335 - 'aphront-tooltip-css' => 'e1a1ccff', 4336 - 'aphront-typeahead-control-css' => 'e1a1ccff', 4367 + 'aphront-dialog-view-css' => '178f5351', 4368 + 'aphront-error-view-css' => '178f5351', 4369 + 'aphront-form-view-css' => '178f5351', 4370 + 'aphront-list-filter-view-css' => '178f5351', 4371 + 'aphront-pager-view-css' => '178f5351', 4372 + 'aphront-panel-view-css' => '178f5351', 4373 + 'aphront-table-view-css' => '178f5351', 4374 + 'aphront-tokenizer-control-css' => '178f5351', 4375 + 'aphront-tooltip-css' => '178f5351', 4376 + 'aphront-typeahead-control-css' => '178f5351', 4337 4377 'differential-changeset-view-css' => 'dd27a69b', 4338 4378 'differential-core-view-css' => 'dd27a69b', 4339 4379 'differential-inline-comment-editor' => '9488bb69', ··· 4347 4387 'differential-table-of-contents-css' => 'dd27a69b', 4348 4388 'diffusion-commit-view-css' => 'c8ce2d88', 4349 4389 'diffusion-icons-css' => 'c8ce2d88', 4350 - 'global-drag-and-drop-css' => 'e1a1ccff', 4390 + 'global-drag-and-drop-css' => '178f5351', 4351 4391 'inline-comment-summary-css' => 'dd27a69b', 4352 - 'javelin-aphlict' => 'f2ad0683', 4392 + 'javelin-aphlict' => '0b587556', 4353 4393 'javelin-behavior' => 'a9f14d76', 4354 - 'javelin-behavior-aphlict-dropdown' => 'f2ad0683', 4355 - 'javelin-behavior-aphlict-listen' => 'f2ad0683', 4356 - 'javelin-behavior-aphront-basic-tokenizer' => 'f2ad0683', 4394 + 'javelin-behavior-aphlict-dropdown' => '0b587556', 4395 + 'javelin-behavior-aphlict-listen' => '0b587556', 4396 + 'javelin-behavior-aphront-basic-tokenizer' => '0b587556', 4357 4397 'javelin-behavior-aphront-drag-and-drop' => '9488bb69', 4358 4398 'javelin-behavior-aphront-drag-and-drop-textarea' => '9488bb69', 4359 - 'javelin-behavior-aphront-form-disable-on-submit' => 'f2ad0683', 4399 + 'javelin-behavior-aphront-form-disable-on-submit' => '0b587556', 4360 4400 'javelin-behavior-audit-preview' => '96909266', 4361 4401 'javelin-behavior-dark-console' => '4ccfeb47', 4362 - 'javelin-behavior-device' => 'f2ad0683', 4402 + 'javelin-behavior-device' => '0b587556', 4363 4403 'javelin-behavior-differential-accept-with-errors' => '9488bb69', 4364 4404 'javelin-behavior-differential-add-reviewers-and-ccs' => '9488bb69', 4365 4405 'javelin-behavior-differential-comment-jump' => '9488bb69', ··· 4375 4415 'javelin-behavior-diffusion-commit-graph' => '96909266', 4376 4416 'javelin-behavior-diffusion-pull-lastmodified' => '96909266', 4377 4417 'javelin-behavior-error-log' => '4ccfeb47', 4378 - 'javelin-behavior-global-drag-and-drop' => 'f2ad0683', 4379 - 'javelin-behavior-history-install' => 'f2ad0683', 4380 - 'javelin-behavior-konami' => 'f2ad0683', 4381 - 'javelin-behavior-lightbox-attachments' => 'f2ad0683', 4418 + 'javelin-behavior-global-drag-and-drop' => '0b587556', 4419 + 'javelin-behavior-history-install' => '0b587556', 4420 + 'javelin-behavior-konami' => '0b587556', 4421 + 'javelin-behavior-lightbox-attachments' => '0b587556', 4382 4422 'javelin-behavior-load-blame' => '9488bb69', 4383 4423 'javelin-behavior-maniphest-batch-selector' => '98f64f07', 4384 4424 'javelin-behavior-maniphest-subpriority-editor' => '98f64f07', 4385 4425 'javelin-behavior-maniphest-transaction-controls' => '98f64f07', 4386 4426 'javelin-behavior-maniphest-transaction-expand' => '98f64f07', 4387 4427 'javelin-behavior-maniphest-transaction-preview' => '98f64f07', 4388 - 'javelin-behavior-phabricator-active-nav' => 'f2ad0683', 4389 - 'javelin-behavior-phabricator-autofocus' => 'f2ad0683', 4390 - 'javelin-behavior-phabricator-gesture' => 'f2ad0683', 4391 - 'javelin-behavior-phabricator-hovercards' => 'f2ad0683', 4392 - 'javelin-behavior-phabricator-keyboard-shortcuts' => 'f2ad0683', 4393 - 'javelin-behavior-phabricator-nav' => 'f2ad0683', 4428 + 'javelin-behavior-phabricator-active-nav' => '0b587556', 4429 + 'javelin-behavior-phabricator-autofocus' => '0b587556', 4430 + 'javelin-behavior-phabricator-gesture' => '0b587556', 4431 + 'javelin-behavior-phabricator-hovercards' => '0b587556', 4432 + 'javelin-behavior-phabricator-keyboard-shortcuts' => '0b587556', 4433 + 'javelin-behavior-phabricator-nav' => '0b587556', 4394 4434 'javelin-behavior-phabricator-object-selector' => '9488bb69', 4395 - 'javelin-behavior-phabricator-oncopy' => 'f2ad0683', 4396 - 'javelin-behavior-phabricator-remarkup-assist' => 'f2ad0683', 4397 - 'javelin-behavior-phabricator-reveal-content' => 'f2ad0683', 4398 - 'javelin-behavior-phabricator-search-typeahead' => 'f2ad0683', 4399 - 'javelin-behavior-phabricator-tooltips' => 'f2ad0683', 4400 - 'javelin-behavior-phabricator-watch-anchor' => 'f2ad0683', 4401 - 'javelin-behavior-refresh-csrf' => 'f2ad0683', 4435 + 'javelin-behavior-phabricator-oncopy' => '0b587556', 4436 + 'javelin-behavior-phabricator-remarkup-assist' => '0b587556', 4437 + 'javelin-behavior-phabricator-reveal-content' => '0b587556', 4438 + 'javelin-behavior-phabricator-search-typeahead' => '0b587556', 4439 + 'javelin-behavior-phabricator-tooltips' => '0b587556', 4440 + 'javelin-behavior-phabricator-watch-anchor' => '0b587556', 4441 + 'javelin-behavior-refresh-csrf' => '0b587556', 4402 4442 'javelin-behavior-repository-crossreference' => '9488bb69', 4403 - 'javelin-behavior-toggle-class' => 'f2ad0683', 4404 - 'javelin-behavior-workflow' => 'f2ad0683', 4443 + 'javelin-behavior-toggle-class' => '0b587556', 4444 + 'javelin-behavior-workflow' => '0b587556', 4405 4445 'javelin-dom' => 'a9f14d76', 4406 4446 'javelin-event' => 'a9f14d76', 4407 4447 'javelin-history' => 'a9f14d76', ··· 4421 4461 'javelin-util' => 'a9f14d76', 4422 4462 'javelin-vector' => 'a9f14d76', 4423 4463 'javelin-workflow' => 'a9f14d76', 4424 - 'lightbox-attachment-css' => 'e1a1ccff', 4464 + 'lightbox-attachment-css' => '178f5351', 4425 4465 'maniphest-task-summary-css' => 'adc3c36d', 4426 4466 'maniphest-transaction-detail-css' => 'adc3c36d', 4427 - 'phabricator-action-list-view-css' => 'e1a1ccff', 4428 - 'phabricator-application-launch-view-css' => 'e1a1ccff', 4429 - 'phabricator-busy' => 'f2ad0683', 4467 + 'phabricator-action-list-view-css' => '178f5351', 4468 + 'phabricator-application-launch-view-css' => '178f5351', 4469 + 'phabricator-busy' => '0b587556', 4430 4470 'phabricator-content-source-view-css' => 'dd27a69b', 4431 - 'phabricator-core-css' => 'e1a1ccff', 4432 - 'phabricator-crumbs-view-css' => 'e1a1ccff', 4471 + 'phabricator-core-css' => '178f5351', 4472 + 'phabricator-crumbs-view-css' => '178f5351', 4433 4473 'phabricator-drag-and-drop-file-upload' => '9488bb69', 4434 - 'phabricator-dropdown-menu' => 'f2ad0683', 4435 - 'phabricator-file-upload' => 'f2ad0683', 4436 - 'phabricator-filetree-view-css' => 'e1a1ccff', 4437 - 'phabricator-flag-css' => 'e1a1ccff', 4438 - 'phabricator-form-view-css' => 'e1a1ccff', 4439 - 'phabricator-header-view-css' => 'e1a1ccff', 4440 - 'phabricator-hovercard' => 'f2ad0683', 4441 - 'phabricator-jump-nav' => 'e1a1ccff', 4442 - 'phabricator-keyboard-shortcut' => 'f2ad0683', 4443 - 'phabricator-keyboard-shortcut-manager' => 'f2ad0683', 4444 - 'phabricator-main-menu-view' => 'e1a1ccff', 4445 - 'phabricator-menu-item' => 'f2ad0683', 4446 - 'phabricator-nav-view-css' => 'e1a1ccff', 4447 - 'phabricator-notification' => 'f2ad0683', 4448 - 'phabricator-notification-css' => 'e1a1ccff', 4449 - 'phabricator-notification-menu-css' => 'e1a1ccff', 4450 - 'phabricator-object-item-list-view-css' => 'e1a1ccff', 4474 + 'phabricator-dropdown-menu' => '0b587556', 4475 + 'phabricator-file-upload' => '0b587556', 4476 + 'phabricator-filetree-view-css' => '178f5351', 4477 + 'phabricator-flag-css' => '178f5351', 4478 + 'phabricator-form-view-css' => '178f5351', 4479 + 'phabricator-header-view-css' => '178f5351', 4480 + 'phabricator-hovercard' => '0b587556', 4481 + 'phabricator-jump-nav' => '178f5351', 4482 + 'phabricator-keyboard-shortcut' => '0b587556', 4483 + 'phabricator-keyboard-shortcut-manager' => '0b587556', 4484 + 'phabricator-main-menu-view' => '178f5351', 4485 + 'phabricator-menu-item' => '0b587556', 4486 + 'phabricator-nav-view-css' => '178f5351', 4487 + 'phabricator-notification' => '0b587556', 4488 + 'phabricator-notification-css' => '178f5351', 4489 + 'phabricator-notification-menu-css' => '178f5351', 4490 + 'phabricator-object-item-list-view-css' => '178f5351', 4451 4491 'phabricator-object-selector-css' => 'dd27a69b', 4452 - 'phabricator-phtize' => 'f2ad0683', 4453 - 'phabricator-prefab' => 'f2ad0683', 4492 + 'phabricator-phtize' => '0b587556', 4493 + 'phabricator-prefab' => '0b587556', 4454 4494 'phabricator-project-tag-css' => 'adc3c36d', 4455 - 'phabricator-property-list-view-css' => 'e1a1ccff', 4456 - 'phabricator-remarkup-css' => 'e1a1ccff', 4495 + 'phabricator-property-list-view-css' => '178f5351', 4496 + 'phabricator-remarkup-css' => '178f5351', 4457 4497 'phabricator-shaped-request' => '9488bb69', 4458 - 'phabricator-side-menu-view-css' => 'e1a1ccff', 4459 - 'phabricator-standard-page-view' => 'e1a1ccff', 4460 - 'phabricator-tag-view-css' => 'e1a1ccff', 4461 - 'phabricator-textareautils' => 'f2ad0683', 4462 - 'phabricator-tooltip' => 'f2ad0683', 4463 - 'phabricator-transaction-view-css' => 'e1a1ccff', 4464 - 'phabricator-zindex-css' => 'e1a1ccff', 4465 - 'phui-button-css' => 'e1a1ccff', 4466 - 'phui-form-css' => 'e1a1ccff', 4467 - 'phui-icon-view-css' => 'e1a1ccff', 4468 - 'phui-spacing-css' => 'e1a1ccff', 4469 - 'sprite-apps-large-css' => 'e1a1ccff', 4470 - 'sprite-gradient-css' => 'e1a1ccff', 4471 - 'sprite-icons-css' => 'e1a1ccff', 4472 - 'sprite-menu-css' => 'e1a1ccff', 4473 - 'syntax-highlighting-css' => 'e1a1ccff', 4498 + 'phabricator-side-menu-view-css' => '178f5351', 4499 + 'phabricator-standard-page-view' => '178f5351', 4500 + 'phabricator-tag-view-css' => '178f5351', 4501 + 'phabricator-textareautils' => '0b587556', 4502 + 'phabricator-tooltip' => '0b587556', 4503 + 'phabricator-transaction-view-css' => '178f5351', 4504 + 'phabricator-zindex-css' => '178f5351', 4505 + 'phui-button-css' => '178f5351', 4506 + 'phui-form-css' => '178f5351', 4507 + 'phui-icon-view-css' => '178f5351', 4508 + 'phui-spacing-css' => '178f5351', 4509 + 'sprite-apps-large-css' => '178f5351', 4510 + 'sprite-gradient-css' => '178f5351', 4511 + 'sprite-icons-css' => '178f5351', 4512 + 'sprite-menu-css' => '178f5351', 4513 + 'syntax-highlighting-css' => '178f5351', 4474 4514 ), 4475 4515 ));
+2
src/__phutil_library_map__.php
··· 911 911 'PhabricatorBotUser' => 'infrastructure/daemon/bot/target/PhabricatorBotUser.php', 912 912 'PhabricatorBotWhatsNewHandler' => 'infrastructure/daemon/bot/handler/PhabricatorBotWhatsNewHandler.php', 913 913 'PhabricatorBuiltinPatchList' => 'infrastructure/storage/patch/PhabricatorBuiltinPatchList.php', 914 + 'PhabricatorBusyExample' => 'applications/uiexample/examples/PhabricatorBusyExample.php', 914 915 'PhabricatorCacheDAO' => 'applications/cache/storage/PhabricatorCacheDAO.php', 915 916 'PhabricatorCacheManagementPurgeWorkflow' => 'applications/cache/management/PhabricatorCacheManagementPurgeWorkflow.php', 916 917 'PhabricatorCacheManagementWorkflow' => 'applications/cache/management/PhabricatorCacheManagementWorkflow.php', ··· 2851 2852 'PhabricatorBotUser' => 'PhabricatorBotTarget', 2852 2853 'PhabricatorBotWhatsNewHandler' => 'PhabricatorBotHandler', 2853 2854 'PhabricatorBuiltinPatchList' => 'PhabricatorSQLPatchList', 2855 + 'PhabricatorBusyExample' => 'PhabricatorUIExample', 2854 2856 'PhabricatorCacheDAO' => 'PhabricatorLiskDAO', 2855 2857 'PhabricatorCacheManagementPurgeWorkflow' => 'PhabricatorSearchManagementWorkflow', 2856 2858 'PhabricatorCacheManagementWorkflow' => 'PhutilArgumentWorkflow',
+17
src/applications/uiexample/examples/PhabricatorBusyExample.php
··· 1 + <?php 2 + 3 + final class PhabricatorBusyExample extends PhabricatorUIExample { 4 + 5 + public function getName() { 6 + return 'Busy'; 7 + } 8 + 9 + public function getDescription() { 10 + return "Busy."; 11 + } 12 + 13 + public function renderExample() { 14 + Javelin::initBehavior('phabricator-busy-example'); 15 + return null; 16 + } 17 + }
+5 -4
webroot/rsrc/css/aphront/form-view.css
··· 32 32 33 33 .device-phone .aphront-form-view label.aphront-form-label, 34 34 .aphront-form-full-width.aphront-form-view label.aphront-form-label { 35 - float: left; 35 + display: block; 36 + float: none; 36 37 text-align: left; 37 - width: auto; 38 + width: 100%; 38 39 margin-bottom: 3px; 39 40 } 40 41 ··· 65 66 66 67 .device-phone .aphront-form-error, 67 68 .aphront-form-full-width .aphront-form-error { 68 - float: right; 69 - width: auto; 69 + float: none; 70 + width: 100%; 70 71 } 71 72 72 73 .device-phone .aphront-form-drag-and-drop-upload {
+7 -10
webroot/rsrc/css/core/core.css
··· 113 113 114 114 .busy { 115 115 position: fixed; 116 - bottom: 8px; 117 - right: 8px; 118 - 119 - background: #ffffff url(/rsrc/image/loading.gif) center no-repeat; 120 - width: 64px; 121 - height: 64px; 122 - opacity: 0.5; 123 - 124 - border: 1px solid #444444; 125 - border-radius: 8px; 116 + bottom: 16px; 117 + right: 16px; 118 + width: 44px; 119 + height: 44px; 120 + border-radius: 5px; 121 + opacity: 0.4; 122 + background: #000 url(/res/cb6fc6eb/rsrc/image/loading/compass_24.gif) center no-repeat; 126 123 } 127 124 128 125 .grouped:after {
webroot/rsrc/image/loading/boating_24.gif

This is a binary file and will not be displayed.

webroot/rsrc/image/loading/compass_24.gif

This is a binary file and will not be displayed.

webroot/rsrc/image/loading/loading_d48.gif

This is a binary file and will not be displayed.

webroot/rsrc/image/loading/loading_w24.gif

This is a binary file and will not be displayed.

+9
webroot/rsrc/js/application/uiexample/busy-example.js
··· 1 + /** 2 + * @provides javelin-behavior-phabricator-busy-example 3 + * @requires phabricator-busy 4 + * javelin-behavior 5 + */ 6 + 7 + JX.behavior('phabricator-busy-example', function(config) { 8 + JX.Busy.start(); 9 + });
+4 -4
webroot/rsrc/js/core/Busy.js
··· 1 1 /** 2 2 * @requires javelin-install 3 3 * javelin-dom 4 + * javelin-fx 4 5 * @provides phabricator-busy 5 6 * @javelin 6 7 */ ··· 26 27 var self = JX.Busy; 27 28 if (!self._depth) { 28 29 self._indicator = JX.$N('div', {className: 'busy'}); 29 - self._indicator.style.display = 'none'; 30 + self._indicator.style.opacity = 0; 30 31 document.body.appendChild(self._indicator); 31 32 32 33 // Don't actually show the indicator for a little while, to prevent 33 34 // it from flashing briefly for every Ajax request. 34 - setTimeout(function() { 35 - self._indicator && (self._indicator.style.display = ''); 36 - }, 500); 35 + 36 + new JX.FX(self._indicator).setDuration(1000).start({opacity: [0, 0.8]}); 37 37 } 38 38 self._depth++; 39 39 },