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

Add objectheaders to new View

Summary: This adds the 'PHUIObjectBox' to nearly every place that should get it. I need to comb through Diffusion a little more. I've left Differential mostly alone, but may decide to do it anyways this weekend. I'm sure I missed something else, but these are easy enough to update.

Test Plan: tested each new layout.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: Korvin, aran

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

+526 -365
resources/sprite/gradients/lightblue-header.png

This is a binary file and will not be displayed.

+1 -1
resources/sprite/manifest/gradient.json
··· 34 34 "gradient-lightblue-header" : { 35 35 "name" : "gradient-lightblue-header", 36 36 "rule" : ".gradient-lightblue-header", 37 - "hash" : "b838d2eb15f9b620e82b4da240bf464a" 37 + "hash" : "e7753a6ce63c6822a559266eef9e255b" 38 38 }, 39 39 "gradient-menu-label" : { 40 40 "name" : "gradient-menu-label",
+83 -74
src/__celerity_resource_map__.php
··· 632 632 ), 633 633 '/rsrc/image/sprite-gradient.png' => 634 634 array( 635 - 'hash' => 'c6c42387e625948e683d9d8c62ea1b7f', 636 - 'uri' => '/res/c6c42387/rsrc/image/sprite-gradient.png', 635 + 'hash' => '1f0306b0ca281b1e5b96de0096269f1d', 636 + 'uri' => '/res/1f0306b0/rsrc/image/sprite-gradient.png', 637 637 'disk' => '/rsrc/image/sprite-gradient.png', 638 638 'type' => 'png', 639 639 ), ··· 890 890 ), 891 891 'aphront-panel-view-css' => 892 892 array( 893 - 'uri' => '/res/915e0a4b/rsrc/css/aphront/panel-view.css', 893 + 'uri' => '/res/70d7011b/rsrc/css/aphront/panel-view.css', 894 894 'type' => 'css', 895 895 'requires' => 896 896 array( ··· 1017 1017 ), 1018 1018 'differential-changeset-view-css' => 1019 1019 array( 1020 - 'uri' => '/res/b1c98bac/rsrc/css/application/differential/changeset-view.css', 1020 + 'uri' => '/res/5fd9d5c0/rsrc/css/application/differential/changeset-view.css', 1021 1021 'type' => 'css', 1022 1022 'requires' => 1023 1023 array( ··· 1026 1026 ), 1027 1027 'differential-core-view-css' => 1028 1028 array( 1029 - 'uri' => '/res/85fe5117/rsrc/css/application/differential/core.css', 1029 + 'uri' => '/res/7db1595a/rsrc/css/application/differential/core.css', 1030 1030 'type' => 'css', 1031 1031 'requires' => 1032 1032 array( ··· 3018 3018 ), 3019 3019 'phabricator-action-list-view-css' => 3020 3020 array( 3021 - 'uri' => '/res/c6219563/rsrc/css/layout/phabricator-action-list-view.css', 3021 + 'uri' => '/res/ade71822/rsrc/css/layout/phabricator-action-list-view.css', 3022 3022 'type' => 'css', 3023 3023 'requires' => 3024 3024 array( ··· 3371 3371 ), 3372 3372 'phabricator-property-list-view-css' => 3373 3373 array( 3374 - 'uri' => '/res/abc1bb1c/rsrc/css/layout/phabricator-property-list-view.css', 3374 + 'uri' => '/res/7835f74e/rsrc/css/layout/phabricator-property-list-view.css', 3375 3375 'type' => 'css', 3376 3376 'requires' => 3377 3377 array( ··· 3474 3474 ), 3475 3475 'phabricator-timeline-view-css' => 3476 3476 array( 3477 - 'uri' => '/res/79b6d385/rsrc/css/layout/phabricator-timeline-view.css', 3477 + 'uri' => '/res/09567421/rsrc/css/layout/phabricator-timeline-view.css', 3478 3478 'type' => 'css', 3479 3479 'requires' => 3480 3480 array( ··· 3656 3656 ), 3657 3657 'pholio-css' => 3658 3658 array( 3659 - 'uri' => '/res/cfdf017f/rsrc/css/application/pholio/pholio.css', 3659 + 'uri' => '/res/e64264c9/rsrc/css/application/pholio/pholio.css', 3660 3660 'type' => 'css', 3661 3661 'requires' => 3662 3662 array( ··· 3742 3742 ), 3743 3743 'phui-document-view-css' => 3744 3744 array( 3745 - 'uri' => '/res/7928af2d/rsrc/css/phui/phui-document.css', 3745 + 'uri' => '/res/40e39942/rsrc/css/phui/phui-document.css', 3746 3746 'type' => 'css', 3747 3747 'requires' => 3748 3748 array( ··· 3769 3769 ), 3770 3770 'phui-form-view-css' => 3771 3771 array( 3772 - 'uri' => '/res/d87bdbeb/rsrc/css/phui/phui-form-view.css', 3772 + 'uri' => '/res/157ddd8b/rsrc/css/phui/phui-form-view.css', 3773 3773 'type' => 'css', 3774 3774 'requires' => 3775 3775 array( ··· 3778 3778 ), 3779 3779 'phui-header-view-css' => 3780 3780 array( 3781 - 'uri' => '/res/2a60156a/rsrc/css/phui/phui-header-view.css', 3781 + 'uri' => '/res/94208bd6/rsrc/css/phui/phui-header-view.css', 3782 3782 'type' => 'css', 3783 3783 'requires' => 3784 3784 array( ··· 3803 3803 ), 3804 3804 'disk' => '/rsrc/css/phui/phui-list.css', 3805 3805 ), 3806 + 'phui-object-box-css' => 3807 + array( 3808 + 'uri' => '/res/3c1129d2/rsrc/css/phui/phui-object-box.css', 3809 + 'type' => 'css', 3810 + 'requires' => 3811 + array( 3812 + ), 3813 + 'disk' => '/rsrc/css/phui/phui-object-box.css', 3814 + ), 3806 3815 'phui-object-item-list-view-css' => 3807 3816 array( 3808 3817 'uri' => '/res/71f7f081/rsrc/css/phui/phui-object-item-list-view.css', ··· 3877 3886 ), 3878 3887 'ponder-comment-table-css' => 3879 3888 array( 3880 - 'uri' => '/res/fd114c83/rsrc/css/application/ponder/comments.css', 3889 + 'uri' => '/res/4aa4b865/rsrc/css/application/ponder/comments.css', 3881 3890 'type' => 'css', 3882 3891 'requires' => 3883 3892 array( ··· 4084 4093 ), 4085 4094 'sprite-gradient-css' => 4086 4095 array( 4087 - 'uri' => '/res/08c64fb3/rsrc/css/sprite-gradient.css', 4096 + 'uri' => '/res/e31d9063/rsrc/css/sprite-gradient.css', 4088 4097 'type' => 'css', 4089 4098 'requires' => 4090 4099 array( ··· 4175 4184 ), array( 4176 4185 'packages' => 4177 4186 array( 4178 - 'd72a9463' => 4187 + '9d16ff0b' => 4179 4188 array( 4180 4189 'name' => 'core.pkg.css', 4181 4190 'symbols' => ··· 4224 4233 41 => 'phabricator-tag-view-css', 4225 4234 42 => 'phui-list-view-css', 4226 4235 ), 4227 - 'uri' => '/res/pkg/d72a9463/core.pkg.css', 4236 + 'uri' => '/res/pkg/9d16ff0b/core.pkg.css', 4228 4237 'type' => 'css', 4229 4238 ), 4230 4239 '64eeda79' => ··· 4286 4295 'uri' => '/res/pkg/4ccfeb47/darkconsole.pkg.js', 4287 4296 'type' => 'js', 4288 4297 ), 4289 - '44bfe40c' => 4298 + 'b55e602f' => 4290 4299 array( 4291 4300 'name' => 'differential.pkg.css', 4292 4301 'symbols' => ··· 4305 4314 11 => 'differential-local-commits-view-css', 4306 4315 12 => 'inline-comment-summary-css', 4307 4316 ), 4308 - 'uri' => '/res/pkg/44bfe40c/differential.pkg.css', 4317 + 'uri' => '/res/pkg/b55e602f/differential.pkg.css', 4309 4318 'type' => 'css', 4310 4319 ), 4311 4320 '5e9e5c4e' => ··· 4416 4425 ), 4417 4426 'reverse' => 4418 4427 array( 4419 - 'aphront-dialog-view-css' => 'd72a9463', 4420 - 'aphront-error-view-css' => 'd72a9463', 4421 - 'aphront-list-filter-view-css' => 'd72a9463', 4422 - 'aphront-pager-view-css' => 'd72a9463', 4423 - 'aphront-panel-view-css' => 'd72a9463', 4424 - 'aphront-table-view-css' => 'd72a9463', 4425 - 'aphront-tokenizer-control-css' => 'd72a9463', 4426 - 'aphront-tooltip-css' => 'd72a9463', 4427 - 'aphront-typeahead-control-css' => 'd72a9463', 4428 - 'differential-changeset-view-css' => '44bfe40c', 4429 - 'differential-core-view-css' => '44bfe40c', 4428 + 'aphront-dialog-view-css' => '9d16ff0b', 4429 + 'aphront-error-view-css' => '9d16ff0b', 4430 + 'aphront-list-filter-view-css' => '9d16ff0b', 4431 + 'aphront-pager-view-css' => '9d16ff0b', 4432 + 'aphront-panel-view-css' => '9d16ff0b', 4433 + 'aphront-table-view-css' => '9d16ff0b', 4434 + 'aphront-tokenizer-control-css' => '9d16ff0b', 4435 + 'aphront-tooltip-css' => '9d16ff0b', 4436 + 'aphront-typeahead-control-css' => '9d16ff0b', 4437 + 'differential-changeset-view-css' => 'b55e602f', 4438 + 'differential-core-view-css' => 'b55e602f', 4430 4439 'differential-inline-comment-editor' => '5e9e5c4e', 4431 - 'differential-local-commits-view-css' => '44bfe40c', 4432 - 'differential-results-table-css' => '44bfe40c', 4433 - 'differential-revision-add-comment-css' => '44bfe40c', 4434 - 'differential-revision-comment-css' => '44bfe40c', 4435 - 'differential-revision-comment-list-css' => '44bfe40c', 4436 - 'differential-revision-history-css' => '44bfe40c', 4437 - 'differential-revision-list-css' => '44bfe40c', 4438 - 'differential-table-of-contents-css' => '44bfe40c', 4440 + 'differential-local-commits-view-css' => 'b55e602f', 4441 + 'differential-results-table-css' => 'b55e602f', 4442 + 'differential-revision-add-comment-css' => 'b55e602f', 4443 + 'differential-revision-comment-css' => 'b55e602f', 4444 + 'differential-revision-comment-list-css' => 'b55e602f', 4445 + 'differential-revision-history-css' => 'b55e602f', 4446 + 'differential-revision-list-css' => 'b55e602f', 4447 + 'differential-table-of-contents-css' => 'b55e602f', 4439 4448 'diffusion-commit-view-css' => 'c8ce2d88', 4440 4449 'diffusion-icons-css' => 'c8ce2d88', 4441 - 'global-drag-and-drop-css' => 'd72a9463', 4442 - 'inline-comment-summary-css' => '44bfe40c', 4450 + 'global-drag-and-drop-css' => '9d16ff0b', 4451 + 'inline-comment-summary-css' => 'b55e602f', 4443 4452 'javelin-aphlict' => '64eeda79', 4444 4453 'javelin-behavior' => '9564fa17', 4445 4454 'javelin-behavior-aphlict-dropdown' => '64eeda79', ··· 4513 4522 'javelin-util' => '9564fa17', 4514 4523 'javelin-vector' => '9564fa17', 4515 4524 'javelin-workflow' => '9564fa17', 4516 - 'lightbox-attachment-css' => 'd72a9463', 4525 + 'lightbox-attachment-css' => '9d16ff0b', 4517 4526 'maniphest-task-summary-css' => '49898640', 4518 - 'phabricator-action-list-view-css' => 'd72a9463', 4519 - 'phabricator-application-launch-view-css' => 'd72a9463', 4527 + 'phabricator-action-list-view-css' => '9d16ff0b', 4528 + 'phabricator-application-launch-view-css' => '9d16ff0b', 4520 4529 'phabricator-busy' => '64eeda79', 4521 - 'phabricator-content-source-view-css' => '44bfe40c', 4522 - 'phabricator-core-css' => 'd72a9463', 4523 - 'phabricator-crumbs-view-css' => 'd72a9463', 4530 + 'phabricator-content-source-view-css' => 'b55e602f', 4531 + 'phabricator-core-css' => '9d16ff0b', 4532 + 'phabricator-crumbs-view-css' => '9d16ff0b', 4524 4533 'phabricator-drag-and-drop-file-upload' => '5e9e5c4e', 4525 4534 'phabricator-dropdown-menu' => '64eeda79', 4526 4535 'phabricator-file-upload' => '64eeda79', 4527 - 'phabricator-filetree-view-css' => 'd72a9463', 4528 - 'phabricator-flag-css' => 'd72a9463', 4536 + 'phabricator-filetree-view-css' => '9d16ff0b', 4537 + 'phabricator-flag-css' => '9d16ff0b', 4529 4538 'phabricator-hovercard' => '64eeda79', 4530 - 'phabricator-jump-nav' => 'd72a9463', 4539 + 'phabricator-jump-nav' => '9d16ff0b', 4531 4540 'phabricator-keyboard-shortcut' => '64eeda79', 4532 4541 'phabricator-keyboard-shortcut-manager' => '64eeda79', 4533 - 'phabricator-main-menu-view' => 'd72a9463', 4542 + 'phabricator-main-menu-view' => '9d16ff0b', 4534 4543 'phabricator-menu-item' => '64eeda79', 4535 - 'phabricator-nav-view-css' => 'd72a9463', 4544 + 'phabricator-nav-view-css' => '9d16ff0b', 4536 4545 'phabricator-notification' => '64eeda79', 4537 - 'phabricator-notification-css' => 'd72a9463', 4538 - 'phabricator-notification-menu-css' => 'd72a9463', 4539 - 'phabricator-object-selector-css' => '44bfe40c', 4546 + 'phabricator-notification-css' => '9d16ff0b', 4547 + 'phabricator-notification-menu-css' => '9d16ff0b', 4548 + 'phabricator-object-selector-css' => 'b55e602f', 4540 4549 'phabricator-phtize' => '64eeda79', 4541 4550 'phabricator-prefab' => '64eeda79', 4542 4551 'phabricator-project-tag-css' => '49898640', 4543 - 'phabricator-property-list-view-css' => 'd72a9463', 4544 - 'phabricator-remarkup-css' => 'd72a9463', 4552 + 'phabricator-property-list-view-css' => '9d16ff0b', 4553 + 'phabricator-remarkup-css' => '9d16ff0b', 4545 4554 'phabricator-shaped-request' => '5e9e5c4e', 4546 - 'phabricator-side-menu-view-css' => 'd72a9463', 4547 - 'phabricator-standard-page-view' => 'd72a9463', 4548 - 'phabricator-tag-view-css' => 'd72a9463', 4555 + 'phabricator-side-menu-view-css' => '9d16ff0b', 4556 + 'phabricator-standard-page-view' => '9d16ff0b', 4557 + 'phabricator-tag-view-css' => '9d16ff0b', 4549 4558 'phabricator-textareautils' => '64eeda79', 4550 4559 'phabricator-tooltip' => '64eeda79', 4551 - 'phabricator-transaction-view-css' => 'd72a9463', 4552 - 'phabricator-zindex-css' => 'd72a9463', 4553 - 'phui-button-css' => 'd72a9463', 4554 - 'phui-form-css' => 'd72a9463', 4555 - 'phui-form-view-css' => 'd72a9463', 4556 - 'phui-header-view-css' => 'd72a9463', 4557 - 'phui-icon-view-css' => 'd72a9463', 4558 - 'phui-list-view-css' => 'd72a9463', 4559 - 'phui-object-item-list-view-css' => 'd72a9463', 4560 - 'phui-spacing-css' => 'd72a9463', 4561 - 'sprite-apps-large-css' => 'd72a9463', 4562 - 'sprite-gradient-css' => 'd72a9463', 4563 - 'sprite-icons-css' => 'd72a9463', 4564 - 'sprite-menu-css' => 'd72a9463', 4565 - 'sprite-status-css' => 'd72a9463', 4566 - 'syntax-highlighting-css' => 'd72a9463', 4560 + 'phabricator-transaction-view-css' => '9d16ff0b', 4561 + 'phabricator-zindex-css' => '9d16ff0b', 4562 + 'phui-button-css' => '9d16ff0b', 4563 + 'phui-form-css' => '9d16ff0b', 4564 + 'phui-form-view-css' => '9d16ff0b', 4565 + 'phui-header-view-css' => '9d16ff0b', 4566 + 'phui-icon-view-css' => '9d16ff0b', 4567 + 'phui-list-view-css' => '9d16ff0b', 4568 + 'phui-object-item-list-view-css' => '9d16ff0b', 4569 + 'phui-spacing-css' => '9d16ff0b', 4570 + 'sprite-apps-large-css' => '9d16ff0b', 4571 + 'sprite-gradient-css' => '9d16ff0b', 4572 + 'sprite-icons-css' => '9d16ff0b', 4573 + 'sprite-menu-css' => '9d16ff0b', 4574 + 'sprite-status-css' => '9d16ff0b', 4575 + 'syntax-highlighting-css' => '9d16ff0b', 4567 4576 ), 4568 4577 ));
+5 -1
src/applications/config/controller/PhabricatorConfigAllController.php
··· 72 72 $version_property_list->addProperty($name, $hash); 73 73 } 74 74 75 + $object_box = id(new PHUIObjectBoxView()) 76 + ->setHeaderText(pht('Current Settings')) 77 + ->addContent($version_property_list); 78 + 75 79 $phabricator_root = dirname(phutil_get_library_root('phabricator')); 76 80 $version_path = $phabricator_root.'/conf/local/VERSION'; 77 81 if (Filesystem::pathExists($version_path)) { ··· 84 88 $nav = $this->buildSideNavView(); 85 89 $nav->selectFilter('all/'); 86 90 $nav->setCrumbs($crumbs); 87 - $nav->appendChild($version_property_list); 91 + $nav->appendChild($object_box); 88 92 $nav->appendChild($panel); 89 93 90 94
+6 -3
src/applications/countdown/controller/PhabricatorCountdownViewController.php
··· 47 47 $actions = $this->buildActionListView($countdown); 48 48 $properties = $this->buildPropertyListView($countdown); 49 49 50 + $object_box = id(new PHUIObjectBoxView()) 51 + ->setHeader($header) 52 + ->addContent($actions) 53 + ->addContent($properties); 54 + 50 55 $content = array( 51 56 $crumbs, 52 - $header, 53 - $actions, 54 - $properties, 57 + $object_box, 55 58 $countdown_view, 56 59 ); 57 60
+18 -14
src/applications/differential/view/DifferentialAddCommentView.php
··· 71 71 $form 72 72 ->setWorkflow(true) 73 73 ->setUser($this->user) 74 - ->setShaded(true) 75 74 ->setAction($this->actionURI) 76 75 ->addHiddenInput('revision_id', $revision->getID()) 77 76 ->appendChild( ··· 176 175 $header = id(new PHUIHeaderView()) 177 176 ->setHeader($is_serious ? pht('Add Comment') : pht('Leap Into Action')); 178 177 179 - return hsprintf( 180 - '%s'. 181 - '<div class="differential-add-comment-panel">'. 182 - '%s%s%s'. 178 + $anchor = id(new PhabricatorAnchorView()) 179 + ->setAnchorName('comment') 180 + ->setNavigationMarker(true); 181 + 182 + $warn = phutil_tag('div', array('id' => 'warnings'), $warning_container); 183 + 184 + $preview = hsprintf( 183 185 '<div class="aphront-panel-preview aphront-panel-flush">'. 184 186 '<div id="comment-preview">'. 185 187 '<span class="aphront-panel-preview-loading-text">%s</span>'. 186 188 '</div>'. 187 189 '<div id="inline-comment-preview">'. 188 190 '</div>'. 189 - '</div>'. 190 - '</div>', 191 - id(new PhabricatorAnchorView()) 192 - ->setAnchorName('comment') 193 - ->setNavigationMarker(true) 194 - ->render(), 195 - $header->render(), 196 - $form->render(), 197 - phutil_tag('div', array('id' => 'warnings'), $warning_container), 191 + '</div>', 198 192 pht('Loading comment preview...')); 193 + 194 + 195 + 196 + $comment_box = id(new PHUIObjectBoxView()) 197 + ->setHeader($header) 198 + ->addContent($anchor) 199 + ->addContent($warn) 200 + ->addContent($form); 201 + 202 + return array($comment_box, $preview); 199 203 } 200 204 }
+13 -10
src/applications/differential/view/DifferentialChangesetListView.php
··· 200 200 ->setHeader($this->getTitle()); 201 201 } 202 202 203 - return array( 204 - $header, 205 - phutil_tag( 206 - 'div', 207 - array( 208 - 'class' => 'differential-review-stage', 209 - 'id' => 'differential-review-stage', 210 - ), 211 - $output), 212 - ); 203 + $content = phutil_tag( 204 + 'div', 205 + array( 206 + 'class' => 'differential-review-stage', 207 + 'id' => 'differential-review-stage', 208 + ), 209 + $output); 210 + 211 + $object_box = id(new PHUIObjectBoxView()) 212 + ->setHeader($header) 213 + ->addContent($content); 214 + 215 + return $object_box; 213 216 } 214 217 215 218 /**
+6 -5
src/applications/differential/view/DifferentialDiffTableOfContentsView.php
··· 213 213 $editor_link, 214 214 $reveal_link); 215 215 216 - return hsprintf( 217 - '%s%s'. 216 + $content = hsprintf( 217 + '%s'. 218 218 '<div class="differential-toc differential-panel">'. 219 219 '<table>'. 220 220 '<tr>'. ··· 232 232 ->setAnchorName('toc') 233 233 ->setNavigationMarker(true) 234 234 ->render(), 235 - id(new PHUIHeaderView()) 236 - ->setHeader(pht('Table of Contents')) 237 - ->render(), 238 235 pht('Coverage (All)'), 239 236 pht('Coverage (Touched)'), 240 237 phutil_implode_html("\n", $rows), 241 238 $buttons); 239 + 240 + return id(new PHUIObjectBoxView()) 241 + ->setHeaderText(pht('Table of Contents')) 242 + ->addContent($content); 242 243 } 243 244 244 245 private function renderRename($display_file, $other_file, $arrow) {
+6 -7
src/applications/differential/view/DifferentialLocalCommitsView.php
··· 128 128 129 129 $headers = phutil_tag('tr', array(), $headers); 130 130 131 - $header = id(new PHUIHeaderView()) 132 - ->setHeader(pht('Local Commits')) 133 - ->render(); 134 - 135 - return hsprintf( 136 - '%s'. 131 + $content = hsprintf( 137 132 '<div class="differential-panel">'. 138 133 '<table class="differential-local-commits-table">%s%s</table>'. 139 134 '</div>', 140 - $header, 141 135 $headers, 142 136 phutil_implode_html("\n", $rows)); 137 + 138 + return id(new PHUIObjectBoxView()) 139 + ->setHeaderText(pht('Local Commits')) 140 + ->addContent($content); 141 + 143 142 } 144 143 145 144 private static function formatCommit($commit) {
+6 -5
src/applications/differential/view/DifferentialRevisionDetailView.php
··· 111 111 } 112 112 $properties->setHasKeyboardShortcuts(true); 113 113 114 - return hsprintf( 115 - '%s%s%s', 116 - $header->render(), 117 - $actions->render(), 118 - $properties->render()); 114 + $object_box = id(new PHUIObjectBoxView()) 115 + ->setHeader($header) 116 + ->addContent($actions) 117 + ->addContent($properties); 118 + 119 + return $object_box; 119 120 } 120 121 121 122 private function renderHeader(DifferentialRevision $revision) {
+5 -5
src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php
··· 200 200 phutil_tag('th', array(), pht('Unit')), 201 201 ))); 202 202 203 - return hsprintf( 204 - '%s'. 203 + $content = hsprintf( 205 204 '<div class="differential-revision-history differential-panel">'. 206 205 '<form action="#toc">'. 207 206 '<table class="differential-revision-history-table">'. ··· 215 214 '</table>'. 216 215 '</form>'. 217 216 '</div>', 218 - id(new PHUIHeaderView()) 219 - ->setHeader(pht('Revision Update History')) 220 - ->render(), 221 217 phutil_implode_html("\n", $rows), 222 218 pht('Whitespace Changes: %s', $select), 223 219 pht('Show Diff')); 220 + 221 + return id(new PHUIObjectBoxView()) 222 + ->setHeaderText(pht('Revision Update History')) 223 + ->addContent($content); 224 224 } 225 225 226 226 const STAR_NONE = 'none';
+9 -11
src/applications/diffusion/controller/DiffusionBrowseDirectoryController.php
··· 22 22 23 23 $content = array(); 24 24 25 - $content[] = $this->buildHeaderView($drequest); 26 - $content[] = $this->buildActionView($drequest); 27 - $content[] = $this->buildPropertyView($drequest); 25 + $object_box = id(new PHUIObjectBoxView()) 26 + ->setHeader($this->buildHeaderView($drequest)) 27 + ->addContent($this->buildActionView($drequest)) 28 + ->addContent($this->buildPropertyView($drequest)); 28 29 30 + $content[] = $object_box; 29 31 $content[] = $this->renderSearchForm($collapsed = true); 30 32 31 33 if (!$results->isValidResults()) { ··· 70 72 )); 71 73 if ($readme) { 72 74 $box = new PHUIBoxView(); 73 - $box->setShadow(true); 74 75 $box->appendChild($readme); 75 76 $box->addPadding(PHUI::PADDING_LARGE); 76 - $box->addMargin(PHUI::MARGIN_LARGE); 77 77 78 - $header = id(new PHUIHeaderView()) 79 - ->setHeader(pht('README')); 78 + $object_box = id(new PHUIObjectBoxView()) 79 + ->setHeaderText(pht('README')) 80 + ->addContent($box); 80 81 81 - $content[] = array( 82 - $header, 83 - $box, 84 - ); 82 + $content[] = $object_box; 85 83 } 86 84 87 85 $crumbs = $this->buildCrumbs(
+5
src/applications/diffusion/controller/DiffusionBrowseFileController.php
··· 98 98 99 99 require_celerity_resource('diffusion-source-css'); 100 100 101 + $object_box = id(new PHUIObjectBoxView()) 102 + ->setHeader($this->buildHeaderView($drequest)) 103 + ->addContent($this->buildActionView($drequest)) 104 + ->addContent($this->buildPropertyView($drequest)); 105 + 101 106 // Render the page. 102 107 $content = array(); 103 108
+6 -3
src/applications/diffusion/controller/DiffusionBrowseSearchController.php
··· 5 5 public function processRequest() { 6 6 $drequest = $this->diffusionRequest; 7 7 8 + $object_box = id(new PHUIObjectBoxView()) 9 + ->setHeader($this->buildHeaderView($drequest)) 10 + ->addContent($this->buildActionView($drequest)) 11 + ->addContent($this->buildPropertyView($drequest)); 12 + 8 13 $content = array(); 9 14 10 - $content[] = $this->buildHeaderView($drequest); 11 - $content[] = $this->buildActionView($drequest); 12 - $content[] = $this->buildPropertyView($drequest); 15 + $content[] = $object_box; 13 16 $content[] = $this->renderSearchForm($collapsed = false); 14 17 $content[] = $this->renderSearchResults(); 15 18
+6 -3
src/applications/diffusion/controller/DiffusionChangeController.php
··· 82 82 $actions = $this->buildActionView($drequest); 83 83 $properties = $this->buildPropertyView($drequest); 84 84 85 + $object_box = id(new PHUIObjectBoxView()) 86 + ->setHeader($header) 87 + ->addContent($actions) 88 + ->addContent($properties); 89 + 85 90 return $this->buildApplicationPage( 86 91 array( 87 92 $crumbs, 88 - $header, 89 - $actions, 90 - $properties, 93 + $object_box, 91 94 $content, 92 95 ), 93 96 array(
+13 -7
src/applications/diffusion/controller/DiffusionCommitController.php
··· 137 137 ), 138 138 $message)); 139 139 $content[] = $top_anchor; 140 - $content[] = $headsup_view; 141 - $content[] = $headsup_actions; 142 - $content[] = $property_list; 140 + 141 + $object_box = id(new PHUIObjectBoxView()) 142 + ->setHeader($headsup_view) 143 + ->addContent($headsup_actions) 144 + ->addContent($property_list); 145 + 146 + $content[] = $object_box; 143 147 } 144 148 145 149 $content[] = $this->buildComments($commit); ··· 646 650 647 651 $form = id(new AphrontFormView()) 648 652 ->setUser($user) 649 - ->setShaded(true) 650 653 ->setAction('/audit/addcomment/') 651 654 ->addHiddenInput('commit', $commit->getPHID()) 652 655 ->appendChild( ··· 738 741 // Differential better. 739 742 require_celerity_resource('differential-core-view-css'); 740 743 744 + $comment_box = id(new PHUIObjectBoxView()) 745 + ->setHeader($header) 746 + ->addContent($form); 747 + 741 748 return phutil_tag( 742 749 'div', 743 750 array( 744 751 'id' => $pane_id, 745 752 ), 746 753 hsprintf( 747 - '<div class="differential-add-comment-panel">%s%s%s%s</div>', 754 + '<div class="differential-add-comment-panel">%s%s%s</div>', 748 755 id(new PhabricatorAnchorView()) 749 756 ->setAnchorName('comment') 750 757 ->setNavigationMarker(true) 751 758 ->render(), 752 - $header, 753 - $form, 759 + $comment_box, 754 760 $preview_panel)); 755 761 } 756 762
+6 -3
src/applications/diffusion/controller/DiffusionHistoryController.php
··· 72 72 $actions = $this->buildActionView($drequest); 73 73 $properties = $this->buildPropertyView($drequest); 74 74 75 + $object_box = id(new PHUIObjectBoxView()) 76 + ->setHeader($header) 77 + ->addContent($actions) 78 + ->addContent($properties); 79 + 75 80 $crumbs = $this->buildCrumbs( 76 81 array( 77 82 'branch' => true, ··· 82 87 return $this->buildApplicationPage( 83 88 array( 84 89 $crumbs, 85 - $header, 86 - $actions, 87 - $properties, 90 + $object_box, 88 91 $content, 89 92 ), 90 93 array(
+7 -6
src/applications/diffusion/controller/DiffusionLintController.php
··· 165 165 $drequest, 166 166 $branch, 167 167 $total); 168 + 169 + $object_box = id(new PHUIObjectBoxView()) 170 + ->setHeader($header) 171 + ->addContent($actions) 172 + ->addContent($properties); 168 173 } else { 169 - $header = null; 170 - $actions = null; 171 - $properties = null; 174 + $object_box = null; 172 175 } 173 176 174 177 175 178 return $this->buildApplicationPage( 176 179 array( 177 180 $crumbs, 178 - $header, 179 - $actions, 180 - $properties, 181 + $object_box, 181 182 $content, 182 183 ), 183 184 array(
+5 -1
src/applications/diffusion/controller/DiffusionRepositoryController.php
··· 174 174 $view->addTextContent($description); 175 175 } 176 176 177 - return array($header, $actions, $view); 177 + return id(new PHUIObjectBoxView()) 178 + ->setHeader($header) 179 + ->addContent($actions) 180 + ->addContent($view); 181 + 178 182 } 179 183 180 184 private function buildBranchListTable(DiffusionRequest $drequest) {
+6 -3
src/applications/drydock/controller/DrydockLeaseViewController.php
··· 45 45 ->setName($title) 46 46 ->setHref($lease_uri)); 47 47 48 + $object_box = id(new PHUIObjectBoxView()) 49 + ->setHeader($header) 50 + ->addContent($actions) 51 + ->addContent($properties); 52 + 48 53 return $this->buildApplicationPage( 49 54 array( 50 55 $crumbs, 51 - $header, 52 - $actions, 53 - $properties, 56 + $object_box, 54 57 $log_table, 55 58 ), 56 59 array(
+6 -3
src/applications/drydock/controller/DrydockResourceViewController.php
··· 56 56 id(new PhabricatorCrumbView()) 57 57 ->setName(pht('Resource %d', $resource->getID()))); 58 58 59 + $object_box = id(new PHUIObjectBoxView()) 60 + ->setHeader($header) 61 + ->addContent($actions) 62 + ->addContent($properties); 63 + 59 64 return $this->buildApplicationPage( 60 65 array( 61 66 $crumbs, 62 - $header, 63 - $actions, 64 - $properties, 67 + $object_box, 65 68 $lease_header, 66 69 $lease_list, 67 70 $log_table,
+12 -5
src/applications/files/controller/PhabricatorFileInfoController.php
··· 49 49 ->setName('F'.$file->getID()) 50 50 ->setHref($this->getApplicationURI("/info/{$phid}/"))); 51 51 52 + $object_box = id(new PHUIObjectBoxView()) 53 + ->setHeader($header) 54 + ->addContent($actions) 55 + ->addContent($properties); 56 + 52 57 return $this->buildApplicationPage( 53 58 array( 54 59 $crumbs, 55 - $header, 56 - $actions, 57 - $properties, 60 + $object_box, 58 61 $timeline 59 62 ), 60 63 array( ··· 107 110 ->setAction($this->getApplicationURI('/comment/'.$file->getID().'/')) 108 111 ->setSubmitButtonName($submit_button_name); 109 112 113 + $comment_box = id(new PHUIObjectBoxView()) 114 + ->setFlush(true) 115 + ->setHeader($add_comment_header) 116 + ->addContent($add_comment_form); 117 + 110 118 return array( 111 119 $timeline, 112 - $add_comment_header, 113 - $add_comment_form); 120 + $comment_box); 114 121 } 115 122 116 123 private function buildActionView(PhabricatorFile $file) {
+6 -3
src/applications/herald/controller/HeraldRuleViewController.php
··· 32 32 id(new PhabricatorCrumbView()) 33 33 ->setName(pht('Rule %d', $rule->getID()))); 34 34 35 + $object_box = id(new PHUIObjectBoxView()) 36 + ->setHeader($header) 37 + ->addContent($actions) 38 + ->addContent($properties); 39 + 35 40 return $this->buildApplicationPage( 36 41 array( 37 42 $crumbs, 38 - $header, 39 - $actions, 40 - $properties, 43 + $object_box, 41 44 ), 42 45 array( 43 46 'title' => $rule->getName(),
+11 -7
src/applications/legalpad/controller/LegalpadDocumentViewController.php
··· 86 86 ->setName('L'.$document->getID()) 87 87 ->setHref($this->getApplicationURI('view/'.$document->getID()))); 88 88 89 + $object_box = id(new PHUIObjectBoxView()) 90 + ->setHeader($header) 91 + ->addContent($actions) 92 + ->addContent($properties); 93 + 89 94 $content = array( 90 95 $crumbs, 91 - $header, 92 - $actions, 93 - $properties, 96 + $object_box, 94 97 $this->buildDocument($engine, $document_body), 95 98 $xaction_view, 96 99 $add_comment, ··· 210 213 ->setAction($this->getApplicationURI('/comment/'.$document->getID().'/')) 211 214 ->setRequestURI($this->getRequest()->getRequestURI()); 212 215 213 - return array( 214 - $header, 215 - $form, 216 - ); 216 + return id(new PHUIObjectBoxView()) 217 + ->setFlush(true) 218 + ->setHeader($header) 219 + ->addContent($form); 220 + 217 221 } 218 222 219 223 }
+12 -5
src/applications/macro/controller/PhabricatorMacroViewController.php
··· 91 91 ->setAction($this->getApplicationURI('/comment/'.$macro->getID().'/')) 92 92 ->setSubmitButtonName($submit_button_name); 93 93 94 + $object_box = id(new PHUIObjectBoxView()) 95 + ->setHeader($header) 96 + ->addContent($actions) 97 + ->addContent($properties); 98 + 99 + $comment_box = id(new PHUIObjectBoxView()) 100 + ->setFlush(true) 101 + ->setHeader($add_comment_header) 102 + ->addContent($add_comment_form); 103 + 94 104 return $this->buildApplicationPage( 95 105 array( 96 106 $crumbs, 97 - $header, 98 - $actions, 99 - $properties, 107 + $object_box, 100 108 $timeline, 101 - $add_comment_header, 102 - $add_comment_form, 109 + $comment_box, 103 110 ), 104 111 array( 105 112 'title' => $title_short,
+12 -6
src/applications/maniphest/controller/ManiphestTaskDetailController.php
··· 209 209 $comment_form = new AphrontFormView(); 210 210 $comment_form 211 211 ->setUser($user) 212 - ->setShaded(true) 213 212 ->setAction('/maniphest/transaction/save/') 214 213 ->setEncType('multipart/form-data') 215 214 ->addHiddenInput('taskID', $task->getID()) ··· 364 363 $preview_panel = null; 365 364 } 366 365 366 + $object_box = id(new PHUIObjectBoxView()) 367 + ->setHeader($header) 368 + ->addContent($actions) 369 + ->addContent($properties); 370 + 371 + $comment_box = id(new PHUIObjectBoxView()) 372 + ->setFlush(true) 373 + ->setHeader($comment_header) 374 + ->addContent($comment_form); 375 + 367 376 return $this->buildApplicationPage( 368 377 array( 369 378 $crumbs, 370 379 $context_bar, 371 - $header, 372 - $actions, 373 - $properties, 380 + $object_box, 374 381 $timeline, 375 - $comment_header, 376 - $comment_form, 382 + $comment_box, 377 383 $preview_panel, 378 384 ), 379 385 array(
+6 -3
src/applications/meta/controller/PhabricatorApplicationDetailViewController.php
··· 54 54 $properties = $this->buildPropertyView($selected); 55 55 $actions = $this->buildActionView($user, $selected); 56 56 57 + $object_box = id(new PHUIObjectBoxView()) 58 + ->setHeader($header) 59 + ->addContent($actions) 60 + ->addContent($properties); 61 + 57 62 return $this->buildApplicationPage( 58 63 array( 59 64 $crumbs, 60 - $header, 61 - $actions, 62 - $properties, 65 + $object_box, 63 66 ), 64 67 array( 65 68 'title' => $title,
+20 -5
src/applications/paste/controller/PhabricatorPasteViewController.php
··· 68 68 $header = $this->buildHeaderView($paste); 69 69 $actions = $this->buildActionView($user, $paste, $file); 70 70 $properties = $this->buildPropertyView($paste, $fork_phids); 71 + 72 + $object_box = id(new PHUIObjectBoxView()) 73 + ->setHeader($header) 74 + ->addContent($actions) 75 + ->addContent($properties); 76 + 71 77 $source_code = $this->buildSourceCodeView( 72 78 $paste, 73 79 null, 74 80 $this->highlightMap); 81 + 82 + $source_code = id(new PHUIBoxView()) 83 + ->appendChild($source_code) 84 + ->setBorder(true) 85 + ->addMargin(PHUI::MARGIN_LARGE_LEFT) 86 + ->addMargin(PHUI::MARGIN_LARGE_RIGHT) 87 + ->addMargin(PHUI::MARGIN_LARGE_TOP); 75 88 76 89 $crumbs = $this->buildApplicationCrumbs($this->buildSideNavView()) 77 90 ->setActionList($actions) ··· 123 136 ->setAction($this->getApplicationURI('/comment/'.$paste->getID().'/')) 124 137 ->setSubmitButtonName($submit_button_name); 125 138 139 + $comment_box = id(new PHUIObjectBoxView()) 140 + ->setFlush(true) 141 + ->setHeader($add_comment_header) 142 + ->addContent($add_comment_form); 143 + 126 144 return $this->buildApplicationPage( 127 145 array( 128 146 $crumbs, 129 - $header, 130 - $actions, 131 - $properties, 147 + $object_box, 132 148 $source_code, 133 149 $timeline, 134 - $add_comment_header, 135 - $add_comment_form 150 + $comment_box, 136 151 ), 137 152 array( 138 153 'title' => $paste->getFullName(),
+6 -3
src/applications/people/controller/PhabricatorPeopleProfileController.php
··· 76 76 ->setName($user->getUsername())); 77 77 $feed = $this->renderUserFeed($user); 78 78 79 + $object_box = id(new PHUIObjectBoxView()) 80 + ->setHeader($header) 81 + ->addContent($actions) 82 + ->addContent($properties); 83 + 79 84 return $this->buildApplicationPage( 80 85 array( 81 86 $crumbs, 82 - $header, 83 - $actions, 84 - $properties, 87 + $object_box, 85 88 $feed, 86 89 ), 87 90 array(
+6 -3
src/applications/phame/controller/blog/PhameBlogViewController.php
··· 63 63 ->setName($blog->getName()) 64 64 ->setHref($this->getApplicationURI())); 65 65 66 + $object_box = id(new PHUIObjectBoxView()) 67 + ->setHeader($header) 68 + ->addContent($actions) 69 + ->addContent($properties); 70 + 66 71 $nav->appendChild( 67 72 array( 68 73 $crumbs, 69 - $header, 70 - $actions, 71 - $properties, 74 + $object_box, 72 75 $post_list, 73 76 )); 74 77
+11 -7
src/applications/phame/controller/post/PhamePostViewController.php
··· 42 42 ->setHref($this->getApplicationURI('post/view/'.$post->getID().'/'))); 43 43 44 44 $nav->appendChild($crumbs); 45 - $nav->appendChild( 46 - id(new PHUIHeaderView()) 45 + 46 + $header = id(new PHUIHeaderView()) 47 47 ->setHeader($post->getTitle()) 48 48 ->setUser($user) 49 - ->setPolicyObject($post)); 49 + ->setPolicyObject($post); 50 + 51 + $object_box = id(new PHUIObjectBoxView()) 52 + ->setHeader($header) 53 + ->addContent($actions) 54 + ->addContent($properties); 50 55 51 56 if ($post->isDraft()) { 52 - $nav->appendChild( 57 + $object_box->appendChild( 53 58 id(new AphrontErrorView()) 54 59 ->setSeverity(AphrontErrorView::SEVERITY_NOTICE) 55 60 ->setTitle(pht('Draft Post')) ··· 59 64 } 60 65 61 66 if (!$post->getBlog()) { 62 - $nav->appendChild( 67 + $object_box->appendChild( 63 68 id(new AphrontErrorView()) 64 69 ->setSeverity(AphrontErrorView::SEVERITY_WARNING) 65 70 ->setTitle(pht('Not On A Blog')) ··· 70 75 71 76 $nav->appendChild( 72 77 array( 73 - $actions, 74 - $properties, 78 + $object_box, 75 79 )); 76 80 77 81 return $this->buildApplicationPage(
+6 -3
src/applications/phlux/controller/PhluxViewController.php
··· 74 74 ->setTransactions($xactions) 75 75 ->setMarkupEngine($engine); 76 76 77 + $object_box = id(new PHUIObjectBoxView()) 78 + ->setHeader($header) 79 + ->addContent($actions) 80 + ->addContent($properties); 81 + 77 82 return $this->buildApplicationPage( 78 83 array( 79 84 $crumbs, 80 - $header, 81 - $actions, 82 - $properties, 85 + $object_box, 83 86 $xaction_view, 84 87 ), 85 88 array(
+10 -7
src/applications/pholio/controller/PholioMockViewController.php
··· 103 103 ->setName('M'.$mock->getID()) 104 104 ->setHref('/M'.$mock->getID())); 105 105 106 + $object_box = id(new PHUIObjectBoxView()) 107 + ->setHeader($header) 108 + ->addContent($actions) 109 + ->addContent($properties); 110 + 106 111 $content = array( 107 112 $crumbs, 108 113 $image_status, 109 - $header, 110 - $actions, 111 - $properties, 114 + $object_box, 112 115 $output->render(), 113 116 $xaction_view, 114 117 $add_comment, ··· 251 254 ->setAction($this->getApplicationURI('/comment/'.$mock->getID().'/')) 252 255 ->setRequestURI($this->getRequest()->getRequestURI()); 253 256 254 - return array( 255 - $header, 256 - $form, 257 - ); 257 + return id(new PHUIObjectBoxView()) 258 + ->setFlush(true) 259 + ->setHeader($header) 260 + ->addContent($form); 258 261 } 259 262 260 263 }
+6 -3
src/applications/phortune/controller/PhortuneAccountViewController.php
··· 60 60 $purchase_history = $this->buildPurchaseHistorySection($account); 61 61 $account_history = $this->buildAccountHistorySection($account); 62 62 63 + $object_box = id(new PHUIObjectBoxView()) 64 + ->setHeader($header) 65 + ->addContent($actions) 66 + ->addContent($properties); 67 + 63 68 return $this->buildApplicationPage( 64 69 array( 65 70 $crumbs, 66 - $header, 67 - $actions, 68 - $properties, 71 + $object_box, 69 72 $payment_methods, 70 73 $purchase_history, 71 74 $account_history,
+6 -3
src/applications/phortune/controller/PhortuneProductViewController.php
··· 81 81 ->setTransactions($xactions) 82 82 ->setMarkupEngine($engine); 83 83 84 + $object_box = id(new PHUIObjectBoxView()) 85 + ->setHeader($header) 86 + ->addContent($actions) 87 + ->addContent($properties); 88 + 84 89 return $this->buildApplicationPage( 85 90 array( 86 91 $crumbs, 87 - $header, 88 - $actions, 89 - $properties, 92 + $object_box, 90 93 $xaction_view, 91 94 ), 92 95 array(
+30 -10
src/applications/ponder/controller/PonderQuestionViewController.php
··· 50 50 $actions = $this->buildActionListView($question); 51 51 $properties = $this->buildPropertyListView($question); 52 52 53 + $object_box = id(new PHUIObjectBoxView()) 54 + ->setHeader($header) 55 + ->addContent($actions) 56 + ->addContent($properties); 57 + 53 58 $crumbs = $this->buildApplicationCrumbs($this->buildSideNavView()); 54 59 $crumbs->setActionList($actions); 55 60 $crumbs->addCrumb( ··· 60 65 return $this->buildApplicationPage( 61 66 array( 62 67 $crumbs, 63 - $header, 64 - $actions, 65 - $properties, 68 + $object_box, 66 69 $question_xactions, 67 70 $answers, 68 71 $answer_add_panel ··· 208 211 ->setAction($this->getApplicationURI("/question/comment/{$id}/")) 209 212 ->setSubmitButtonName(pht('Comment')); 210 213 214 + $object_box = id(new PHUIObjectBoxView()) 215 + ->setFlush(true) 216 + ->setHeaderText(pht('Question Comment')) 217 + ->addContent($add_comment); 218 + 211 219 return $this->wrapComments( 212 220 count($xactions), 213 221 array( 214 222 $timeline, 215 - $add_comment, 223 + $object_box, 216 224 )); 217 225 } 218 226 ··· 253 261 $out[] = phutil_tag('br'); 254 262 $out[] = id(new PhabricatorAnchorView()) 255 263 ->setAnchorName("A$id"); 256 - $out[] = id(new PHUIHeaderView()) 257 - ->setHeader($this->getHandle($author_phid)->getFullName()) 258 - ->setImage($this->getHandle($author_phid)->getImageURI()); 264 + $header = id(new PHUIHeaderView()) 265 + ->setHeader($this->getHandle($author_phid)->getFullName()); 266 + 267 + $actions = $this->buildAnswerActions($answer); 268 + $properties = $this->buildAnswerProperties($answer); 259 269 260 - $out[] = $this->buildAnswerActions($answer); 261 - $out[] = $this->buildAnswerProperties($answer); 270 + $object_box = id(new PHUIObjectBoxView()) 271 + ->setHeader($header) 272 + ->addContent($actions) 273 + ->addContent($properties); 262 274 275 + $out[] = $object_box; 263 276 $details = array(); 264 277 265 278 $details[] = id(new PhabricatorApplicationTransactionView()) ··· 268 281 ->setTransactions($xactions) 269 282 ->setMarkupEngine($engine); 270 283 271 - $details[] = id(new PhabricatorApplicationTransactionCommentView()) 284 + $form = id(new PhabricatorApplicationTransactionCommentView()) 272 285 ->setUser($viewer) 273 286 ->setObjectPHID($answer->getPHID()) 274 287 ->setShowPreview(false) 275 288 ->setAction($this->getApplicationURI("/answer/comment/{$id}/")) 276 289 ->setSubmitButtonName(pht('Comment')); 290 + 291 + $comment_box = id(new PHUIObjectBoxView()) 292 + ->setFlush(true) 293 + ->setHeaderText(pht('Answer Comment')) 294 + ->addContent($form); 295 + 296 + $details[] = $comment_box; 277 297 278 298 $out[] = $this->wrapComments( 279 299 count($xactions),
+3 -7
src/applications/ponder/view/PonderAddAnswerView.php
··· 43 43 pht('Add Answer') : 44 44 pht('Bequeath Wisdom'))); 45 45 46 - return id(new AphrontNullView()) 47 - ->appendChild( 48 - array( 49 - $header, 50 - $form, 51 - )) 52 - ->render(); 46 + return id(new PHUIObjectBoxView()) 47 + ->setHeader($header) 48 + ->addContent($form); 53 49 } 54 50 }
+13 -12
src/applications/project/controller/PhabricatorProjectProfileController.php
··· 72 72 id(new PhabricatorCrumbView()) 73 73 ->setName($project->getName())); 74 74 75 + $object_box = id(new PHUIObjectBoxView()) 76 + ->setHeader($header) 77 + ->addContent($actions) 78 + ->addContent($properties); 79 + 75 80 return $this->buildApplicationPage( 76 81 array( 77 82 $crumbs, 78 - $header, 79 - $actions, 80 - $properties, 83 + $object_box, 81 84 $content, 82 85 ), 83 86 array( ··· 173 176 $task_list->setTasks($tasks); 174 177 $task_list->setHandles($handles); 175 178 176 - $content = hsprintf( 177 - '<div class="phabricator-profile-info-group profile-wrap-responsive"> 178 - <h1 class="phabricator-profile-info-header">%s</h1>'. 179 - '<div class="phabricator-profile-info-pane">'. 180 - '%s'. 181 - '</div> 182 - </div>', 183 - pht('Open Tasks'), 184 - $task_list); 179 + $list = id(new PHUIBoxView()) 180 + ->addPadding(PHUI::PADDING_LARGE) 181 + ->appendChild($task_list); 182 + 183 + $content = id(new PHUIObjectBoxView()) 184 + ->setHeaderText(pht('Open Tasks')) 185 + ->addContent($list); 185 186 186 187 return $content; 187 188 }
+5 -5
src/applications/releeph/controller/branch/ReleephBranchViewController.php
··· 168 168 pht('Branch'), 169 169 $branch->getName()); 170 170 171 - return array( 172 - $header, 173 - $actions, 174 - $properties, 175 - ); 171 + return id(new PHUIObjectBoxView()) 172 + ->setHeader($header) 173 + ->addContent($actions) 174 + ->addContent($properties); 175 + 176 176 } 177 177 178 178 }
+4 -5
src/applications/releeph/controller/project/ReleephProjectViewController.php
··· 236 236 $this->renderHandlesForPHIDs($pushers)); 237 237 } 238 238 239 - return array( 240 - $header, 241 - $actions, 242 - $properties, 243 - ); 239 + return id(new PHUIObjectBoxView()) 240 + ->setHeader($header) 241 + ->addContent($actions) 242 + ->addContent($properties); 244 243 245 244 } 246 245
+12 -13
src/applications/slowvote/controller/PhabricatorSlowvotePollController.php
··· 46 46 ->setUser($user) 47 47 ->setPolicyObject($poll); 48 48 49 - $xaction_header = id(new PHUIHeaderView()) 50 - ->setHeader(pht('Ongoing Deliberations')); 51 - 52 49 $actions = $this->buildActionView($poll); 53 50 $properties = $this->buildPropertyView($poll); 54 51 ··· 59 56 60 57 $xactions = $this->buildTransactions($poll); 61 58 $add_comment = $this->buildCommentForm($poll); 59 + 60 + $object_box = id(new PHUIObjectBoxView()) 61 + ->setHeader($header) 62 + ->addContent($actions) 63 + ->addContent($properties); 62 64 63 65 return $this->buildApplicationPage( 64 66 array( 65 67 $crumbs, 66 - $header, 67 - $actions, 68 - $properties, 68 + $object_box, 69 69 phutil_tag( 70 70 'div', 71 71 array( 72 - 'class' => 'ml', 72 + 'class' => 'mlt mml mmr', 73 73 ), 74 74 $poll_view), 75 - $xaction_header, 76 75 $xactions, 77 76 $add_comment, 78 77 ), ··· 179 178 ->setAction($this->getApplicationURI('/comment/'.$poll->getID().'/')) 180 179 ->setSubmitButtonName($submit_button_name); 181 180 182 - return array( 183 - $add_comment_header, 184 - $add_comment_form, 185 - ); 186 - } 181 + return id(new PHUIObjectBoxView()) 182 + ->setFlush(true) 183 + ->setHeader($add_comment_header) 184 + ->addContent($add_comment_form); 187 185 186 + } 188 187 189 188 }
-1
src/applications/transactions/view/PhabricatorApplicationTransactionCommentView.php
··· 148 148 ->setUser($this->getUser()) 149 149 ->addSigil('transaction-append') 150 150 ->setWorkflow(true) 151 - ->setShaded(true) 152 151 ->setMetadata( 153 152 array( 154 153 'objectPHID' => $this->getObjectPHID(),
+1 -1
src/infrastructure/celerity/CeleritySpriteGenerator.php
··· 524 524 'yellow-header' => 70, 525 525 'grey-header' => 70, 526 526 'dark-grey-header' => 70, 527 - 'lightblue-header' => 70, 527 + 'lightblue-header' => 240, 528 528 ); 529 529 530 530 $extra_css = array(
+1 -1
src/view/layout/AphrontSideNavFilterView.php
··· 288 288 phutil_tag( 289 289 'div', 290 290 array( 291 - 'class' => 'phabricator-nav-content', 291 + 'class' => 'phabricator-nav-content mlb', 292 292 'id' => $content_id, 293 293 ), 294 294 array(
-1
src/view/layout/PhabricatorPropertyListView.php
··· 180 180 $classes[] = 'phabricator-property-list-text-content'; 181 181 if ($part['type'] == 'image') { 182 182 $classes[] = 'phabricator-property-list-image-content'; 183 - $classes[] = 'phabricator-remarkup-dark'; 184 183 } 185 184 return phutil_tag( 186 185 'div',
+1
src/view/phui/PHUIHeaderView.php
··· 195 195 $link = javelin_tag( 196 196 'a', 197 197 array( 198 + 'class' => 'policy-link', 198 199 'href' => '/policy/explain/'.$phid.'/'.$view_capability.'/', 199 200 'sigil' => 'workflow', 200 201 ),
+26 -4
src/view/phui/PHUIObjectBoxView.php
··· 7 7 private $form; 8 8 private $validationException; 9 9 private $content = array(); 10 + private $header; 11 + private $flush; 10 12 11 13 public function setHeaderText($text) { 12 14 $this->headerText = $text; ··· 23 25 return $this; 24 26 } 25 27 28 + public function setHeader(PHUIHeaderView $header) { 29 + $this->header = $header; 30 + return $this; 31 + } 32 + 26 33 public function addContent($content) { 27 34 $this->content[] = $content; 28 35 return $this; 29 36 } 30 37 38 + public function setFlush($flush) { 39 + $this->flush = $flush; 40 + return $this; 41 + } 42 + 31 43 public function setValidationException( 32 44 PhabricatorApplicationTransactionValidationException $ex = null) { 33 45 $this->validationException = $ex; ··· 36 48 37 49 public function render() { 38 50 39 - $header = id(new PhabricatorActionHeaderView()) 40 - ->setHeaderTitle($this->headerText) 41 - ->setHeaderColor(PhabricatorActionHeaderView::HEADER_LIGHTBLUE); 51 + require_celerity_resource('phui-object-box-css'); 52 + 53 + if ($this->header) { 54 + $header = $this->header; 55 + $header->setGradient(PhabricatorActionHeaderView::HEADER_LIGHTBLUE); 56 + } else { 57 + $header = id(new PHUIHeaderView()) 58 + ->setHeader($this->headerText) 59 + ->setGradient(PhabricatorActionHeaderView::HEADER_LIGHTBLUE); 60 + } 42 61 43 62 $ex = $this->validationException; 44 63 $exception_errors = null; ··· 68 87 ->addMargin(PHUI::MARGIN_LARGE_RIGHT) 69 88 ->addClass('phui-object-box'); 70 89 71 - return $content; 90 + if ($this->flush) { 91 + $content->addClass('phui-object-box-flush'); 92 + } 72 93 94 + return $content; 73 95 } 74 96 }
+1 -4
webroot/rsrc/css/aphront/panel-view.css
··· 77 77 } 78 78 79 79 .aphront-panel-preview { 80 - background: #fbfbfb; 81 - border-bottom: 1px solid {$greyborder}; 82 - padding: 15px 20px; 80 + padding: 16px; 83 81 } 84 82 85 83 .device-phone .aphront-panel-preview { ··· 124 122 font-size: 12px; 125 123 color: {$greytext}; 126 124 } 127 -
+14 -19
webroot/rsrc/css/application/differential/changeset-view.css
··· 2 2 * @provides differential-changeset-view-css 3 3 */ 4 4 5 - .differential-review-stage { 6 - background: #FFFFFF; 7 - padding: 0em 1.25em 0em 0em; 8 - } 9 - 10 5 .differential-changeset { 11 6 position: relative; 12 7 margin: 0; 13 - padding: 10px 0% 20px 2%; 8 + padding: 16px 0; 14 9 } 15 10 16 - 17 11 .differential-diff { 18 - background: transparent; 19 - width: 100%; 12 + background: transparent; 13 + width: 100%; 14 + border-top: 1px solid #cca; 15 + border-bottom: 1px solid #cca; 20 16 } 21 17 22 18 .differential-diff td { ··· 45 41 min-width: 45px; 46 42 max-width: 4%; 47 43 vertical-align: top; 48 - background: #eeeeee; 49 - color: {$lightgreytext}; 44 + background: {$lightbluebackground}; 45 + color: {$bluetext}; 50 46 cursor: pointer; 51 - border-style: solid; 52 - border-width: 0px 1px; 53 - border-color: #eeeeee #999999 #eeeeee #dddddd; 47 + border-right: 1px solid {$thinblueborder}; 54 48 font-size: 11px; 55 49 overflow: hidden; 56 50 ··· 168 162 .differential-diff td.show-context, 169 163 .differential-diff td.differential-shield { 170 164 background: #ffffee; 171 - padding: 1em 0em; 172 - border: 1px solid #ccccaa; 165 + padding: 12px 0; 166 + border-top: 1px solid #ccccaa; 167 + border-bottom: 1px solid #ccccaa; 173 168 } 174 169 175 170 .differential-diff td.show-more, ··· 218 213 } 219 214 220 215 .differential-changeset h1 { 221 - font-size: 14px; 222 - font-weight: bold; 223 - padding: 2px 0 8px; 216 + font-size: 14px; 217 + padding: 2px 0 12px 12px; 224 218 } 225 219 226 220 .differential-reticle { ··· 296 290 297 291 .differential-changeset-buttons { 298 292 float: right; 293 + margin-right: 16px; 299 294 } 300 295 301 296 .differential-changeset-buttons a.button {
+1 -8
webroot/rsrc/css/application/differential/core.css
··· 9 9 } 10 10 11 11 .differential-panel { 12 - margin: -1px 0px 3.6em 0px; 13 - padding: 15px 2%; 14 - font-size: 13px; 15 - background: #F6F6F6; 16 - border-color: #c0c5d1; 17 - border-style: solid; 18 - border-width: 1px 0 1px 0; 19 - box-shadow: 0 0 1px 1px rgba(192, 197, 209, 0.3); 12 + padding: 16px; 20 13 } 21 14 22 15 .differential-panel h1 {
+2 -1
webroot/rsrc/css/application/pholio/pholio.css
··· 2 2 * @provides pholio-css 3 3 */ 4 4 .pholio-mock-image-container { 5 + margin-top: 16px; 5 6 background-color: #282828; 6 7 text-align: center; 7 8 vertical-align: middle; ··· 193 194 .pholio-transaction-inline-comment div { 194 195 display: table-cell; 195 196 vertical-align: middle; 196 - padding-bottom: 2px; 197 + padding-left: 8px; 197 198 }
+7 -4
webroot/rsrc/css/application/ponder/comments.css
··· 4 4 5 5 .ponder-show-comments { 6 6 text-align: center; 7 - padding: 8px 0; 7 + padding: 8px; 8 + margin: 0 16px; 9 + float: right; 8 10 font-weight: bold; 9 - background: #f9f9f9; 10 - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); 11 - border-bottom: 1px solid #b7b7b7; 11 + background: #fff; 12 + border-bottom: 1px solid {$blueborder}; 13 + border-left: 1px solid {$lightblueborder}; 14 + border-right: 1px solid {$lightblueborder}; 12 15 } 13 16 14 17 .ponder-comments {
-1
webroot/rsrc/css/layout/phabricator-action-list-view.css
··· 12 12 padding: 4px 0; 13 13 float: right; 14 14 margin-top: 0px; 15 - margin-right: 1%; 16 15 width: 20%; 17 16 font-size: 12px; 18 17 }
+13 -15
webroot/rsrc/css/layout/phabricator-property-list-view.css
··· 3 3 */ 4 4 5 5 .phabricator-property-list-view { 6 - background-color: {$lightgreybackground}; 6 + background-color: #fff; 7 7 } 8 8 9 9 .phabricator-property-list-view .keyboard-shortcuts-available { ··· 19 19 url('/rsrc/image/icon/fatcow/key_question.png') right center no-repeat; 20 20 } 21 21 22 - .phabricator-property-list-container { 22 + .phabricator-property-list-container + 23 + .phabricator-property-list-section-header { 23 24 border-color: {$lightgreyborder}; 24 25 border-style: solid; 25 - border-width: 0 0 1px; 26 + border-width: 1px 0 0; 26 27 } 27 28 28 29 .device-desktop .phabricator-property-list-container { 29 - padding: 12px 0 4px 0; 30 + padding: 12px 0 12px 0; 30 31 } 31 32 32 33 .device .phabricator-property-list-container { 33 - padding: 12px 0 0 0; 34 + padding: 12px 0 4px 0; 34 35 } 35 36 36 37 .phabricator-property-list-key { ··· 76 77 } 77 78 78 79 .phabricator-property-list-section-header { 79 - color: #9CA5B5; 80 + color: {$bluetext}; 80 81 padding: 12px 16px 0px; 81 82 text-transform: uppercase; 82 83 font-weight: 700; 83 84 } 84 85 86 + .phabricator-property-list-section-header + .phabricator-property-list-text-content { 87 + border-top: none; 88 + } 89 + 85 90 .phabricator-property-list-text-content { 86 91 padding: 12px 16px; 87 - background: {$lightgreybackground}; 88 - border-bottom: 1px solid {$lightgreyborder}; 92 + background: #fff; 89 93 overflow: hidden; 90 - } 91 - 92 - .phabricator-property-list-image-content { 93 - background: #282828; 94 - border-color: #101010; 95 - color: #fff; 94 + border-top: 1px solid {$lightblueborder}; 96 95 } 97 - 98 96 99 97 /* In the common case where we immediately follow a header, move back up 30px 100 98 so we snuggle next to the header. */
+2 -3
webroot/rsrc/css/layout/phabricator-timeline-view.css
··· 3 3 */ 4 4 5 5 .phabricator-timeline-view { 6 - background: #eeedf0; 6 + padding: 0 16px; 7 7 } 8 8 9 9 .phabricator-timeline-group { ··· 13 13 } 14 14 15 15 .device-desktop .phabricator-timeline-event-view { 16 - margin-left: 80px; 17 - margin-right: 12px; 16 + margin-left: 70px; 18 17 position: relative; 19 18 } 20 19
+4
webroot/rsrc/css/phui/phui-document.css
··· 157 157 .device-desktop .phui-document-offset { 158 158 padding-right: 160px; 159 159 } 160 + 161 + .phui-document-view .phabricator-property-list-view { 162 + border-bottom: 1px solid {$thinblueborder}; 163 + }
-14
webroot/rsrc/css/phui/phui-form-view.css
··· 426 426 display: none; 427 427 } 428 428 429 - .phui-object-box .phabricator-action-header { 430 - padding: 4px 5px 4px 12px; 431 - border-bottom: 1px solid {$lightblueborder}; 432 - } 433 - 434 - .phui-object-box .phabricator-action-header h3 { 435 - color: {$bluetext}; 436 - text-shadow: 0 1px 2px #fff; 437 - } 438 - 439 - .phui-object-box .aphront-error-view { 440 - margin-bottom: 0; 441 - } 442 - 443 429 .phabricator-standard-custom-field-header { 444 430 font-size: 16px; 445 431 color: {$bluetext};
+1 -5
webroot/rsrc/css/phui/phui-header-view.css
··· 47 47 padding: 12px 8px; 48 48 } 49 49 50 - .device-desktop .phui-header-view { 51 - width: 66%; 52 - } 53 - 54 50 .phui-header-tags { 55 51 margin-left: 12px; 56 52 font-size: 13px; ··· 87 83 } 88 84 89 85 .phui-header-subheader .policy-link { 90 - color: {$darkbluetext}; 86 + color: {$bluetext}; 91 87 } 92 88 93 89 .phui-header-subheader .phui-header-status-dark {
+34
webroot/rsrc/css/phui/phui-object-box.css
··· 1 + /** 2 + * @provides phui-object-box-css 3 + */ 4 + 5 + .phui-object-box.phui-object-box-flush { 6 + margin-top: 0; 7 + } 8 + 9 + .phui-object-box .phui-header-shell { 10 + padding: 4px 5px 4px 12px; 11 + border-bottom: 1px solid {$lightblueborder}; 12 + border-top: none; 13 + } 14 + 15 + .phui-object-box .phui-header-image { 16 + margin: 5px 12px 5px 0; 17 + } 18 + 19 + .phui-object-box .phui-header-shell h1 { 20 + color: {$bluetext}; 21 + text-shadow: 0 1px #fff; 22 + padding: 8px 0; 23 + } 24 + 25 + .phui-object-box .aphront-error-view { 26 + margin-bottom: 0; 27 + } 28 + 29 + .device-desktop .phui-object-box 30 + .phui-header-shell + .phabricator-action-list-view { 31 + margin-top: 0; 32 + margin-bottom: -12px; 33 + border-width: 0 0 0 1px; 34 + }
+3 -3
webroot/rsrc/css/sprite-gradient.css
··· 36 36 } 37 37 38 38 .gradient-lightblue-header { 39 - background-position: 0px -367px; 39 + background-position: 0px -509px; 40 40 } 41 41 42 42 .gradient-menu-label, .phabricator-side-menu .phui-list-item-type-label { ··· 44 44 } 45 45 46 46 .gradient-red-header { 47 - background-position: 0px -438px; 47 + background-position: 0px -367px; 48 48 } 49 49 50 50 .gradient-yellow-header { 51 - background-position: 0px -509px; 51 + background-position: 0px -438px; 52 52 }
webroot/rsrc/image/sprite-gradient.png

This is a binary file and will not be displayed.